Quartus18.1实现D触发器及时序仿真

目录

  • 一、什么是D触发器
  • 二、门电路设计D触发器并仿真
      • 1、创建工程
      • 2、设计电路原理图文件
      • 3、编译
      • 4、仿真波形图
  • 三、调用D触发器实现并仿真
      • 1、创建工程
      • 2、新建电路原理图文件
      • 3、编译
      • 4、仿真波形图
  • 四、verilog语言实现并仿真
      • 1、创建工程
      • 2、新建Verilog HDL文件
      • 3、编译
      • 4、仿真波形图
  • 五、总结
      • 参考资料:

一、什么是D触发器

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

二、门电路设计D触发器并仿真

1、创建工程

先新建个文件夹存放工程项目文件
然后新建项目文件:
Quartus18.1实现D触发器及时序仿真_第3张图片
点击next
Quartus18.1实现D触发器及时序仿真_第4张图片
设置工程的存储位置和项目名称
Quartus18.1实现D触发器及时序仿真_第5张图片
弹出对话框,选择Yes:

点击next:
Quartus18.1实现D触发器及时序仿真_第6张图片
选择目标芯片:cycloneIVE系列的EP4CE11529C7
Quartus18.1实现D触发器及时序仿真_第7张图片
EDA Tool Setting设置
Quartus18.1实现D触发器及时序仿真_第8张图片
点击finish
Quartus18.1实现D触发器及时序仿真_第9张图片
创建成功,进入项目

2、设计电路原理图文件

打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“ Design Files” 的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。
Quartus18.1实现D触发器及时序仿真_第10张图片
此处需要的元件为:4 个 nand2 与非门,1 个 not 非门,2个输入管脚和2个输出管脚
Quartus18.1实现D触发器及时序仿真_第11张图片
点击按纽“ Symbol Tool”或直接双击原理图空白处,从“ Symbol”窗中选择需要的符号,或者直接在“name”文本框中键入元件名

选择完所需元件后,连线。
Quartus18.1实现D触发器及时序仿真_第12张图片
保存,生成 .bdf文件。

3、编译

点击编译按钮:若无错误则可进行下一步,若有错进行原理图修改(此处错误一般是连线导致的错误)。

修改完错误后,查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。

Quartus18.1实现D触发器及时序仿真_第13张图片
原理图:
Quartus18.1实现D触发器及时序仿真_第14张图片

4、仿真波形图

(1)、新建波形文件。如上面新建图形文件的方法,从“file”中选择“new”,然后从出现的对话框中选择“university program VWF”。
Quartus18.1实现D触发器及时序仿真_第15张图片

(2)、输入波形文件。
在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。如图。
Quartus18.1实现D触发器及时序仿真_第16张图片
在点击Node Finder…
Quartus18.1实现D触发器及时序仿真_第17张图片

然后在随后出现的“node finder”对话框中点击“list”按钮,则半加器中所有的输入输出引脚全部出现在对话框左边。再在该界面上点击“>>”,则把左边所有的端口都选择到右边,进入波形,如图。
Quartus18.1实现D触发器及时序仿真_第18张图片
然后点击两次“OK”后,出现波形文件。

编辑输入CLK,产生时钟信号
Quartus18.1实现D触发器及时序仿真_第19张图片
把输入D随便设置几个低电平和高电平
Quartus18.1实现D触发器及时序仿真_第20张图片
保存文件:【File】→【Save】。
生成 .VMF文件。

(3)、仿真
记得仿真前,先总编译一遍程序,不然会出现以下错误。

然后点击功能仿真编译按钮:
Alt
效果如下:
Quartus18.1实现D触发器及时序仿真_第21张图片
点击时序仿真按钮。
效果如下:
Quartus18.1实现D触发器及时序仿真_第22张图片

三、调用D触发器实现并仿真

1、创建工程

与上文一致,参考上文创建工程。

2、新建电路原理图文件

此处直接调用D触发器。
直接输入dff,调用。
Quartus18.1实现D触发器及时序仿真_第23张图片

Quartus18.1实现D触发器及时序仿真_第24张图片

3、编译

Quartus18.1实现D触发器及时序仿真_第25张图片
编译后无红色错误,成功
Quartus18.1实现D触发器及时序仿真_第26张图片
查看生成的电路原理图:
Quartus18.1实现D触发器及时序仿真_第27张图片

4、仿真波形图

(1)、新建波形文件
Quartus18.1实现D触发器及时序仿真_第28张图片
(2)、输入波形文件。
在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。如图。
Quartus18.1实现D触发器及时序仿真_第29张图片
Quartus18.1实现D触发器及时序仿真_第30张图片
点击两次ok
Quartus18.1实现D触发器及时序仿真_第31张图片
(3)、编辑输入CLK,产生时钟信号
Quartus18.1实现D触发器及时序仿真_第32张图片
按照默认时钟设置,点击ok:

Quartus18.1实现D触发器及时序仿真_第33张图片

然后再随便设置D输入信号。
点击功能仿真:

Quartus18.1实现D触发器及时序仿真_第34张图片
时序仿真:
Quartus18.1实现D触发器及时序仿真_第35张图片

四、verilog语言实现并仿真

1、创建工程

这里的新建工程还是与上文一样。

2、新建Verilog HDL文件

Quartus18.1实现D触发器及时序仿真_第36张图片
代码如下:

//D_trigger_code是文件名,可具体更改。
module D_trigger_code(D,CLK,Q);
    input D;
    input CLK;
    output Q;

    reg Q;

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


Quartus18.1实现D触发器及时序仿真_第37张图片

3、编译

点击编译,无错误后查看电路原理
Quartus18.1实现D触发器及时序仿真_第38张图片

4、仿真波形图

与上文一样,仿真波形。
效果如下:
Quartus18.1实现D触发器及时序仿真_第39张图片
Quartus18.1实现D触发器及时序仿真_第40张图片
使用ModelSim仿真结果如下:

Quartus18.1实现D触发器及时序仿真_第41张图片

五、总结

三种方式获得D_触发器,门元件,直接调用D触发器,verilog代码。
总的来说,直接调用D_触发器最简单,但在以后在面临复杂电路时主要还是用verilog代码来实现。
此处实验从头开始学习了Quartus的使用和仿真软件ModelSim的使用,刚开始时还是比较难的,毕竟是全英文的,有点看不懂。但幸亏有学姐的详细博客,在这两天的练习下,逐渐也就熟练了软件的使用,可以在不看博客的情况下自己新建项目和运行代码仿真。
Verilog代码编程,是一个全新的领域,希望自己能学好。

参考资料:

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

你可能感兴趣的:(fpga开发)