发布网友 发布时间:2022-04-23 07:57
共3个回答
热心网友 时间:2023-10-08 16:59
LIBRARY IEEE;
USE IEEE.STD_LOGIC_11.ALL;
ENTITY decoder_tb IS
END ENTITY;
ARCHITECTURE behaviour OF decoder_tb IS
COMPONENT decoder IS
PORT(a,b,c,e1,e2,e3 : IN STD_LOGIC;
y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END COMPONENT;
--定义测试信号
SIGNAL a,b,c,e1,e2,e3 : STD_LOGIC;
SIGNAL y : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
U1: decoder PORT MAP(a,b,c,e1,e2,e3,y);--元件实例化
test_vector:PROCESS--测试进程
BEGIN
e1<='0';
e2<='0';
e3<='1';
a<='1';--测试输入101
b<='0';
c<='1';
WAIT FOR 100 ns;--等待一段时间变换测试向量,这样才能在波形图中看到输出
a<='0';--测试输入011
b<='1';
c<='1';
WAIT FOR 1000 ns;
END PROCESS;
END behaviour;
--百度一把testbench就能找到很多教写testbench的文章
热心网友 时间:2023-10-08 16:59
在MODELSIM中红线的意思是未知值。
您可以给它赋一个初值,它就有值了。
寄存器是二值逻辑,0或者1
线网型除去0或者1还有高阻态Z。
其它强0强1态什么的就不说了,最好去查阅相关资料
热心网友 时间:2023-10-08 16:59
仿真的时候,你的mole里面所有用到的input都需要给激励;不然就会是红线(unknown)
仿真:写一个testbench,在里面对需要的input添加激励