⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspuva16c.do

📁 16bit 定点DSP。是很精练的例子
💻 DO
字号:
echo
echo
echo ##########################################
echo " Simulation Script 'DSPuva16c' using ModelSimXE 5.3d     #"
echo " v010411   Ok   Santiago de Pablo (sanpab@eis.uva.es)   #"
echo ##########################################
echo

-- Test of CALL (GOTO), RET and JP.

restart -force
delete wave -r *
radix hexadecimal


add wave CLK;
add wave nRESET;

add wave State;

add wave CODEaddr;
add wave CODEdata;

add wave IR;

add wave DataBus;

add wave -unsigned RegAddr;
add wave RegWE;

--add wave -unsigned PORTaddr;
--add wave IOwrite;
--add wave PORTout;
--add wave IOread;
--add wave PORTin;

add wave ZFF;
add wave SFF;
add wave VFF;
add wave PCflag;

echo

-- Global signals

force	CLK	1 0ns, 0 50ns -repeat 100ns
force	nRESET	0 0ns, 1 15ns


-- Initialize

force	PORTin		16#0000	  0ns
force	CODEdata	16#FFFF	  0ns

run 100ns


----------------------------------
-- Program Memory               --
----------------------------------
-- 0x00: 0xAE00 r14 = K		--
-- 0x01: 0x53A2 K = 0x53A2	--
-- 0x02: 0x3FD1 call (r13) 0xF1	--
-- 0xF1: 0x020D ret (r13)	--
-- 0x03: 0xF0EE r14 xor r14	--
-- 0x04: 0x0000 jp (eq), 0x20	--
-- 0x20: 0x0000 nop		--
----------------------------------


-------------------------------------
-- "r14 = 0x53A2" at 0x00 and 0x01 --
-------------------------------------

force	CODEdata	16#AE00	  15ns
force	CODEdata	16#53A2	 215ns

run 400ns


-------------------------------
-- "CALL (r13) 0xF1" at 0x02 --
-------------------------------

force	CODEdata	16#3FD1	  15ns
force	CODEdata	16#FFFF	 215ns

run 50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x53a200."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 14."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 300ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x000003."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 13."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run  50ns


-------------------------
-- "RET (r13)" at 0xF1 --
-------------------------

force	CODEdata	16#020D	  15ns
force	CODEdata	16#FFFF	 215ns

run  50ns
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0xf1  (model A)."
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0x1e2 (model B)."
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0x3c4 (model C)."
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0x788 (model D)."
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0xf10 (model E)."
run 200ns
echo "$now ns: RegAddr is [examine -u RegAddr] vs 13."
run 150ns


---------------------------
-- "r14 xor r14" at 0x03 --
---------------------------

force	CODEdata	16#F0EE	  15ns
force	CODEdata	16#FFFF	 215ns

run  50ns
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0x03."
run 350ns


----------------------------
-- "jp (eq) 0x20" at 0x04 --
----------------------------

force	CODEdata	16#201B	  15ns
force	CODEdata	16#FFFF	 215ns

run  50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x000000."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 0."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 300ns
echo "$now ns: PCflag is '[examine PCflag]' vs '1'."
run  50ns


-----------------
-- Ending NOPs --
-----------------

force	CODEdata	16#0000	  15ns

run  50ns
echo "$now ns: CODEaddr is 0x[examine -hex CODEaddr] vs 0x20."
run 350ns


echo
echo All lines above, except model's, must match.

-- End of file --

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -