【FPGA】锁存器、触发器和寄存器

article/2025/3/1 21:08:13

目录

  • 一丶锁存器
    • 1.什么是锁存器
    • 2.锁存器工作原理
    • 3.锁存器优缺点
  • 二丶触发器
    • 1.什么时触发器
    • 2.触发器工作原理
    • 3.代码实现
  • 三丶寄存器
  • 四丶锁存器与触发器的区别

一丶锁存器

1.什么是锁存器

锁存器(latch)对脉冲电平敏感,在时钟脉冲的电平作用下改变状态

锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时,输出才会随着数据输入发生变化。(简单地说,它有两个输入,分别是一个有效信号E,一个输入数据信号D,它有一个输出Q,它的功能就是在E有效的时候把D的值传给Q,也就是锁存的过程)

2.锁存器工作原理

我们以D锁存器为例来分析,左边两个输入端D,E,右边一个输出端Q

在这里插入图片描述
当E为高电平时,将D输入的值传给Q;当E为低电平时,Q保持不变,将上一次E高电平D的值锁存器来

在这里插入图片描述

3.锁存器优缺点

应用场合:数据有效滞后于时钟信号有效,这意味着时钟信号先到,数据信号后到。在某些运算器电路中有时采用锁存器作为数据暂存器 ;

优点:面积小、锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多;

缺点:时序分析较困难;

不用锁存器的原因:
1、锁存器容易产生毛刺,
2、锁存器在ASIC设计中应该说比FF要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和FF来组成锁存器,这样就浪费了资源;

二丶触发器

1.什么时触发器

触发器(Flip-Flop,简写为 FF) :对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变

触发器也叫双稳态门,又称双稳态触发器,是一种可以在两种状态下运行的数字逻辑电路。触发器一直保持它们的状态,直到它们收到输入脉冲,又称为触发。当收到输入脉冲时,触发器输出就会根据规则改变状态,然后保持这种状态直到收到另一个触发

2.触发器工作原理

我们以D触发器为例来分析,输入端有一个D信号,和时钟信号,输出Q
在这里插入图片描述
由于触发器只对时钟边沿敏感,我们可以看到输出的Q信号比较干净,
因为D信号可能在时钟上升沿来临前发生多次跳变,但是Q的输出只取决于时钟上升沿信号到来一瞬间D信号的值,因此触发器可以消除毛刺1
在这里插入图片描述

3.代码实现

时序电路:

module D1(
input D,
input CLK,
output reg Q
);always@(posedge CLK)beginQ <= d; end 
endmodule

上面描述了一个最简单的边沿触发的D触发器:输入数据D,在下一时钟周期就输出Q。
其中,数据的存储时刻是时钟信号的上升沿(跳变瞬间),即寄存器Q在时钟上升沿采样到数据D,并更新存储内容;
除了时钟上升沿的其他时刻,无论D如何变化,都不会存储到Q寄存器中
。只要理解这一点,就明白了数字电路进行时序电路控制的基础,寄存器具有稳定输入和输出的特性

三丶寄存器

寄存器(register):用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,它被广泛的用于各类数字系统和计算机中。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。 工程中的寄存器一般按计算机中字节的位数设计,所以一般有8位寄存器、16位寄存器等

寄存器的应用

①可以完成数据的并串、串并转换

②可以用做显示数据锁存器:许多设备需要显示计数器的记数值,以8421BCD码记数,以七段显示器显示,如果记数速度较高,人眼则无法辨认迅速变化的显示字符。在计数器和译码器之间加入一个锁存器,控制数据的显示时间是常用的方法

③用作缓冲器;

④组成计数器:移位寄存器可以组成移位型计数器,如环形或扭环形计数器。

四丶锁存器与触发器的区别

锁存器和触发器是具有记忆功能的二进制存贮器件,是组成各种时序逻辑电路的基本器件之一。区别为:latch同其所有的输入信号相关,当输入信号变化时latch就变化,没有时钟端;flip-flop受时钟控制,只有在时钟触发时才采样当前的输入,产生输出。当然因为latch和flip-flop二者都是时序逻辑,所以输出不但同当前的输入相关还同上一时间的输出相关。

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的结构图。其它型号和厂家的FPGA没有去查证。——个人认为xilinx是能直接配的而altera或许比较麻烦,要几个LE才行,然而也非xilinx的器件每个slice都可以这样配置,altera的只有DDR接口中有专门的latch单元,一般也只有高速电路中会采用latch的设计。altera的LE是没有latch的结构的,又查了sp3和sp2e,别的不查了,手册上说支持这种配置。有关altera的表述wangdian说的对,altera的ff不能配置成latch,它使用查找表来实现latch。

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

锁存器电平触发会把输入端的毛刺带入输出;而触发器由于边沿作用可以有效抑制输入端干扰。
在 CMOS 芯片内部经常使用锁存器, 但是在PCB板级结构上, 建议用触发器在时钟边沿上锁存数据。这是因为在锁存器闸门开启期间数据的变化会直接反映到输出端, 所以要注意控制闸门信号的脉冲宽度,而对于触发器,只考虑时钟的边沿。
门电路是构建组合逻辑电路的基础,而锁存器和触发器是构建时序逻辑电路的基础。门电路是由晶体管构成的,锁存器是由门电路构成的,而触发器是由锁存器构成的。也就是晶体管->门电路->锁存器->触发器,前一级是后一级的基础。锁存器和触发器它们的输出都不仅仅取决于目前的输入,而且和之前的输入和输出都有关系。
它们之间的不同在于:锁存器没有时钟信号,而触发器常常有时钟触发信号。
锁存器是异步的,就是说在输入信号改变后,输出信号也随之很快做出改变非常快。而另外一方面,今天许多计算机是同步的,这就意味着所有的时序电路的输出信号随着全局的时钟信号同时做出改变。触发器是一个同步版锁存器。

*触发器泛指一类电路结构,它可以由触发信号 (如: 时钟、置位、复位等) 改变输出状态, 并保持这个状态直到下一个或另一个触发信号来到时。触发信号可以用电平或边沿操作,锁存器是触发器的一种应用类型。

参考文章:
1.https://www.cnblogs.com/yinknight/p/7079830.html
2.https://blog.csdn.net/bleauchat/article/details/85312172


  1. 注脚的解释 由于延迟的作用,多个信号到达终点的时间有先有后,形成了竞争,由竞争产生的错误输出就是毛刺。所以,毛刺发生的条件就是在同一时刻有多个信号输入发生改变。 ↩︎


http://chatgpt.dhexx.cn/article/St0jYUGN.shtml

相关文章

寄存器与锁存器

一 原理解析 在数字电路中&#xff0c;通常采用存储单元与组合逻辑相结合的方式实现特定功能。这种存储单元一般采用双稳态原件构成。首先明确一下概念&#xff0c; 寄存器&#xff1a;边沿触发的存储元件 锁存器&#xff1a;电平敏感的器件 触发器&#xff1a;一般来说&#x…

锁存器,D触发器和寄存器的关系与区别

锁存器&#xff0c;D触发器和寄存器的关系与区别 文章目录 锁存器&#xff0c;D触发器和寄存器的关系与区别前言一、锁存器和D触发器二、锁存器构建D触发器三、什么是寄存器&#xff1f;四、总结五、参考资料 前言 数字IC设计里&#xff0c;常会出现锁存器&#xff0c;D触发器…

锁存器相关

2-1】基本双稳态电路 将两个非门G1和G2接成如图5.1.1所示的交叉耦合形式&#xff0c;则构成最基本的双稳态电路。 从图5.1.1所示电路的逻辑关系可知&#xff0c;若 Q0 &#xff0c;经非门G2反相&#xff0c;则 Q 1。Q反馈到G1输入端&#xff0c;又保证了 Q0 。 由于两个非门首…

数字电路中D触发器和D锁存器分别有什么作用?

用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路&#xff0c;或数字系统。由于它具有逻辑运算和逻辑处理功能&#xff0c;所以又称数字逻辑电路。现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存…

锁存器

出处 http://blog.csdn.net/metalseed/article/details/8259255 by MetalSeed 本文要点 1&#xff1a;锁存器的主要作用 2&#xff1a;74HC573引脚图 3&#xff1a;74HC573电路连接及使用说明 锁存器辨析 所谓锁存器&#xff0c;就是输出端的状态不会随输入端的状态变化而变…

锁存器Latch和触发器Flip-flop的区别

锁存器Latch概述 锁存器&#xff08;Latch&#xff09;是一种对脉冲电平敏感的存储单元电路&#xff0c;它们可以在特定输入脉冲电平作用下改变状态。锁存&#xff0c;就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存&#xff0c;其次完成高速的控制器与慢速的外…

Python 官方研讨会:彻底移除 GIL 真的可行么?

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 忽见陌头杨柳色&#xff0c;悔教夫婿觅封侯。 作者&#xff1a;Łukasz Langa 译者&#xff1a;豌豆花下猫&#xff0c;来源&#xff1a;Python猫 原文…

吴恩达:告别,大数据

编译丨维克多、王晔 来源丨AI科技评论 吴恩达是人工智能&#xff08;AI&#xff09;和机器学习领域国际最权威的学者之一&#xff0c;最近一年里&#xff0c;他一直在提“以数据为中心的AI”&#xff0c;希望将大家的目光从以模型为中心转向以数据为中心。 最近&#xff0c;在接…

2017年Python从入门到实战教程-徐培成-专题视频课程

2017年Python从入门到实战教程—5702人已学习 课程介绍 通过《2017年Python从入门到实战教程》这系列课程&#xff0c;大家可以掌握python开发。适合任何初级或者转行的人学习。 课程收益 徐培成老师通过通俗易懂的方式&#xff0c;让你彻底掌握Python&#xff0c;本教程适…

入门深度学习——基础知识总结(python代码实现)

入门深度学习——基础知识总结&#xff08;python代码实现&#xff09; 目前&#xff0c;AI基本上可以说是烂大街了。几乎什么都可以说使用了AI技术&#xff0c;听起来很拉风&#xff0c;很nb的样子。而其中目前最为火热的非深度学习&#xff08;Deep Learning&#xff09;莫属…

程序员现状思考及Python教程

经常听到一些同行说&#xff1a; 某个公司薪资上调30-50%&#xff0c;我可以跳槽入吗&#xff1f; 最近收到几个比较好的offer&#xff01;该去哪家&#xff1f;纠结&#xff01; 目前岗位和环境对自己成长非常慢&#xff01;更看不到公司的前景特别迷茫&#xff01; 想成为…

大数据因果推理与学习入门综合概述

在《原因与结果经济学》的开篇&#xff0c;给读者回答以下几个问题。 定期接受代谢综合征体检就能长寿吗&#xff1f;看电视会导致孩子学习能力下降吗&#xff1f;上录取分数高的大学收入就会更高吗&#xff1f;想必很多人的回答都是肯定的。 不过&#xff0c;经济学的权威研…

2018 大数据学习入门必备规划

大数据方向的工作目前分为三个主要方向: 01.大数据工程师 02.数据分析师 03.大数据科学家 04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧) 一、大数据工程师的技能要求 二、大数据学习路径 三、学习资源推荐(书籍、博客、网站)…

Python 数据分析师必备的入门学习路线和技能

最近几年&#xff0c;做的这些项目&#xff0c;大多与数据分析与算法应用相关。岗位虽然是算法工程师&#xff0c;但是与数据分析打得交道也很多&#xff0c;双管齐下&#xff0c;最后才能确保算法的落地。在几年前&#xff0c;我还想当然地认为做算法的就应该偏重算法研究与应…

Python入门经典(2K超清)

我在多次python培训时&#xff0c;对学员讲解编程对人生具有重大影响。曾经大学毕业时也迷茫过&#xff0c;不知道以后要干嘛。面对招聘会上密密麻麻的人群&#xff0c;经不知所措。自从接触python编程后&#xff0c;我对这门快速&#xff0c;高效程序语言表示惊讶&#xff0c;…

python入门学习笔记

python入门学习笔记目录 1.编程概论1.1 注释1.2 打印与标记符1.2.1 打印 print1.2.2标记符 1.3 代码行1.3.1 单行语句1.3.2 多行语句1.3.3 缩进1.3.4 复合语句 1.4 关键字1.5 基本对象数据类型1.5.1type() 函数1.5.2 isinstance() 判断函数1.5.3 type 与 isinstance 1.6 常量与…

Python机器学习:适合入门的8个项目

再多的理论也不能代替动手实践。 教科书和课程会让你误以为精通&#xff0c;因为材料就在你面前。但当你尝试去应用它时&#xff0c;可能会发现它比看起来更难。而「项目」可帮助你快速提高应用的 ML 技能&#xff0c;同时让你有机会探索有趣的主题。 此外&#xff0c;你可以将…

python基础入门级别的宝库。

刚刚开始学python的跟狗头军师一起来学习吧。 更加方便的使用pythonpython的安装编译器的选择 python安装完了&#xff0c;接下来就是常用基础语法知识点了&#xff0c;没学过的可以学一学&#xff0c;学过的捧个人场。python的直接输出python注释功能python数据类型语法if判断…

大数据入门必须知道八大实战项目

大数据如果应用不当可能很容易失控,并可能消耗企业资源和预算。在这里将介绍避免混乱的一些大数据的最佳实践。   大数据可以为用户提供卓越的洞察力,也有可能让企业不堪重负。而企业根据其收集数据做出自己的选择。企业面临的主要问题是大数据是由技术专业人员收集的技术解…

html js比较字符串,js字符串和数字的比较

在进行比较时js会先将两边的类型自动转成一致再对比。 1. 纯数字之间的比较 2 < 5 //true; 直接进行比较。 2. 纯数字与数字型字符串之间比较 js会优先选择将字符串转成数字 2 < 5 // true 3. 数字和其它字符串比较 数字和其它字符串进行比较时&#xff0c;js会将其它字符…