我是靠谱客的博主 心灵美芒果,最近开发中收集的这篇文章主要介绍Quartus II实现D触发器及时序仿真实验环境一、软件安装二、认识D触发器三、创建D触发器原理图仿真四、调用D触发器系统框架并仿真五、用Verilog语言实现D触发器及时序仿真六、总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 实验环境
  • 一、软件安装
  • 二、认识D触发器
  • 三、创建D触发器原理图仿真
    • 1.创建工程
    • 2.新建原理图文件
    • 3.编译
    • 4.仿真波形图
  • 四、调用D触发器系统框架并仿真
  • 五、用Verilog语言实现D触发器及时序仿真
  • 六、总结


实验环境

Quartus 18.1

一、软件安装

Quartus 18.1 安装教程

二、认识D触发器

D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。因此,D触发器在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。

D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。

D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。

D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等等。

1)功能表

DCLKQQN
0时钟上升沿01
1时钟上升沿10
x0lastQlastQN
x1lastQlastQN

2)方程

Qn+1=D

3)时序图

三、创建D触发器原理图仿真

1.创建工程

点击File->New Project Wizard

点击Next

选择项目位置,输入项目名称,再点击next

选择空项目,点击next

点击next

选择目标芯片:cycloneIVE系列的EP4CE115F29C7,点击next

EDA Tool Setting设置,点击next

检查项目信息,点击finish

2.新建原理图文件

点击New->Block Digram->ok

点击按纽“ Symbol Tool”或直接双击原理图空白处,从“ Symbol”窗中选择


输入输出管脚在从“ Symbol”窗中选择

4 个 nand2 与非门,1 个 not 非门,2个输入管脚和2个输出管脚,并连线,最终如下图:

3.编译

进行编译,若无错误则可进行下一步,若有错进行原理图修改。

如果出现Error (119013): Current license file does not support the EP4CE115F29C7 device.错误需要注意一下软件破解是否出现问题

查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。


4.仿真波形图

新建波形文件。如上面新建图形文件的方法,从“file”中选择“new”,然后从出现的对话框中选择“university program VWF”。点击“OK”。

输入波形文件。在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。如图。

点击编辑输入CLK,产生时钟信号


保存文件:【File】→【Save】。

四、调用D触发器系统框架并仿真

1.创建工程

2.新建原理图文件

方法同三、2.新建原理图文件

这时,不再画D触发器的内部结构了,而是直接调用D触发器,元件名:dff

这是系统自带的D触发器

3.编译

4.仿真波形图

五、用Verilog语言实现D触发器及时序仿真

1.创建工程

2.新建Verilog HDL 文件

编写代码:

module dwave_v (CLK,D,Q);       //输入端口列表
    input CLK;  //输入时钟信号
    input D;    //输入D
    output Q;   //输出Q

    reg Q;  //寄存器类型
    always @(posedge CLK) begin //时钟上升沿有效
        Q<=D;     //非阻塞赋值,即always语句运行完后赋值
    end   

endmodule

3.编译

4.仿真波形图

方法2,使用Modelsim进行手动波形仿真

打开 Modelsim 软件。

添加现有文件:Add Existing File

//测试代码
`timescale 1ns / 1ns

module dwave_tb;
    reg CLK,D;
    wire Q;

    dwave_v 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

然后保存,点击【编译】按钮,编译所有文件

右键点击工程名,再点击【Add Wave】

设置运行时长,再点击旁边的运行按钮,即可出现仿真效果图

六、总结

三种方式D触发器调用对比:1.通过创建原理图,D触发器可以由4个与非门,一个非门,仿真出来,第一种方法更贴近原理组成,对D触发器原理机制有深入了解 2.通过软件给的D触发器框架,可以很快仿真出D触发器,电路也比较精简,调用D触发器最方便 3.通过硬件语言verilog方式来描述D触发器,主要站在D触发器功能实现,来进行编写代码,更贴近应用层面。

最后

以上就是心灵美芒果为你收集整理的Quartus II实现D触发器及时序仿真实验环境一、软件安装二、认识D触发器三、创建D触发器原理图仿真四、调用D触发器系统框架并仿真五、用Verilog语言实现D触发器及时序仿真六、总结的全部内容,希望文章能够帮你解决Quartus II实现D触发器及时序仿真实验环境一、软件安装二、认识D触发器三、创建D触发器原理图仿真四、调用D触发器系统框架并仿真五、用Verilog语言实现D触发器及时序仿真六、总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部