一、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)//我们用正的时钟沿做它的敏感信号 begin q <= d;//上升沿有效的时候,把d捕获到q end endmodule
保存文件并编译
(三)查看生成的电路图
使用rtl viewer查看硬件电路图 硬件电路图
(四)利用Verilog语言编写测试代码实现时序仿真
具体仿真过程,参考链接: Modelsim SE版本的安装及使用方法-优快云博客 测试代码
//测试代码 `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
仿真效果