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

这是我在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 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;