为缓解我国电子信息产业快速发展与核心技术人才紧缺的矛盾,中电网(ECCN)在信息产业部的支持下,联合国际著名集成电路设计厂商和清华大学等国内顶级高校,于2006年隆重推出电子工程与集成电路技术培训项目。2007年5月31日,首期Altera FPGA技术培训学员正式结业,结业典礼在京沪两地隆重举行。典礼上专家组共评选出8篇优秀结业论文,为了与读者分享学员们的学习心得与体会,本刊将陆续刊登这些优秀论文,以飨读者。更多详情敬请登录 http://training.ECCN.com/。
前言
随着微电子设计技术与工艺的发展,数字集成电路从电子管、晶体管、中小规模集成电路、超大规模集成电路(VLSIC)逐步发展到专用集成电路(ASIC),今天已进步到能完成超大规模的复杂组合逻辑与时序逻辑的复杂可编程逻辑器件(CPLD)和现场可编程逻辑器件(FPGA)。新一代的FPGA甚至集成了中央处理器或数字处理器内核,在一片FPGA上进行软硬件协同设计,这一改进为实现片上可编程系统提供了强大的硬件支持。
对FPGA技术发展的认识和看法
目前常用的可编程逻辑器件主要有简单的逻辑阵列(PAL/GAL)、复杂可编程逻辑器件 (CPLD)和现场可编程逻辑器件(FPGA)。就FPGA而言,它不是传统意义上的通用可编程逻辑,而是更像一个可编程的片上系统(SOPC),且内部硬件功能模块日渐丰富,如片内RAM、锁相环(PLL)、数字信号处理(DSP)模块、专用高速电路甚至嵌入式CPU。
FPGA的基本结构
F PGA基本由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。
FPGA的发展趋势
FPGA未来的发展趋势可总结为四个要点:
⑴先进工艺:最先进的ASIC生产工艺将被更广泛地应用于以FPGA为代表的可编程逻辑器件中;
⑵处理器内核:越来越多的高端FPGA产品将包含DSP或CPU等处理器内核,从而FPGA将由传统的硬件设计手段逐步过渡为系统设计平台;
⑶ 硬件与结构化ASIC:FPGA将包含功能越来越丰富的硬核,与传统ASIC进一步融合,并通过结构化ASIC技术加快占领部分ASIC市场;
⑷低成本器件:低成本FPGA的密度越来越大,价格越来越合理,将成为FPGA发展的中坚力量。
设计课题的总结
设计课题的确立
在这次中电网FPGA设计培训过程中,主要设计课题资源为:
1.培训试验板主要采用Altera公司的CycloneII系列 的EP2C5T144C8。
2.核心板采用1M×16bit的flash,256K×16bit的Sram,可以支持Nios II系列实验。
3 .采用的串行配置器件包括EPCS1,同时支持AS和JTAG的下载方式,支持Nios II软核嵌入式处理器。
4.提供的实验资源包括:
a、1个7段数码管
b、7个LED
c、4个轻触按键
d、256色标准VGA彩显接口
e、1个PS/2鼠标/键盘接口
f、1个RS232接口
Altera FPGA系统的组成和结构
Altera公司的可编程逻辑产品可以分为高密度FPGA、低成本FPGA和CPLD。Altera高密度FPGA主要为StratixⅡ,它采用了全新的逻辑结构——自适应逻辑模块(ALM)。Altera FPGA主要结构特性为:
? 平面布局和设计原则
? 互连线资源、逻辑阵列块(LAB)和逻辑单元(LE)
? 内嵌RAM块
? 时钟网络和锁相环(PLL)
? DSP块
? I/O结构
? 高速差分I/O接口
对于Altera FPGA设计开发来说,一个完整的FPGA设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证、板级仿真验证与调试等主要步骤。而常用的工具则可分为综合工具、仿真工具、实现工具、辅助设计和其他工具等5类,Altera FPGA设计开发平台为Altera Quartus Ⅱ。
设计方法
在FPGA培训过程中,通过实际运用来学习FPGA设计,主要步骤为:
1.熟悉Altera Quartus Ⅱ软件及开发流程。Altera Quartus Ⅱ软件集成了Altera的FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口,通过使用此综合开发工具,进行创建、组织和管理自己的设计。Altera Quartus Ⅱ开发流程有5个方面的内容:设计输入、综合、布局布线、仿真、编程和配置。
2.参照《THCII-1创新SOPC实验套件实验教材》和《实验平台使用说明》,根据所提供的实例和详细的操作步骤进行实验,初步了解Altera Quartus Ⅱ软件的使用方法、开发流程、配置管理以及软件结构编辑。
3.通过中电网提供的视频教学和疑难解答进行学习,进一步加深对FPGA硬件结构的了解。
4.通过网络与其他对FPGA颇有研究的同仁交流。
5.编写程序,通过SOPC实验套件进行试验。
设计实验总结
在学习FPGA的整个过程中,自己也积累了一些经验:
? 建立起对FPGA学习的兴趣,遇到困难时要勇于面对它,并想办法解决。
? 要对数字系统设计有比较全面的把握,如寄存器、内存、计数器、DSP等,尽力拓宽自己的知识面,比如数字电路、高速时钟系统、电路工艺方面及系统设计等。
? 结合具体项目进行设计开发应用,这样才能有一个明确的进步方向。
? 尝试着从硬件底层起进行一些开发和设计。
? 多动手,增加实践经验。
? 多借用成功者的经验,拓宽自己的视野,通过网络到各种EDA论坛进行技术设计交流,提高自己。
? 对要求实现的算法或者系统有一个清楚的认识。
? 按照FPGA的设计流程进行设计,可以起到事半功倍的效果。
FPGA的设计流程一般如下:
图1 FPGA设计流程图象(略)
|