Quartus实现D触发器及时序仿真

Quartus 实现 D 触发器及时序仿真

一.Quartus 输入原理图及时序仿真

1.创建工程

File->New Project Wizard

芯片选择为 EP4CE115F23C7

创建完成

2.创建方框文件

NEW->Block Diagram/Schematic File

依次添加四个 and2 和一个非门 not

并选择连线工具

完成图如下:

然后保存。

3.编译原理图文件

Processing->Start compilation

然后查看硬件电路图

硬件电路图如下:

4.创建 vwm 格式波形文件

选择 Edit->Insert->Insert Node or Bus

添加 Node or Bus

效果图如下:

编辑输入 Clk,产生时钟信号

鼠标选择 D,Q 信号 Q_n,,进行编辑

5.时序波形仿真

返回 vwm 文件中,点击时序仿真,仿真结果如下

二.用 Verilog 语言实现 D 触发器及时序仿真

1.编写Verilog 文件

创建 Verilog 文件

点击 File->New,选中 Verilog

代码如下:

//dwave 是文件名** module dwave(d,clk,q); input d; input clk; **output q;

reg q;

always @ (posedge clk)//我们用正的时钟沿做它的敏感信号
begin
    q <= d;//上升沿有效的时候,把d捕获到q
end

endmodule

保存文件并编译。

2.查看生成的电路图

使用 rtl viewer 查看硬件电路图
硬件电路图

3.利用 Verilog 语言编写测试代码实现时序仿真

测试代码:

`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

仿真效果如下:

参考------https://blog.csdn.net/qq_43279579/article/details/115286467


posted @ 2023-12-22 18:32  verthy  阅读(1377)  评论(0)    收藏  举报