【基础知识】触发器?锁存器?
在平时的设计中,因为只进行RTL设计,通常忽略了稍微底层的一些东西。以至于很多知识都不知道。
偶然在看别人的求职经验中看到一个问题,触发器与锁存器的区别。。。emmmm?这有区别吗?
答案当然是有的。电平敏感的存储器是锁存器。而触发器,则是边沿敏感的。通常来说交叉耦合的门构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。
那么在verilog中的区别呢,如下
//锁存器
module D_latch(
input clk,
input D,
output Q,
);
assign Q = clk? D:Q;
endmodule
//触发器
module D_latch(
input clk,
input D,
output reg Q,
);
always@(posedge clk)
begin
Q <= D;
end
endmodule