毕业论文基于fpga的闹钟系统的设计说明书_第1页
毕业论文基于fpga的闹钟系统的设计说明书_第2页
毕业论文基于fpga的闹钟系统的设计说明书_第3页
毕业论文基于fpga的闹钟系统的设计说明书_第4页
毕业论文基于fpga的闹钟系统的设计说明书_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文(设计)题目名称: 基于FPGA的闹钟系统的设计 题目来源: 实验室研究项目 院 (系): 电子信息学院 专业班级: 自动化10903 学生姓名: 高 文 昌 指导教师: 陈 英 芝 辅导教师: 陈 英 芝 日 期:2013年3月11日2013年6月10日 目 录长江大学毕业设计(论文)任务书I毕业设计开题报告III毕业论文开题报告IV长江大学毕业设计(论文)指导教师审查意见VII长江大学毕业设计(论文)评阅教师评语VIII毕业设计(论文)答辩会议记录IX1 前言12 选题背景22.1选题来源22.2研究目的及意义22.3国内外研究现状及发展趋势22.4本课题的研究指导思想和技术设计33 FPGA简介53.1 FPGA概述53.1.1 FPGA基本结构53.2 FPGA编程原理53.3 FPGA设计流程63.4 VHDL语言与Quartus83.4.1 VHDL语言简介83.4.2 Quartus简介104 方案设计与论证144.1总体方案设计145 过程论述155.1 闹钟系统的外部设计155.1.1键盘输入设计155.1.2系统输出部分155.2 FPGA内部部分模块设计与仿真155.2.2闹钟系统的译码器的设计175.2.3闹钟系统的移位寄存器的设计195.2.4闹钟系统的闹钟寄存器和时间计数器的设计205.2.5闹钟系统的显示驱动器的设计235.2.6闹钟系统的分频器的设计245.2.7闹钟系统的整体组装256 结果分析277 总结28参考文献30致谢31附录 相关程序32 长江大学毕业设计(论文)任务书学院(系) 电子信息学院 专业 自动化 班级 10903班 学生姓名 高文昌 指导教师/职称 陈英芝/讲师 1. 毕业设计(论文)题目:基于FPGA的闹钟系统的设计2. 毕业设计(论文)起止时间:2013年 3月 11日2013年 6 月 10 日3. 毕业设计(论文)所需资料及原始数据(指导教师选定部分)1谭会生,张昌凡,郑进.EDA技术及应用M.第2版.西安:西安电子科技大学出版社,20022夏宇闻.Verilog HDLM.北京:高等教育出版社,20063江国强.EDA技术及应用M.北京:电子工业出版社,20064谢自美.电子线路设计实验测试M武汉:华中科技大学出版社,20035康华光.电子技术基础数字部分M武汉:高等教育出版社,20056卢毅,赖杰编著.VHDL与数字电路设计M 出版社:科学出版社20037王锁平编著.电子设计自动化(EDA)教程M.电子科技大学出版社. 2000 8通过查阅有关论文4 毕业设计(论文)应完成的主要内容整个系统主要包括以下几个组成部分:用于键盘输入的缓冲器;用于时钟计数的计数器;用于保存闹铃时间的寄存器;用于显示的七段数码管显示电路以及控制以上各个部分协同工作的控制器。5毕业设计(论文)的目标及具体要求目标:(1) 根据设计要求,利用FPGA的优势设计闹钟系统。(2) 培养学生查阅资料、分析问题和解决问题。具体要求:1、在有限的时间内完成闹钟系统设计的所有VHDL源文件的描述,并能仿真正确,最终通过FPGA器件完成闹钟系统的功能。本设计要求学生熟悉闹钟系统的具体工作过程,了解各功能之间的控制关系,掌握VHDL硬件描述语言和MAX+plusII软件或者QuartusII软件的应用方法。2、查阅EDA、FPGA等相关科技文献,要求查阅近5年的科技文献为主,累计15篇以上,其中至少2篇外文文献。6完成毕业设计(论文)所需的条件及上机时数要求微型计算机1台;MAX+plusII软件或者Quartus II软件;上机时数要求:2小时60天=120小时任务书批准日期 2013年 3月 10 日 教研室(系)主任(签字) 任务书下达日期 2013年 3月 15 日 指导教师(签字) 完成任务日期 2013年 6月 10 日 学生(签名) 长江大学毕业设计开题报告 题 目 名 称 基于FPGA的闹钟系统的设计 题 目 类 别 毕 业 设 计 院 (系) 电 子 信 息 学 院 专 业 班 级 自动化10903 学 生 姓 名 高 文 昌 指 导 教 师 陈 英 芝 辅 导 教 师 陈 英 芝 开题报告日期 2013年 3月 20日 毕业论文开题报告学 生:高文昌指导教师:陈英芝1题目来源实验室研究项目2研究目的和意义 现代社会数字集成电路被广泛应用到生活中的各个领域当中。数字集成电路也在不停的更新换代。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。 FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。而在许多仪器仪表中都用到闹钟定时,目前通常是采用专用的数字闹钟芯片,但是这种芯片功能固定,不利于嵌入式应用。而且,在一起仪表中的许多应用场合已经采用了FPGA可编程芯片。这样一来,为我们在使用硬件空间的FPGA器件中在嵌入一个计时闹钟提供了极大的方便,而且不会增加成本,并可以使系统的结构更加简单,体积更小,成本更低,具有更好的嵌入式和可移植特性。因此,基于FPGA的闹钟系统的设计有较高的实用价值。3 阅读的主要参考文献及资料名称1谭会生,张昌凡,郑进.EDA技术及应用M.第2版.西安:西安电子科技大学出版社,20022夏宇闻.Verilog HDLM.北京:高等教育出版社,20063江国强.EDA技术及应用M.北京:电子工业出版社,20064谢自美.电子线路设计实验测试M武汉:华中科技大学出版社,20035康华光.电子技术基础数字部分M武汉:高等教育出版社,20056卢毅,赖杰编著.VHDL与数字电路设计M 出版社:科学出版社20037王锁平编著.电子设计自动化(EDA)教程M.电子科技大学出版社. 2000 8通过查阅有关论文4. 国内外现状和发展趋势与研究的主攻方向国内外研究现状:六十年代末,七十年代初带闹钟的电子钟表已悄悄在起步,因为客观存在成本低,精度高,显示直观方便(不用上发条)的优点冲击了传统机械表的统治地位。到九十年代初基本垄断了钟表市场。而随着时代的发展,在生产生活中对计时工具的要求也逐渐提高,高效节能的理念深入人心,功耗大开发周期长的传统电子表已经显然不适合时代的要求。20世纪末数字电子技术得到飞速的发展,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电视到数字电话,从家用电器到军用设备,从自动化到航天技术都广泛的采用了数字电子技术。发展趋势:现代工艺技术的进步使FPGA性能更强,芯片朝着高密度、低压、低功耗的方向挺进。有人尝试利用芯片的分时复用特性,用较小规模的FPGA芯片来实现更大规模的数字时序系统,结果发现常规的SRAM的FPGA只能实现静态系统重构。但是,要实现高速的动态重构,就需要对FPGA的结构进行革新。可以预见,一旦实现了FPGA的动态重构,则将引发数字系统设计思想的巨大转变。此外,半导体产品的一贯目标是以更小的尺寸、更低的成本和更小的功耗,获得更高的质量和性能。从设计角度来看,他的趋势是以各种红模块的集成来代替分离的芯片,混合FPGA便是这一趋势下的必然产物。混合FPGA是指将各类数字电路单元(可编程逻辑、CPU/DSP、存储器等)和模拟电路单元(模拟线性电路、A/D、D/A等)集成在一起的FPGA。由于混合FPGA不需要驱动芯片外的数字负载,因而可以满足产品对低功耗高性能的要求。利用FPGA使得电子闹钟的设计效率极大的提高,缩短了设计周期,节省了设计成本。5 主要研究内容、需重点研究的关键问题及解决思路主要内容: 1)记时功能 2)闹铃功能 3)设置新的计时器时间 4)设置新的闹铃时间 5)键盘的软件设计 6)显示所设置的闹铃时间关键问题:用于键盘输入的缓冲器;用于时钟计数的计数器;用于保存闹铃时间的寄存器;用于显示的七段数码管显示电路以及控制以上各个部分协同工作的控制器。解决思路:1)阅读关于FPGA的软硬件设计的相关资料 2)从简单的Quartus II及VHDL逐步学习巩固6. 完成毕业设计(论文)所必须具备的工作条件及解决的办法工作条件:计算机设备,网络,Quartus II软件,EDA实验箱。解决办法:通过到图书馆借书,到实验室借设备和充分利用学院安排的上机时间来完成毕业设计。7. 工作的主要阶段、进度与时间安排 收集整理资料并撰写开题报告 3月10日-3月16日 完成英文翻译 3月17日-4月10日 学习课题相关内容 4月11日-4月25日 编程、逐步实现各项功能 4月26日-5月15日 调试程序、撰写毕业设计正文 5月16日-5月31日 正文的进一步完善 6月1 日-6 月 5 日 准备毕业论文答辩 6月6 日-6 月10日8. 指导教师审查意见长江大学毕业设计(论文)指导教师审查意见学生姓名高文昌专业班级自动化10903班毕业论文(设计)题目基于FPGA的闹钟系统的设计指导教师职 称评审日期评审参考内容:毕业论文(设计)的研究内容、研究方法及研究结果,难度及工作量,质量和水平,存在的主要问题与不足。学生的学习态度和组织纪律,学生掌握基础和专业知识的情况,解决实际问题的能力,毕业论文(设计)是否完成规定任务,达到了学士学位论文的水平,是否同意参加答辩。评审意见:指导教师签名: 评定成绩(百分制):_分长江大学毕业设计(论文)评阅教师评语学生姓名高文昌专业班级自动化10903班毕业论文(设计)题目基于FPAG的闹钟系统的设计指导教师职 称评审日期评审参考内容:毕业论文(设计)的研究内容、研究方法及研究结果,难度及工作量,质量和水平,存在的主要问题与不足。学生的学习态度和组织纪律,学生掌握基础和专业知识的情况,解决实际问题的能力,毕业论文(设计)是否完成规定任务,达到了学士学位论文的水平,是否同意参加答辩。评审意见:指导教师签名: 评定成绩(百分制):_分毕业设计(论文)答辩会议记录学生姓名高文昌专业班级自动化10903班毕业论文(设计)题目基于FPGA的闹钟系统的设计答辩时间2013年6月16日 至 时答辩地点一、答辩小组组成答辩小组组长:成员:二、答辩记录摘要答辩小组提问(分条摘要列举)学生回答情况评判三、答辩小组对学生答辩成绩的评定(百分制):_分毕业论文(设计)最终成绩评定(依据指导教师评分、评阅教师评分、答辩小组评分和学校关于毕业论文(设计)评分的相关规定)等级(五级制):_答辩小组组长(签名) :秘书(签名):年月日院(系)答辩委员会主任(签名):院(系)(盖章)基于FPGA的闹钟系统的设计学 生:高文昌,电子信息学院指导老师:陈英芝,电子信息学院【摘要】FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。VHDL的英文全名是Very-High- eed Integrated Circuit HardwareDescription Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。 本设计基于闹钟系统的原理以及功能的分析,采用自顶向下的设计方法,以现场可编程门阵(FPGA)作为硬件基础,对闹钟系统进行电路设计。本文研究的目的也是利用EDA技术实现闹钟的基本功能。分别介绍了发展历史、设计思路、系统原理、系统功能分析、系统结构、各个模块分析与设计以及主要工作过程,并且经实际电路测试与仿真从而实现了一种基于FPGA的精确可靠的闹钟系统。【关键字】FPGA;闹钟;VHDL;Quartus The Design of Alarm Clock System Based on FPGAStudent: Gao Wen Chang, College of electronic informationTeacher: Chen Ying Zhi, College of electronic informationAbstractA field programmable gate array is FPGA (Field Programmable Gate Array) for short, is the corresponding complex programmable logic device CPLD (Complex Programmable Logic Device) for short, the two functions the same, but slightly different implementation principle, Sometimes you can ignore this difference between the two, referred to as programmable logic device or CPLD / PGFA. VHDL full name in English is the Very-High-eed Integrated Circuit HardwareDescription Language, was born in 1982. The end of 1987, VHDL is IEEE and the U.S. Department of Defense recognized as the standard hardware description language. Since the IEEE published a standard version of VHDL, IEEE-1076 (87 short version), the various EDA companies have introduced their own VHDL design environment, or announced their own design tools and VHDL interfaces. Since then the field of electronic design in VHDL is widely accepted, and gradually replaced the original non-standard hardware description language. The design is based on the analysis of the alarm system and its functions, using top-down design approach to field programmable gate array (FPGA) as a hardware foundation, on the alarm system circuit design.Purpose of this paper makes use of EDA techniques to achieve the alarm clock function .Introduce the research background, the development history, the development tendency, the research mentality,the system principle, the system function analysis, the system structure ,each module analysis and the design as well as the prime task process separately. And by the actual circuit testing and simulation in order to achieve an accurate and reliable based on the number of FPGA alarm system.Key wordsFPGA;Alarm clock; VHDL;QuartusXI前言 基于FPGA的闹钟系统的设计1 前言现代社会数字集成电路被广泛应用到生活中的各个领域当中。数字集成电路也在不停的更新换代。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。而使用FPGA可编程芯片的仪器仪表已被广泛应用,这样为我们使用硬件空间的FPGA器件中再嵌入一个记时闹钟提供了极大的方便,而且不会增加成本,并可以使系统的结构更加简单,体积更小,成本更低,更具有市场价值和经济意义。第 1 页 (共 51 页)选题背景 2 选题背景2.1选题来源本课题来自于实验室研究项目。2.2研究目的及意义现代社会数字集成电路被广泛应用到生活中的各个领域当中。数字集成电路也在不停的更新换代。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。而在许多仪器仪表中都用到闹钟定时,目前通常是采用专用的数字闹钟芯片,但是这种芯片功能固定,不利于嵌入式应用。而且,在一起仪表中的许多应用场合已经采用了FPGA可编程芯片。这样一来,为我们在使用硬件空间的FPGA器件中在嵌入一个计时闹钟提供了极大的方便,而且不会增加成本,并可以使系统的结构更加简单,体积更小,成本更低,具有更好的嵌入式和可移植特性。因此,基于FPGA的闹钟系统的设计有较高的实用价值。2.3国内外研究现状及发展趋势六十年代末,七十年代初带闹钟的电子钟表已悄悄在起步,因为客观存在成本低,精度高,显示直观方便(不用上发条)的优点冲击了传统机械表的统治地位。到九十年代初基本垄断了钟表市场。而随着时代的发展,在生产生活中对计时工具的要求也逐渐提高,高效节能的理念深入人心,功耗大开发周期长的传统电子表已经显然不适合时代的要求。20世纪末数字电子技术得到飞速的发展,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电视到数字电话,从家用电器到军用设备,第 3 页 共 104 页从自动化到航天技术都广泛的采用了数字电子技术。现代工艺技术的进步使FPGA性能更强,芯片朝着高密度、低压、低功耗的方向挺进。有人尝试利用芯片的分时复用特性,用较小规模的FPGA芯片来实现更大规模的数字时序系统,结果发现常规的SRAM的FPGA只能实现静态系统重构。但是,要实现高速的动态重构,就需要对FPGA的结构进行革新。可以预见,一旦实现了FPGA的动态重构,则将引发数字系统设计思想的巨大转变。此外,半导体产品的一贯目标是以更小的尺寸、更低的成本和更小的功耗,获得更高的质量和性能。从设计角度来看,他的趋势是以各种红模块的集成来代替分离的芯片,混合FPGA便是这一趋势下的必然产物。混合FPGA是指将各类数字电路单元(可编程逻辑、CPU/DSP、存储器等)和模拟电路单元(模拟线性电路、A/D、D/A等)集成在一起的FPGA。由于混合FPGA不需要驱动芯片外的数字负载,因而可以满足产品对低功耗高性能的要求。利用FPGA使得电子闹钟的设计效率极大的提高,缩短了设计周期,节省了设计成本。2.4本课题的研究指导思想和技术设计闹钟的数字化给人们生产生活带来了极大的方便,而且大大地简化了钟表原先的闹铃功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数第 3 页 (共 51 页) 字闹钟及扩大其应用,有着非常现实的意义。本课题以FPGA为基础,采用高层硬件描述语言VHDL进行闹钟系统的设计。首先程序文本输入,处理(编译、检查、逻辑优化与综合、适配、分割、布局、布线、生产编程数据文件),然后进行仿真,最后下载到FPGA器件中进行功能测试,进行输入操作、查处输入结果验证设计电路。本设计中的闹铃系统主要完成以下功能:(1)记时功能:这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。(2)闹铃功能:如果当前时间与设置的闹铃时间相同,则扬声器发出蜂鸣声。(3)设置新的计时器时间:用户用数字键09输入新的时间,然后按“TIME”键确认。在输入过程中,输入数字在显示屏上从右到左依次显示。例如:用户要设置新的时间是12:34,则按顺序输入“1”“2”“3”“4”键,与之对应,显示屏上依次显示的信息为“1”,“12”,“123”,“1234”。如果用户在输入任意几个数字后较长时间内,例如5S,没有按任何键,则计时器恢复到正常的计时显示状态。第 15 页 (共 51 页)(4)设置新的闹铃时间:用户用数字键09输入新的时间,然后按“ALARM”键确认。过程与3类似。(5)显示所设置的闹铃时间:在正常计时显示状态下,用户直接按下“ALARM”键,则已设置的闹铃时间显示在显示屏上。由设计要求可以看出,整个系统的设计主要包括以下几个组成部分:用于键盘输入的缓冲器;用于时钟计数的计数器;用于保存闹铃时间的寄存器;用于显示的七段数码管显示电路以及控制以上各个部分协同工作的控制器。FPGA简介 3 FPGA简介3.1 FPGA概述FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLA/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。3.1.1 FPGA基本结构FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IRInterconnect Resource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路3.2 FPGA编程原理硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。CPLD/FPGA软件设计可分为两大块:编程语言和编程工具。编程语言主要有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)。具体的设计输入方式有以下几种:1. HDL语言方式。HDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。 2.图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。有的软件3种输入方法都支持,如Active-HDL。MAX+plusII 图形输入方式只支持电路原理图描述和波形描述两种。电路原理图方式描述比较直观和高效,对综合软件的要求不高。一般大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片利用率很高,但是但项目很大的时候,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。这种输入方式最后所能达到的工作速度和芯片利用率也是主要取决于综合软件。3.3 FPGA设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOP DOWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图1所示。系统划分编译器代码级功能仿真错误!未找到引用源。综合器源。适配前时序仿真错误!未找到引用源。 适配器CPLD/FPGA实现适配后仿真模型错误!未找到引用源。适配后时序仿真适配报告ASIC实现VHDL代码或图形方式输入错误!未找到引用源。仿真综合库器件编程文件错误!未找到引用源。图1 FPGA设计流程流程说明:(1)工程师按照“自顶向下”的设计方法进行系统划分。(2)输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。(3)将以上的设计输入编译成标准的VHDL文件。(4)进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。(5)利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。(6)利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。(7)利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。(8)在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。3.4 VHDL语言与Quartus3.4.1 VHDL语言简介 VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来 ,VHDL 语言主要具有以下优点: (1) VHDL 语言功能强大 设计方式多样VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。 (2) VHDL 语言具有强大的硬件描述能力 VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3) VHDL 语言具有很强的移植能力 VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4) VHDL 语言的设计描述与器件无关 采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。 (5) VHDL 语言程序易于共享和复用 VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用。 由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享, 从而减小硬件电路设计的工作量, 缩短开发周期。3.4.2 Quartus简介 Altera公司的CPLD/FPGA设计工具软件Quartus是适合单芯片可编程系统(SOPC)的最全面的设计环境。 Altera公司()的逻辑方案涉及的工业应用非常广泛,包括:有线通信、无线网络、数据通信、计算机、高容量处理器、医疗设备、外围设备等。从网络交换设备到接入网、宽带无线通信、IP电话网关、Intemet服务器、视频服务器、路由器、图像处理、工业控制等,皆有其产品的应用。 Quartus开发工具支持的Altera公司主流FPGA全部系列,器件支持如表所示。表1 器件说明器 件说 明Stratix最高的性能,最高的密度,大量的存储资源,特性丰富的平台StratixGX最高的性能结构,高速串行收发器cyclone低成本,替代ASIC,适用于价格敏感的应用APEX高密度,高性能,支持高速差分I/O标准Mercury高性能,高带宽,中密度,包括时钟数据恢复(CDR)支持Excalibur高性能,处理器硬核解决方案APEX20K/KE高性能,中到高密度FLEXl0K/KE低成本,低到中密度ACEX 1K低成本,低到中密度HardCopy高密度,大批量ASIC替换器件Quartus系统特点总览 1.第一款从FPGA至掩膜器件的完整设计工具。 Quartus新版软件可以在FPGA开发的初期就提供HardCopy掩膜器件的设计性能参数。 2.基于模块的设计方法提高工作效率 Quartus软件为用户提供了LogicLock基于模块的设计方法,便于用户独立设计和实施各种设计模块,并且在将模块集成到顶层工程时仍可以维持各个模块的性能。由于每一个模块都只要进行一次优化,因此LogicLock流程可以显著缩短设计和验证的周期。 3.更快集成IP Quartus软件包括SOPC Builder工具,SOPC Builder针对可编程片上系统(SOPC)的各种应用自动完成IP核(包括嵌入式处理器、协处理器、外设、存储器和用户设定的逻辑)的添加、参数设置和连接等操作。 4.前期I/O分配和验证 设计软件可以在设计文件完成之前进行I/O分配和验证。芯片编辑器(ChipEdit) 新的芯片编辑器允许设计者在完成布局布线之后查看Altera器件的内部详细结构,增量编辑逻辑单元(LE)和FO单元的配置和锁相环参数。 5.存储器编译器 用户可以使用Quartus软件中提供的存储器编译器功能对Altera FPGA中的嵌入式存储器进行轻松管理。增加了针对FIFO和RAM读写操作的基于现有设置的波形动态生成功能。 6.增量编译 少量修改VHDL或VerilogHDL源文件,用Quartus软件或第三方综合软件进行逻辑综合之后,新的增量布线特性可以在布局布线过程中把逻辑布局限制在新的或改变的逻辑中。 7.支持CPLD、FPGA和基于HardCopy的ASIC 设计流程可独立执行 Quartus软件是全新的体系,设计流程的主要阶段都可独立执行,这些阶段包括综合、映射、装配、设计规则检查、时间分析和器件编程。使用全新的命令行和脚本功能自动化设计流程用户可以使用命令行或Quarras软件中的图形用户界面(GUl)独立运行Quartus软件中的综合、布局布线、时序分析以及编程等模块。除了提供Synopsys设计约束(SDC)的脚本支持以外,Quartus软件中还包括了易用的工具命令语言(Tcl)界面,允许用户使用该语言来创建和定制设计流程并满足用户的需求。 8.高级教程帮助深入了解Quartus的功能特性 Quartus软件提供详细的教程,覆盖从工程创建、普通设计、综合、布局

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论