initial
begin
D = 0;
clk = 0;
rstn = 0;
En = 0;
end
always#10 clk = ~clk;
always#7 D = ~D;
always#50 rstn = ~rstn;
always#100 En = ~En;
Dflipflop UUT_Dflipflop(.D(D),.clk(clk),.rstn(rstn),.En(En),.Q(Q));
endmodule
D 触发器具有两个稳定状态,即 0 和 1,在外界信号作用下,可以从一个稳定状
态翻转到另一个稳定状态。电平触发在时钟脉冲为 1 时即可触发,边沿触发在正
跳变 0 到 1 时触发,每当一个时钟信号的上升沿来临时,将此时的输入 D 传输给
输出 Q,实现传输的功能,在时钟信号的其他阶段内,输出均保持不变。输入信
号 D,代表 1 位的输入端;时钟信号 clk,代表周期性的时钟信号,低电平有效的
复位信号 rstn,使能信号 En,使能信号为 1,D 触发器发挥作用。always 语句
中敏感事件列表 posedge 和 negedge 分别代表上升沿和下降沿,当时钟信号的上
升沿或者复位信号的下降沿到来时,复位信号优先级高,首先判断 rstn 是否为
0,如果为 0,立即清 0;其余再判断使能信号 En 是否为 1,当使能信号 En 为 1
的时候执行 D 触发器的基本功能。
评论0
最新资源