《电子工程师创新设计必备宝典系列之FPGA开发全攻略》
FPGA开发全攻略
—
工程师创新设计宝典
上册
基础篇
2009年2月 1.0版
2.
FPGA开发全攻略
—
工程师创新设计宝典
上册 基础篇
前言
2008年,我参加了几次可编程器件供应商举办的技术研讨会,让我留下深刻印象的是
参加这些研讨会的工程师人数之多,简直可以用爆满来形容,很多工程师聚精会神地全天听
讲,很少出现吃完午饭就闪人的现象,而且工程师们对研讨会上展出的基于可编程器件的通
信、消费电子、医疗电子、工业等解决方案也有浓厚的兴趣,这和其他器件研讨会形成了鲜
明的对比。
Garnter和iSuppli公布的数据显示:2008年,全球半导体整体销售出现25年以来首次
萎缩现象,但是,可编程器件却还在保持了增长,预计2008年可编程逻辑器件(PLD)市场销
售额增长7.6%,可编程器件的领头羊美国供应商赛灵思公司2008年营业收入预计升6.5%!
在全球经济危机的背景下,这是非常骄人的业绩!也足见可编程器件在应用领域的热度没有
受到经济危机的影响!这可能也解释了为什么那么多工程师对可编程器件感兴趣吧。
在与工程师的交流中,我发现,很多工程师非常需要普及以FPGA为代表的可编程器
件的应用开发知识,也有很多工程师苦于进阶无门,缺乏专业、权威性的指导,在Google
上搜索后,我发现很少有帮助工程师设计的FPGA电子书,即使有也只是介绍一些概念性的
基础知识,缺乏实用性和系统性,于是,我萌生了出版一本指导工程师FPGA应用开发电子
书的想法,而且这个电子书要突出实用性,让大家都可以免费下载,并提供许多技巧和资源
信息,很高兴美国赛灵思公司对这个想法给予了大力支持,赛灵思公司亚太区市场经理张俊
伟小姐和高级产品经理梁晓明先生对电子书提出了宝贵的意见,并提供了大量FPGA设计资
源,也介绍了一些FPGA设计高手参与了电子书的编撰,很短的时间内,一个电子书项目团
队组建起来,北京邮电大学的研究生田耘先生和赛灵思公司上海办事处的苏同麒先生等人都
参与了电子书的编写,他们是有丰富设计经验的高手,在大家的共同努力下,这本凝结着
智慧的FPGA电子书终于和大家见面了!我希望这本电子书可以成为对FPGA有兴趣或正在
使用FPGA进行开发的工程师的手头设计宝典之一,也希望这个电子书可以对工程师们学习
FPGA开发和进阶有实用的帮助!如果可能,未来我们还将出版后续版本!
张国斌
电子书主编
2009年2月25日
FPGA开发全攻略
—
工程师创新设计宝典
上册 基础篇
目 录
前言 2
第一章、为什么工程师要掌握FPGA开发知识?
5
第二章、FPGA基本知识与发展趋势
7
2.1 FPGA结构和工作原理 7
2.1.1 梦想成就伟业 7
2.1.2 FPGA结构
8
2.1.3 软核、硬核以及固核的概念
15
2.1.4 从可编程器件发展看FPGA未来趋势
15
第三章、FPGA主要供应商与产品 17
3.1.1 赛灵思主要产品介绍 17
第四章、FPGA开发基本流程 29
4.1 典型FPGA开发流程与注意事项 2 9
4.2 基于FPGA的SOC设计方法
3 2
基于FPGA的典型SOC开发流程为 32
第五章、FPGA实战开发技巧 33
5.1 FPGA器件选型常识 3 3
5.1.1器件的供货渠道和开发工具的支持 3 3
5.1.2 器件的硬件资源
3 3
5.1.3 电气接口标准
34
5.1.4 器件的速度等级
35
5.1.5 器件的温度等级
35
5.1.6 器件的封装
3 5
5.1.7 器件的价格
3 5
5.2 如何进行FPGA设计早期系统规划 3 6
5.3.综合和仿真技巧
3 7
5.3.1 综合工具XST的使用 37
5.3.2 基于ISE的仿真
42
5.3.3 和FPGA接口相关的设置以及时序分析
45
5.3.4 综合高手揭秘XST的11个技巧
51
5.4 大规模设计带来的综合和布线问题 5 2
5.5 FPGA相关电路设计知识
5 4
FPGA开发全攻略
—
工程师创新设计宝典
上册 基础篇
5.5.1 配置电路 54
5.5.2 主串模式——最常用的FPGA配置模式
56
5.5.3 SPI串行Flash配置模式
58
5.5.4 从串配置模式
62
5.5.5 JTAG配置模式
63
5.5.6 System ACE配置方案
64
5.6 大规模设计的调试经验 6 8
5.6.1 ChipScope Pro组件应用实例 68
5.7 FPGA设计的IP和算法应用 7 4
5.7.1 IP核综述 74
5.7.2 FFT IP核应用示例
75
5.8 赛灵思 FPGA的专用HDL开发技巧 7 9
5.8.1 赛灵思 FPGA的体系结构特点 79
5.8.2 赛灵思 FPGA 芯片专用代码风格
79
ISE与EDK开发技巧之时序篇 83
5.10 新一代开发工具ISE Design Suit10.1介绍 8 5
5.10.1 ISE Design Suit10.1综述 85
5.10.2 ISE Design Suit 10.1的创新特性
85
5.11 ISE与第三方软件的配合使用技巧 9 2
5.11.1 Synplify Pro软件的使用 9 2
5.11.2 ModelSim软件的使用
99
5.11.3 Synplify Pro、ModelSim和ISE的联合开发流程
104
5.11.4 ISE与MATLAB的联合使用
105
5.12 征服FPGA低功耗设计的三个挑战 108
5.13 高手之路——FPGA设计开发中的进阶路线
111
附录一、FPGA开发资源总汇 112
附录二、编委信息与后记
113
附录三、版权声明
114
5.
FPGA开发全攻略
—
工程师创新设计宝典
上册 基础篇
第一章、为什么工程师要掌握FPGA开发知识?
作者:张国斌、田耘
2008 年年初,某著名嵌入式系统 IT 公司为了帮助其产品售后工程师和在线技术支持工程师更好的理解其
产品,举行了 ASIC/FPGA 基础专场培训.由于后者因为保密制度而只能接触到板级电路图和 LAYOUT,同时
因 ASIC/FPGA 都是典型的 SoC 应用,通常只是将 ASIC/FPGA 当作黑盒来理解,其猜测性读图造成公司与外部
及公司内部大量的无效沟通.培训结束后 , 参与者纷纷表示 ASIC/FPGA 的白盒式剖析极大提高了对产品的理解,
有效解决了合作伙伴和客户端理解偏异性问题,参加培训的工程师小 L 表示 :“FPGA 同时拥有强大的处理功能
和完全的设计自由度,以致于它的行业对手 ASIC 的设计者在做 wafer fabrication 之前 , 也大量使用 FPGA 来做
整个系统的板级仿真,学习 FPGA 开发知识不但提升了我们的服务质量从个人角度讲也提升了自己的价值。”
实际上,小 L 只是中国数十万 FPGA 开发工程师中一个缩影,目前,随着 FPGA 从可编程逻辑芯片升级为
可编程系统级芯片,其在电路中的角色已经从最初的逻辑胶合延伸到数字信号处理、接口、高密度运算等更广
阔的范围,应用领域也从通信延伸到消费电子、汽车电子、工业控制、医疗电子等更多领域,现在,大批其他
领域的工程师也像小 L 一样加入到 FPGA 学习应用大军中。未来,随着 FPGA 把更多的硬核如 PowerPC™ 处理
器等集成进来,以及采用新的工艺将存储单元集成,FPGA 越来越成为一种融合处理、存储、接口于一体的超
级芯片,“FPGA 会成为一种板级芯片,未来的电子产品可以通过配置 FPGA 来实现功能的升级,实际上,某些
通信设备厂商已经在尝试这样做了。”赛灵思公司全球资深副总裁汤立人这样指出。可以想象,未来,FPGA 开
发能力对工程师而言将成为类似 C 语言的基础能力之一,面对这样的发展趋势,你还能简单地将 FPGA 当成一
种逻辑器件吗?还能对 FPGA 的发展无动于衷吗?
电子产品设计趋势的变化
自电子产品诞生之日起,电子产品开发流程和方法就随着电子元器件的不断演进而变化,从最早的电子管
器件到晶体管再到集成电路,工程师在设计产品时,所采用的工具和方法都有所不同,但是总的来说贯穿电子
设计的统一思路是:使用印刷电路板上的分立、现成元件、连接器或 IC 创建物理平台实现所需要的功能。例如,
在 60 年代,如果要设计一个收音机,工程师必须通过在 PCB 板上通过晶体管、电阻、电容、电感、电线、滤
波器、二极管等电路搭建出一个物理平台,实现对 RF 信号的调谐、滤波、放大等,最后实现收音机的功能。集
成电路出现以后,一些分立器件被集成到一颗芯片上,但是总的设计思路没有变化,还是要在一个 PCB 板上通
过无源器件和 IC 搭建出一个物理平台,实现信号的接收、处理和输出。但是,随着 FPGA 等可编程器件的诞生,
设计思路正发生着微妙的变化——随着更多功能从分立器件移到可编程领域,各种不同的设计流程交汇到了一
起。现在,有效的电子设计是将板卡设计、可编程逻辑设计和软件开发融合在一起,未来,随着 FPGA 融合处
理、存储于一体,板卡设计将融合进可编程逻辑设计中,电子产品设计将演变为可编程逻辑设计和嵌入式软件
设计,那时,电子设计将更体现一种“软”设计,一种通过开发语言和工具实现的设计,而 FPGA 将成为这种