




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多功能数字钟开课学期:20142015学年第一学期课程名称:FPGA课程设计学院:信息科学与工程学院专业:集成电路设计与集成系统班级:学号:姓名:任课教师:2015年7月21日 说明一、论文书写要求与说明严格按照模板进行书写。自己可以自行修改标题的题目关于字体:a)题目:三号黑体加粗。b)正文:小四号宋体,行距为1.25倍。严禁抄袭和雷同,一经发现,成绩即判定为不及格!二、设计提交说明设计需要提交“电子稿”和“打印稿”;“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统
2、一打包后统一发送到付小倩老师。“打印稿”由班长收齐后交到:12教305办公室;上交截止日期:2015年7月31日17:00之前。TOC o 1-5 h z第一章绪论3关键词:FPGA,数字钟3 HYPERLINK l bookmark8 o Current Document 第二章FPGA的相关介绍4 HYPERLINK l bookmark10 o Current Document FPGA概述4 HYPERLINK l bookmark12 o Current Document FPGA特点4 HYPERLINK l bookmark14 o Current Document FPGA设计
3、注意5 HYPERLINK l bookmark16 o Current Document 第三章QuartusII与VerilogHDL相关介绍7 HYPERLINK l bookmark18 o Current Document QuartusII7 HYPERLINK l bookmark20 o Current Document VerilogHDL7 HYPERLINK l bookmark22 o Current Document 第四章设计方案8 HYPERLINK l bookmark24 o Current Document 4.1数字钟的工作原理8 HYPERLINK l
4、bookmark26 o Current Document 4.2按键消抖8 HYPERLINK l bookmark28 o Current Document 4.3时钟复位8 HYPERLINK l bookmark30 o Current Document 4.4时钟校时8 HYPERLINK l bookmark32 o Current Document 4.5数码管显示模块。8 HYPERLINK l bookmark34 o Current Document 第五章方案实现与验证9 HYPERLINK l bookmark36 o Current Document 5.1产生秒脉冲
5、9 HYPERLINK l bookmark38 o Current Document 5.2秒个位进位9 HYPERLINK l bookmark40 o Current Document 5.3按键消抖9 HYPERLINK l bookmark42 o Current Document 5.4复位按键设置10 HYPERLINK l bookmark44 o Current Document 5.5数码管显示。10 HYPERLINK l bookmark46 o Current Document 5.6RTL结构总图11 HYPERLINK l bookmark48 o Current
6、 Document 第六章实验总结14 HYPERLINK l bookmark50 o Current Document 第七章VerilogHDL源代码附录15第一章绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronicdesignautomatic,EDA)技术。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级这
7、三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器;而FPGA是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所对应的功能。因此,按键信息输入是与软件结构密切相关的过程。根据键盘结构的不同,采用不同的编码方法,但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实
8、现按键功能程序的转移。1钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。因此研究数字钟以及扩大其应用有着非常现实的意义。关键词:FPGA,数字钟第二章FPGA的相关介绍FPGA(FieldProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限
9、的缺点。FPGA概述系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-ConfigurableLogicBlock)、输入/输出模块(IOB-I/OBlock)和互连资源(IRInterconnectResource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入
10、/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD
11、(复杂可编程逻辑器件备)。FPGA特点FPGA的基本特点主要有:采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC电路的中试样片。FPGA内部有丰富的触发器和I/O引脚。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。FPGA是由存放在片内RAM中的程序来设置其工
12、作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多
13、片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。FPGA设计注意不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。本次实验所采用的FPGA器件是AlteraCycloneV5CSEMA5F3
14、1C6NFPGA实物图FPGA数码管介绍,每节数码管低电平点亮高电平熄灭。LED序号如下图所示:Eachsemenlinadisplayisindexedfrom0to6,withcorrespondingpositionsgiveninFigure3-1S.Iable3-9showsthepinassignmentofFPGAtothe7-segmentdisplays.Figure3-18Connectionsbetweenthe7-segmentdisplayHEXDandtheCycEoneVSoCFPGA根据上图所示的顺序,可以得出显示的数组代码。4dO:HEX0=7bl000000
15、;4dl:HEX0=7b1111001;4d2:HEX0=7b0100100;4d3:HEX0=7b0110000;4d4:HEX0=7b0011001;4d5:HEX0=7b0010010;4d6:HEX0=7b0000010;4d7:HEX0=7b1111000;4d8:HEX0=7b0000000;4d9:HEX0=7b0010000;default:HEX0=7b1111111;0低电平点亮高电平熄灭123456789不符合条件的显示零第三章QuartusII与VerilogHDL相关介绍QuartusIIQuartusII是Altera公司的综合性PLD/FPGA开发软件,原理图、V
16、HDL、VerilogHDL以及AHDL(AlteraHardware支持DescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。QuartusII软件拥有友好的界面,使用便捷,功能强大,当中可编程逻辑设计环境采用完成集成化,是先进的EDA工具软件。该软件具备诸多特点
17、(例如:开放性,与结构无联系,多平台设计,完全集成化,设计库丰富、工具模块化等),支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式。QuartusII能够在多系统上使用,为用户的设计方式提供了完善的图形界面。具有运行速度快,界面统一,功能集中,学用简单等特点。图形或HDL编辑Analysis&SynthesiiFilter1;Assembler(适配器)(编程文件汇编)(分析与综合)设计输入TimingAnalyzer(时序分析器)VerilogHDLVerilogHDL是一种硬件描述语言(HDL:HardwareDescriptionLanguage),以文本形式来描
18、述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。VerilogHDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由GatewayDesignAutomation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。第四章设计方案4.1数字钟的工作原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻0”规律计数。计数满后各计数器清零,重新计数。
19、计数器的输出分别经译码器送数码管显示。计时出现误差时,可以用校时电路校时、校分。控制信号由三个独立按键输入。输入信号选择FPGA器件上的50MHZ时钟信号。4.2按键消抖因为按键的物理结构并非理想式开关,在按键按下后会在一个很短的时间内出现电平抖动的情况,因此需要对按键进行消抖处理。这里的按键消抖与单片机中的按键消抖问题有所不同,不能采用延时的方法进行按键消抖,这里我选用对时钟脉冲计数的方式来判断按键是否按下。采用50MHZ时钟信号,实测160ms的消抖时长较为合适,即8000000个时钟上升沿。43时钟复位按下复位按键后,所有位清零。4.4时钟校时时钟计时过程中,可对时钟进行校时。本次设计不
20、考虑对秒位进行校时,分钟的个位和小时的个位加到10时会自动进位,因此只对分钟的个位和小时的个位设置可以加1的校时按钮,即可实现校时功能。整体比较容易实现。4.5数码管显示模块。选择需要显示的时钟位数作为敏感词,用上述给出的显示代码对时钟的每一位分别进行显示处理。第五章方案实现与验证51产生秒脉冲always(posedgeelk)敏感词为50MHZ时钟上升沿OOOOO。count=count+l;if(count=32d50000000)产生一个一秒的脉冲,begincount=0;count_sO=count_sO+1;秒个位计数end如代码展现,当计数器count记到50000000个时钟
21、上升沿的时候,向秒个位进1.5.2秒个位进位if(count_s0=4d10)begincount_s0=0;count_s1=count_s1+1;产生秒十位进位end当秒的个位计数到10的时候,向秒的十位进位。5.3按键消抖if(!inrst_m0)count0=count0+1;if(count0=32d8000000&!inrst_m0)begincount0=0;count_m0=count_m0+1;end对时钟秒冲进行计数,计数达到8000000时则判断按键按下,执行分钟个位加1操作。5.4复位按键设置beginf(!reset)begincount=0;count_s0=0;c
22、ount_s1=0;count_m0=0;count_m1=0;count_h0=0;count_h1=0;endelse复位按键按下后所有位置零。5.5数码管显示。always(count_s0)begincase(count_s0)4d0:HEX0=7b1000000;4d1:HEX0=7b1111001;4d2:HEX0=7b0100100;4d3:HEX0=7b0110000;4d4:HEX0=7b0011001;4d5:HEX0=7b0010010;4d6:HEX0=7b0000010;4d7:HEX0=7b1111000;4d8:HEX0=7b0000000;4d9:HEX0=7b
23、0010000;default:HEX0=7b1111111;endcase判断此时的电平是否为0,若还是为0,按键按下为逻辑0复位置零秒个位显示0低电平点亮高电平熄灭123456789不符合条件的显示零endii5.6RTL结构总图显示部分如下图:判断主体 部分引脚图展现爭PinPlanneFileEditViewProcessingToolsWindowHelp司Searchaltera.corrXNamed:K|)Edit:Filter:Pins:allNodeNameDirectionLocationI/OBankVREFGroupFitterLoe呼HEX10OutputPIN_AJ
24、295AB5A_N0PIN_AJ29輕HEX26OutputPIN_AC305B日SBPIN_AC30HEX25OutputPIN_AC295BB5B_N0PIN_AC29巧輕HEX24OutputPIN_AD305BB5B_N0PIN_AD30輕HEX23OutputPIN_AC2S5BB5B_N0PIN_AC28輕HEX22OutputPIN_AD295BB5B_N0PIN_AD29輕HEX21OutputPIN_AE295B日SBPIN_AE29JiidJU-瑋HEX20OutputPIN_AB235AB5A_N0PIN_AB23醤2吗HEX36OutputPIN_AB225AB5A_N
25、0PIN_AB22IjluHEX35OutputPIN_AB255AB5A_N0PIN_AB25輕HEX34OutputPIN_AB2i85BB5B_N0PIN_AB28v2tl臣HEX3OutputPIN_AC255AB5A_N0PIN_AC25瑋HEX32OutputPIN_AD255AB5A_N0PIN_AD25:P:2吗HEX31OutputPIN_AC275AB5A_N0PIN_AC27uHEX30OutputPIN_AD265AB5A_N0PIN_AD2fi輕HEX46OutputPIN_W255BB5B_N0PIN_W25uHEX45OutputPIN_V235AB5A_N0PI
26、N_V23瑋HEX44OutputPIN_W245AB5A_N0PIN_W242吗HEX斗OutputPIN_W225AB5A_N0PIN_W22uHEX42OutputPIN_Y245AB5A_N0PIN_Y242%HEX41OutputPIN_Y235AB5A_N0PIN_Y23uHEX40OutputPIN_AA245AB5A_N0PIN_AA24瑋HEX56OutputPIN_AA255AB5A_N0PIN_AA25輕HEX55OutputPIN_AA2j65BB5B_N0PIN_AA26HEX54OutputPIN_AB265AB5A_N0PIN_AB26輕HEX53OutputPI
27、N_AB275BB5B_N0PIN_AB27輕HEX52OutputPIN_Y275B日SBPIN_Y27輕HEX51OutputPIN_AA285BB5B_N0PIN_AA28輕HEX50irVdk%_inrst_hOirinrst_mOOutputPINV255BB5BNOPINV25InputInputInputPIN_AF14PIN_W15PIN_AA153B3B3BB3B_N0B3B_N0B3B_N0PIN_AF14PIN_W15PIN_AA15弯led_sUOutputPIN_AK3聋led_s0rpsptOutputPINAC18TnniitPTMAA1斗3RR3RMOPTMAA
28、14oounupiqMJ?Q:MUX2MUX2MUX2ACB5ACB6coin如0最终实验现象:VMUX2AKOEcuaM閘JKZ-MUK2eowleFOawayauiMUK2eowieriJ鬥 HYPERLINK http:/del-socAeraskxotn http:/del-socAeraskxotnIUU.-I-:第六章实验总结其实本次的多功能数字钟设计其实应该还有很多其他的方法,比如用到外部中断功能进行时钟的校时,采用按键输入加数码管闪烁的方式进行校时位的选择,但限于时间较短,这部分知识空白,所以本次设计实有所缺陷。经历了本次FPGA的设计,有很多感受,首先就是看了一点数字钟设计方
29、面的资料,遇到很多不理解的地方,于是就需要再和同学进行研究讨论,在讨论的过程中,能听到其他人的思路,感觉特别有意思,同样的功能,实现的方法有许许多多,努力把自己的想法实现,或是选择一种你喜欢的设计借鉴一下,两者都是很好的选择。通过这次设计实验,着实培养了我们独立思考、解决问题的能力,从最一开始的一筹莫展,没有一点思路,感觉像平底拔楼一样,从两手空空到产生一个控制电路,从无到有,这是创造的力量。同时,和其他同学讨论的过程也很重要,要说的还有就是最后实验成功的喜悦是无可替代的,就好像你亲手种的果树长出了果实,养的鸡下了鸡蛋,是一种创造的喜悦,整个心就像是一个大箱子里面放着一块糖,隐隐约约总能感觉到
30、一丝甜蜜。数码管显示的数字钟是常见的技术,这次基于FPGA的多功能数字钟设计具有很高的工程价值和现实意义。让我们将知识服务于生活,将知识用于实践,锻炼了我们发现问题解决问题的能力。这次FPGA的多功能数字钟设计,加深了我们对FPGA设计的理解,培养了我们的逻辑思维和动手操作能力,使我们将知识与技能链接起来,使我们每个人的都在不断进步,提咼了专业技能,提咼了动手实践的综合能力。第七章VerilogHDL源代码附录moduleclock(reset,inrst_m0,inrst_h0,clk,HEX0,HEXl,HEX2,HEX3,HEX4,HEX5);inputclk,reset,inrst_m
31、O,inrst_hO;outputreg6:0HEX0,HEX1,HEX2,HEX3,HEX4,HEX5;reg31:0count=0,count0=0,count1=0;实际宽度为25reg3:0count_s0=0,count_s1=0,count_m0=0,count_m1=0,count_h0=0,count_h1=0;always(posedgeclk)beginif(!inrst_m0)count0=count0+1;if(count0=32d8000000&!inrst_m0)按键消抖begincount0=0;count_m0=count_m0+1;end讦(!inrst_h0
32、)count1=count1+1;if(count1=32d8000000&!inrst_h0)begincount1=0;count_h0=count_h0+1;end按键按下为逻辑0复位置零产生一个一秒的脉冲,讦(!reset)begincount=0;count_s0=0;count_s1=0;count_m0=0;count_m1=0;count_h0=0;count_h1=0;endelsecount=count+1;if(count=32d50000000)begincount=0;count_sO=count_sO+l;秒个位计数endelseif(count_s0=4d10)b
33、egincount_s0=0;count_s1=count_s1+1;产生秒十位进位endelseif(count_s1=4d6)begincount_s1=0;count_mO=count_mO+1;endelseif(count_m0=4d10)分个位计数begincount_m0=0;count_m1=count_m1+1;endelseif(count_m1=4d6)分十位计数begincount_m1=0;count_hO=count_hO+1;endelseif(count_h0=4d10)时个位计数begincount_h0=0;count_h1=count_h1+1;endel
34、seif(count_h0=4&count_h1=2)满24判断endbegincount_h0=0;count_hl=0;endalways(count_sO)begincase(count_s0)4d0:HEX0=7b1000000;4d1:HEX0=7b1111001;秒个位显示0低电平点亮高电平熄灭14d2:HEX0=7b0100100;24d3:HEX0=7b0110000;34d4:HEX0=7b0011001;44d5:HEX0=7b0010010;54d6:HEX0=7b0000010;4d7:HEX0=7b1111000;674d8:HEX0=7b0000000;4d9:HEX0=7b0010000;8default:HEX0=7b1111111;endcase9不符合条件的显示零秒十位显示0低电平点亮高电平熄灭12345endalways
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年三明市“三支一扶”计划笔试真题
- 芭蕾舞形体课行业深度调研及发展战略咨询报告
- 书籍与文具区企业制定与实施新质生产力战略研究报告
- 足球电影制作行业跨境出海战略研究报告
- 足球桌游设计企业制定与实施新质生产力战略研究报告
- 跨平台设计资产管理企业制定与实施新质生产力战略研究报告
- 舞台表演技巧行业跨境出海战略研究报告
- 语言学习语音识别系统行业跨境出海战略研究报告
- 2025年学校教务处学生社团管理计划
- 文学社团读书活动职责
- 都江堰简介课件
- 学校内部控制评价报告范文(5篇)
- 《母鸡》课件 王崧舟 千课万人 (图片版不可编辑)
- 国开电大《工程数学(本)》形成性考核作业5答案
- 13、试生产开停工方案
- JJG 109-2004百分表式卡规
- 12YJ6 外装修标准图集
- 新教材人教版高中物理选择性必修第一册全册教学课件
- 初中数学北师大八年级下册综合与实践-生活中的一次模型PPT
- 煤化工概述-课件
- 2021初中生命科学学业考试参考答案
评论
0/150
提交评论