在模拟

时间:2016-07-04 19:25:37

标签: vhdl counter quartus

我正在尝试执行一个加载“计数器”,当load = 1时,我的输入值会计算,但是我在输出中遇到问题,它似乎是输出上的垃圾值。 我使用了旧问题here

中的部分解决方案
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE IEEE.std_logic_unsigned.ALL;
use IEEE.std_logic_arith.ALL;

ENTITY tot IS
  PORT (
      i_CLK  : IN STD_ULOGIC;
      i_CLR  : IN STD_LOGIC;         
      i_DINL : IN STD_LOGIC ;        
      i_DINK : IN INTEGER;          
      o_DOUTK : OUT INTEGER          
      );     
END tot;

ARCHITECTURE arch_1 OF tot IS
signal w_K : integer;
BEGIN
  PROCESS(i_CLK)
  BEGIN
  IF rising_edge(i_CLK) THEN
      IF (i_CLR = '1') THEN
          w_K <= 0;
      END IF;
      IF (i_DINL = '1') THEN
          w_K <= i_DINK;
          w_K <= w_K +1;
      ELSE
          w_K <= w_K;
      END IF;
  END IF;
  END PROCESS;
o_DOUTK <= w_K;
END arch_1;

我的输出错误:

enter image description here

如果我清除了开头的输出,为什么会出错?

0 个答案:

没有答案