dameihuaxia 发表于 2022-11-8 15:12:21

FPGA基础

1、寄存器、锁存器和触发器:
(1)寄存器:边沿触发的存储单元,在上升或下降沿数据变化,一个周期里只能变化一次。
寄存器:一般是边沿触发的触发器,在时序电路中寄存器的作用就是只在时钟的边沿有效传输data(满足建立时间和保持时间使得数据是稳定被采得)。在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器。由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能够构成一个存储n位二进制码的寄存器。

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


(3)触发器(Flip-Flop,简写为FF)——对脉冲边沿敏感==(边沿敏感)==,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变;
触发器也叫双稳态门,又称双稳态触发器,是一种可以在两种状态下运行的数字逻辑电路。触发器一直保持它们的状态,直到它们收到输入脉冲,又称为触发。当收到输入脉冲时,触发器输出就会根据规则改变状态,然后保持这种状态直到收到另一个触发 ;


2、寄存器和锁存器的区别,使用场景
(1) 寄存器是同步时钟控制,而锁存器是电位信号控制。锁存器一般由电平信号控制,属于电平敏感型。寄存器一般由时钟信号控制,属于边沿敏感型。

(2) 寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。

可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据之间的时间关系:若数据有效一定滞后于控制信号有效(锁存信号(控制信号)来了以后,才将输出端的状态/数据锁存起来),只能使用锁存器;如果数据提前于控制信号而到达且要求同步操作,则可以用寄存器来存放数据。

换言之,控制信号/时钟信号先来,数据后来,用锁存器;
控制信号/时钟信号后来,数据先来,用寄存器
3、锁存器与触发器的区别
锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就想信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。

1、 锁存器同所有的输入信号相关,当输入信号变化时锁存器就变化,没有时钟端;触发器受时钟控制,只有在时钟触发时才采样当前的输入,产生输出。

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

3、 锁存器对输入电平敏感(输出随输入的变化而变化),受布线延迟影响较大,很难保证输出没有毛刺产生;触发器则不易产生毛刺。锁存器容易产生毛刺。
————————————————
版权声明:本文为CSDN博主「我是苏~格~拉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44348260/article/details/119607317

雷1314521景 发表于 2022-11-8 16:15:13

FPGA基础
http://www.fpgaw.com/forum.php?mod=viewthread&tid=140423&fromuid=59831
(出处: fpga论坛|fpga设计论坛)

乔奈一一 发表于 3 天前

FPGA基础知识
页: [1]
查看完整版本: FPGA基础