当前位置: 首页 > article >正文

Quartus-II13.1三种方式实现D触发器及时序仿真

一、Quartus-II输入原理图及时序仿真

(一)创建工程

File->New Project Wizard

填写工程名称

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

直接Next

完成工程创建,点击Finish

(二)创建方框文件

选择New

选择Block Diagram/Schematic File

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

添加完成

选择连线工具

连线效果

(三)编译原理图文件

启动分析与综合(全编译) RTL Viewer,查看硬件电路图

硬件电路图

(四)创建vwm格式波形文件

选择VWF

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

添加Node or Bus

添加效果

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

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

(五)时序波形仿真

功能仿真后的波形,满足D latch的时序(全编译后,也可以运行时序仿真)

点击时序仿真,仿真结果如下

二、Quartus-II用Verilog语言实现D触发器及时序仿真

(一)创建工程

方法同上

(二)编写Verilog文件

创建Verilog文件 点击File->New,选中Verilog

代码如下

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

保存文件并编译

(三)查看生成的电路图

使用rtl viewer查看硬件电路图 硬件电路图

(四)利用Verilog语言编写测试代码实现时序仿真

具体仿真过程,参考链接: Modelsim SE版本的安装及使用方法-CSDN博客 测试代码

//测试代码
`timescale 1ns / 1ns
​
module dwave_tb;reg clk,d;wire q;
​dwave u1(.d(d),.clk(clk),.q(q));
​initialbeginclk = 1;d <= 0;foreverbegin#60 d <= 1;//人为生成毛刺 #22 d <= 0;#2  d <= 1;#2  d <= 0;#16 d <= 0;//维持16ns的低电平,然后让它做周期性的循环endend
​always #20 clk <= ~clk;//半周期为20ns,全周期为40ns的一个信号
endmodule

仿真效果

http://www.lryc.cn/news/2414530.html

相关文章:

  • Python详细介绍及使用(基础篇)
  • openfire学习之安装
  • Linux下 itoa,atoi 函数的实现
  • 三维重建(7)--运动恢复结构SfM系统解析
  • 无线渗透----扫描附近WiFi(windows系统)
  • location.href用法总结(转)
  • vue3如何实现使用SortableJs插件进行表格内的数据项拖拽排序
  • 深度学习之目标检测(九)--YOLOv3 SPP理论介绍
  • JenKins 自动化打包上传到服务器的fir 工具
  • CSS基础:插入CSS样式的3种方法
  • 7.1 函数的基本概念和定义
  • linux 环境变量设置(临时 + 永久)
  • BootStrapTable 分页
  • Class.forName()用法详解
  • HTB靶场 Perfection
  • 什么是JNDI
  • After Effect切换中英文教程
  • 十大排序算法:快速排序算法
  • Java实现大文件断点续传技术
  • JavaWeb笔记之SSH(Struts2框架)
  • java drawimage 本地,java drawimage()方法
  • 均衡器equalizer
  • Ubuntu系统安装.deb文件操作
  • java 货架高度摆放最优算法_【计算机系统应用】(第九十五期)面向堆垛机路径优化的局部搜索自适应遗传算法...
  • web前端:从index.html开始
  • 模拟实现web版微信
  • dom4j简介(转)
  • Mysql - Redo 和 Undo日志
  • 码率(kbps)、帧率(FPS)、分辨率和清晰度的正反比关系
  • 用通俗易懂的方式讲解:决策树模型及案例(Python 代码)