在没有状态机的情况下递增计数器的时钟周期不需要的延迟

时间:2017-05-12 11:13:48

标签: vhdl

screenshot for the simulation

我正在尝试运行一个简单的计数器(v_bincount),从0开始到s_saxis_tlast变高的时间。当s_saxis_tuser_in为高时,它开始计数。它从0开始,但计数器的值在一个时钟周期内保持为0,即使v_bincount是共享变量而不是信号。

p_count: process(clk)
begin
  if (rising_edge (clk)) then
     if (s_saxis_tvalid_in = '1')and (s_saxis_tready_out = '1') then
        if(s_saxis_tuser_in ='1') then
           v_bincount1 := 0;
           v_idcount1  := 0;
        else
           if (s_saxis_tlast_in = '0') then
              v_bincount1 := v_bincount1 + 1;

           else
              v_bincount1 := 0;
              v_idcount1 := v_idcount1 + 1;
           end if;
        end if;
     else 
        v_bincount1 := 0;
        v_idcount1  := 0;
     end if;

  end if; 
end process p_count;

0 个答案:

没有答案