文章目录

  • 1、安装软件Quartus II 13.1
  • 2、Modelsim SE软件的安装
  • 3、D触发器
  • 4、使用Quartus-II 中自己用门电路设计一个D触发器
  • 4.1、创建工程项目
  • 4.2、创建一个波形文件
  • 4.3、编译原理图文件
  • 4.4、创建vwm格式波形文件
  • 5、在 Quartus-II 中直接调用一个D触发器电路
  • 5.1、创建工程
  • 5.2、创建方框文件
  • 5.3、进行时序仿真
  • 6、用Verilog语言实现D触发器
  • 7、参考


1、安装软件Quartus II 13.1

    详细安装教程可见:

2、Modelsim SE软件的安装

    详细安装教程可见:

3、D触发器

    1、什么是D触发器?

    D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。

    2、D触发器的结构是什么?

    D触发器有四个管脚,分别是输入信号D,输出信号Q,时钟信号CLK以及复位信号RESET,如下图

手动触发 spring batch 手动触发器启动_触发器

    其功能是当RESET为低电平(0),Q处于低电平状态;当RESET为高电平(1),通过观察CLK状态,当CLK信号由0变1(上升沿)的时候,若D为低电平,Q就为低电平,若D为高电平,Q就为高电平。

    3、D触发器的波形图是什么?

    理想状态:

手动触发 spring batch 手动触发器启动_触发器_02

    初始状态:设置复位信号(rst_n)为1,d为0,q为1

变化过程:

rst_n为0的时候,q的值始终为0;rst_n为1的时候,当clk由0变为1,q的值根据d值而发生变化(值同)

实际状态

手动触发 spring batch 手动触发器启动_fpga开发_03

q值发生变化的时候,存在一定的延时(上升沿的时候q的值为变化之前的值)

4、使用Quartus-II 中自己用门电路设计一个D触发器
4.1、创建工程项目

    1、实现使用Quartus II 13.1创建一个新工程

手动触发 spring batch 手动触发器启动_创建工程_04

    2、给项目命名并选择保存位置

手动触发 spring batch 手动触发器启动_fpga开发_05

    3、根据使用的FPGA,进行选择芯片系列及类型

手动触发 spring batch 手动触发器启动_手动触发 spring batch_06

    4、下一步直接跳过,然后完成工程的创建

手动触发 spring batch 手动触发器启动_创建工程_07

4.2、创建一个波形文件

    1、Files---->New新建一个文件

    2、然后选择Block Diagram/Schematic File,点击OK完成文件的创建

手动触发 spring batch 手动触发器启动_创建工程_08

    3、选择nand2,二个输入的与非门,依次添加四个and2和一个非门not

手动触发 spring batch 手动触发器启动_创建工程_09

    添加完成

手动触发 spring batch 手动触发器启动_fpga开发_10

    4、选择连线工具,完成线路连接

手动触发 spring batch 手动触发器启动_触发器_11


手动触发 spring batch 手动触发器启动_fpga开发_12

    5、保存电路图

手动触发 spring batch 手动触发器启动_fpga开发_13

4.3、编译原理图文件

    1、启动分析与综合(全编译)

手动触发 spring batch 手动触发器启动_创建工程_14

    2、Tools —> Netlist Viewers —> RTL Viewer查看硬件原理图

手动触发 spring batch 手动触发器启动_Verilog_15


手动触发 spring batch 手动触发器启动_fpga开发_16

4.4、创建vwm格式波形文件

    1、选择VWF

手动触发 spring batch 手动触发器启动_Verilog_17

    2、选择Edit->Insert->Insert Node or Bus

手动触发 spring batch 手动触发器启动_手动触发 spring batch_18


    添加Node or Bus

手动触发 spring batch 手动触发器启动_触发器_19


手动触发 spring batch 手动触发器启动_创建工程_20

    3、编辑输入Clk,产生时钟信号

手动触发 spring batch 手动触发器启动_Verilog_21


    得到波形图

手动触发 spring batch 手动触发器启动_手动触发 spring batch_22

    4、鼠标选择D,Q信号Q_n,,进行编辑

手动触发 spring batch 手动触发器启动_Verilog_23

    5、双击对应的线段可对其值进行编辑

手动触发 spring batch 手动触发器启动_Verilog_24

    6、进行时序波形仿真会报错

手动触发 spring batch 手动触发器启动_fpga开发_25

    7、此时选择选择tools->Launch Simulation Library Compiler

手动触发 spring batch 手动触发器启动_手动触发 spring batch_26

    选择Modsim仿真软件的安装目录输入并在项目的qsim文件夹下输出

手动触发 spring batch 手动触发器启动_触发器_27

    8、然后返回vwm文件中,点击时序仿真,仿真结果如下

手动触发 spring batch 手动触发器启动_触发器_28

5、在 Quartus-II 中直接调用一个D触发器电路
5.1、创建工程

    1、创建的方法同4中的一样,此处不再赘述

5.2、创建方框文件

    1、搜索dff调用D触发器

手动触发 spring batch 手动触发器启动_手动触发 spring batch_29

    2、完成之后如下图

手动触发 spring batch 手动触发器启动_Verilog_30

    3、启动分析与综合(全编译),使用rtl viewer查看硬件电路图

手动触发 spring batch 手动触发器启动_fpga开发_31

5.3、进行时序仿真

    1、创建方法同4.4一样

手动触发 spring batch 手动触发器启动_手动触发 spring batch_32

    2、时序仿真结果

手动触发 spring batch 手动触发器启动_触发器_33

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

    1、创建Verilog项目工程

    2、创建Verilog文件(点击File->New,选中Verilog)

手动触发 spring batch 手动触发器启动_创建工程_34

    3、编写代码并编译

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

    reg q;

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

手动触发 spring batch 手动触发器启动_Verilog_35

    4、同样使用rtl viewer查看硬件电路图

手动触发 spring batch 手动触发器启动_触发器_36

    5、然后在菜单栏中找到【Tool】→【Options】按钮,打开的页面左侧我们找到“EDA Tool Options”点击,添加Modelsim路径,点击【OK】

手动触发 spring batch 手动触发器启动_触发器_37

    6、【Assignments】→【Settings】按钮,在打开的页面左侧我们找到“EDA Tool Settings”点击,将“Simulation”设置成“ModelSim、Verilog HDL”,点击【OK】

手动触发 spring batch 手动触发器启动_触发器_38

    7、进行时序仿真

手动触发 spring batch 手动触发器启动_创建工程_39

    仿真结果

手动触发 spring batch 手动触发器启动_触发器_40

7、参考

    
    
    Quartus-II注册     Modelsim SE-64 10.4注册