目录

  • 一、D触发器简介
  • 二、创建D触发器原理图并仿真
    • 2.1 新建工程
    • 2.2 创建原理图文件
    • 2.3 编译原理图文件
    • 2.4 创建 VWF 文件
    • 2.5 波形仿真
  • 三、调用D触发器并仿真
    • 3.1 新建工程
    • 3.2 创建原理图文件
    • 3.3 编译原理图文件
    • 3.4 创建 VWF 文件
    • 3.5 波形仿真
  • 四、用Verilog语言实现D触发器并仿真
    • 4.1 新建工程
    • 4.2 编写Verilog文件
    • 4.3 使用Modelsim手动仿真
    • 4.4 波形仿真
  • 五、总结
  • 六、参考资料

本文内容:
1、在 Quartus-II 中自己用门电路设计一个D触发器,并进行仿真,时序波形验证;
2、在 Quartus-II 中直接调用一个D触发器电路,进行仿真,时序波形验证,与2做比较;
3、在 Quartus-II用Verilog语言写一个D触发器,进行仿真验证,与3做比较。

一、D触发器简介

  • D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
  • D触发器(data flip-flop或delay flip-flop)由4个与非门组成,其中G1和G2构成基本RS触发器。

功能表:

D CLK Q QN
0 时钟上升沿 0 1
1 时钟上升沿 1 0
× 0 last Q last QN
× 1 last Q last QN

时序图:

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

2.1 新建工程

  • 【File】→【New Project Wizard…】。
  • 点击【Next >】。
  • 选择工程保存路径及工程名,然后点击【Next >】。
  • 这里是添加已有的工程设计文件,不需要添加,点击【Next >】。
  • 根据使用的 FPGA,进行选择芯片系列及类型,然后点击【Next >】。
  • 保持 Simulation 为 < None >,然后点击【Next >】。
  • 配置信息,点击【Finish】。

2.2 创建原理图文件

  • 【File】→【New…】。
  • 选择【Block Diagram/Schematic File】,点击【OK】。
  • 点击【插头图标】弹出工具窗口,搜索元件,然后在图纸上摆放:
    • 4 个 nand2 与非门;
    • 1 个 not 非门。
  • 如下图所示(Ctrl + 滚轮,可放大缩小):
  • 添加两个输入管脚和两个输出管脚,双击 Pin Name 即可修改管脚名。
  • 鼠标左键按住连接管脚即可,完整图如下:
  • 保存电路图。

2.3 编译原理图文件

  • 启动分析与综合(全编译)。

  • 查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。
  • 结果如下:

2.4 创建 VWF 文件

  • 点击【File】→【New】,选择【University Program VWF】。
  • 选择【Edit】→【Insert】→【Insert Node or Bus…】。
  • 点击【Node Finder…】,然后点击【List】会罗列出四个管脚,点击【>>】选择全部,然后点击【OK】,自动补全了【Name】,然后点击【OK】。

  • 编辑输入 CLK,产生时钟信号。
  • 选中要修改的区域,然后双击,修改为 1 ,再点击【OK】即可。
  • 保存文件:【File】→【Save】。

2.5 波形仿真

功能仿真:

  • 点击【功能仿真按钮——Run Functional Simulation】。
  • 出现以下错误:

解决方法:

  • 点击【Tools】→【Lauch Simulation Library Compiler】。
  • 选择工程目录下的 ...\simulation\qsim 文件夹,然后点击【Start Compilation】。
  • 无错误,然后点击【Close】关闭窗口。
  • 点击【功能仿真按钮——Run Functional Simulation】。
  • 仿真结果如下(延迟了半个时钟周期):

时序仿真:

  • 主界面【Processing】→【Start】→【Start Fitter】。
  • 点击【Start TimeQuest Timing Analyzer】。
  • 返回 VMF 文件界面:点击【时序仿真按钮——Run Timing Simulation】。
  • 仿真结果(延迟一个时钟周期):

三、调用D触发器并仿真

3.1 新建工程

  • 同第二部分一样。

3.2 创建原理图文件

  • 同第二部分一样。
  • 这时,不再画D触发器的内部结构了,而是直接调用D触发器,元件名:dff
  • 再添加输入和输出管脚。

3.3 编译原理图文件

  • 同第二部分方法一样。
  • 先编译,再查看硬件电路图。

3.4 创建 VWF 文件

  • 方法同第二部分一样,

3.5 波形仿真

  • 方法同第二部分一样,先编译一下,让它报错,再用解决方法。
  • 功能仿真(只有半个时钟周期的延迟):
  • 时序仿真(有一个时钟周期的延迟):
  • 相较于第二部分,来说,使用现有的D触发器会更加方便,绘图少,但是对于D触发器的内部结构来说不太清楚,最后仿真出来的结果也是一样的。

四、用Verilog语言实现D触发器并仿真

4.1 新建工程

  • 方法同上。

4.2 编写Verilog文件

  • 【File】→【New】→【Verilog HDL File】。
  • 复制粘贴如下代码:
//dwave是文件名
module dwave(d,clk,q);input d;input clk;output q;reg q;always @ (posedge clk)//我们用正的时钟沿做它的敏感信号beginq <= d;//上升沿有效的时候,把d捕获到qend
endmodule
  • 保存文件并编译。

4.3 使用Modelsim手动仿真

  • 打开 Modelsim 软件。
  • 具体步骤如下:
  • 在Quartus创建的工程文件夹下新建一个 tb 文件夹;
  • 点击【File】→【Change Directory】选择 tb 文件夹;
  • 创建新项目:【File】→【New】→【Project…】,编写工程名及选择路径;
  • 添加现有文件:Add Existing File。
  • 找到刚刚 Quatrus 编译生成的 .v 文件,再点击【OK】。
  • 再创建一个新的文件。
  • 然后关闭添加文件窗口界面。
  • 再双击刚刚新建的 wave_b.v 文件,添加如下代码:
//测试代码
`timescale 1ns / 1nsmodule dwave_tb;reg clk,d;wire q;dwave u1(.d(d),.clk(clk),.q(q));initialbeginclk = 1;d <= 0;foreverbegin#60 d <= 1;//人为生成毛刺 #22 d <= 0;#2  d <= 1;#2  d <= 0;#16 d <= 0;//维持16ns的低电平,然后让它做周期性的循环endendalways #20 clk <= ~clk;//半周期为20ns,全周期为40ns的一个信号
endmodule
  • 然后保存。
  • 点击【编译】按钮,编译所有文件。

4.4 波形仿真

  • 点击【Simulate】→【Start Simulation…】。
  • 找到 wave_b.v 文件所在的工程(看路径),取消勾选,点击【OK】。
  • 右键点击工程名,再点击【Add Wave】。
  • 设置运行时长,再点击旁边的运行按钮,即可出现仿真效果图。
  • 相较于第三部分的步骤,这个部分用到了 Modelsim 软件,我个人觉得吧,这个软件略微麻烦了一点点,但也还好,最后出来的仿真效果也是和前面两个部分的相差无几。

五、总结

  • 就我个人来说,使用 Quartus 与 Modelsim 软件来仿真电路,确实挺方便的,但是对于一窍不懂 Verilog 语言的人来说,使用原理图仿真会方便得多,如果对 Verilog 语言较懂的人来说,当遇到复杂繁杂的电路图时,会更加的方便。

六、参考资料

[1] Quartus-II13.1三种方式实现D触发器及时序仿真
[2] D触发器_百度baike
[3] quartus值时序仿真出错及解决

Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤相关推荐

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

    Quartus II三种方式实现D触发器及时序仿真 一.准备工作 (一)软件下载 (二)D触发器原理 1.简介 2.D触发器的基本结构与信号输入输出关系 3.状态转移真值表以及状态转移图 二.实验要求 ...

  2. Linux检查点是做什么的,基于日志却采用三种方法来区别增量检查点和完全检查点...

    增量检查点的作用是为了均衡负载,由fast_start_mttr_target这个参数触发,增量渐进写出.所以,CHECKPOINT_CHANGE#会有延迟,不会马上更新. 下面用三种方法证明: 法一 ...

  3. Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)

    APK的生成步骤: 大家从图中可以看出,大体分为以下 7 个大步: 1.打包资源文件,生成 R.java 文件 2.处理 aidl 文件,生成相应 java 文件 3.编译工程源代码,生成相应 cla ...

  4. 单片机跑马灯程序c语言,MCS-51单片机控制跑马灯的三种方法

    描述 在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的.在并行端口的编程学习中,"跑马灯"是单片机并行端口输出控制的典型实例.所谓跑马灯,是 ...

  5. JDBC读取新插入Oracle数据库Sequence值的5种方法

    Oracle的sequence实现非常灵活,所以也带来一些易用性问题,如何取到新插入记录生成的sequence值与其它数据库有较大差别,本文详国介绍了5种实现读取新插入记录sequence值的方法. ...

  6. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  7. python演示验证图像叠加过程_Python叠加矩形框图层2种方法及效果代码实例

    本篇文章小编给大家分享一下Python叠加矩形框图层2种方法及效果代码实例,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 两种方式以及效果: 方式一,使用 ...

  8. 电脑一开机出rebootand_电脑一开机就有软件弹窗广告弹出怎么办?两种方法来解决...

      不知道大家有没有跟小编一样的苦恼,就是每天早上电脑开机的时候就会有一堆弹窗广告,而且大部分弹窗广告的关闭按钮都不好找,真是烦死了.经过小编的多方打听,终于找到了屏蔽掉开机广告弹窗的方法.两种方法都 ...

  9. python图层合并_图层最新:Python叠加矩形框图层2种方法及效果_爱安网 LoveAn.com

    关于"图层"的最新内容 聚合阅读 这篇文章主要介绍了Python叠加矩形框图层2种方法及效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友 ...

  10. 无服务器–仅仅是构建现代应用程序的一种方法?

    如果搜索"无服务器",则会发现无服务器是构建现代应用程序的一种新的流行方式. 无服务器真的是新的吗? 无服务器是指您无需担心服务器的概念–无需置备,部署和维护服务器. 显然有服务器 ...

最新文章

  1. 为什么vs数据库中文显示问号_在vs2008中注册页面中的中文字符写入数据库的后中文会变成问号...
  2. 实战SSM_O2O商铺_35【商品】商品编辑之View层的实现
  3. UVALive - 7270 Osu! Master
  4. 点石关键词排名优化软件_重庆关键词优化排名
  5. IIFE(立即执行函数表达式)
  6. 学习OpenCV——ORB简化版Location加速版
  7. C++ 虚函数表解析 继承
  8. Office 365 Sway-移动设备推送利器
  9. 关于VXLAN实验中CE设备的BUG问题
  10. 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置***帧以及动画创建!【二】...
  11. 判断在ios系统中打开微信浏览器
  12. python定时任务_Python定时任务(下)
  13. jre7或jre8或其他版本共存问题
  14. 集成隔离电源的隔离式RS-485/RS-422收发器
  15. 网卡添加VLAN TAG
  16. Spring Boot整合Redis---学习09
  17. Java流处理之高效读写的缓冲流
  18. 04_turtle画奥运五环
  19. “三高”即通常所说的高血压、高血脂(血脂异常)和高血糖三种病症的总称...
  20. 两种方法编写圆的周长和面积

热门文章

  1. 收敛数列有界的通俗理解
  2. C# 创建PPT图表
  3. foxmail新建文件夹失败或者新建文件夹不显示的问题
  4. 台达DVP-PLC编程资料
  5. vscode中查看二进制文件
  6. 使用SpringBoot做一个班级管理系统
  7. 第十届“泰迪杯“感谢学习总结(国三附源码)
  8. tomcat 环境迁移至weblogic 下载文件失败
  9. 数学建模小白必备手册
  10. 经典的SQL面试题及答案