- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog_HDL_七段数码管倒计时效果
实验三 七段数码管倒计时效果
实验目的和要求
了解倒计时控制原理
2、了解模块化设计方法
3、掌握数字系统设计的方法
4、通过仿真器观察输入输出波形,并能在FPGA开发板上实现七段数码管倒计时控制系统
实验仪器
1、计算机
2、FPGA实验开发板
实验内容
(包括必要的步骤、原理,如状态图等)
七段数码管倒计时程序代码:
module top(rst,clk,out,sel,);
input rst;
input clk;
output sel,b;
output [6:0]out;
wire b;
wire [3:0] data;
divi a1(clk,rst,b);
counter a3(b,rst,data);
display a2(data,out,sel);
endmodule
module divi(clk,rst,newclk);
input clk;
input rst;
output newclk;
reg newclk;
reg [30:0] count;
always@(posedge clk)
begin
if(!rst)begin
count=0;
newclk=0; //初始化
end
else begin
count=count+1;
if(count=
begin
newclk=~newclk;
count=0;
end
end
end
endmodule
module counter(clk,rst,out);
input rst;
input clk;
output [3:0]out;
reg [3:0] out;
always@(posedge clk)
begin if(!rst) out=0;
else begin
out=out+1;
if(out==10) out=0;
end
end
endmodule
module display(in,out,sel);
input [3:0] in;
output [6:0] out;
output sel;
reg [6:0] out;
always@(in)
begin
case(in)
0:out=7b1111_110;
1:out=7b0110_000;
2:out=7b1101_101;
3:out=7b1111_001;
4:out=7b0110_011;
5:out=7b1011_011;
6:out=7b1011_111;
7:out=7b1110_000;
8:out=7b1111_111;
9:out=7b1111_011;
default:out=0;
endcase
end
assign sel=0; //控制四个并排的四个七段数码管哪一个亮
endmodule
创建新的项目:[File]-[New Project] 选择器件属性
创建源文件:[Project]-[New Source]-Verilog Module 输入交通灯程序代码 (上图所示)
设计综合:使用ISE自带的综合工具XST 检查程序是否有误
调试仿真 波形仿真
创建测试矢量波形文件:[Project]-[New Source]-Test Bench Waveform
初始化输入波形
启动ModelSim进行行为仿真
设计实现
启动设计实现:[Implement Design]
可以在布局规划器(Floorplanner)中查看设计布局:[Place Route]-[View/Edit Placed Design(Floorplanner)]
下载调试 将Verilog程序完成的电路配置到芯片里,并让芯片运行,观察并调试结果
四:实验结果
(说明实验的结果显示,最好包括波形和文字的)
小结
(对实验的心得,以及在试验中碰到的问题,你是如何解决这个问题的)
娄水锋
08电信本
Display
Counter
divi
文档评论(0)