概述
寄存器一般是边沿触发的触发器,电路里叫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设计中建议如果不是必须那么应该尽量使用触发器而不是锁存器。
触发器与锁存器的比较:
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的结构图。
最后
以上就是标致店员为你收集整理的寄存器,触发器,锁存器之间…的全部内容,希望文章能够帮你解决寄存器,触发器,锁存器之间…所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复