我正在学习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触发器在下降沿工作)。
感谢所有人。
答案 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模式进行编译。