T触发器VHDL代码
T flip flop VHDL code
我正在学习 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 触发器在下降沿工作)。
感谢大家。
我缺少时钟输入。 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 模式下编译。
我正在学习 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 触发器在下降沿工作)。
感谢大家。
我缺少时钟输入。 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 模式下编译。