触发器、计数器、数字钟设计.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
触发器、计数器、数字钟设计

触发器、计数器、数字钟设计 一、触发器设计 触发器触发方式的描述 触发器要在时钟信号的驱动下,才可以改变其输出。触发器的驱动方式有: 电平触发,包括:高电平触发和低电平触发; 边沿触发,包括:上升沿触发和下降沿触发。 利用进程语句描述触发器的驱动方式: 1) 电平驱动: PROCESS( d ) . . . BEGIN IF clk=‘1’ THEN . . . 时钟信号clk和输入d作为进程的敏感信号,clk或d发生变化时都会使进程语句执行。 当clk为高电平时,才会执行条件句内的功能语句。 ... PROCESS (CLK,D) BEGIN IF CLK = ‘1’ THEN Q= D ; END IF; END PROCESS ; P119【例4-14】 2) 边沿触发 PROCESS(clk) . . . BEGIN IF clk=‘1’ THEN . . . PROCESS . . . BEGIN WAIT UNTIL clk=‘1’; . . . 使用了等待语句wait until就不能使用敏感信号表。 等待语句放在顺序语句的开头或结尾处。 当clk变化且变化后为‘1’ 时,wait until语句才结束等待,程序继续执行后面的语句。 PROCESS(clk) . . . BEGIN IF clk=‘1’ THEN . . . PROCESS . . . BEGIN WAIT UNTIL clk=‘1’; . . . ... PROCESS (CLK) BEGIN IF CLK = 1 THEN Q = D; END IF; END PROCESS ... PROCESS BEGIN wait until CLK = 1; Q = D ; END PROCESS; P118【例4-13】 P118【例4-12】 利用LAST_VALUE属性表示CLK跳变前的值;CLK跳变前为0时,则发生了一次由’0’到’1’的上升沿变化。 ... PROCESS (CLK) BEGIN IF CLKEVENT AND (CLK=1) AND(CLKLAST_VALUE=0) THEN Q = D ; END IF; END PROCESS ; P117【例4-9】 ... PROCESS (CLK) BEGIN IF CLK=1 AND CLKLAST_VALUE=0 THEN Q = D ; END IF; END PROCESS ; P117【例4-10】 PROCESS(clk, d) . . . BEGIN IF clk’EVENT and clk=‘1’ THEN . . . LIBRARY IEEE; USE STD_LOGIC_1164.ALL; . . . PORT( clk: IN STD_LOGIC; . . .); . . . PROCESS(clk, d) . . . BEGIN IF rising_edge (clk) THEN . . . clk’EVENT and clk=‘1’: 当clk发生变化(clk’EVENT),且clk为高电平,则条件为真,执行条件句内的功能语句。 可用rising_edge( )函数检测信号是否有上升沿变化,若有则条件为真。若检测下降沿则falling_edge( )函数。 只有标准逻辑类型的信号(STD_LOGIC、STD_LOGIC_VECTOR)可使用边沿检测函数。 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT (CLK,D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; END ; P117【例4-11】 利用条件语句的门闩控制方式来描述触发器功能: 时钟信号到来? 把输入信号d送到输出端Q 结束 TRUE FALSE IF . . . THEN Q=d; END IF; 当时钟信号到来,条件成立,输入端d的数据会

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档