多功能数字钟开课学期:2014—2015 学年第二学期课程名称:FPGA课程设计学院:信息科学与工程学院专业:集成电路设计与集成系统班级:学号:姓名:任课教师:2015 年7 月21 日说明一、论文书写要求与说明1.严格按照模板进行书写。
自己可以自行修改标题的题目2.关于字体:a)题目:三号黑体加粗。
b)正文:小四号宋体,行距为1.25倍。
3.严禁抄袭和雷同,一经发现,成绩即判定为不及格!!!二、设计提交说明1.设计需要提交“电子稿”和“打印稿”;2.“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。
3.“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统一打包后统一发送到付小倩老师。
4.“打印稿”由班长收齐后交到:12教305办公室;5.上交截止日期:2015年7月31日17:00之前。
第一章绪论 (3)关键词:FPGA,数字钟 (3)第二章FPGA的相关介绍 (4)2.1 FPGA概述 (4)2.2 FPGA特点 (4)2.3 FPGA设计注意 (5)第三章Quartus II与Verilog HDL相关介绍 (7)3.1 Quartus II (7)3.2 Verilog HDL (7)第四章设计方案 (8)4.1数字钟的工作原理 (8)4.2 按键消抖 (8)4.3时钟复位 (8)4.4时钟校时 (8)4.5数码管显示模块。
(8)第五章方案实现与验证 (9)5.1产生秒脉冲 (9)5.2秒个位进位 (9)5.3按键消抖 (9)5.4复位按键设置 (10)5.5 数码管显示。
(10)5.6 RTL结构总图 (11)第六章实验总结 (14)第七章Verilog HDL源代码附录 (15)第一章绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。
支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。
前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronic design automatic, EDA)技术。
本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级这三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。
ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器;而FPGA是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。
在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所对应的功能。
因此,按键信息输入是与软件结构密切相关的过程。
根据键盘结构的不同,采用不同的编码方法,但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。
[1]钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。
因此研究数字钟以及扩大其应用有着非常现实的意义。
关键词:FPGA,数字钟第二章FPGA的相关介绍FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
2.1 FPGA概述系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。
这3种可编程电路是:可编程逻辑模块(CLB--Configurable Logic Block)、输入/输出模块(IOB--I/O Block)和互连资源(IR—Interconnect Resource)。
可编程逻辑模块CLB 是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。
FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。
另外一种方法是用CPLD(复杂可编程逻辑器件备)。
2.2 FPGA特点FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA 进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
2.3 FPGA设计注意不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。
不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。
本次实验所采用的FPGA器件是Altera Cyclone V 5CSEMA5F31C6NFPGA实物图FPGA数码管介绍,每节数码管低电平点亮高电平熄灭。
LED序号如下图所示:根据上图所示的顺序,可以得出显示的数组代码。
4'd0: HEX0=7'b1000000; //0 低电平点亮高电平熄灭4'd1: HEX0=7'b1111001; //14'd2: HEX0=7'b0100100; //24'd3: HEX0=7'b0110000; //34'd4: HEX0=7'b0011001; //44'd5: HEX0=7'b0010010; //54'd6: HEX0=7'b0000010; //64'd7: HEX0=7'b1111000; //74'd8: HEX0=7'b0000000; //84'd9: HEX0=7'b0010000; //9default: HEX0=7'b1111111; //不符合条件的显示零第三章Quartus II与Verilog HDL相关介绍3.1 Quartus IIQuartus II 是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
Quartus II 软件拥有友好的界面,使用便捷,功能强大,当中可编程逻辑设计环境采用完成集成化,是先进的EDA工具软件。
该软件具备诸多特点(例如:开放性,与结构无联系,多平台设计,完全集成化,设计库丰富、工具模块化等),支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式。
Quartus II能够在多系统上使用,为用户的设计方式提供了完善的图形界面。
具有运行速度快,界面统一,功能集中,学用简单等特点。
3.2 Verilog HDLVerilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。
两种HDL均为IEEE 标准。
第四章设计方案4.1数字钟的工作原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。