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

一、准备工作

(一)软件下载

本实验需要用到两个软件:Quartus II和Modelsim SE,安装这里不做过多的介绍,具体请参照以下教程
Quartus II 13.1的安装及使用
Modelsim SE安装与介绍

  • Quartus II 是Altera公司的综合性CPLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程
  • modelsim是Mentor公司开发的优秀的HDL语言仿真软件。它能提供友好的仿真环境,采用单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快且编译的代码与平台无关。

(二)D触发器原理

1.简介

D触发器中的D是英文Delay的缩写,可见D触发器是一种延时电路D触发器中的D是英文Delay的缩写,可见D触发器是一种延时电路

2.D触发器的基本结构与信号输入输出关系

在这里插入图片描述

3.状态转移真值表以及状态转移图

特征方程 Qn+1=D
在这里插入图片描述
在这里插入图片描述

二、实验要求

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

三、设计D触发器并仿真

(一)创建工程

1.File->New Project Wizard...
在这里插入图片描述
2.点击Next
在这里插入图片描述
3.设置工程的存储位置和项目名称
在这里插入图片描述
4.选择Next
在这里插入图片描述

5.选择目标芯片:cyclone IV E系列的EP4CE115F29C7在这里插入图片描述
6.EDA Tool Setting设置,直接Next
在这里插入图片描述
7.点击finish
在这里插入图片描述
之后界面上会出现顶层文件名和项目名:
在这里插入图片描述

(二)创建原理图

1file->new
在这里插入图片描述
2.Design Files->Block Diagram/Schematic File ->OK
在这里插入图片描述
3.点击按纽 Symbol Tool或直接双击原理图空白处
在这里插入图片描述
4.从Symbol窗中选择需要的符号,或者直接在name文本框中键入元件名
在这里插入图片描述

  1. 个 nand2 与非门、1 个 not 非门、两个输入管脚和两个输出管脚
    在这里插入图片描述
  2. 保存File->Save As...
    在这里插入图片描述
    在这里插入图片描述

(三)编译

1.点击图标进行编译,若无错误则可进行下一步,若有错进行原理图修改
在这里插入图片描述
在这里插入图片描述
2.查看硬件电路图,ToolsNetlist ViewersRTL Viewer
在这里插入图片描述
如图
在这里插入图片描述

(四)仿真波形图

1.新建波形文件filenewuniversity program VWF,选择后点击OK
在这里插入图片描述
2.点击空白处,选择insert node or busnode finder
在这里插入图片描述
3.
3.点击List,左面出现则触发器中所有的输入输出引脚。再在该界面上点击>>,则把左边所有的端口都选择到右边,点击两次OK,进入波形,如图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
4.编辑输入CLK,产生时钟信号
在这里插入图片描述
5.输入D设置几个低电平和高电平
在这里插入图片描述

6.保存文件FileSave
在这里插入图片描述
7.点击功能仿真编译按钮
在这里插入图片描述
报错
在这里插入图片描述

解决办法:
(1)点击Toolslaunch Simulation Library Complier
在这里插入图片描述
(2)配置相关设置

注意Output Directory一定要选择到simulation\qsim目录底下,不然还会报错

在这里插入图片描述
(3)出现以下提示就说明可以了
在这里插入图片描述

最终结果如下:
在这里插入图片描述

8.点击时序仿真按钮
在这里插入图片描述

结果如下

在这里插入图片描述

四、调用D触发器并仿真

(一)新建工程

创建工程类似

(二)新建原理图

新建原理图类似

1.直接调用D触发器,输入元件名dff查找

在这里插入图片描述

2.添加两个输入一个输出管脚,原理图如下
在这里插入图片描述

(三)编译

1.保存

在这里插入图片描述

2.编译
在这里插入图片描述

3.查看硬件原理图

在这里插入图片描述

(四)仿真波形图

1.功能仿真波形图
在这里插入图片描述

2.时序仿真波形图

在这里插入图片描述

五、用Verilog语言实现D触发器

(一)创建工程

创建工程类似

(二)创建Verilog HDL文件

1.File->New->Verilog HDL File

在这里插入图片描述

2.编写代码

module  dtrigger(D,CLK,Q);
    input D;
    input CLK;
    output Q;

    reg Q;

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

3.保存文件

在这里插入图片描述

(三)编译

1.编译

在这里插入图片描述

2.查看硬件原理图

在这里插入图片描述

(四)波形仿真

1.Quartus II仿真

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fjuoI0aN-1647324468301)(C:\Users\86199\AppData\Roaming\Typora\typora-user-images\image-20220315011159396.png)]

2.ModeSim仿真

(1)在当前目录下,新建一个文件夹modework

在这里插入图片描述

(2)点击Flie->Change Directory,选择modework文件夹

在这里插入图片描述

(3)创建新项目,File->New ->Project…

在这里插入图片描述

(4)项目命名选择储存位置,点击OK

在这里插入图片描述

(5)添加现有文件Add Existing File
在这里插入图片描述
找到刚刚的dtrigger.v文件,文件类型选择Verilog,再点击OK
在这里插入图片描述

(6)再创建一个文件,Create New File
在这里插入图片描述
(7)命名,文件类型选择Verilog,再点击OK,关闭添加文件的窗口
在这里插入图片描述
(8)双击dtrigger_tb.v文件,添加代码


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

module dtrigger_tb;
    reg CLK,D;
    wire Q;

    dtrigger 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

(9)保存编译
在这里插入图片描述
在这里插入图片描述
(10)点击Simulate->Start Simulate...
在这里插入图片描述
找到dtrigger_tb.v,取消勾选,点击OK
在这里插入图片描述
(11)右键点击dtrigger_tb.v,选择Add Wave
在这里插入图片描述
(12)设置运行时长,点击运行
在这里插入图片描述

六、总结

本次实学到了三种方式,自己设计D触发器可以更加深入的了解D触发器的内部元件构成,需要设计门电路;调用D触发器比较简单快捷;而用Verilog语言写D触发器比较灵活,可以通过编程仿真实现硬件原理,省去了画图的步骤,但是Verilog语言语法要求比较严格,大小写区分明显。通过三种方式实现D触发器,对Quartus II 和ModeSim两个软件的仿真实现过程更加熟悉,对D触发器的功能原理进一步了解。

七、参考资料

Quartus II搜狗百科
modelsim搜狗百科
D触发器工作原理是什么?
D触发器是什么,D触发器的基本结构与信号输入输出关系

  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值