1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2500字左右的文献综述:
1 FPGA简介
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)、可编程逻辑器件PLD(Programmable Logic Device)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC(Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74系列电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了电子设计自动化EDA(Electronic Design Automatic)软件和硬件描述语言VHDL(Very-High-Speed Integrated Circuit Hardware Description)的进步。
采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC电路的中试样片。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。设计人员利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本。此外,FPGA还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。因此,FPGA技术的应用前景非常广阔。
2 FPGA与ASIC、CPLD的比较
2.1 FPGA和ASIC的比较
ASIC是英文的Application Specific Integrated Circuits缩写,即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速度以及编程方式上具有各自的特点。ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比具有体积更小、重量更轻、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。FPGA特别适合于样品研制或小批量产品开发, 使产品能以最快的速度上市,而当市场扩大时,它可以很容易的由ASIC实现,因此开发风险也大为降低。
2.2 FPGA与CPLD的比较
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
一是CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
二是CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
三是在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
四是FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
五是CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FAST FLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
六是PLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
七是在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
八是CPLD保密性好,FPGA保密性差。
九是一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
3 软件编程
通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的EDA设计方法有更明显的优势(当时的主要设计文件是电路图)。因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。这也是HDL语言设计系统硬件的最突出的优点之一。并且在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述。而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。在系统的底层设计中,由于其对系统很强的行为描述能力,可以不必使系统层层细化,从而避开具体的器件结构,从逻辑行为上直接对模块进行描述和设计,随后EDA设计软件或相应的第三方工具软件中的综合器将程序自动综合成为具体FPGA/CPLD等目标芯片的网表文件,这种避开具体器件结构的方式也是它的重要优势之一。
4 开发板性能简介
a)功能强大,用户既能学习FPGA技术,又可以根据自己爱好和需要,选择何种学习功能。
b)可持续性学习,FPGA的所有IO口全部引出来,均可用于扩展。用户可以根据自己的需要,设计实际电路,然后通过这些IO口连接到FPGA上,完成所需功能。
c)FPGA开发板上的所有模块单元都已连线,省去了连线的烦恼,同时FPGA芯片所有可用I/O都通过自锁紧插座引出,方便做扩展实验,而且FPGA芯片由于管脚密集,在引脚插座旁都标有对应的管脚号,对所用的管脚一目了然。开发板上FPGA芯片带有JTAG,因此开发板在使用时,可以通过JTAG下载方式进行调试,大大的节省了开发成本和时间。
参考文献
3 宋万杰等.CPLD技术及其应用.西安:西安电子科技大学出版社,1999
5 朱明程.FPGA原理及应用设计.北京:中国电子工业出版社,1994,5
6 禇振勇.FPGA设计及应用.西安:西安电子科技大学出版社,2002
7 潘松,王国栋.VHDL实用教程.西安:电子科技大学出版社,2002
8 卢毅,赖杰.VHDL与数字电路设计.北京:科学出版社,2001
9 黄正瑾,徐坚.CPLD系统设计技术人门与应用(第一版).成都:电子工业出版社,2002
10 FPGA For Cache Logic.Printed on recycled paper of Atmel.Corp,1995.5
11 Thomas D E.Moorby P R.The Verilog Hardware Description Language 2 seconded.Kluwer Academic Publishers,1996
12 Xilins.Libraries Guide ISE.3I,2003
2.本课题要研究或解决的问题和拟采用的研究手段及途径
1 课题内容:基于FPGA的开发板研制
2 基本要求
a)用FPGA开发板实现简单实验;
b)FPGA实现DA转换;
c)FPGA实现AD转换、数码显示实验。
3 语言选择
由于VHDL处于门级描述语言的底层,所以在复杂数字逻辑电路和系统的设计仿真时具有优势。用VHDL语言描述的设计思想、电路结构和逻辑关系清晰明了,并且设计语言简练、易学易用,其模块化分层结构在大规模设计时更能体现出优势。因此可以看出,VHDL语言在EDA设计中相对于其他的各种硬件描述语言更有优势。
4 具体工作安排
a)进一步加深对VHDL知识的了解;
b)根据要求把设计分成具体模块、分析设计流程;
c)熟悉每个模块的功能和技术特性;
d)编译、测试并修改程序;
e)绘制电路原理图;
f)熟练掌握开发板的工作原理。