概述
1。门口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
2.D触发器代码:
module D_flipflop(clk,D,Q); //触发器的英文为flipflop.
input clk,D;
output reg Q;
always @(posedge clk) //注:这里的敏感信号为clk,没有D..
Q=D;
endmodule
3.理解阻塞赋值和非阻塞赋值。
描述组合逻辑电路最好用阻塞赋值语句。
描述时序逻辑电路做好用非阻塞赋值语句。
4。含异步复位端的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;
else
Q<=D;
endmodule
5.含同步复位端的D触发器:
module D_flipflop(D,clk,reset,Q);
input D,clk,reset;
output Q;
always @(posedge)
if(!reset)
Q<=0;
else
Q<=D;
endmodule
最后
以上就是威武花瓣为你收集整理的verilog描述锁存器和触发器的全部内容,希望文章能够帮你解决verilog描述锁存器和触发器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复