锁存器
锁存器只对电平敏感,在同步电路设计中应当尽量避免(组合逻辑中的case语句缺失default、if-else缺失else)
//高电平敏感的1位数据锁存器的实现 assign q = (clk==1) ? d : q; //或 always@(clk or d) begin if(clk) q = d end
D触发器
触发器对时钟信号的边沿敏感,输出数据q只在时钟沿到来时变化
always@(posedge clk) q <= d;
门控时钟
举个例子,门控时钟实现计数器
assign enable = (cnt == N)? 1 :0; always@(posedge clk) if(enable) q <= 1; else q <= 0;