FPGA数字跑表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息工程专业
FPGA与ASIC设计实践教程
设计报告
班级:电子信息工程1303班
学号:201315110
姓名: 田佳鑫
日期:2015年11月4日
指导老师:何英昊
目录
1系统总体方案及硬件设计 (3)
1.1设计内容 (3)
1.2 设计要求 (3)
1.3 实现要求 (3)
2各模块设计及电路图 (3)
2.1设计项目简介 (3)
2.2分块设计代码 (4)
2.3总体框图设计 (7)
2.4管脚锁定图 (8)
3课程设计体会 (8)
1系统总体方案及硬件设计
1.1 设计内容
数字跑表电路
1.2设计要求
(1)跑表的计时范围为0.01—59min59.99s。
(2)具有异步清零、启动。计时和暂停功能。
(3)输入时钟频率为100Hz。
(4)要求数字跑表的输出能够直接驱动共阴极7段数码管。
1.3 实现要求
(1)分析功能要求,划分功能模块。
(2)编写各模块的Verilog HDL语言设计程序。
(3)在QuartusⅡ软件或其他EDA软件上完成设计和仿真。
(4)根据实验装置上的CPLD/FPGA芯片,在适配时选择相应的芯片,将设计生成配置文件或JEDEC文件,然后将配置文件或JEDEC文件下载到实验装置上运行,操作实验装置上设定的功能开关,验证设计功能。
2各模块设计及电路图
2.1 设计项目简介
主控模块分别连接6个数码管显示模块和分频模块,分频模块给主控模块的计数器提供时钟源,主控模块在按键的控制下,在其中计数器的作用下输出给数码管显示装置,实现跑表功能。
module fenpin(CLK,CLK2);
//输入50MHz,输出分频到
input CLK;
output CLK2;
reg CLK2;
reg[31:0] counter2;
parameter N2=5000000;
always@(posedge CLK)
begin
if(counter2==250000)
begin
counter2<=0;
CLK2<=~CLK2;
end
else
counter2<=counter2+1;
end
endmodule
(2)控制模块:
module sz(clk,clr,pause,msh,msl,sh,sl,mh,ml); inputclk,clr;
input pause;
output[3:0]msh,msl,sh,sl,mh,ml;
reg[3:0]msh,msl,sh,sl,mh,ml;
reg cn1,cn2;
always@(posedgeclk or posedgeclr)
begin
if(clr)
begin
{msh,msl}<=8'h00;
cn1<=0;
end
else
if(!pause)
begin
if(msl==9)
begin
msl<=0;
if(msh==9)
begin
msh<=0;
cn1<=1;
end
else
msh<=msh+1;
end
else
begin
msl<=msl+1;
cn1<=0;
end
end
end
always@(posedge cn1 or posedgeclr)
begin
if(clr)
begin
{sh,sl}<=8'h00;
cn2<=0;
end
else
if(sl==9)
begin
sl<=0;
if(sh==5)
begin
sh<=0;
cn2<=1;
end
else
sh<=sh+1;
end
else
begin
sl<=sl+1;
cn2<=0;
end
end
always@(posedge cn2 or posedgeclr) begin
if(clr)
begin
{mh,ml}<=8'h00;
end
else
if(ml==9)
begin
ml<=0;
if(mh==5)
mh<=0;
else
mh<=mh+1;
end
else
ml<=ml+1;
end
endmodule
(3)显示模块:
module XS7D(DIN,DOUT);
input [3:0]DIN;
output [6:0]DOUT;
reg [6:0]DOUT;
always @(DIN)
begin
case(DIN)
0:DOUT='b1000000;
1:DOUT='b1111001;
2:DOUT='b0100100;
3:DOUT='b0110000;
4:DOUT='b0011001;
5:DOUT='b0010010;
6:DOUT='b0000010;
7:DOUT='b1111000;
8:DOUT='b0000000;
9:DOUT='b0010000;
10:DOUT='b0001000;
11:DOUT='b0000011;
12:DOUT='b1000110;
13:DOUT='b0100001;
14:DOUT='b0000110;
15:DOUT='b0001110;
endcase
end
endmodule
2.3总体框图设计
2.4管脚锁定图
三、课程设计体会
FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。通过学习制作数字跑表,我对于可编程逻辑器件有了更加深刻地体会。这次实验设计,我的分频模块和显示模块都令我特别头疼,但是在认真的学习过后,我认识到了一些