2012-03-27 3 views
0

BCD_counter에 대한 테스트 벤치를 만들고 있습니다.VHDL 컴파일러 종료 오류

내가 테스트 벤치를 컴파일 할 때, 내가 지속적으로 읽는 오류 :

"오류 : .../.../.../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; 

답변

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_timeLow_time 다시 전면에 있습니다 - 그들 중 하나를 변경 시도하고 높거나 낮은 IME 변경이 예상대로 여부를 참조하십시오.