概述
文章目录
- 一、任务目标
- 二、软件准备
- 三、原理分析
- D触发器
- 四、用门电路设计D触发器并仿真
- 1.创建一个工程
- 2.创建原理图
- 3.编译
- 4.仿真波形图
- 五、直接调用D触发器并仿真
- 1.创建工程
- 2.选择D触发器
- 3.编译
- 4.仿真波形图
- 六、用Verilog语言实现D触发器和仿真
- 1.创建工程
- 2.新建Verilog HDL文件
- 3.编写代码
- 4.编译
- 七、总结
- 八、参考资料
一、任务目标
1.在 Quartus中自己用门电路设计一个D触发器,并进行仿真,时序波形验证。
2.在 Quartus 中直接调用一个D触发器电路,进行仿真,时序波形验证,与1做比较。
3.在 Quartus 中用Verilog语言写一个D触发器,进行仿真验证,与2做比较。
二、软件准备
Quartus 18.1,Modelsim SE-64 10.4
三、原理分析
D触发器
- D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
- D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。
- D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。
- 对于边沿D触发器,由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
四、用门电路设计D触发器并仿真
1.创建一个工程
直接点击next
设置存储位置和名称
一路next到下面这个界面,选择芯片
配置EDA
确认项目信息
此时界面如下
2.创建原理图
选择Block Diagram/Schematic File
从symbol窗中选择需要的符号,可以直接输入名字进行查询
这里我们需要4个nand2与非门,1个not非门,2个输入管脚和2个输出管脚,选择的输入管脚和输出管脚我们可以自己命名,完成后如下图
保存即可。
3.编译
编译成功后界面如下,因为我这里以前做过,所以我打开的另一个项目,不过原理图的连接是相同的,所以结果也是相同的
查看硬件电路图
4.仿真波形图
如之前新建文件的方法,从“file”中选择“new”,然后从出现的对话框中选择“university program VWF”。
双击空白处,然后点击Node Finder
按下图进行操作就好
此时会生成一个波形图
ctrl+鼠标滚轮可以对波形进行放大和缩小
把输入D设置几段高电平和低电平
保存文件
点击功能仿真按钮,它右边的是时序仿真按钮
直接仿真会报错,我们需要更改一下设置
到这里就不会报错了,再点击功能仿真,可以看到,延时了半个时钟周期
然后我们点击时序仿真,第一次会报错,按如下方法解决
解决之后点击时序仿真就可以看到如下图结果,也就是延时了一个时钟周期
五、直接调用D触发器并仿真
1.创建工程
同前文操作,这里就不演示了。
2.选择D触发器
直接搜索dff就可以,可以省略掉我们配置电路的过程
这个时候在添加管脚,然后给管脚改个名,最后结果如下
3.编译
保存并编译,然后打开电路图如下
4.仿真波形图
仿真步骤和之前相同,这里直接看结果,以下是功能仿真的结果,同样延迟半个周期
以下是时序仿真的结果,同样延迟了一个周期
六、用Verilog语言实现D触发器和仿真
1.创建工程
方法同第四步,这里就不介绍了。
2.新建Verilog HDL文件
3.编写代码
module dwave(D,CLK,Q);
input D;
input CLK;
output Q;
reg Q;
always @ (posedge CLK)//正的时钟沿做敏感信号
begin
Q<=D;//上升沿有效时,把D捕获到Q
end
endmodule
4.编译
保存并编译,然后查看电路图如下
然后就是仿真,这里为了练习ModelSim的使用,我们进行单独仿真。
打开ModelSim,更改路径,选择我们新建的一个tb文件夹
创建一个project,输入文件名然后点击确定。
添加已有文件,这里添加quartus生成的.v文件,最后点ok就好。
然后再创建一个.v文件
关闭窗口界面,打开刚才创建的wave1_d.v文件,输入以下代码
//测试代码
`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
然后保存并编译。
点击simulate,开始仿真并按下图操作。
添加波形
设置运行时长,再点击运行,就可看到下图波形
七、总结
三种方法各有优点,设计原理图可以方便理解内部结构,直接调用D触发器则很方便,Verilog语言则更适合复杂电路。
八、参考资料
Quartus II实现D触发器及时序仿真
最后
以上就是健康小猫咪为你收集整理的Quartus实现D触发器并进行仿真一、任务目标二、软件准备三、原理分析四、用门电路设计D触发器并仿真五、直接调用D触发器并仿真六、用Verilog语言实现D触发器和仿真七、总结八、参考资料的全部内容,希望文章能够帮你解决Quartus实现D触发器并进行仿真一、任务目标二、软件准备三、原理分析四、用门电路设计D触发器并仿真五、直接调用D触发器并仿真六、用Verilog语言实现D触发器和仿真七、总结八、参考资料所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复