博客
关于我
quartus调用&设计D触发器——仿真&时序波验证
阅读量:535 次
发布时间:2019-03-09

本文共 2030 字,大约阅读时间需要 6 分钟。

quartus调用&设计D触发器——仿真&时序波验证

目录

1、 在 Quartus-II 中自己用门电路设计一个D触发器,并进行仿真,时序波形验证;

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

一、认识D触发器

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

D触发器在时钟脉冲CP的前沿(正跳变0→1)发生翻转,触发器的次态取决于CP的脉冲上升沿到来之前D端的状态,即次态=D。因此,它具有置0、置1两种功能。由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等。

1、结构

D触发器(data flip-flop或delay flip-flop)由4个与非门组成,其中G1和G2构成基本RS触发器。电平触发的主从触发器工作时,必须在正跳沿前加入输入信号。如果在CP高电平期间输入端出现干扰信号,那么就有可能使触发器的状态出错。而边沿触发器允许在CP触发沿来到前一瞬间加入输入信号。这样,输入端受干扰的时间大大缩短,受干扰的可能性就降低了。边沿D触发器也称为维持-阻塞边沿D触发器。边沿D触发器可由两个D触发器串联而成,但第一个D触发器的CP需要用非门反向。

2、特征

功能表

在这里插入图片描述
时序图
在这里插入图片描述

这里就是对D触发器的一个简单介绍,有关更多D触发器的认识,大家可以参考下面链接;

.

二、设计D触发器及时序验证

1、创建工程

file—>new project wizard

在这里插入图片描述
编辑工程名称,后面点击next
在这里插入图片描述
选择合适的芯片及其系列
在这里插入图片描述

直接next

在这里插入图片描述
工程创建完成,点击finish
在这里插入图片描述

2、创建方框文件

点击new

在这里插入图片描述
选择红色方框的署名
在这里插入图片描述
按图示选择
在这里插入图片描述
选择nand2,两个输入的与非门,依次添加4个nand2和一个非门not
在这里插入图片描述
添加完成后如图
在这里插入图片描述
选择连线工具
在这里插入图片描述
连线效果如图(双击鼠标可以更改引脚名称)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210331223257691.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1FXRVJUWXp4dw==,size_16,color_FFFFFF,t_70
保存电路图
在这里插入图片描述

3、编译原理图文件

编译电路图

在这里插入图片描述
编译界面
在这里插入图片描述
rtl viewer,查看硬件电路图
在这里插入图片描述
电路图
在这里插入图片描述

4、创建vwm波形文件

选择图示vwm

在这里插入图片描述
操作如图
在这里插入图片描述
添加node or bus
在这里插入图片描述
效果展示
在这里插入图片描述
编辑输入信号clk,产生时钟信号
在这里插入图片描述
鼠标选择D,Q信号Q_n,进行编辑(鼠标左键选中 双击改值)
在这里插入图片描述

5、时序波形仿真

编译

在这里插入图片描述

出现报错

在这里插入图片描述
连接modelsim
在这里插入图片描述
在这里插入图片描述
报错解决方法
在这里插入图片描述
在这里插入图片描述
结果如图
在这里插入图片描述
仿真结果
在这里插入图片描述

三、调用D触发器及时序验证

1、创建方框文件

创建工程方法同上

调用D触发器
在这里插入图片描述
连线补引脚,效果如图(Ctrl+鼠标滚轮可以对触发器引脚等进行缩放)
在这里插入图片描述

2、编译原理图

查看硬件图

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

3、创建vwm波形文件及仿真

波形

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

四、verilog语言实现D触发器及时序验证

1、编写verilog文件

首先创建工程,方法同上

创建Verilog文件,点击file—new
在这里插入图片描述
粘贴如下代码

//demo是文件名module demo(d,clk,q);    input d;    input clk;    output q;    reg q;    always @ (posedge clk)//我们用正的时钟沿做它的敏感信号    begin        q <= d;//上升沿有效的时候,把d捕获到q    endendmodule

在这里插入图片描述

保存并编译
在这里插入图片描述

2、查看生成的电路图

在这里插入图片描述

3、测试时序仿真

代码如下

//测试代码`timescale 1ns / 1nsmodule demo_tb;    reg clk,d;    wire q;    demo 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

保存并编译

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

五、总结与参考资料

1、总结

D触发器及时序仿真的过程,可以发现D触发器的基本功能是在复位信号为1的时候,CLK的上升沿会引起Q值的变化。由此,可以得出次态方程为 Q n + 1 = D

2、参考资料

.

.
.

转载地址:http://hgmiz.baihongyu.com/

你可能感兴趣的文章
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>