Verilog 锁存器 触发器 寄存器区别
彻底理解锁存器,让你不再为锁存器头疼!
锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。
分为普通锁存器和门控锁存器,普通锁存器无控制信号,输出状态始终直接由输入决定。在实际的数字系统中,为了协调各部分的工作,往往需要有一个特定的控制信号去控制锁存器状态转换的时间,在控制信号无效时,输出保持不变,不随输入变换;当控制信号有效时,输出由输入决定,跟随输入变化。
①正是因为门控锁存器在控制信号有效的期间内,都可以接收输入信号, 所以,激励信
号的任何变化, 都将直接引起锁存器输出状态的改变。这时输入信号若发生多次变化,输出
状态也可能发生多次变化,这一现象称为锁存器的空翻。
②其次,当门控锁存器的控制信号有效时,锁存器就变成了一个组合电路,时序逻辑电
路的模型就等效为两个各组合电路互为反馈的反馈系统,因此,系统有可能会因为瞬态特性
不稳定而产生振荡现象。
触发器(flip-flop)是边沿敏感的存储单元,数据存储的动作(状态转换)由某一信号
的上升或者下降沿进行同步的(限制存储单元状态转换在一个很短的时间内) 。(钟控 D 触
发器其实就是 D 锁存器,边沿 D 触发器才是真正的 D 触发器)
触发器分为两种,一种是主从触发器和边沿触发器。主从触发器在时钟有效期内 (主触
发器) 接收数据,在时钟边沿输出状态转换。 边沿触发器在时钟边沿期间, 触发器才接收数
据并使输出状态转换。
目前,主从触发器基本上已经很少见了,实际使用的大都是边沿触发器。
寄存器(register):用来暂时存放参与运算的数据和运算结果。在实际的数字系统中,
通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器。
区别与联系:由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于
一个触发器能够存储一位二进制码,所以把 n 个触发器的时钟端口连接起来就能构成一个存
储 n 位二进制码的寄存器。
从寄存数据的角度来讲,寄存器和锁存器的功能是相同的;它们的区别在于寄存器是同
步时钟控制,而锁存器是电位信号控制。
一般的设计规则是:在绝大多数设计中避免产生锁存器。它会让您设计的时序完蛋,并
且它的隐蔽性很强,非老手不能查出。锁存器最大的危害在于不能过滤毛刺 (使能信号有效
时,输出状态可能随输入多次变化,产生空翻) 。这对于下一级电路是极其危险的。所以,
只要能用 D 触发器的地方,就不用锁存器。
基本概念:
触发器是指有时钟边沿触发的存储单元。锁存器指一个由信号而不是时钟控制的电平敏
感的设备。
锁存器的工作原理:
锁存器不同于触发器,锁存器在不锁存数据时,输出端的信号随输入信号变化,就像信
号通过一个缓存器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。因
此锁存器也称为透明锁存器,值得是不锁存是输出对输入是透明的。
锁存器具备下列三个缺点:
(1)对毛刺敏感,不能异步复位,因此在上电后处于不确定的状态。
(2)锁存器会使静态时序分析变得非常复杂,不具备可重用性。 (首先, 锁存器没有时
钟参与信号传递,无法做 STA;其次,综合工具会将 latch 优化掉,造成前后仿真结果不一
致)
(3)在 PLD 芯片中,基本的单元是由查找表和触发器组成的,若生成锁存器反而需要
更多的资源。根据锁存器的特点可以看出,在电路设计中,要对锁存器特别谨慎,如果设计
经过综合后产生出和设计意图不一致的锁存器,则将导致设计错误,包括仿真和综合。因此,
在设计中需要避免产生意想不到的锁存器。
如果组合逻辑的语句完全不使用 always 语句块,就可以保证综合器不会综合出锁存器,
例如:
assign a = din ? x : y;
上述语句不需要保持信号 a 的前一个状态,因此肯定不会产生锁存器。
在基于 always 的组合逻辑描述语句中容易综合出锁存器的地方:1:if 语句的使用中缺
少 else 语句(前提是不是始终边沿触发);2:case 语句中没有给出全部的情况。
从上图可以看出综合出来的是锁存器。
针对这种情路可以采用一些措施来防止生成锁存器:给输出变量幅初值;增加 else 语
句;将锁存器改为带使能的触发器。如下:
此时综合出来的就是选择器。
Verilog 锁存器 触发器 寄存器区别相关推荐
- 锁存器 触发器 寄存器 区别
一.锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才 ...
- 锁存器 D触发器 寄存器区别 详细区别解释 Latch D Flipflop register
1. 锁存器 定义: 对脉冲电平敏感,在时钟脉冲的电平作用下改变状态. 优点: 面积小.锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常 ...
- 锁存器、触发器和寄存器区别对比-基础小知识(十)
文章目录 基本概念 锁存器与触发器区别 锁存器与触发器不同应用场合 锁存器产生条件 锁存器危害 参考文档 基本概念 锁存器(latch):.在电平信号的作用下改变状态,是一种电平触发的存储单元.锁存器 ...
- 触发器(寄存器)与锁存器的异同
触发器(FF)当收到输入时钟脉冲时,便会根据规则改变状态,然后保持这种状态直到收到下一个触发脉冲信号到来. 寄存器(register)的存储电路通常是由触发器构成的,因为一个触发器能存储一位二进制数, ...
- 锁存器和触发器的区别
有关锁存器和触发器的区别,有很多种不同的说法,但本质上是一个意思,都十分的精辟和精彩,这里整理一下. 解释一. 锁存器是一种对脉冲电平(也就是0或者1)敏感的存储单元电路,而触发器是一种对脉冲边沿(即 ...
- (14)FPGA触发器与寄存器区别
(14)FPGA触发器与寄存器区别 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA触发器与寄存器区别 5)结语 1.2 FPGA简介 FPGA(Field Pr ...
- FPGA之道(4)锁存器与寄存器
文章目录 概念 多位 阵列 普通移位寄存器 概念 触发器与这两个称谓之间到底有着什么样的关系呢? 事实上,在我们进行数字电路设计的时候,只需要关注于器件的功能和使用方式即可,而不需要对器件的实现原理和 ...
- 例说Verilog HDL和VHDL区别,助你选择适合自己的硬件描述语言
如果你搜索Verilog和VHDL的区别,你会看到很多讨论这场HDL语言战争的区别页面,但大多数都很简短,没有很好地举例说明,不方便初学者或学生理解. Verilog和VHDL之间的区别将在本文中通过 ...
- 触发器、锁存器、寄存器以及它们之间的区别
一.基本概念 (1)锁存器 1. 锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化. ...
- 【数字电路】D锁存器和D触发器的区别
我们在数字电路中经常使用到D触发器,有时候还会听到D锁存器这种电路,那么这两种电路到底有什么关系?又存在什么区别? 方法一:功能的文字叙述 1)D锁存器: 功能分析文字描述:C = 0时,输出状态保持 ...
最新文章
- 自定义InputFormat案例
- Java爬虫技术(一)普通网站爬取图片
- python中break和continue区别_Shell break和continue跳出循环详解
- Linux 内核总线
- HTML DOM对象的属性和方法介绍(原生JS方法)
- crf的实现 keras_keras 解决加载lstm+crf模型出错的问题
- 解决:地址 localhost:8080 已在使用中
- Matplotlib中文乱码解决方案(1):`matplotlib.font_manager` 自定义字体
- 第13章WEB13-JSP模式JDBC高级篇
- linux正常关机使用命令是,Linux系统关机的命令
- Troubleshooting Consolidation
- revit二开之关联族参数的实现
- python画xy轴_用python建立两个Y轴的XY曲线图方法
- Wifi密码破解实战
- 51单片机 DHT11+LCD12864温湿度显示 + Proteus仿真
- 计算机一级常用函数英语翻译,无需打开翻译软件!1个公式让excel直接翻译中英文...
- gogland跨平台编译
- 聊天室c语言程序,socket 多线程聊天室的实现(C语言)
- php微信自动回复开发,PHP微信开发之文本自动回复
- faiss search(检索)截断