Quartus-II入门-爱代码爱编程
一.实验准备
Quartus ||安装参考:Quartus II 13.1的安装及使用
Modelsim安装参考:Modelsim SE版本的安装及使用方法
二.D触发器
D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。
因此,D触发器在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。
D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。
D触发器的次态取决于触发前D端的状态,即次态=D。因此,它具有置0、置1两种功能。
对于边沿D触发器,由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等等。
三.门电路设计D触发器,进行仿真验证
1.新建工程
点击file->New Project Wizard…
这里使用AC620开发板
EDA工具的-simulation选中None,使用波形文件仿真
点击finish完成创建。
2.创建原理图文件
点击file->New->Block Diagram/Schematic File
输入nand2,右边会出现对应的两输入的与非门,依次添加4个与门nand2和1个非门not
通过工具栏的输入输出工具,以及连线工具设计出如下图
保存电路图
启动分析与综合,编译原理图文件,如出现错误,需修改原理图。
3.创建vwm格式波形文件
编译一下
选择仿真器编译一下
点击Start Compilation
没有警告
波形仿真
四.调用D触发器,进行仿真验证
1.新建工程
同上
2.创建方框文件
调用D触发器
绘制效果
3.编译原理图文件,查看硬件电路图
4.创建vwm格式波形文件及时序仿真
编辑波形图
仿真结果
五.Verilog语言写一个D触发器,进行仿真验证
1.新建工程
同上
2.新建Verilog文件
写入内容
//dwave是文件名
module bdlatch2(d,clk,q);
input d;
input clk;
output q;
reg q;
always @ (posedge clk)//我们用正的时钟沿做它的敏感信号
begin
q <= d;//上升沿有效的时候,把d捕获到q
end
endmodule
保存为bdlatch2.v并编译
3.查看生成的电路图
4.利用Verilog语言编写代码进行仿真测试
①打开ModelSim新建工程
②选择添加已有文件添加上面的.v文件
③新建一个文件
关闭Add items to the Project
双击bdlatch2_db.v文件
添加代码
`timescale 1ns/1ns // 定义仿真时间单位1ns和仿真时间精度为1ns
module work_tb(); // 测试模块
//parameter define
parameter T = 20; // 时钟周期为20ns
//reg define
reg sys_clk; // 时钟信号
reg sys_rst_n; // 复位信号
//wire define
wire [3:0] led;
//*****************************************************
//** main code
//*****************************************************
//给输入信号初始值
initial begin
sys_clk = 1'b0;
sys_rst_n = 1'b0; // 复位
#(T+1) sys_rst_n = 1'b1; // 在第21ns的时候复位信号信号拉高
end
//50Mhz的时钟,周期则为1/50Mhz=20ns,所以每10ns,电平取反一次
always #(T/2) sys_clk = ~sys_clk;
//例化模块
work u0_work (
.sys_clk (sys_clk ),
.sys_rst_n (sys_rst_n),
.led (led )
);
endmodule
编译
④配置仿真环境
点击Simulate->Start Simulation…
右键点击bdlatch2_db选择Add Wave