Modelsim VHDL测试台
这是我在Modelsim中的VHDL代码。问题是输出未初始化,如图所示。请告诉我我的代码有什么问题Modelsim VHDL测试台,vhdl,modelsim,Vhdl,Modelsim,这是我在Modelsim中的VHDL代码。问题是输出未初始化,如图所示。请告诉我我的代码有什么问题 library ieee; use ieee.std_logic_1164.All; use IEEE.NUMERIC_STD.ALL; entity circu_it is port (A : in std_logic; B : in std_logic; C : in std_logic; D : in std_logic; Z : out s
library ieee;
use ieee.std_logic_1164.All;
use IEEE.NUMERIC_STD.ALL;
entity circu_it is
port (A : in std_logic;
B : in std_logic;
C : in std_logic;
D : in std_logic;
Z : out std_logic );
end circu_it;
architecture Behavioral of circu_it
is
Signal E ,F ,M ,N , L: std_logic;
begin
M <= (A and B and C) after 5ns;
E <= (M or D) after 5ns;
N <= (B nor C) after 5ns;
F <= (N nand A) after 5ns;
L <= not F after 2ns;
Z <= L xor E after 5ns;
end Behavioral;
ieee库;
使用ieee.std_logic_1164.All;
使用IEEE.NUMERIC_STD.ALL;
实体电路是
端口(A:标准_逻辑中;
B:标准逻辑;
C:标准逻辑;
D:在标准逻辑中;
Z:输出标准(U逻辑);
结束循环;
circu__it的行为架构
是
信号E、F、M、N、L:std_逻辑;
开始
M您的设计实体是circu\it
。您已经实例化了一个名为delay
的组件。你要么需要
- 编写一个配置,将两者绑定在一起
- 更改组件或实体的名称,使其相同(以便发生默认绑定)
这是由印刷错误引起的。虚拟组件名称delay
似乎没有默认绑定,其中您为实体提供了兼容的端口接口列表(circu\it)
。作为体系结构声明项,您可以为DUT延迟使用工作提供配置规范(,circu\u it;
)或将circu\u it
重命名为delay,
或将delay
重命名为circu\u it
。配置规范也可以出现在随后模拟的配置声明中(注意,很少有合成工具支持配置声明目标)。还有一个带有保留字entity
的组件实例,例如DUT:entity work.circu\it port map(
…其中,电路必须事先分析(编译)到工作库中,并且不使用或不需要组件声明。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
entity delay_test is
end delay_test;
architecture stimulus of delay_test is
component delay
port (
A : in std_logic;
B : in std_logic;
C : in std_logic;
D : in std_logic;
Z : out std_logic);
end component;
signal A: std_logic ;
signal B: std_logic ;
signal C: std_logic ;
signal D: std_logic ;
signal Z: std_logic ;
begin
DUT: delay port map ( A => A, B => B, C => C, D => D, Z => Z);
STIMULUS1: process
constant PERIOD: time := 100 ns;
begin
A <= '0';
B <= '0';
C <= '0';
D <= '0';
wait for period;
A <= '0';
B <= '0';
C <= '0';
D <= '1';
wait for period;
A <= '0';
B <= '0';
C <= '1';
D <= '0';
wait for period;
A <= '0';
B <= '0';
C <= '1';
D <= '1';
wait for period;
A <= '0';
B <= '1';
C <= '0';
D <= '0';
wait for period;
A <= '0';
B <= '1';
C <= '0';
D <= '1';
wait for period;
A <= '0';
B <= '1';
C <= '1';
D <= '0';
wait for period;
A <= '0';
B <= '1';
C <= '1';
D <= '1';
wait for period;
A <= '1';
B <= '0';
C <= '0';
D <= '0';
wait for period;
A <= '1';
B <= '0';
C <= '0';
D <= '1';
wait for period;
A <= '1';
B <= '0';
C <= '1';
D <= '0';
wait for period;
A <= '1';
B <= '0';
C <= '1';
D <= '1';
wait for period;
A <= '1';
B <= '1';
C <= '0';
D <= '0';
wait for period;
A <= '1';
B <= '1';
C <= '0';
D <= '1';
wait for period;
A <= '1';
B <= '1';
C <= '1';
D <= '0';
wait for period;
A <= '1';
B <= '1';
C <= '1';
D <= '1';
wait;
end process;
end stimulus;