三种方式实现D触发器(FPGA)

1、安装软件Quartus II 13.1

    详细安装教程可见:https://blog.csdn.net/qq_43279579/article/details/115158140?spm=1001.2014.3001.5502

2、Modelsim SE软件的安装

    详细安装教程可见:https://blog.csdn.net/qq_43279579/article/details/115176423

3、D触发器

    1、什么是D触发器?
    D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
    2、D触发器的结构是什么?
    D触发器有四个管脚,分别是输入信号D,输出信号Q,时钟信号CLK以及复位信号RESET,如下图
在这里插入图片描述

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

    3、D触发器的波形图是什么?
    理想状态:
在这里插入图片描述

    初始状态:设置复位信号(rst_n)为1,d为0,q为1
变化过程:
rst_n为0的时候,q的值始终为0;rst_n为1的时候,当clk由0变为1,q的值根据d值而发生变化(值同)
实际状态
在这里插入图片描述

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

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

    1、实现使用Quartus II 13.1创建一个新工程
在这里插入图片描述

    2、给项目命名并选择保存位置
在这里插入图片描述

    3、根据使用的FPGA,进行选择芯片系列及类型
在这里插入图片描述

    4、下一步直接跳过,然后完成工程的创建
在这里插入图片描述

4.2、创建一个波形文件

    1、Files---->New新建一个文件
    2、然后选择Block Diagram/Schematic File,点击OK完成文件的创建
在这里插入图片描述

    3、选择nand2,二个输入的与非门,依次添加四个and2和一个非门not
在这里插入图片描述

    添加完成
在这里插入图片描述

    4、选择连线工具,完成线路连接
输入与输出
完成链接

    5、保存电路图
在这里插入图片描述

4.3、编译原理图文件

    1、启动分析与综合(全编译)
在这里插入图片描述

    2、Tools —> Netlist Viewers —> RTL Viewer查看硬件原理图
在这里插入图片描述
在这里插入图片描述

4.4、创建vwm格式波形文件

    1、选择VWF
在这里插入图片描述

    2、选择Edit->Insert->Insert Node or Bus
在这里插入图片描述
    添加Node or Bus
在这里插入图片描述
在这里插入图片描述

    3、编辑输入Clk,产生时钟信号
在这里插入图片描述
    得到波形图
在这里插入图片描述

    4、鼠标选择D,Q信号Q_n,,进行编辑
在这里插入图片描述

    5、双击对应的线段可对其值进行编辑
在这里插入图片描述

    6、进行时序波形仿真会报错
在这里插入图片描述

    7、此时选择选择tools->Launch Simulation Library Compiler
在这里插入图片描述

    选择Modsim仿真软件的安装目录输入并在项目的qsim文件夹下输出
在这里插入图片描述

    8、然后返回vwm文件中,点击时序仿真,仿真结果如下在这里插入图片描述

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

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

5.2、创建方框文件

    1、搜索dff调用D触发器
在这里插入图片描述

    2、完成之后如下图
在这里插入图片描述

    3、启动分析与综合(全编译),使用rtl viewer查看硬件电路图在这里插入图片描述

5.3、进行时序仿真

    1、创建方法同4.4一样
在这里插入图片描述

    2、时序仿真结果
在这里插入图片描述

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

    1、创建Verilog项目工程
    2、创建Verilog文件(点击File->New,选中Verilog)
在这里插入图片描述

    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

在这里插入图片描述

    4、同样使用rtl viewer查看硬件电路图
在这里插入图片描述

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

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

    7、进行时序仿真
在这里插入图片描述

    仿真结果
在这里插入图片描述

7、参考

    https://blog.csdn.net/qq_43279579/article/details/115158140
    https://blog.csdn.net/qq_43279579/article/details/115176423
    Quartus-II注册
    Modelsim SE-64 10.4注册

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值