Quartus-II13.1三种方式实现D触发器及时序仿真

一、Quartus-II输入原理图及时序仿真

(一)创建工程

File->New Project Wizard

填写工程名称

根据使用的FPGA,进行选择芯片系列及类型

直接Next

完成工程创建,点击Finish

(二)创建方框文件

选择New

选择Block Diagram/Schematic File

选择nand2,二个输入的与非门,依次添加四个and2和一个非门not

添加完成

选择连线工具

连线效果

(三)编译原理图文件

启动分析与综合(全编译) RTL Viewer,查看硬件电路图

硬件电路图

(四)创建vwm格式波形文件

选择VWF

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

添加Node or Bus

添加效果

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

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

(五)时序波形仿真

功能仿真后的波形,满足D latch的时序(全编译后,也可以运行时序仿真)

点击时序仿真,仿真结果如下

二、Quartus-II用Verilog语言实现D触发器及时序仿真

(一)创建工程

方法同上

(二)编写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

保存文件并编译

(三)查看生成的电路图

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

(四)利用Verilog语言编写测试代码实现时序仿真

具体仿真过程,参考链接: Modelsim SE版本的安装及使用方法-CSDN博客 测试代码

//测试代码
`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

仿真效果

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值