我是靠谱客的博主 贤惠早晨,最近开发中收集的这篇文章主要介绍简单理解锁存器和触发器的主要区别一、锁存器二、触发器三、寄存器四、触发器和锁存器的异同,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、锁存器

        锁存器(latch)在电平信号的作用下改变状态,是一种对脉冲电平(即0或者1)敏感的存储单元电路。锁存器的数据存储动作取决于输入使能信号的电平值,仅当锁存器处于使能状态时,输出数据才会随着数据输入发生变化,否则处于锁存状态。

二、触发器

        触发器Flip-Flop,简写为 FF)是一种对脉冲边沿(即上升沿或者下降沿)敏感的存储电路。随着输入的变化,输出会产生对应的变化。它通常是由至少两个相同的门电路构成的具有反馈性质的组合逻辑电路。应用中为了使触发过程容易控制,而做成由时钟触发控制的时序逻辑电路。

三、寄存器

        通常只能存储一位数据的电路叫做存储单元,将用于存储一组数据的存储电路叫做寄存器(Register),寄存器的的存储电路通常是由触发器构成的,因为一个触发器能存储一位二进制数,所以n个触发器就可以构成n位寄存器,可以将寄存器理解成多个触发器构成的暂存

单元。

四、触发器和锁存器的异同

相同点:

        锁存器和触发器都是具有存储功能的逻辑电路,是构成时序电路的基本逻辑单元,每个锁存器或触发器都能存储一位二值信息。

不同点:

1、 锁存器是一种对脉冲电平(即0或者1)敏感的电路,而触发器是一种对脉冲边沿(即上升沿或者下降沿)敏感的电路。

2、锁存器对输入电平敏感,受布线延迟影响较大,很难保证输出没有毛刺产生,这对于下一级电路是极其危险的。而触发器则不易产生毛刺。  

 小知识: 

        锁存器将静态时序分析变得极为复杂,一般设计规则是在大多数设计中尽量避免产生锁存器,其隐蔽性很强,出现问题时难以排查,所以能用到触发器的地方一般不用锁存器。

        另一方面要注意,对于Verilog编程时,尽量避免锁存器。当使用case语句和if…else语句时,一定要注意把可能出现的情况都列出来。如case语句需要使用default关键字把剩余的情况包含起来,而使用if语句最好加上else部分,不然容易产生锁存器。(可以参考  4、Verilog Language-Procedures(更新中~)_Black-S的博客-CSDN博客   关于If statement latches的内容)

3、如果使用门电路来搭建锁存器和触发器,则锁存器消耗的门资源比触发器要少,这是锁存器比触发器优越的地方。因为锁存器的特点有时候锁存器是不能被代替的。

4、若数据信号有效滞后于控制信号有效,则选择锁存器;若数据信号提前于控制信号到达并且要求同步操作,则采用触发器。尽管如此,在FPGA的电路设计中,应尽可能避免使用锁存器(第2条)。

参考链接:锁存器和触发器的区别_上进的蠢猪的博客-CSDN博客_锁存器和触发器的区别

最后

以上就是贤惠早晨为你收集整理的简单理解锁存器和触发器的主要区别一、锁存器二、触发器三、寄存器四、触发器和锁存器的异同的全部内容,希望文章能够帮你解决简单理解锁存器和触发器的主要区别一、锁存器二、触发器三、寄存器四、触发器和锁存器的异同所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(241)

评论列表共有 0 条评论

立即
投稿
返回
顶部