- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eda各种触发器设计
上升沿触发的D触发器有一个数据输入端D,时钟输入端CLK,数据输出端Q,表1是它的真值表。
表1 D触发器真值表
数据输入D 时钟输入CLK 数据输出Q X 0 不变 X 1 不变 0 上升沿 0 1 上升沿 1 library ieee;
use ieee.std_logic_1164.All;
entity dailin is
port(clk,d:in std_logic;
q:out std_logic);
end;
architecture bhv of dailin is
signal qq:std_logic;
begin
process(clk)
begin
if clkevent and clk=1
then qq=d;
end if;
end process;
q=qq;
end;
JK触发器的种类很多,可以从不同的真值表,写出不同的JK触发器的设计程序。在此设计一个通用的JK触发器,表2是它的真值表。
表2 JK触发器真值表
输入端 输出端 PSET CLR CLK J K Q /Q 0 1 X X X 1 0 1 0 X X X 0 1 0 0 X X X X X 1 1 上升沿 0 1 0 1 1 1 上升沿 1 1 翻转 翻转 1 1 上升沿 0 0 不变 不变 1 1 上升沿 1 0 1 0 library ieee;
use ieee.std_logic_1164.all;
entity dai is
port(j,k,clk:in std_logic;
q,qn:out std_logic);
end dai;
architecture behav of dai is
signal q_temp:in std_logic;
signal jk:std_logic_vector(1 downto 0);
begin
jk=jk;
process(jk,clk)
begin
if clkevent and clk=0then
case jk is
when 00=q_temp=q_temp;
when 01=q_temp=0;
when 10=q_temp=1;
when 11=q_temp=not q_temp;
when others=q_temp=null;
end case;
q=q_temp;
qn=not q_temp;
end if;
end process;
end behav;
在D触发器和JK触发器的基础上设计其他类型的触发器,如T触发器,带异步复位、置位的D触发器。
T触发器的条件为:T=1时,q=not q,在时钟上升沿赋值。
T=0时,q=q,在时钟上升沿赋值。
library ieee;
use ieee.std_logic_1164.all;
entity dai is
port(t,clk:in std_logic;
q,qn:out std_logic);
end dai;
architecture behav of dai is
signal q_temp:std_logic;
--signal jk:std_logic_vector(1 downto 0);
begin
process(t,clk)
begin
if clkevent and clk=1then
case t is
when 0=q_temp=q_temp;
when 1=q_temp= not q_temp;
when others=q_temp=null;
end case;
q=q_temp;
qn=not q_temp;
end if;
end process;
end behav;
带异步复位/置位的D触发器真值表如表3所示。
CLR PSET D CLK Q 0 X X X 0 1 0 X X 1 1 1 0 上升沿 0 1 1 1 上升沿 1 1 1 X 0 不变 1 1 X 1 不变 library ieee;
use ieee.std_logic_1164.All;
entity dai is
port(clc,pset,clk,d:in std_logic;
q:out std_logic);
end;
architecture bhv of dai is
signal qq:std_logic;
begin
process(clc,pset,clk)
b
文档评论(0)