首页 > 编程知识 正文

锁存器和触发器(锁存器可以构成移位寄存器吗)

时间:2023-05-03 21:49:03 阅读:74738 作者:913

1、锁存器

锁存器对脉冲电平敏感,也就是电平触发,在有效电平下锁存器处于使能状态,输出根据输入而变化。 此时,信号不被锁存,类似于缓冲器。 如果锁存未启用,则数据被锁定,输入信号不起作用,此时输出保持锁存的状态信息(锁存最后拍的数据)。 常见的锁存器包括SR锁存器、d锁存器和JK锁存器

1.1、锁存器工作原理

这里,d是输入信号,e为高时,输出q是输入d; 当e低时,q保持e高时的最后状态,即锁存过程。

1.2、锁存器优缺点

优点:面积小。 锁存器比FF快,所以适合用于地址锁存器,但必须保证所有latch输入源的质量。 (锁存器在CPU设计中很常见,因为它的应用使CPU的速度比外部IO部件的逻辑快得多。 在asic中,latch完成相同功能所需的门比触发器少,因此在asic中被较多使用)。

缺点:

a、容易发生毛刺

b、资源浪费:在Xilinx的FPGA上,多达6个系列的设备都有Latch; 在6系列和7系列FPGA中,一个Slice中50%的存储元素可以配置为Latch或Flip-Flop,而另一半只能配置为Flip-Flop。 例如,在7系列FPGA中,一个Slice有8个Flip-Flop,如果将其放置在Latch上,则该Slice的其他4个Flip-Flop将不可用。

c、时序分析困难:锁存器不含正常时钟,静态时序分析困难。

2、D触发器

触发器(简称Flip-Flop、FF () ),又称双安定门,也称双稳态触发器。 对边缘敏感,也就是边缘触发。

2.1、锁存器工作原理

因为触发器只在时钟沿工作,所以即使输入的信号有毛刺,输出也比较干净。 FPGA中使用最多的是触发器。

3、寄存器

用于存储数据的小存储区域。 用于临时存储参与运算的数据和运算结果,广泛用于各种数字系统和计算机。 其实寄存器是常用的时序逻辑电路,但这个时序逻辑电路只包含存储电路。 的存储电路由锁存器或触发器构成。 一个锁存器或触发器可以存储一位二进制数,从而允许n个锁存器或触发器配置n位寄存器。 工程寄存器一般按计算机中字节的位数设计,因此有8位寄存器、16位寄存器等。

4、RTL代码产生锁存器

时序逻辑中不会出现锁存器。 组合逻辑在特定情况下合并锁存器。 或者沿边缘敏感的语句只合并触发器。 对等级敏感的语句在覆盖不完整时,会出现闩锁。 (典型的if…else…或case…default…语句不完整,即出现信号保持。

1 )1) ) ) )。

Always@(* ) begin

是if(d )

a=b;

结束

2 )

Always@(Begin

是if(d )

a=b;

else

a=a;

结束

3 )3) ) )。

always @ (b or d )

是case(d )

2’b 00: a=B1;

2’b 11: c=B1;

default:begin

a=b;

c=b;

结束

结束案例

4 )4) ) )。

Always@(bord ) begin

a=b;

c=b;

是case(d )

2’b 00: a=B1;

2’b 11: c=B1;

结束案例

结束

5 ) ) ) )。

Always@(bord ) begin

case(d )//synopsys full_case

2’b 00: a=B1;

2’b 11: c=B1;

结束案例

结束

6 ) ) ) )。

Always@(Posedgeclk ) begin

if(A1 ) begin

b=d;

结束

ELSEif(A2 ) begin

c=d;

结束

结束

1 )合并时语句自动完成,完成后为代码2 ),else后的信号赋值为保持,由于if.else不完整,发生锁存。

3 )信号赋值语句不完整。 也就是说,由于d=2’b00不向信号c分配值,d=2’b11不向信号a分配值,而是在合并时语句自动互补,明显地也会出现信号保持,从而产生锁存器。

4 )闩锁不出现

5 )赋值语句不完整,发生锁存

6 )缺少else,信号赋值语句不完整,但属于时序逻辑,不发生锁存

5、锁存器和触发器综合后Schematic和Device

5.1、触发器

always@(PosedgeI_clk ) begin

是if(a )

b=c;

结束

5.2、

Always@(* ) begin

是if(a )

b=c;

结束

使用Flip-Flop时,存储元素已集成到FDRE (触发器)中; 使用Latch电路时,存储元件集成到LDCE中。

有些地方没有表,只能用latch。 例如,现在用一个clk连接到latch的使能端(

设为高电平使能),这样所需的setup时间是到时钟的下降沿为止需要数据的时候

不过,对于DFF,设置时间是时钟上升所需的时间。 这个说

亮数据比控制信号慢时,只能使用latch。 在这种情况下,如上所述

latch timing borrow。 基本上相当于借用了高水平的时间

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。