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

📄 dspuva16a.do

📁 * DESCRIPTION: DDS design BY PLD DEVICES. * * AUTHOR: Sun Yu * * HISTORY: 12/06/2002 *
💻 DO
字号:
echo
echo
echo #########################################
echo " Simulation Script 'DSPuva16a' using ModelSimXE 5.3d   #"
echo " v010411  Ok  Santiago de Pablo (sanpab@eis.uva.es)   #"
echo #########################################
echo

-- Test of ALU and MAC instructions.

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 ZFF;
add wave SFF;
add wave VFF;

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: 0x0000 NOP			--
-- 0x01: 0xAE00 r14 = K			--
-- 0x02: 0x53A2 K = 0x53A2		--
-- 0x03: 0xA700 r7 = K			--
-- 0x04: 0x6B1F K = 0x6B1F		--
-- 0x05: 0xB3E7 r3 = r14 - r7		--
-- 0x06: 0x9733 if (lt) r3 = -r3	--
-- 0x07: 0x42E7 r2 = r14 * r7		--
-- 0x08: 0x6273 r2 = r2 + r7 * r3	--
-- 0x09: 0xAF27 r15 = r2 + r7 (*)	--
-- 0x0A: 0x0000 NOP			--
-- (*) r2 computed on 0x07, not on 0x08!--
------------------------------------------


-----------------
-- NOP at 0x00 --
-----------------

force	CODEdata	16#0000	  15ns
force	CODEdata	16#XXXX	 215ns

run 400ns


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

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

run 400ns


------------------------------------
-- "r7 = 0x6B1F" at 0x03 and 0x04 --
------------------------------------

force	CODEdata	16#A700	  15ns
force	CODEdata	16#6B1F	 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 100ns
echo "$now ns: ZFF is '[examine ZFF]' vs '0'."
echo "$now ns: SFF is '[examine SFF]' vs '0'."
echo "$now ns: VFF is '[examine VFF]' vs '0'."
run 250ns


-----------------------------
-- "r3 = r14 - r7" at 0x05 --
-----------------------------
-- 0x53A2 (+0'6533) - 0x6B1F (+0'8368) = 0xE88300 (-0,1835) ok

force	CODEdata	16#B3E7	  15ns
force	CODEdata	16#XXXX	 215ns

run  50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x6b1f00."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 7."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 100ns
echo "$now ns: SFF is '[examine SFF]' vs '0'."
run 250ns


--------------------------------
-- "if (lt) r3 = -r3" at 0x06 --
--------------------------------
-- abs[0xE88300 (-0,1835)] = 0x177D00 (+0,1835) ok

force	CODEdata	16#9733	  15ns
force	CODEdata	16#XXXX	 215ns

run  50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0xe88300."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 3."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 100ns
echo "$now ns: SFF is '[examine SFF]' vs '1'."
run 250ns


-----------------------------
-- "r2 = r14 * r7" at 0x06 --
-----------------------------
-- 0x53A2 (+0'6533) * 0x6B1F (+0'8368) = 0x45FDAD (+0'5468) ok

force	CODEdata	16#42E7	  15ns
force	CODEdata	16#XXXX	 215ns

run  50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x177d00."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 3."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 100ns
echo "$now ns: SFF is '[examine SFF]' vs '0'."
run 250ns


---------------------------------
-- "r2 = r2 + r7 * r3" at 0x07 --
---------------------------------
-- 0x6B1F00 (+0'8368) * 0x177D00 (+0,1835) = 0x13A82E (+0,1537) ok
-- 0x45FDAD (+0'5468) + 0x13A82E (+0,1537) = 0x59A5DB (+0,7004) ok

force	CODEdata	16#6273	  15ns
force	CODEdata	16#XXXX	 215ns

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


-----------------------------
-- "r15 = r2 + r7" at 0x06 --
-----------------------------
-- 0x45FDAD (+0'5468) + 0x6B1F00 (+0'8368) = 0xB11CAD (+1,3837=>V!) ok

force	CODEdata	16#AF27	  15ns
force	CODEdata	16#XXXX	 215ns

run  50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0xffffff."
echo "$now ns: RegWE is '[examine RegWE]' vs '0'."
run 100ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x45fdad."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 2."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 250ns



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

force	CODEdata	16#0000	  15ns

run  50ns
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0xb11cad."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 15."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 100ns
echo "$now ns: VFF is '[examine VFF]' vs '1'."
echo "$now ns: DataBus is 0x[examine -hex DataBus] vs 0x59a5db."
echo "$now ns: RegAddr is [examine -u RegAddr] vs 2."
echo "$now ns: RegWE is '[examine RegWE]' vs '1'."
run 250ns

run 400ns


echo
echo All lines above must match.

-- End of file --

⌨️ 快捷键说明

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