首页 » 科学 » 锁存器这一篇就够了_电平_触发器

锁存器这一篇就够了_电平_触发器

admin 2025-01-21 11:00:39 0

扫一扫用手机浏览

文章目录 [+]

锁存器(latch)是通过电平触发的存储单元。
数据存储的动作由输入时钟(或者使能)旗子暗记的电平值决定,仅当锁存器处于使能状态时,输出才会随着输入发生变革。

2、和触发器的差异

锁存器这一篇就够了_电平_触发器 锁存器这一篇就够了_电平_触发器 科学

触发器是对脉冲边沿敏感的存储单元,它的变革只会在时钟的上升沿或者低落沿到来的瞬间改变。

锁存器这一篇就够了_电平_触发器 锁存器这一篇就够了_电平_触发器 科学
(图片来自网络侵删)

从定义上区分,锁存器是电平触发的,触发器是边沿触发的。
对付latch而言,由于其是电平触发的,当使能的时候,输入旗子暗记不稳定时,那么输出旗子暗记就会涌现毛刺。
对付触发器来说,其输出是在时钟的边沿,只要不涌现亚稳态输出就不会涌现毛刺。

3、latch的利害

缺陷:

1)电平触发,随意马虎产生毛刺;

2)电平触发,对芯片设计后端时序收敛不友好。

优点:

1)面积小;

2)速率快。

4、若何天生latch

在芯片设计中,锁存器和触发器都是工艺库中的最小单元。
通过EDA工具将我们的代码映射至工艺库中相应的单元。
基于Verilog硬件描述措辞的,天生latch的代码事例如下:

module latch_exam( input wire i_clk, input wire i_en, output reg o_latch );always @ ( )begin if(~clk) o_latch = i_en; end endmodule

module latch_exam( input wire i_en, input wire i_data, output wire o_latch );assign o_latch = ~i_en ? i_data : o_latch; endmodule

5、如何避免产生latch

在数字电路设计中,只有对面积和速率哀求极高的情形下才可能会利用到latch。
一样平常情形下,还是该当利用时序逻辑,避免毛刺及时序的影响。

数字前端设计可以通过以下几种办法,避免latch的产生:

1)节制良好且精确的代码风格,完全的条件语句(if else、case中的default)且末了一个分支(else或default)不是自己赋值给自己

还有一点须要把稳:上述第2个代码段,是利用assign语句的3目运算符(条件性语句),且自己赋值给了自己。
在Verilog中产生latch的代码是组合逻辑且有一个分支是自己赋值给自己(省略末了一个分支也是保持不变即自己赋值给自己)

2)通过代码检讨工具(如nlint、leda、spyglass等)检讨代码

3)通过中端工具Design Compiler等检讨代码

4)在后端时序剖析时,如果涌现时序不过的情形,可以剖析是否有latch

在实际工程中,大家最好按照上述顺序实行,只管即便将问题在早期创造,早创造早治疗。
希望通过这篇文章可以帮助大家理解锁存器。

读了这篇文章对您有帮助的话,麻烦动动您的手指示个赞关注下,你的支持是我连续创作的动力。

相关文章