电子科技大学成都学院实验报告模板.doc
文本预览下载声明
电子科技大学成都学院实验报告模板
电子科技大学成都学院
实验报告册
课程名称: 姓 名: 学 号: 院 系: 专 业: 教 师:
月
实验一:一、实验目的:
掌握用Verilog HDL语言实现奇数分频。
二、实验原理和内容:
内容:编写奇数分频模块,实现对输入时钟信号的17分频,同时占空比为50%的方波信号。
原理:采用了两个计数器,一个由输入时钟上升沿触发,另一个由输入时钟下降沿触发,两个分频器的输出信号正好有半个时钟周期的相位差,最后将两个计数器的输出相或,即得占空比为50%的方波信号。
三、实验步骤:
1、启动QuartusII建立一个空白工程,然后命令为couter17.qpf
2、新建Verilog HDL源程序文件counter17,v,输入程序代码并保存(完整的Verilog HDL程序参考程序清单),然后进行综合编译。若在编译过程中发现错误,则找出并更改错误,直至编译成功为止。
3、新建文件对话框Vector Wareform file,单击ok关闭建立一个空的波形编辑器窗口,并改名为counter17.vwf保存。在所示Name选项卡内双击鼠标左键,弹出一对话框,选择Node Finder按钮,再次弹出了一对话框,选择list添加所有引脚,再单击ok,然后编辑输入节点波形,最后再Quartus主界面下选择Tools--》Simulator Tool命令,弹出一对话窗,
第一步:在Simulation input选择仿真文件counter17.vwf 第二步:在Simulation mode选择Functional
第三步:点击Generate Functional Simulation Netlist生成仿真网表 第四步:点击左下角的Start开始仿真,结束后再点击Open打开仿真后的波形文件。
4、检查是否正确,若错误,则修改程序,直到达到要求。
四、实验数据和结果:
module couter17(clk,clk_out); input clk;
output clk_out; reg[4:0]m,n; wire clk_out;
reg clk_out1,clk_out2;
assign clk_out=(clk_out1|clk_out2); always@(posedge clk) begin
mlt;=m+1;
if(m==16) mlt;=0;
else
if(m==15)
begin clk_out1=~clk_out1;end else
if(m==7)
begin clk_out1=~clk_out1;end end
always@(negedge clk) begin
nlt;=n+1;
if(n==16) nlt;=0; else
if(n==15)
begin clk_out2=~clk_out2;end else
if(n==7)
begin clk_out2=~clk_out2;end end
endmodule
仿真波形结果为:
五、实验总结:
进过波形仿真的验证可知,程序实现了对输入信号的17分频,且其占空比为50%。该程序只要稍加改动可以实现任意奇数分频。
实验二:
一、实验目的:
学习7段数码管显示译码器的设计,进一步了解、熟悉和掌握FPGA开发软件QuartusII的使用方法及Verilog HDL的编程方法,学习LPM兆功能模块的调用。
二、实验原理和内容:
原理:实验箱上有8个位码DIG0~DIG7和8个段码SEG0~SEG7分别与FPGA相应的引脚相连。只要DIG0~DIG7上一直输出低电平“0”,则8个数码管将显示相同的数码(因为8个LED数码管的段码线分别接到了同一引脚上),这样8位动态LED数码管就变成了静态LED。
内容:建立7段译码显示模块,用于控制LED数码管的静态显示。要求在SmartSOPC实验箱上的数码管依次显示0~9和A~F16个字符。
三、实验步骤:
1、启动QuartusII建立一个空白工程,然后命令为sled.qpf
2、新建Verilog HDL源程序文件decl7s.v,输入程序代码并保存(完整的Verilog HDL程序参考程序清单3.4),然后进行综合编译。若在编译过程中发
显示全部