Quartus-II实现D触发器的三种方式

文章目录

    • 一、认识D触发器
    • 二、在Quartus-II中自己用门电路设计一个D触发器及仿真
    • 三、在Quartus-II中直接调用一个D触发器及仿真
    • 四、在Quartus-II中用Verilog语言写一个D触发器及仿真
    • 五、参考

一、认识D触发器

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

二、在Quartus-II中自己用门电路设计一个D触发器及仿真

(一)创建工程

  • File->New Project Wizard
  • 填写工程名称
    Quartus-II实现D触发器的三种方式_第1张图片
  • 选择芯片系列及类型
    Quartus-II实现D触发器的三种方式_第2张图片
  • 一直点next直到完成

(二)创建方框文件

  • 选择new,选择Block Diagram/Schematic File
    Quartus-II实现D触发器的三种方式_第3张图片
  • 选择nand2和not,依次添加四个nand2和一个非门not
    Quartus-II实现D触发器的三种方式_第4张图片
    Quartus-II实现D触发器的三种方式_第5张图片
  • 选择连线工具
    Quartus-II实现D触发器的三种方式_第6张图片
  • 最终效果图
    Quartus-II实现D触发器的三种方式_第7张图片
  • 保存

(三)编译原理图文件

  • 选择编译
    Quartus-II实现D触发器的三种方式_第8张图片

  • 选择Tools->Netlist Viewers->RTL Viewer
    Quartus-II实现D触发器的三种方式_第9张图片

  • 硬件电路图
    Quartus-II实现D触发器的三种方式_第10张图片
    (四)创建vwm格式波形文件

  • new->University Program VWF
    Quartus-II实现D触发器的三种方式_第11张图片

  • 选择Edit->Insert->Insert Node or Bus
    Quartus-II实现D触发器的三种方式_第12张图片

  • 添加Node or Bus
    Quartus-II实现D触发器的三种方式_第13张图片

  • 效果图
    Quartus-II实现D触发器的三种方式_第14张图片

  • 选中CLK,产生时钟信号
    Quartus-II实现D触发器的三种方式_第15张图片

  • 选择D,Q信号Q1,进行编辑
    双击对应部分,对value进行修改
    Quartus-II实现D触发器的三种方式_第16张图片
    (五)时序波形仿真
    点击时序仿真,仿真结果如下
    Quartus-II实现D触发器的三种方式_第17张图片

三、在Quartus-II中直接调用一个D触发器及仿真

(一)创建工程
过程如上
(二)创建方框文件

  • 调用D触发器
    Quartus-II实现D触发器的三种方式_第18张图片
  • 效果图
    Quartus-II实现D触发器的三种方式_第19张图片
    (三)编译原理图文件
  • 编译
    Quartus-II实现D触发器的三种方式_第20张图片
  • 查看硬件电路图
    Quartus-II实现D触发器的三种方式_第21张图片
    (四)创建vwm格式波形文件并进行时序仿真
  • 创建vwm文件
  • 编辑波形
  • 时序仿真结果
    Quartus-II实现D触发器的三种方式_第22张图片

四、在Quartus-II中用Verilog语言写一个D触发器及仿真

(一)创建工程
方法如上
(二)编写Verilog文件

  • new->Verilog HDL File
    Quartus-II实现D触发器的三种方式_第23张图片

  • 代码

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

    reg q;

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

  • 保存并编译
    Quartus-II实现D触发器的三种方式_第24张图片

(三)查看生成的电路图

Quartus-II实现D触发器的三种方式_第25张图片

(四)利用Verilog语言编写测试代码并进行时序仿真

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

  • 仿真效果
    Quartus-II实现D触发器的三种方式_第26张图片

五、参考

Quartus-II13.1三种方式实现D触发器及时序仿真
Modelsim SE版本的安装及使用方法
Quartus-II实现D触发器的三种方式

你可能感兴趣的:(嵌入式系统应用开发,FPGA)