电子信息工程专业
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 语言设计程序
⑶在Quartus U软件或其他EDA软件上完成设计和仿真
(4)根据实验装置上的CPLD/FPGA芯片,在适配时选择相应的芯片,将设计生成配置文件或JEDEC文件,然后将配置文件或JEDEC文件下载到实验装置上运行,操作实验装置上设定的功能幵关,验证设计功能。
2各模块设计及电路图
2.1设计项目简介
主控模块分别连接6个数码管显示模块和分频模块,分频模块给主控模块的计数器提供时钟源,主控模块在按键的控制下,在其中计数器的作用下输出给数码管显示装置,实现跑表功能。
振荡器
分频器►计
数
器
2.2分块设计代码
(1)分频模块: module fenpin(CLK,CLK2); // 输入50MHz 输出分频到1Hz in put 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;
else if(!pause) begin if(msl==9) begin msl<=0; if(msh==9) begin msh<=0; cn1<=1; end else
msh<=msh+1;
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;
else if(sl==9) begin sl<=0; if(sh==5) begin sh<=0; cn2<=1; end else sh<=sh+1; end else
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:D0UT二'bOOOOIIO; 15:DOUT二'bOOOIIIO;
endcase
end
en dmodule
2.3总体框图设计
2.4管脚锁定图
三、课程设计体会
FPGA即现场可编程门阵列,它是在PAL、GAL CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
通过学习制
作数字跑表,我对于可编程逻辑器件有了更加深刻地体会。
这次实验设计,我的分频模块和显示模块都令我特别头疼,但是在认真的学习过后,我认识到了一些错误和漏洞,我正确的改正了由于分频过快导致的秒表不准。
改正之后,我的数码管却无法显示数字,通过我认真的研究,我发现数码管共阴极和数码管共阳极的概念混淆,改正之后,我的数字跑表正常的工作了。
总体来说这次实验对于我的提升很大,我在课程设计动手实践方面有进步了不少。