我是靠谱客的博主 傻傻白云,最近开发中收集的这篇文章主要介绍Quartus II实现D触发器及时序仿真一、软件下载二、D触发器简介三、创建D触发器原理图并仿真四、调用D触发器并仿真2.新建原理图文件五、用Verilog语言实现D触发器及时序仿真六、总结七、资料参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一、软件下载
  • 二、D触发器简介
  • 三、创建D触发器原理图并仿真
    • 1.创建工程
    • 2.新建原理图文件
    • 3.编译
    • 4.仿真波形图
  • 四、调用D触发器并仿真
    • 1.创建工程
  • 2.新建原理图文件
    • 3.编译
    • 4.仿真波形图
  • 五、用Verilog语言实现D触发器及时序仿真
    • 1.创建工程
    • 2.新建Verilog HDL 文件
    • 3.编译
    • 4.仿真波形图
  • 六、总结
  • 七、资料参考

一、软件下载

Quartus II 13安装与使用介绍
Modelsim SE版本的安装及使用方法

二、D触发器简介

D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
因此,D触发器在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。
D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。
对于边沿D触发器,由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等等。
在这里插入图片描述
方程
在这里插入图片描述
功能表
在这里插入图片描述
时序图
在这里插入图片描述

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

1.创建工程

在这里插入图片描述
在这里插入图片描述
设置工程的存储位置和项目名称
在这里插入图片描述
弹出对话框,选择Yes:
点击NEXT
在这里插入图片描述
选择目标芯片:cycloneIVE系列的EP4CE11529C7
在这里插入图片描述
EDA Tool Setting设置
在这里插入图片描述
检查项目信息,点击finish
在这里插入图片描述
此时界面上会出现顶层文件名和项目名:
在这里插入图片描述

2.新建原理图文件

打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“ Design Files” 的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。
在这里插入图片描述
点击按纽“ Symbol Tool”或直接双击原理图空白处,从“ Symbol”窗中选择
需要的符号,或者直接在“name”文本框中键入元件名
在这里插入图片描述
在这里插入图片描述
4 个 nand2 与非门,1 个 not 非门,2个输入管脚和2个输出管脚,并连线,最终如下图:
在这里插入图片描述

在这里插入图片描述

3.编译

进行编译,若无错误则可进行下一步,若有错进行原理图修改。
在这里插入图片描述
查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。
在这里插入图片描述
在这里插入图片描述

4.仿真波形图

新建波形文件。如上面新建图形文件的方法,从“file”中选择“new”,然后从出现的对话框中选择“university program VWF”。
点击“OK”。
在这里插入图片描述
选择【Edit】→【Insert】→【Insert Node or Bus…】。
在这里插入图片描述
点击【Node Finder…】,然后点击【List】会罗列出四个管脚,点击【>>】选择全部,然后点击【OK】,自动补全了【Name】,然后点击【OK】。
在这里插入图片描述
在这里插入图片描述
编辑输入CLK,产生时钟信号
在这里插入图片描述
选中要修改的区域,然后双击,修改为 1 ,再点击【OK】即可。
在这里插入图片描述
保存文件:【File】→【Save】。
在这里插入图片描述
在这里插入图片描述
功能仿真
点击功能仿真编译按钮:
在这里插入图片描述
出现以下错误:
在这里插入图片描述
解决方法:在这里插入图片描述
选择工程目录下的 …simulationqsim 文件夹,然后点击【Start Compilation】。
在这里插入图片描述
无错误,然后点击【Close】关闭窗口。
在这里插入图片描述
点击【功能仿真按钮——Run Functional Simulation】
在这里插入图片描述
仿真结果如下(延迟了半个时钟周期):
在这里插入图片描述
时序仿真:
主界面【Processing】→【Start】→【Start Fitter】。
在这里插入图片描述
点击【Start TimeQuest Timing Analyzer】。
在这里插入图片描述
返回 VMF 文件界面:点击【时序仿真按钮——Run Timing Simulation】。
在这里插入图片描述
仿真结果(延迟一个时钟周期):
在这里插入图片描述

四、调用D触发器并仿真

1.创建工程

与三、1.创建工程相同

2.新建原理图文件

方法同三、2.新建原理图文件
这时,不再画D触发器的内部结构了,而是直接调用D触发器,元件名:dff
在这里插入图片描述
再添加输入和输出管脚。最终原理图如下:
在这里插入图片描述

3.编译

保存并编译,然后查看原理图:
在这里插入图片描述

4.仿真波形图

具体步骤与三、4.仿真波形图相同。
结果如下:
功能仿真波形图(延时半个时钟周期):
在这里插入图片描述
时序仿真(有一个时钟周期的延迟):
在这里插入图片描述

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

1.创建工程

与三、1.创建工程相同

2.新建Verilog HDL 文件

【File】→【New】→【Verilog HDL File】。
在这里插入图片描述
复制粘贴如下代码:

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

    reg q;

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

3.编译

保存文件并编译.
使用rtl viewer查看硬件电路图
硬件电路图
在这里插入图片描述

4.仿真波形图

打开 Modelsim 软件。
具体步骤如下:
在Quartus创建的工程文件夹下新建一个 tb 文件夹;
点击【File】→【Change Directory】选择 tb 文件夹;
创建新项目:【File】→【New】→【Project…】,编写工程名及选择路径;
在这里插入图片描述
添加现有文件:Add Existing File。
在这里插入图片描述
在这里插入图片描述
再创建一个新的文件。
在这里插入图片描述
然后关闭添加文件窗口界面。
再双击刚刚新建的 wave_b.v 文件,添加如下代码:

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

然后保存。
点击【编译】按钮,编译所有文件。
在这里插入图片描述
点击【Simulate】→【Start Simulation…】
在这里插入图片描述
找到 wave_b.v 文件所在的工程(看路径),取消勾选,点击【OK】
在这里插入图片描述
右键点击工程名,再点击【Add Wave】。
在这里插入图片描述
设置运行时长,再点击旁边的运行按钮,即可出现仿真效果图。
在这里插入图片描述

六、总结

使用 Quartus 与 Modelsim 软件来仿真电路,对我来说更加方便,但是如果对 Verilog 语言较懂的人来说,当遇到复杂繁杂的电路图时,会更加的方便。

七、资料参考

https://blog.csdn.net/weixin_46129506/article/details/123443865https://blog.csdn.net/qq_43279579/article/details/115158140

https://blog.csdn.net/qq_43279579/article/details/115176423

最后

以上就是傻傻白云为你收集整理的Quartus II实现D触发器及时序仿真一、软件下载二、D触发器简介三、创建D触发器原理图并仿真四、调用D触发器并仿真2.新建原理图文件五、用Verilog语言实现D触发器及时序仿真六、总结七、资料参考的全部内容,希望文章能够帮你解决Quartus II实现D触发器及时序仿真一、软件下载二、D触发器简介三、创建D触发器原理图并仿真四、调用D触发器并仿真2.新建原理图文件五、用Verilog语言实现D触发器及时序仿真六、总结七、资料参考所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部