首页 > 技术知识 > 正文

锁存器(Latch)

锁存器(latch)–对脉冲电平敏感,在时钟脉冲的电平作用下改变状态,是一种双稳态电路,它具有0和1两种稳定状态。

锁存器最大危害在于:

对毛刺敏感,不利于实现同步操作,

静态时序分析STA复杂

复位困难

DFT设计困难

下面以D锁存器为例来分析:

锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点

锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点1

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

锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点2

触发器(Flip-Flop,简称FF)

触发器(Flip-Flop,简写为 FF)—对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变 ;

下面介绍D触发器:

锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点3

锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点4

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位二进制码元的寄存器。寄存器和锁存器都可以存储数据,但他们的区别是寄存器是同步时钟控制,锁存器是电位信号控制。寄存器和锁存器具有不同的应用场合:

若数据信号有效一定滞后于控制信号有效,则只能使用锁存器;

若数据信号提前于控制信号到达并且要求同步操作,则可用寄存器来存放数据。

谢阅读文章,如果文章有用,麻烦点个“在看”或转发分享。

锁存器、触发器、寄存器分不清楚?-锁存器和触发器的优缺点5

转载:全栈芯片工程师

猜你喜欢