Lab 6 十进制计数器
集成1101班
1.实验目的
熟悉用Quartus编译Verilog语言的方法。
掌握用Verilog HDL 语言描述十进制计数器的方法。
学会FPGA I/O引脚分配和实现过程。
2.实验内容
a)使用Verilog语言实现十进制计数器。
b)得到仿真波形。
c)使用DE0开发板下载。
3.代码分析
输入时钟信号CP和控制信号CR,输出四位二进制数Q,表示从0到9的整数。当CR=0时,Q清零;当 CR=1时,在CP的上升沿,Q=Q+1;当Q=9时,Q又赋值为0.
module counter (CP,CR,Q);
input CP,CR;
output Q;
reg [3:0] Q;
always @(posedge CP or negedge CR)
begin
if (~CR) Q<= 4'd0;
else if (Q>= 4'd9) Q<= 4'd0;
else Q<= Q+ 1'd1;
end
endmodule
4.实验步骤
(1)打开Quartus9.1软件,选择“File=>New Project Wizard”,在弹出的窗口中输入项目的名称和存储位置。
(2)单击两次Next后,选择实验板的具体型号。
(3)在“File=>New”的窗口中选择建立Verilog文件。
(4)单击OK后,在Quartus窗口的右方看到该文件,写入代码后选择“File=>Save”,将文件保存在与项目文件同样的位置即可。然后可以看到如下状态:
(5)选择“Processing=》Start Compilation”开始编译,编译通过后可以查看生成的Report。
(6)选择“file->new->vector waveeform file”生成波形图,设置波形。
(7)选择“processing-》generate functional simulation netlist”,再选择“processing=》Start simulation”,生成波形。
(8)选择“assignment=》pins”设置引脚。
(9)选择“Tools=>Programmer”,此时还没有在此项目中安装硬件。选择Hardware Setup安装硬件。因为DEO板是通过USB连接,故选择USB-Blaster。然后选择Close。
(10) 回到Programmer 对话框,此时已经有硬件的相关信息。单击Start 开始在DEO 板上运行。
5.实验结果
在DEO开发板中测试,能实现预期结果。
输入CP接button0,CR接sw0,输出接LEDG0到LEDG3。当保持CR=1时,按button0,LED显示呈现0001到1001跳变,实现了模十递增计数;当CR=0时,实现清零。
6.实验总结
通过这个实验让我熟悉了与DEO实验板相关的一系列实验流程,掌握Quartus软件的一些常用操作。通过这次实验中编写简单的代码,复习了它的基本句法等知识,也体验了自己动手,从编写代码到最终硬件实现的快乐,学到了许多书本上学
不到的东西,使我受益匪浅。