首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Modelsim VHDL测试平台

Modelsim VHDL测试平台
EN

Stack Overflow用户
提问于 2020-09-08 09:44:13
回答 1查看 109关注 0票数 1

这是我在Modelsim中的VHDL代码。问题是输出未初始化,正如您在图像中看到的那样。请告诉我我的密码有什么问题。

代码语言:javascript
运行
复制
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;

代码测试平台如下.

代码语言:javascript
运行
复制
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;
EN

回答 1

Stack Overflow用户

发布于 2020-09-08 10:14:05

您的设计实体是circu_it。您已经实例化了一个名为delay的组件。你要么需要

  • 编写了一个配置,将两者结合在一起

  • 更改组件或实体的名称,使它们相同(从而发生默认绑定)。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63791279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档