《电子实习2》基于FPGA多功能数字钟设计

上传人:pu****.1 文档编号:432890602 上传时间:2022-08-04 格式:DOC 页数:32 大小:249.04KB
返回 下载 相关 举报
《电子实习2》基于FPGA多功能数字钟设计_第1页
第1页 / 共32页
《电子实习2》基于FPGA多功能数字钟设计_第2页
第2页 / 共32页
《电子实习2》基于FPGA多功能数字钟设计_第3页
第3页 / 共32页
《电子实习2》基于FPGA多功能数字钟设计_第4页
第4页 / 共32页
《电子实习2》基于FPGA多功能数字钟设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《《电子实习2》基于FPGA多功能数字钟设计》由会员分享,可在线阅读,更多相关《《电子实习2》基于FPGA多功能数字钟设计(32页珍藏版)》请在金锄头文库上搜索。

1、江苏科技大学南徐学院 Jiangsu university of science and technology nanxu college电子实习2基于FPGA多功能数字钟设计姓 名:学 号:.班 级:.指导教师:提交日期:2012 年 3 月摘 要本文介绍了利用EDA技术自顶向下的设计方法,提出了一个多功能数字钟的设计方案,采用VerlogHDL语言设计了数字钟系统的各个模块,在QuartusII开发平台下进行了编译、仿真、下载,实现了基本计时显示和设置、调整时间、闹钟和秒表功能。VHDL是Very High Speed Integrated Circuit Hardware Descrip

2、tion Language的缩写,意思是超高速集成电路硬件描述语言。对于复杂的数字系统的设计,它有独特的作用。它的硬件描述能力强,能轻易的描述出硬件的结构和功能。这种语言的应用至少意味着两种重大的改变:电路的设计竟然可以通过文字描述的方式完成;电子电路可以当作文件一样来存储。随着现代技术的发展,这种语言的效益与作用日益明显,每年均能够以超过30%的速度快速成长。本文介绍一种基于FPGA的数字时钟设计方法,简要介绍了VHDL语言的一些基本语法和概念后,进一步应用VHDL,在MAX+plusII 的环境下设计一个电子钟,最后通过仿真出时序图实现预定功能。电子钟的时间显示用到了七段数码管(或称七段显

3、示器)的电路设计,内部的时间控制输出则用到了各种设计,包括:时钟分频模块、计时模块、按键模块和显示模块四个部分。目 录1 引言12 总体方案设计 X2.1 项目设计要点2.2 方案论述2.3 软件介绍2.4 芯片介绍3 单元电路设计3.1 分频模块设计3.2 计时功能模块设计3.3 计数模块3.4 译码显示模块3.5 整点报时模块4 系统功能及功能仿真4.1 系统功能4.2功能仿真各个模块的仿真波形5 心得体会6 参考文献附录:完整实验程序引言VHDL语言是一种标准化的硬件描述语言。设计者可以通过它编写代码,然后用模拟器验证其功能,再将设计代码综合成门级电路,最后下载到可编程逻辑器件(CPLD

4、,FPGA)中来实现一个设计。由于VHDL语言具有支持大规模设计和再利用已有设计等优点1,因此使用VHDL语言来设计数字钟。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级这三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器;而FPGA是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用的

5、输入设备,系统应当根据键盘的输入来完成相应的功能。因此,按键信息输入是与软件结构密切相关的过程。根据键盘结构的不同,采用不同的编码方法,但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。1钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。因此研究数字钟以及扩大其应用有着非常现实的意义。2.总体方案设计2.1项目设计要点 (1)以数字形式显示时、分、秒; (2)小时记数为24小时进制 (3)分秒进制为60

6、进制 (4)扩展功能:定时闹钟、整点报时2.2 方案论述 系统组成框图,如下图所示: 主体电路电路的两种工作状态如下图所示:1.为正常时钟模块2.设置时间模块控制按键用来选择是正常计数还是调整时间并决定调整时、分、秒; 置数按键按下时,表示相应的调整块要加一;基准时钟是1HZ;计数器是对1HZ的频率计数;动态显示模块是对计数器的计数进行译码,送到数码管进行显示 。2.3 软件介绍本设计采用Quartus II软件编写所需程序。Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Descripti

7、on Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,Quartus II 通过和

8、DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具

9、,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 Mentor Graphics、Synopsis和Simplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLoc

10、k模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件2.4 芯片介绍FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过

11、传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLD/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLD/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。3FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3

12、种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IRInterconnect Resource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。3 单元电路设计3.1 分频模块设计系统需要1Hz的频率来驱动计时器,而实

13、验箱上可提供多种不同的频率,如系统时钟20MHz和SW7提供的可选择频率,请根据需要自行选择频率,并进行分频,形成1Hz频率。实验程序分频模块PROCESS(CLK) VARIABLE CNT: INTEGER RANGE 0 TO 12000000; BEGIN IF(CLKEVENT AND CLK=1) THEN IF(CNT=12000000) THEN CNT:=0; CLKIN1=NOT CLKIN1; ELSE CNT:=CNT+1; END IF; END IF; END PROCESS;PROCESS(CLK) VARIABLE CNT: INTEGER RANGE 0 TO 12000; BEGIN IF(CLKEVENT AND CLK=1) THEN IF(CNT=12000) THEN CNT:=0; CLKIN2=NOT CLKIN2; ELSE CNT:=CNT+1; END IF; END IF; END P

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号