使用测试平台模拟VHDL计数器,该输出为输出提供“未初始化”,如何解决?

数据王

下面是一个设计用来表示带有8个LED的8位二进制数的计数器,正在使用测试平台对其进行仿真,但是在运行仿真时,输出仅显示led的UU。

这是我要测试的主要实体:

use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_unsigned.all;

entity Lab_3_Source_File is
 generic(N_BITS : integer := 8);
 port(
 btnd : in STD_LOGIC ;
 clk : in STD_LOGIC;
 led : out STD_LOGIC_VECTOR(7 downto 0)
 );
end Lab_3_Source_File;

architecture counter of Lab_3_Source_File is
signal count: STD_LOGIC_VECTOR(7 downto 0);

begin

process(clk, btnd)
begin
 if btnd = '1' then
 count <= (others => '0');
 elsif rising_edge(clk) then
 count <= count + 1;
 end if;
end process;

 led <= count;
end counter;

这是我尝试映射到主要实体的测试平台:

use IEEE.STD_LOGIC_1164.ALL;


entity Count_TestBench is

end Count_TestBench;

architecture Behavioral of Count_TestBench is                               
                   
    signal btnd, clk : STD_LOGIC;
    signal led : STD_LOGIC_VECTOR(7 downto 0);
begin


   UUT : entity work.Lab_3_Source_File port map (btnd => btnd,clk => clk,led => led);
 
    process
    begin
        btnd<='1';
        wait for 1 ns;
        btnd<='0';    
        led<= (others => '0');           
        for i in 1 to 100 loop
            clk<='1';
            wait for 10 ns;
            clk<='0';
            wait for 10 ns;
            led<=led;
        end loop;          
    end process;
end Behavioral;

请有人能帮助我了解如何使仿真显示LED输出增量吗?

编辑:

在测试台上等待1ns的等待时间,将btnd设置为1,以初始化led,根据mkrieger1的回答,经过此更改,led输出仍为U。

mkrieger1

count未初始化内部Lab_3_Source_File直到btnd被设置为'1',它是不是在测试平台。

由于led输出由来驱动count,因此它也未初始化。然后将led输出的未初始化值Lab_3_Source_File分配给led测试台中信号。

因此,要解决这个问题,你需要设置btnd'1'一旦在测试平台非零持续时间,将其设置为前'0'一次(否则led在保持"00000000"不断)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计数器的输出未在Verilog仿真中显示为已初始化

for循环内的计数器未提供预期的输出

如何解决未初始化的常量搜索::错误

如何解决“未初始化值的使用”以及如何查找泄漏位置?

格式化计数器的输出

如何从键/初始计数对列表中初始化计数器?

我在运行 Flutter 默认的初始计数器应用程序时在控制台上得到了这个。我该如何解决这个问题?

GHDL 测试平台构建错误 - 我该如何解决?

在LabVIEW中初始化计数器

在 Common Lisp 中初始化计数器变量

动态结构初始化和计数器实现

数组和初始化多个计数器

未使用循环计数器定义的 VHDL 比较操作

为什么我在初始化字母时遇到错误,该如何解决?

添加新商品时如何初始化计数器

如何在VBA Excel中初始化我的计数器

减少对象数组并使用JavaScrip更新初始化的计数器

如何解决计数器闪烁

我不断收到此错误“对于 pygame.event.get() 中的事件:pygame.error:视频系统未初始化”我该如何解决?

排序/格式化计数器输出

我如何解决 TinyButStrong 中的“未初始化的字符串偏移:”错误

如何在 VHDL 的测试台中初始化数组?

MockK-为每个测试重新初始化模拟

为什么我的输出是“()”,我该如何解决?

如何附加导出计数器csv输出

使用开关语句的质数计数器(输出错误)?

多处理计数器的输出很奇怪,使用锁

如何使用范围内的计数器删除图像输出

如何解决:从不兼容的指针类型初始化