Quartus-ll 采用不同方法实现 D 触发器功能仿真及时序波形仿真
使用工具
Quartus-ll:Quartus II 13的安装
Modelsim:Modelsim SE的安装.
创建D触发器原理图并仿真
新建工程
【File】→【New Project Wizard…】

此处点击“next”

之后选择工程保存路径及工程名称,点击“next”

之后是添加已有工程设计文件,我们这里不需要进行添加,直接点击“next”

根据使用的fpga选择芯片

保持 Simulation 为 < None >,然后点击【Next >】

点击“finish”

创建原理图文件
【File】→【New…】。

选择【Block Diagram/Schematic File】,点击【OK】。

点击【插头图标】弹出工具窗口,搜索元件,然后在图纸上摆放:
4 个 nand2 与非门;
1 个 not 非门。
如下图所示(Ctrl + 滚轮,可放大缩小):

添加两个输入管脚和两个输出管脚,双击 Pin Name 即可修改管脚名。

完整图如下:

编译原理图文件
启动分析与综合

查看硬件电路图:点击【Tools】→【Netlist Viewers】→【RTL Viewer】。

结果如下

创建VMF文件
【File】→【New】,选择【University Program VWF】。

选择【Edit】→【Insert】→【Insert Node or Bus…】。

点击【Node Finder…】,然后点击【List】会罗列出四个管脚,点击【>>】选择全部,然后点击【OK】,自动补全了【Name】,然后点击【OK】。

编辑输入 CLK,产生时钟信号。

保存文件:【File】→【Save】。

波形仿真
点击【功能仿真按钮——Run Functional Simulation】


点击【功能仿真按钮——Run Functional Simulation】。

结果如下

调用D触发器并仿真
建立工程和原理图文件同上
编译原理图也同上
硬件电路图

波形仿真

时序仿真

用Verilog语言实现D触发器并仿真
编写Verilog文件
【File】→【New】→【Verilog HDL File】。

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

打开 Modelsim 软件。
具体步骤如下:
在Quartus创建的工程文件夹下新建一个 tb 文件夹;
点击【File】→【Change Directory】选择 tb 文件夹;
创建新项目:【File】→【New】→【Project…】,编写工程名及选择路径;

添加现有文件:Add Existing File

找到刚刚 Quatrus 编译生成的 .v 文件,再点击【OK】。

再创建一个新的文件。

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

波形仿真

找到 wave_b.v 文件所在的工程(看路径),取消勾选,点击【OK】。

设置运行时长,再点击旁边的运行按钮,即可出现仿真效果图。

本文详细介绍了如何使用Quartus II和Modelsim分别通过原理图和Verilog语言实现D触发器,并进行功能与时序仿真。首先,通过Quartus II创建D触发器的原理图,利用非门和与非门搭建电路,完成编译和硬件电路图查看。接着,创建VMF文件并设置时钟信号,进行波形仿真。随后,调用D触发器进行功能仿真。最后,用Verilog编写D触发器模块,并在Modelsim中进行波形仿真验证其正确性。
2074

被折叠的 条评论
为什么被折叠?



