1、I本科毕业论文(设计)论文(设计)题目:基于 FPGA 的集成块测试仪设计学 院:大数据学院专 业:电子信息科学与技班 级: 学 号: 学生姓名: 指导教师: 年 月 日贵州大学本科毕业论文(设计) I论文(设计)题目:基于 FPGA 的集成块测试仪设计 .I摘 要 .IIIAbstract.IV第一章 引言 .1第二章 开发平台介绍 .22.1 开发芯片的选择 .22.2 开发软件平台的选择 .22.2.1 QUARTUS .22.2.2 Alter Modelsim .22.2.3 Alter Eclipse .32.2.4 Sublime text.3第三章 EDA 设计方法 .43.1
2、 自上而下的(TOP-DOWN )设计理念 3 .43.2 设计语言的选择 3 .53.3HDL 设计流程 .63.4 模块化设计 .7第四章 作品设计 .84.1 总体框图设计 .84.2 硬件描述语言设计 .94.2.1 test_74ls00 模型的设计 .94.2.2 test_74ls_ab_c 模型的设计 .114.2.3 test_74ls_abc_y 模型的设计 .144.2.4 my_pll 模型的设计 .174.2.5 judge_module 模型的设计 .194.2.6 hardware_module 模型的设计 .224.3 nios 系统软核的定制 .254.3.1
3、nios 设计介绍 .254.3.2 需求分析 .264.3.3 软核设计 .26贵州大学本科毕业论文(设计) II4.4 整体模块连接 .294.5 应用程序软件部分设计 .304.5.1 程序功能分析和概述 .304.5.2 程序流程图设计 .314.6 程序程序软件部分设计 .314.7 模块综合 .31第五章 结论和总结 .33参考文献 .34致谢 .35附录 .361.硬件描述语言代码 .361。1 模块 test_74ls_ab_y.361.2 模块 test_74ls_ab_y.381.3 模块 judge_module.402 NIOS 代码 .41贵州大学本科毕业论文(设计)
4、 III摘 要基于 FPGA 的集成块测试仪,采用 SOPC 系(System-on-a-Programmable-Chip),即可编程片上系统,综合了 nios II 嵌入式处理器,实时时序电路,逻辑电路三大系统。他的功能主要是通过和系统中的数据库进行比较,快速准确检测集成块的功能好坏,同时利用 PLL(Phase Locked Loop)倍频提供频率响应上限检测,利用 nios II 嵌入式处理器提供人性化的人机交互,同时利用脚本文件维护代码加速工程设计,利用 ALTERS 公司官方提供的内置原件库进行快速的硬件设计。整个系统综合了 verilog HDL 和 c 语言两大语言的优秀特性,
5、融合了EDA 设计和软件设计两大体系的优点,无论是响应速度,代码维护难度,代码实现难度都有着优秀的品质。关键词:FPGA;片上系统; SOPC;ALTER;集成块测试仪;贵州大学本科毕业论文(设计) IVAbstract贵州大学本科毕业论文(设计) 第 1 页第 1 章 引言集成块测试平台是用来测试类似 74 系类芯片等功能是否正确,芯片是否损坏,和相应的参数的平台。随着电子教育在大学的展开,大学生对于动手制作电子设计的需求越来越大,同时对于各种集成块芯片的需求也相应的提高了,但由于学校使用的芯片属于重复利用的产品,经常要对其进行回收再利用,这样子虽然增加了芯片的重复利用率,节约了资源,但由于
6、学生使用芯片会对芯片造成不可预料的损害,有时候芯片自身由于寿命和存储不当也会造成芯片的损坏,造成了学校芯片存储良莠不齐,对于统计芯片数量,和对芯片进行更新的工作造成障碍。纵观当前市场环境,虽然存在集成块测试的平台,但由于其主要用于工业生产,其体积和性价比都不是学校实验室所能接受的,基于这个原因,我决定开开发一款小型的快速的集成块测试平台。平台选用 FPGA 做为主控芯片,SPOC 系统作为其主要设计思路。贵州大学本科毕业论文(设计) 第 2 页第 2 章 开发平台介绍2.1 开发芯片的选择为了降低代码的维护性,加速检测速度可扩展性,我选择用 FPGA 进行集成块测试平台的设计。FPGA 有以下
7、几种优点,目前 FPGA 芯片具有容量大,速度高,集成度高,灵活性强等特点 1,介于 alter 公司推出的 SPOC 系统(System on a Programmable-Chip),FPGA 可以兼收 cpu 的顺序逻辑和 EDA 设计的并行逻辑各自的优点,同时可以根据项目的需求对 cpu 进行定制,从而达到最佳性价比。为了使用 sopc 功能同时保证逻辑门的数量,这里我们使用ALTERA FPGA 开发板核心板 CYCLONE IV EP4CE。无论是 FPGA 的工艺水平还是其开发工具,都有了长足的发展 2。2.2 开发软件平台的选择2.2.1 QUARTUSEDA 软件我们选择 A
8、lter 公司出品的 Quartus II design ,Quartus II design 是一款可编程逻辑设计平台,其拥有强大设计能力,同时拥有直观的接口,得到数字系统设计者的热爱。当前最新版本是 V15.0,考虑到 v15.0 知识更新了芯片的数据库,和略微提高了编译速度,这里我们选用稳定版本 v13.0。2.2.2 Alter ModelsimQuartus 9.0 版本软件本身支持仿真,在往后的版本此功能从软件中阉割出去,这里我的波形仿真软件使用 Mentor 公司出品的 Modelsim 软件,Modelsim是业界最优秀的(HDL)高速逻辑设计语言仿真软件,他不仅提供了友善的仿
9、真环境,是行业内唯一支持 VHDL 和 Verilog HDl 混合仿真的仿真器。他采用直接优化编译技术,不仅拥有但内核仿真,编译速度快,还拥有编译代码和平台无关,利于保护 IP 核(intellectual property core)。不仅提供良好的用户交互界面,还提供脚本语言加快工程的建立,解决重复工作,提供工作效率。是贵州大学本科毕业论文(设计) 第 3 页FPGA 设计的首选仿真软件。考虑到我们的代码量并不会那么多,同时为了软件间的无缝交流,这里我依然选择 Alter 公司提供的 Modelsim。2.2.3 Alter EclipseSOPC 系统 c 语言编写软件我这里选用 al
10、ter 提供的 Nios II 13.1 Software Build Tools for Eclipse。Eclipse 是一款开放源代码的、基于 Java 开发平台。就其本身而言,它仅是一个框架加上一组服务,通过插件组件构建 IDE 开发环境.Alter 公司基于 Eclipse 开发的 IDE 不仅保留了 Eclipse 的优秀的开发和调试环境,还提供了与 Quartus 的无缝沟通。2.2.4 Sublime text由于 Quartus 提供编写环境并不是十分优秀,代码编写软件我这里使用sublime text。 Sublime text 虽然是一款收费软件但可以无限期试用, Sub
11、lime Text 具美者以户界面与强也,如代码缩略图,Python 之插件,代码段等。同样也可自定义键绑定,工具栏,菜单。Text 之大气包 Sublime:拼写检,书签,API 完之 Python,Goto 功,即目切换,多择,余窗云云。Sublime Text 为一跨平台之编辑器,还支持 Windows、Mac OS X、Linux、等系统。同时 sublime text 还支持语高亮,代码段脚本自动生成,等功能,提高编写的编写速度。贵州大学本科毕业论文(设计) 第 4 页第 3 章 EDA 设计方法3.1 自上而下的(TOP-DOWN)设计理念 3数字电子技术工程师现在正面临着前所未有
12、的挑战。一方面,电子公司要求工程师在更短的时间里,使用更少的资源来设计新产品,而且性能要比竞争产品好。另一方面,技术变化非常快,不同的客户有完全不同的需求,要求有更具个性化的产品。因此,EDA 技术应运而生,成为解决以上“所有”问题的很好的技术选择 4。当今社会,集成电路执照工艺越来越精密,在一个芯片上集成百上千万的器件已经不再是范范而谈,由此产生了一个很严重的问题,我们无法保证设计师能够独立完成如此规模庞大的电路而一点错误也不出现。利用层次化,结构化的设计方法,一个完成的硬件设计任务首先由总设计师规划为若干个可操作的模块,编制出相应的模型,通过仿真及易验证后,再把这些模块分给下一层设计师,这
13、就允许了多个设计者同时设计一个硬件系统中的不同模型,其中每个设计者负责的自己所承担的部分,而由上一层设计师对其验证。自顶向下的示意图,以设计树的形式绘出如今电路造工者日益改善,令于一芯片上集数百万个亮器件成为了正常,但我难说一个设计师独成如此大之电路而不有误 3。用层次化,结构化之设法,一方面,硬件设计师先由总设计师规为若干人可行之模块,然后做出相应的模型,当仿真检验成功后,将这些模块分给下一层设计师,这就是多个设计者共同设计一硬件系统中的不同模型,每个设计者掌握自己负责的地方,而由上一层设计师对其进行验证。自顶向下设计示意图如图一所示贵州大学本科毕业论文(设计) 第 5 页自顶向下设计方法是
14、从系统级开始,以系统级为单元,然后根据每个单元再来设计下一单元,直到最后,可以用 EDA 元件库进行描述。3.2 设计语言的选择 3当前的硬件描述语言主要分 Verilog HDL 和 VHDL 两大流派。 VHDL 全名为 VHSICHDL 全称是 Very High Speed Integerated Circuit Hardware Description Language,超高速度的集成电路的硬件描述设计语言。 Verilog HDL 是硬件描述语言的其中一种,用来设计数字电子系统。verilog HDL 和 VHDL 各有各自的特点,因为 Verilog HDL 再 1983 年就推出了,到目前为止有 13 年的历史,因此 verilog hdl 有更广泛的使用群体,成熟的资源也比 VHDL 要丰富。与 VHDL 相比 verilog HDl 更大的优点是,他是一种十分容易学习的硬件描述语言,只要对 C 语言有一定的编程基础,通过短时间的学习,再加上一段时间的操作,一般可以在短时间内掌握这种技术。而掌握VHDL 设计技术就比较困难。这是因为 VHDL 设计语言并不是十分直观,需要有Ada 编程的基础,一般要经过较长的时间掌握熟练 4。目前两种语言在行为级抽图 3-1