带同步复位的D触发器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity trigger_d is
port(clk,d,sreset:in std_logic; --同步复位端sreset
q,qf:out std_logic);
end entity;
architecture art of trigger_d is
begin
process(clk,d,sreset)
begin
if clk'event and clk='1' then
if sreset='1' then q<='0';qf<='1';
else q<=d;qf<=not(d);
end if;
end if;
end process;
end architecture art;
下一个是带同步置位/复位的D触发器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity trigger_d is
port(clk,d,sreset,sset:in std_logic; --同步复位端sreset,同步置位端sset
q,qf:out std_logic);
end entity;
architecture art of trigger_d is
begin
process(clk,d,sreset,sset)
begin
if clk'event and clk='1' then
if sreset='1' then q<='0';qf<='1'; --同步复位端sreset,高电平有效,复位
elsif sset='1' then q<='1';qf<='0'; --同步置位端sset,高电平有效,置位
else q<=d;qf<=not(d);
end if;
end if;
end process;
end architecture art;
温馨提示:答案为网友推荐,仅供参考