代码1:
`timescale 1ns/10ps
module d_trigger(
d,
clk,
q);
input d;
input clk;
output q;
assign q=~d;
endmodule
//testbench
module d_trigger_tb;
reg clk;
reg d;
wire q;
d_trigger d_trigger(
.d(d),
.clk(clk),
.q(q)
);
initial begin
d<=0;clk<=0;
#1000 $stop;
end
always #10 begin clk<=~clk;d<=~d;end
endmodule
实验波形
貌似没什么问题
代码二:
`timescale 1ns/10ps
module d_trigger(
d,
clk,
q);
input d;
input clk;
output reg q;
always@(posedge clk)
begin
q<=d;
end
endmodule
module d_trigger_tb;
reg clk;
reg d;
wire q;
d_trigger d_trigger(
.d(d),
.clk(clk),
.q(q)
);
initial begin
d<=0;clk<=0;
#10 clk<=1;d<=1;
#10 clk<=0;d<=1;
#10 clk<=1;d<=0;
#10 clk<=0;d<=1;
#10 clk<=1;d<=0;
#10 $stop;
end
endmodule
实验波形:文章来源:https://www.toymoban.com/news/detail-537210.html
文章来源地址https://www.toymoban.com/news/detail-537210.html
小结
到了这里,关于Verilog学习笔记1:D触发器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!