本文内容:
1、在 Quartus-II 中自己用门电路设计一个D触发器,并进行仿真,时序波形验证;
2、在 Quartus-II 中直接调用一个D触发器电路,进行仿真,时序波形验证,与2做比较;
3、在 Quartus-II用Verilog语言写一个D触发器,进行仿真验证,与3做比较。
功能表:
D | CLK | Q | QN |
---|---|---|---|
0 | 时钟上升沿 | 0 | 1 |
1 | 时钟上升沿 | 1 | 0 |
× | 0 | last Q | last QN |
× | 1 | last Q | last QN |
功能仿真:
解决方法:
...\simulation\qsim
文件夹,然后点击【Start Compilation】。时序仿真:
//dwave是文件名
module dwave(d,clk,q);
input d;
input clk;
output q;
reg q;
always @ (posedge clk)//我们用正的时钟沿做它的敏感信号
begin
q <= d;//上升沿有效的时候,把d捕获到q
end
endmodule
//测试代码
`timescale 1ns / 1ns
module dwave_tb;
reg clk,d;
wire q;
dwave u1(.d(d),.clk(clk),.q(q));
initial
begin
clk = 1;
d <= 0;
forever
begin
#60 d <= 1;//人为生成毛刺
#22 d <= 0;
#2 d <= 1;
#2 d <= 0;
#16 d <= 0;//维持16ns的低电平,然后让它做周期性的循环
end
end
always #20 clk <= ~clk;//半周期为20ns,全周期为40ns的一个信号
endmodule
[1] Quartus-II13.1三种方式实现D触发器及时序仿真
[2] D触发器_百度baike
[3] quartus值时序仿真出错及解决