T触发器VHDL代码

时间:2018-06-26 18:01:53

标签: vhdl flip-flop

我正在学习VHDL,遇到了以下代码:

Entity fft is 
  port (t, r: in bit; q: out bit);
End  entity;

Architecture fft_df of fft is
signal state: bit :='0';

Begin

state <='0' when r='1' else
         not state when t='0' and t'event else
         state;

q<=state;

End;

好吧,我对此代码的用途感到怀疑,这是否是带有复位功能的T触发器的行为或数据流描述。 而且,not state when t='0' and t'event的含义是什么? (我想T触发器在下降沿工作)。

感谢所有人。

1 个答案:

答案 0 :(得分:0)

我缺少时钟输入。 T触发器(具有异步复位)实际上是由

描述的
entity tff is 
    port (clk, reset, t: in bit; q: out bit);
end entity;

architecture rtl of tff is begin
    q <= '0' when reset = '1' else
        not q when rising_egde(clk) and t = '1';
end;

或更通常写为:

architecture rtl of tff is begin
    tff_proc : process(clk, reset) begin
        if reset = '1' then
            q <= '0';
        elsif rising_egde(clk) then
            if t = '1' then
                q <= not q;
            end if;
        end if;
    end process;
end;

p.s。读取输出要求以VHDL-2008模式进行编译。