寄存器,触发器,锁存器之间的区别与联系

寄存器,触发器,锁存器之间的区别与联系

寄存器一般是边沿触发的触发器,电路里叫register,而触发器就是楼上所说的各种逻辑门构成的包含电平触发和边沿触发的两种,而锁存器则是电平触发的。所以一般说来,我们只叫寄存器和锁存器两种,在时序电路中寄存器的作用就是只在时钟的边沿有效传输data(setup time和hold time满足),而锁存器则在有效电平器件都可以传输data

寄存器:register,由时钟沿触发的,一般是主从的,我们这数字电路里也学过主要是由传输门和反向器构成,应用很广!

锁存器:latch,由电平触发,有很很多种,有我们数字电路里学的JK,RS等,一般是用传输门和反向器构成构成在较多,其优点是面积小,但时序分析较困难!

触发器一般是指寄存器:flip-flop

D触发器上电时Q和Q非的电平是怎样的?

D触发器刚上不定的。只有当有反馈后才知道。可以在R、S端加RC延时电路来预制初态

锁存器

在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。

触发器

触发器是边沿敏感的存储单元,数据存储的动作有某一信号的上升或者下降沿进行同步的。在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。 触发器是在时钟的沿进行数据的锁存的,而锁存器是用电平使能来锁存数据的。所以触发器的Q输出端在每一个时钟沿都会被更新,而锁存器只能在使能电平有效器件才会被更新。 有一些教科书里的触发器实际是锁存器。在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是锁存器。

钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器,钟控D触发器在使能情况下输出随输入变化,边沿触发器只有在边沿跳变的情况下输出才变化。两个D锁存器可以构成一个D触发器,归根到底还是dff是边沿触发的,而latch是电平触发的。锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是由两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升

/下降沿才会将输入体现到输出,所以能够消除输入的毛刺信号。

触发器与锁存器的比较:

1、latch由电平触发,非同步控制。在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。DFF由时钟沿触发,同步控制。

2、latch对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生;DFF则不易产生毛刺。

3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。所以,在ASIC中使用 latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。latch是电平触发,相当于有一个使能端,且在激活之后(在使能电平的时候)相当于导线了,随输出而变化。在非使能状态下是保持原来的信号,这就可以看出和flip-flop的差别,其实很多时候latch是不能代替ff的。

4、latch将静态时序分析变得极为复杂。

5、目前latch只在极高端电的路中使用,如intel 的P4等CPU。 FPGA中有latch单元,寄存器单元就可以配置成latch单元,在xilinx v2p的手册将该单元成为register/latch单元,附件是xilinx半个slice的结构图。

一般的设计规则是:在绝大多数设计中避免产生latch。它会让您设计的时序完蛋,并且它的隐蔽性很强,非老手不能查出。latch最大的危害在于不能过滤毛刺。这对于下一级电路是极其危险的。所以,只要能用D触发器的地方,就不用latch。

有些地方没有时钟,也只能用latch了。比如现在用一个clk接到latch的使能端(假设是高电平使能),这样需要的setup时间,就是数据在时钟的下降沿之前需要的时间,但是如果是一个DFF,那么setup时间就是在时钟的上升沿需要的时间。这就说明如果数据晚于控制信号的情况下,只能用latch,这种情况就是,前面所提到的latch timing borrow。基本上相当于借了一个高电平时间。也就是说,latch借的时间也是有限的。

对latch进行STA的分析其实也是可以,但是要对工具相当熟悉才行.不过很容易出错.当前PrimeTime,是支持进行latch分析的.现在一些综合工具内置的STA分析功能也支持,比如RTL compiler, Design Compiler.除了ASIC里可以节省资源以外。latch在同步设计里出现的可能还是挺小的,现在处理过程中大都放在ff里打一下。

寄存器,触发器,锁存器之间的区别与联系

寄存器一般是边沿触发的触发器,电路里叫register,而触发器就是楼上所说的各种逻辑门构成的包含电平触发和边沿触发的两种,而锁存器则是电平触发的。所以一般说来,我们只叫寄存器和锁存器两种,在时序电路中寄存器的作用就是只在时钟的边沿有效传输data(setup time和hold time满足),而锁存器则在有效电平器件都可以传输data

寄存器:register,由时钟沿触发的,一般是主从的,我们这数字电路里也学过主要是由传输门和反向器构成,应用很广!

锁存器:latch,由电平触发,有很很多种,有我们数字电路里学的JK,RS等,一般是用传输门和反向器构成构成在较多,其优点是面积小,但时序分析较困难!

触发器一般是指寄存器:flip-flop

D触发器上电时Q和Q非的电平是怎样的?

D触发器刚上不定的。只有当有反馈后才知道。可以在R、S端加RC延时电路来预制初态

锁存器

在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。

触发器

触发器是边沿敏感的存储单元,数据存储的动作有某一信号的上升或者下降沿进行同步的。在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。 触发器是在时钟的沿进行数据的锁存的,而锁存器是用电平使能来锁存数据的。所以触发器的Q输出端在每一个时钟沿都会被更新,而锁存器只能在使能电平有效器件才会被更新。 有一些教科书里的触发器实际是锁存器。在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是锁存器。

钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器,钟控D触发器在使能情况下输出随输入变化,边沿触发器只有在边沿跳变的情况下输出才变化。两个D锁存器可以构成一个D触发器,归根到底还是dff是边沿触发的,而latch是电平触发的。锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是由两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升

/下降沿才会将输入体现到输出,所以能够消除输入的毛刺信号。

触发器与锁存器的比较:

1、latch由电平触发,非同步控制。在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。DFF由时钟沿触发,同步控制。

2、latch对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生;DFF则不易产生毛刺。

3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。所以,在ASIC中使用 latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。latch是电平触发,相当于有一个使能端,且在激活之后(在使能电平的时候)相当于导线了,随输出而变化。在非使能状态下是保持原来的信号,这就可以看出和flip-flop的差别,其实很多时候latch是不能代替ff的。

4、latch将静态时序分析变得极为复杂。

5、目前latch只在极高端电的路中使用,如intel 的P4等CPU。 FPGA中有latch单元,寄存器单元就可以配置成latch单元,在xilinx v2p的手册将该单元成为register/latch单元,附件是xilinx半个slice的结构图。

一般的设计规则是:在绝大多数设计中避免产生latch。它会让您设计的时序完蛋,并且它的隐蔽性很强,非老手不能查出。latch最大的危害在于不能过滤毛刺。这对于下一级电路是极其危险的。所以,只要能用D触发器的地方,就不用latch。

有些地方没有时钟,也只能用latch了。比如现在用一个clk接到latch的使能端(假设是高电平使能),这样需要的setup时间,就是数据在时钟的下降沿之前需要的时间,但是如果是一个DFF,那么setup时间就是在时钟的上升沿需要的时间。这就说明如果数据晚于控制信号的情况下,只能用latch,这种情况就是,前面所提到的latch timing borrow。基本上相当于借了一个高电平时间。也就是说,latch借的时间也是有限的。

对latch进行STA的分析其实也是可以,但是要对工具相当熟悉才行.不过很容易出错.当前PrimeTime,是支持进行latch分析的.现在一些综合工具内置的STA分析功能也支持,比如RTL compiler, Design Compiler.除了ASIC里可以节省资源以外。latch在同步设计里出现的可能还是挺小的,现在处理过程中大都放在ff里打一下。


相关文章

  • 锁存器.触发器.缓冲器的区别
  • 一.锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化. 锁存器不同于触 ...查看


  • 寄存器&锁存器
  • 寄存器.鎖存器.存儲器有什么區別? 引用 回复 电子工程专辑:iPad深度拆解分析:探寻A4处理器的奥秘 第1楼 回复主题:寄存器.鎖存器.存儲器有什么區別? 发布时间:2006-12-12 上午11:18 CPU结构中寄存器频繁参与累加器 ...查看


  • 接口与通讯技术复习
  • <微型计算机接口技术与汇编语言> 第1-2章 微型计算机系统概论 1. 现代微机接口在硬件上的层次结构--设备接口和总线接口 微机系统硬件--微处理器.存储器.I/O设备与I/O接口.总线 2. I/O设备接口与CPU 交换数据 ...查看


  • 华为招基于FPGA工程师笔试简答题(本科)
  • FPGA 大公司面试笔试数电部分,看看你会多少 已有 569 次阅读2011-12-22 08:13 |系统分类:EDA/PLD| FPGA , 笔试, 数电 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系.异步 ...查看


  • 电工电子基本知识
  • 目录 1 同步计数器&异步异步计数器 ................................................................................................. ...查看


  • 数字电子技术
  • <数字电子技术>教学大纲 课程名称: 数字电子技术 Digital electronic technology 课程编码:102011 课程类别:专业基础课 学时/学分:48/3 适用专业:电子信息工程 一. 前言 (一)课程性 ...查看


  • 25030203数字电子技术教学大纲-自动化专业
  • <数字电子技术>教学大纲 学时:80 学分:3.5 课程类别:专业基础课(核心课程) 课程编码:25030210 开设年级:二年级第二学期 撰写人:郑雁翎 审核人:XXX 一.课程说明 <数字电子电路>是自动化专业在 ...查看


  • Verilog语言的特点
  • 一.第一章 1. 几个英文缩写: PLA(Programmable Logic Array)可编程逻辑阵列 FPGA(Field Programmable Gate Array)现场可编程逻辑门阵列 CPLD(Complex Program ...查看


  • 微机原理考试整理
  • 1.8086从功能上分成了EU 和BIU 两部分.这样设计的优点是什么? 答:传统计算机在执行程序时,CPU 总是相继地完成取指令和执行指令的动作, 即,指令的提取和执行是串行进行的.而8086CPU 在功能上分成了EU 和BIU 两 部分 ...查看


热门内容