锁存器(Latch)
锁存器(latch)–对脉冲电平敏感,在时钟脉冲的电平作用下改变状态,是一种双稳态电路,它具有0和1两种稳定状态。
锁存器最大危害在于:
对毛刺敏感,不利于实现同步操作,
静态时序分析STA复杂
复位困难
DFT设计困难
下面以D锁存器为例来分析:
module D_latch(clk,D,Q);input clk,D;output reg Q;always @(clk,D) //注:这里的敏感信号为clk和D,因为D也引起Q的变化。当clk为高电平时,D的变化也引起输出Q的变化。if(clk==1)Q=D;endmodule 触发器(Flip-Flop,简称FF)触发器(Flip-Flop,简写为 FF)—对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变 ;
下面介绍D触发器:
module D_flipflop(clk,D,Q); //触发器的英文为flipflop.input clk,D;output reg Q;always @(posedge clk) //注:这里的敏感信号为clk,没有DQ=D;endmodule含异步复位端的D触发器module D_flipflop(D,clk,reset,Q);input D,clk,reset;output reg Q;always @(negedge reset,posedge clk) /*不能忽略关键词negedge,因为敏感列表里不能既包含边沿触发信号又包含电平敏感型信号*/if(!reset)Q<=0;elseQ<=D;endmodule 含同步复位端的D触发器module D_flipflop(D,clk,reset,Q);input D,clk,reset;output Q;always @(posedge clk)if(!reset)Q<=0;elseQ<=D;endmodule<
寄存器存储一组二进制代码的同步时序逻辑电路称为寄存器,触发器有记忆功能,可以利用触发器构成寄存器,一个触发器只能存储一个二进制码元,把n个触发器的时钟端连接到一起构成一个存储n位二进制码元的寄存器。寄存器和锁存器都可以存储数据,但他们的区别是寄存器是同步时钟控制,锁存器是电位信号控制。寄存器和锁存器具有不同的应用场合:若数据信号有效一定滞后于控制信号有效,则只能使用锁存器;
若数据信号提前于控制信号到达并且要求同步操作,则可用寄存器来存放数据。
感谢阅读文章,如果文章有用,麻烦点个“在看”或转发分享。
转载:全栈芯片工程师
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点 https://www.yhzz.com.cn/a/11010.html