ch04-时序逻辑电路建模.pptx

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

Verilog HDL与FPGA数字系统设计工程学院 信息技术教研室4 时序逻辑电路建模4.1 锁存器4.2 时序电路建模基础4.3 触发器4.4 寄存器和移位寄存器4.5 同步计数器4.6 Verilog HDL函数与任务的使用4.7 m序列码产生电路设计锁存器和触发器的基本特性 锁存器和触发器是构成时序逻辑电路的基本逻辑单元,它们具有存储数据的功能。每个锁存器或触发器都能存储1位二值信息,所以又称为存储单元或记忆单元。若输入信号不发生变化,锁存器和触发器必然处于其中一种状态,且一旦状态被确定,就能自行保持不变,即长期存储1位二进制数。电路在输入信号的作用下,会从一种稳定状态转换成为另一种稳定状态。 CP CP 锁存器与触发器的区别锁存器—— 没有时钟输入端,对脉冲电平敏感的存储电路,在特定输入脉冲电平作用下改变状态。触发器——每一个触发器有一个时钟输入端。对脉冲边沿敏感的存储电路,在时钟脉冲的上升沿或下降沿的变化瞬间改变状态。4.1 锁存器4.1.1 基本SR锁存器4.1.2 门控D锁存器4.1.3门控D锁存器的Verilog HDL建模国标逻辑符号4.1.1 基本SR锁存器1. 用与非门构成的基本SR锁存器、方框外侧输入端的小圆圈和信号名称上面的小横线均表示输入信号是低电平有效的,同时为了区别,这种锁存器有时也称为基本 S R 锁存器。4.1.1 基本SR锁存器1. 用与非门构成的基本SR锁存器现态:R、S信号作用前 Q端的状态, 现态用Q n表示。次态:R、S 信号作用后 Q 端的状态, 次态用Q n+1表示。b.功能表Q1不变不变11010束条件: S +R = 14.1.1 基本SR锁存器a.电路图、例 当S、R的波形如下图虚线上边所示,试画出Q和 Q对应的波形(假设原始状态Q=0 )。图4.1.1(b)简单S R锁存器4.1.2门控D 锁存器1. 电路结构 国标逻辑符号使能信号控制门电路工作原理当E = 0时,S =R = 1,无论D取什么值,Q 保持不变。当E = 1时, D=1时,S =0, R = 1,Q 被置1;D=0时, S =1, R = 0,Q 被置0。在E=1期间,D 值将被传输到输出端Q,而当E由1跳变为0时,锁存器将保持跳变之前瞬间D的值。因此,D锁存器常被称为透明锁存器(Transparent Latch)。特性表和特性方程 波形图初始状态为Q =1 4.1.3门控D 锁存器的Verilog HDL建模1. 试对图4.1.3所示的D锁存器进行建模。图4.1.3 D锁存器//版本1: Structural description of a D latch module Dlatch_Structural (E, D, Q, Q_); input E, D; output Q, Q_; wire R_, S_; nand N1(S_, D,E); nand N2(R_,~D,E); SRlatch_1 N3(S_,R_,Q,Q_);endmodule//Structural description of a SR-latch module SRlatch_1 (S_,R_, Q, Q_); input S_,R_; output Q, Q_; nand N1(Q, S_,Q_); nand N2(Q_,R_,Q);endmodule版本1的特点:第一个版本根据图4.1.3使用基本的逻辑门元件,采用结构描述风格,编写了两个模块,这两个模块可以放在一个文件中,文件名为Dlatch_Structural.v。在一个文件中可以写多个模块,其中有一个是主模块(或者称为顶层模块)。文件名必须使用顶层模块名。本例中Dlatch_Structural是主模块,它调用SRlatch_1模块。//版本2: Behavioral description of a D latch module Dlatch_bh (E, D, Q, Q_); input E, D; output Q,Q_; reg Q; assign Q_ = ~Q; always @(E or D) if (E) Q = D; //当使能有效时,输出跟随输入变化 else Q = Q; //保持不变endmodule版本2的特点:第二个版本采用功能描述风格的代码,不涉及到实现电路的具体结构,靠“算法”实现电路操作。对于不太喜欢低层次硬件逻辑图的人来说,功能描述风格的Verilog HDL是一种最佳选择。其中“=”为非阻塞赋值符,将在下一节介绍。 注意:always内部不能使用assign。在写可综合的代码时,建议明确地定义if-else中所有可能的条件分支,否则,就会在电路的输出部分

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档