首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年11月21日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
FPGA技术培训结业报告

Report on the Completed Training Program of FPGA Technology

中科院微电子所 李志刚



因对FPGA(现场可编程门阵列)技术设计有浓厚兴趣,故参加了国家信息产业部软件与集成电路促进中心主办、中电网承办的FPGA技术培训。

从某种程度而言,远程网络教学有其明显的优势:可以随听随停,反复播放,这种方式有利于及时掌握所学内容,同时还便于对重点进行深入分析思考。个人独立学习、独立思考,遇到难题可通过邮件或以在线座谈的形式向老师请教,学习能力和解决问题的能力都可以得到提高。

经过半年的学习,笔者系统掌握了FPGA的设计流程、SoPC的设计方法、用FPGA设计组合逻辑和时序逻辑的方法,以及常用的VHDL语言用法和一些常用数字模块的VDHL语言描述,同时还学会了使用FPGA的DSP嵌入系统开发工具、用NiosⅡ软核进行SoPC设计,并且对IP核、模块化设计、Altera HardCopyⅡ结构化ASIC等有了较深入的理解。

可编程逻辑器件可以分为简单PLD和复杂PLD,简单PLD分为:PROM、PLA、PAL及GAL,复杂PLD分为:CPLD和FPGA,复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)是这次培训学习的主要内容。CPLD一般是基于乘积项结构的,FPGA的内部结构主要有两类:一类是SRAM查找表结构,一类是反熔丝的 多 路开关结构。目前,市场上有代表性的CPLD/FPGA 器件厂商有Altera 、 X ilinx、Lattice以及Actel等,其中Altera 和Xilinx占有大部分市场份额。Altera公司的主流PLD器件有:高密度FPGA,如Stratix、Stratix Ⅱ、Stratix III、Stratix GX及StratixⅡ GX等;低成本FPGA,如Cyclone、 CycloneⅡ和Cyclone III等;CPLD器件,如MAX和MAXⅡ等。 CPLD和FPGA的应用范围非常广泛,在视频及图像处理、便携应用、汽车电子、个人医疗设备、游戏设备、通讯、工业及军事等诸多领域中,都发挥着不可替代的作用。从目前的市场分析来看,FPGA的销售量正在逐年上升,它占据的市场份额越来越大,已经成为了数字电子设计系统的核心和基石,并将逐渐成为数字设计中必不可少的部分。

CPLD/FPGA设计流程主要包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证及板级仿真验证与调试等主要步骤。电路设计与输入最常用的方法是硬件描述语言(HDL),其中影响最为广泛的是VHDL和Verilog HDL。通过这次培训笔者掌握了VHDL的基本概念、语句结构、语言现象及描述方法等,基本内容概括如下:VHDL主要部件分为两个层次,即硬件层次和软件层次。在硬件层次里主要的单元是实体(entity),它用来定义硬件外部接口;软件层次由软件包和软件包体构成,软件包对应了硬件层次的实体,软件包体对应了硬件层次的结构体。VHDL包含2大类语句,即顺序描述语句和并行描述语句;有3类数据对象,即变量、常量和信号;有4种运算符,分别为逻辑运算符、算术运算符、关系运算符和并置运算符;有5种预定义属性,包括值类属性、函数类属性、信号类属性、数据类型类属性及数据范围类属性。并行描述语句可以分为进程语句、并行信号赋值语句、并行断言语句、参数传递语句、元件例化语句和生成语句等6类。此外,笔者对VHDL语言的元素、结构、子结构、描述语句、预定义属性、配置以及常用的程序模块等7部分也有了一定的理解。VHDL中定义的标准数据类型有位和位矢量、布尔量、字符和字符串、整数、自然数和正整数、实数、时间及错误等级等8类;常用的数字电路模块有基本门电路、编码器、译码器、选择器、运算器、触发器、寄存器、计数器以及有限状态机等9类;顺序描述语句包含有信号和变量赋值语句、WAIT语句、IF语句、CASE语句、LOOP语句、RETURN语句、NULL语句、REPORT语句、跳出循环语句以及顺序断言语句等10种。

在软件的使用方面,笔者学会了用Quartus Ⅱ软件进行仿真、布局布线 、优化和综合等操作,以及用Modelsim进行仿真、用Leonardo Spectrum进行综合的操作方法。同时,还学会了利用IP核进行系统设计,用DSP Builder进行DSP嵌入系统开发,用Nios II及SoPC Builder进行嵌入处理器的系统开发,并理解了FPGA模块化设计和Altera的HardCopy II结构化ASIC等。

在实验调试过程中,笔者发现了许多问题,如在某实验显示的结果中,十六进制数下面的横杆显示有错误,经过检查,发现是显示的嵌套程序中的输入出现了错误,经过此项实践,笔者对显示器的工作原理有了更深的理解,并掌握了FPGA和VGA接口设计的方法;在PS/2键盘实验中,发现只能输入十六进制的数,通过对键盘原理的学习和对扫描码的理解,对其做出改进,便可以输入更多的字母;在利用宏功能模块设计的实验中,体会到了它的方便和快捷;在串口的实验中,接收到的数据总是出现错误。两个SoPC实验比前几个要复杂一些,这也使笔者真正体验到了系统的概念以及片上可编程系统的妙处。实验过程中还有很多问题,它们加深了笔者对FPGA设计的理解,进而提高了FPGA设计能力以及软件和硬件调试能力。

通过这次培训,笔者对FPGA的发展前景也有了一定的看法和认识,随着半导体工艺的发展,FPGA的应用领域还会有更大的拓展,在以下几个方面还会有很大的发展空间:

1)向传统的ASIC应用领域进军

随着半导体工艺发展到深亚微米,ASIC设计成本变得难以承受,FPGA可以趁此机会,设计出适合批量生产的FPGA全新逻辑器件,如Altera的Cyclone系列器件。降低成本的另一个途径是HardCopy结构化的ASIC,它可以从FPGA转化成低成本平台,在实现功能和性能的同时,硅片面积可减少70%,成本可以减少90%。

2 )融合数字模拟混合信号的FPGA

数 字可编程设计给电子设计行业带来了巨大变化,同时也大大促进了其他行业的发展,提高了人们的生活水平。然而,模拟可编程也是必然的趋势,虽然它面临的困难还很多。随着模拟可编程技术的成熟,将数字和模拟可编程融合在一起的技术也必将是大势所趋,这会使设计人员从概念设计转向完整设计,从而全面提高创新能力。

3)FPGA和MEMS(微电子机械系统)的整合

随着MEMS(微电子机械系统)的快速发展,将有更多的微传感器和微执行器面世。将FPGA和MEMS的产品整合在一起,可以实现真正意义上的完整系统。将微传感器、微执行器和FPGA集成在一起,可以实现数据的采集、存储、处理以及输出执行等一系列进程,这将给电子行业乃至其他行业带来全新的改变。

通过这次培训,笔者收获颇丰。在FPGA的设计思想和方法、VHDL语言的学习掌握、各种软件的使用、实验板上硬件的调试以及现代化的教育学习手段等诸多方面,都有了很大的进步,更为重要的是,FPGA的设计能力也极大地提高了。通过网络这个平台,笔者和其他学员一起分享学习经验、互帮互助、共同提高,对FPGA的应用领域有了进一步的了解,对FPGA的发展有了更深的认识。

《世界电子元器件》2007.10
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com