用VHDL语言分别设计带同步复位的D触发器和用VHDL语言分别设计带同步置位⼀复位的D触发器。

发我给你 sheng1351@163.com
2024-11-19 19:44:50
推荐回答(4个)
回答(1):

带同步复位的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;

回答(2):

VARIABLE CQI : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
IF RST = '1' THEN CQI := (OTHERS => '0'); --异步清零
ELSIF CLK'EVENT AND CLK ='1' THEN --时钟上升沿触发
IF D = "000" THEN --模式-----10进制
IF CQI < 6 THEN CQI := CQI + 1;
ELSE CQI := (OTHERS => '0') ; END IF;

CLK为时钟输入,RST为异步清零端,D[2..0]为模式控制端,可实现几种不同模式的计数方式,本计数器可供选择的计数模式分别为:七进制,十进液局毕制,十二进腊纯制闹芹,二十四进制等......
我们以前做过这个题目了

VHDL程序和报告齐全@……

回答(3):

VARIABLE CQI : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
IF RST = '1' THEN CQI := (OTHERS => '0'); --异步清零
ELSIF CLK'EVENT AND CLK ='1' THEN --时钟上升沿触发
IF D = "000" THEN --模式-----10进制
IF CQI < 6 THEN CQI := CQI + 1;
ELSE CQI := (OTHERS => '0') ; END IF

CLK为闹芹时钟输入,RST为异步清零端,D[2..0]为模式控制端,可实现几种不同模式的计数方式,本计数器可供选择的计数模式分腊纯别为:七进制,十进制,十二进制液局毕,二十四进制等......

VHDL程序和报告齐全@……

回答(4):

VHDL语言编写的带同步置位/复位的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 art;