VHDL 编译器退出错误

问题描述 投票:0回答:1

我正在为 BCD_counter 创建一个测试台。

当我尝试编译测试平台时,我始终收到以下错误:

“错误:.../.../../Test_UpDownCounter.vhdl(38):VHDL 编译器退出。”

这是我遇到的唯一错误,第 38 行是我代码的最后一行。我想知道可能是什么问题?

这是我的代码,我们将不胜感激。

entity test_BCD is
  end entity test_BCD;

  architecture test of test_BCD is 
     signal t_clk, t_direction, t_init, t_enable: bit;
     signal t_q : integer;

     component UpDownCounter is 
          port(clk, direction, init, enable: in bit;
              q_out: out integer);
     end component;

     begin
       my_design: UpDownCounter port map (t_enable, t_q, t_clk, t_direction, t_init, t_enable);


       clk_gen: process
          constant High_time : Time :=5 ns;
          constant Low_time : Time := 5 ns;
       begin
          wait for High_time;
          t_clk <= '1';
          wait for Low_time;
          t_clk <= '0';
       end process clk_gen; 


       -- Initialization process (code that executes only once).
       init: process
       begin 
          -- enable signal
          t_enable <= '1', '0' after 100 ns, '1' after 200 ns;
          t_direction <= '1', '0' after 50 ns, '1' after 100 ns, '0' after 150 ns;
          t_init <= '0', '1' after 20 ns, '0' after 30 nz, '1' after 150 ns;
          wait;
       end process init;
end architecture test;
compiler-errors vhdl
1个回答
2
投票

这一行:

t_init <= '0', '1' after 20 ns, '0' after 30 nz, '1' after 150 ns;

nz
而不是(我假设)
ns
作为时间单位。 我的编译器立即告诉我:

** Error: test1.vhd(34): (vcom-1136) Unknown identifier "nz".

我会使用任何编译器提出错误报告,以生成更好的错误消息!


当我在这里时:

您的

UpDownCounter
实例化看起来错误 - 您的信号看起来与您使用的组件声明的顺序不同。


在此:

 clk_gen: process
      constant High_time : Time :=5 ns;
      constant Low_time : Time := 5 ns;
   begin
      wait for High_time;
      t_clk <= '1';
      wait for Low_time;
      t_clk <= '0';
   end process clk_gen; 

您的标签

High_time
Low_time
是从后到前的 - 尝试更改其中一个标签,看看高或低时间是否按您的预期变化。

© www.soinside.com 2019 - 2024. All rights reserved.