在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13642|回复: 25

[原创] 《Rapid System Prototyping with FPGAs》中文译本介绍

[复制链接]
发表于 2015-2-11 14:12:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 ilove314 于 2015-2-11 16:56 编辑

《Rapid System Prototyping with FPGAs. Accelerating the Design Process. R C COFER, B F HARDING. NEWNES》中文译本《FPGA快速系统原型设计权威指南/电子与嵌入式系统设计译丛》,当当、京东、淘宝均有售。本人(特权同学)有幸参与翻译,欢迎一起交流学习。


内容推荐
《FPGA快速系统原型设计权威指南/电子与嵌入式系统设计译丛》是关于FPGA快速系统原型设计的权威指南,分为17章。第1章概述FPGA的相关概念和嵌入式设计技能;第2章介绍FPGA的基础知识;第3章讲解优化的FPGA开发流程;第4章从系统工程管理的角度来讨论FPGA设计流程的优化;第5章讨论FPGA器件级的设计决策;第6章讨论FPGA板级设计所需要考虑的各种影响因素;第7章讨论FPGA内部的具体设计实现;第8章讨论设计仿真;第9章讨论设计约束及其优化技巧;第10章讨论FPGA下载配置;第11章讨论板级测试的方法;第12章讨论功耗和量产问题;第13章讨论IP的分类、IP核的选择、集成和测试等;第14章讨论FPGA内嵌处理器IP核的相关内容;第15章讨论DSP;第16章论述高级的互联I/O接口;第17章总结本书涉及的各种设计方法和理念。


译者简介
吴厚航(网名:特权同学),有5年的FPGA设计和板级硬件开发经历,擅长记录、分析及总结经验与技巧,也非常乐于分享。活跃于各大电子技术网站的FPGA社区或版块,个人技术博客深受广大网友的喜爱。姚琪,BEecube FPGA系统工程师,有近5年的Xilinx FPGA开发和Linux驱动开发经验,曾参与过AES加密算法的FPGA实现、嵌入式操作系统移植、Open Flow Switch开发等项目。对硬件和软件开源非常感兴趣,现专注于FPGA在SDN和SDR领域中的应用。杨碧波(网名:riple),联想研究院FPGA工程师。在电信和存储领域有多年的产品开发经验。专注于高性能FPGA设计的结构和时序优化。在工作中注重把软件工程的方法应用于FPGA产品开发和项目管理。对于嵌入式产品的软件和硬件联系开发有浓厚的兴趣。

译者序

最初接触这本书是因为riple(杨碧波)在其博客上的大力推荐,追溯起来,那已经是2009年的事了。随后我(吴厚航)也专门拜读了这本书,读完此书,受益良多,我恨不能立即分享给国内广大的FPGA爱好者和工程师们,遗憾的是,我们只能看到英文版本的原著。

随后的数月,显示riple着手对第四章做了翻译,陆续发表在其博客上。与此同时,我也动手对第三章进行了翻译,这个过程虽然耗时耗力,但不仅是在感受分享的快乐,同时还真真切切地从原文的字里行间体味作者的技术功力,从某种程度上提升自己对FPGA技术的认知。

然而,且不说这种“民间”翻译行为是否涉及侵权,最重要的是我们无法更好地将FPGA业内少有的这本经典之作传播出去。鉴于此,我和riple也达成了共识,希望能够联系一家国内的出版社,让这本书的“中文翻译版”成为可能。我们先联系了国内的一家出版社,可惜不久之后得到的是令人沮丧的答复,当然,这只是本书翻译前的一个小插曲。为此,riple更是在其博客上撰文表达了不解,同时也给出了对此书非常中肯的意见,详细过程由riple记录在“译后记”里。

很遗憾,自此之后,此书的翻译计划一度搁浅。直到2012年,我和机械工业出版社的张国强无意中再次论及此书,这件事才又现转机。正所谓“说者无心,听者有意”,数月之后,经过张国强的努力,排除各种艰难险阻,终于争取到了本书的翻译“许可证”。2012年年底,本书的翻译计划再次提上议程。不过,摆在我们面前的第一个难题是人选问题,由于工作量巨大,加之本书的深度,除了我和riple之外,还需要寻找一位能人相助。经过张国强的推荐,最终kiki(姚琦)加入了我们的行列。

对于我们三人,巧合的是,各有所长,在技术上非常互补。虽然我们三人都未曾谋面过。但是从翻译过程中的沟通接触,不难发觉riple是一个专注于FPGA工程开发并且经验丰富的工程师;kiki则兼有FPGA和嵌入式软件开发的经历,言谈举止,非常阳光,充满活力;而我本人则是一个有较多硬件板级设计背景的FPGA工程师,性格里有着硬件工程师的严谨和较真。由此看来,我们三人基本能够形成一个在技术上和性格上都相对互补的团队。这对本书的翻译绝对是件好事。

我们这个小小翻译团队的故事大体就是这样,我们期待半年多来大家所付出的点滴汗水能够来广大读者对我们的认可。

在本书翻译的分工上,本着“取长补短”的原则,三人各自负责自己所擅长的章节。Riple负责第4章、第9章、第14章、第15章和附录B的翻译;kiki负责第1章、第7章、第8章、第10章、第12章、第13章以及附录A和附录C的翻译;我负责第2章、第3章、第5章、第6章、第11章、第16章和第17章的翻译。当然,在这本书的翻译过程中,我们不断地互相“审校”,相互“修改”,希望尽可能给读者还原一顿“原滋原味的大餐”。

本书作者在章节划分上,也是条理清晰的内容、脉络分明的。第1 -2章介绍基础知识;第3-4章则讲述设计流程和工程管理方面的内容;第5-11章按照设计流程分阶段展开具体的内容;第12-16章则讨论一些高级专题内容;最后在第17章进行了总结。主要内容大致如下所述。

1章谈论了基于FPGA的高效快速系统成型的相关概念和所涉及的各种嵌入式设计技能;第2章奠定了可编程逻辑器件的基础,讲述了可编程逻辑器件的分类机器发展演变,重点描述了基于SRAMFPGA器件的内部架构;第3章给出一个优化的FPGA开发流程,描述了各个设计阶段的主要任务及其注意事项;第4章着重从系统工程管理的角度来讨论FPGA设计流程的优化;第5章讨论了FPGA器件级的设计决策,如器件选型和引脚分配等;第6章讨论了FPGA板级设计所需要考虑的各种影响因素;第7章讨论了FPGA内部的具体设计实现,如模块层次划分、代码输入、中和实现和布局布线等;第8章讨论了设计仿真相关的内容;第9章讨论了各种不同的设计约束及其优化技巧;第10章讨论了FPGA下载配置相关的内容;第11章讨论了板级测试的方法;第12章重点讨论了功耗和量产相关的议题;第13章对IP的分类、Ip核的选择、集成和测试等都进行了讨论;第14章讨论了FPGA内嵌处理器IP核的相关内容;第15章对在FPGA内实现数字信号处理功能进行了讨论;第16章论述了各种高级的互联I/O接口;第17章则是整本书的总结,以一个项目实例的方式将前面所有章节的内容都串联起来;附录A按照技术类别列出了对应正文各个章节的厂商技术资料;附录B按照开发流程给出了各个阶段设计要点的检查清单;附录C列出了常见的缩写和缩略词。

最后,我谨代表整个翻译团队向为此书中文翻译版顺利出版付出过努力的同仁以及他们的家人们道一声“谢谢”!我们非常希望能够把这本书做得更精细一些,但是由于时间和精力所限,某种疏忽和错误在所难免。我们恳请广大读者和FPGA开发领域的专家在阅读这本书的过程中把书中的问题及时反馈给我们,并就书中内容与我们进行交流,[url=]具体可以发邮件至wuhouhang@gmail.com,yq000ch@gmail.com[/url]ash_riple@163.com


译后序

2008年我再中科院计算所图书馆第一次看到这本书的英文版,到今天这本书中的中文版基本完成,5年的时间过去了。5年的时间,这本书从英文到合法中文化经历了难以想象的坎坷;5年时间,也是我从“Junior”工程师成长为“Senior”工程师的过程;5年时间,足以使一本技术类书籍被飞速发展的新技术淘汰,然而,这本书是个例外。

2009年,我在EDNChina的博客上开始翻译本书的第4章节,想把它介绍给更多的FPGA开发者。其后不久,吴厚航(本书的另外一位译者)也开始在他的博客上翻译本书的第3章。接下来的几年,我们没能够继续这本书的翻译。可以说,我们一度失去了翻译这本书的动力。在这几年的时间里,有两家出版社接触过我们并考虑过这本书中文版的出版。由于种种原因,这些努力都失败了。其中有个很重要的原因:这是一本出版时间比较早,并且在亚马逊上默默无闻的书。直到2012年年底,机械工业出版社华章公司的策划编辑张国强先生通过吴厚航的推荐从众多的技术类书籍中发现了这本书,才让这本书的命运有了转机。组织翻译一本原创出版于7年前,在Amazon上评分中等的技术类书籍,需要克服多大的阻力,需要何等的技术眼光!所幸,这本书在我们三个臭皮匠(吴厚航、姚琪和我)以及国强的共同努力下,终于翻译完成并进入了出版的流程。

在这5年间,我在Sunrise Telecom北京研发中心参与了一款全新的电信测试仪表的设计和开发,也参与了多款老产品的升级换代。这本书伴随着我这5年的奋斗与成长,使我受益匪浅。从一开始接手新产品的开发,我就一直苦恼于看不到整个项目的全貌。当时我并不缺少细致规范的开发文档,甚至还能多次得到经验丰富的前辈工程师的亲身指导。现在回首望去,这是由于当时我个人的经验和知识所限,看得到树木缺看不见森林。随着工程开发的进展,也随着我对这本书从单词到句子,从段落到篇章的逐步深入的理解,我越发地认识到FPGA工程开发的复杂性,越发地认识到工程方法学的重要性,也越发地认识到这本书对于一名刚刚开始职业生涯的工程师的价值。

从我个人的成长过程来看,FPGA工程师的成长需要经历三个阶段。

第一阶段:对于FPGA初学者来说,要学会HDL语言,能够使用EDA工具完成综合,能够在开发板上下载并跑例程,这可以说是完成了入门阶段。这一阶段的目标是“熟练”。

第二阶段:接下来,如何提高自己的设计和调试能力,属于提高阶段。这一阶段的目标是“精通”。

第三阶段:再接下来的阶段属于从业阶段,是最长也是最难的。即,如何在工作中通过项目做好一款乃至数款产品。以FPGA产品开发作为自己的职业。这一阶段的目标是“专业”。

第二阶段通常从我们毕业后的第一份工作开始,经过两到三年的在职培训和实践,我们大多能够独立地维护一款小产品或者一款大产品的一个或几个部分;第三阶段通常从我们参与一个新项目,开发一款新产品开始。第二阶段和第三阶段没有明确的界限。我们在维护和调试一款产品时,往往也会接触到系统和工程开发的内容。随着我们能力的提高,逐渐进入第三阶段,这是我们的困惑在于工作中涉及的内容和难度已经超出了HDL语法参考书和EDN工具的Help中给出的内容,在解决一个新问题的同时还不知道接下来会遇到哪些更棘手的问题。这时的我们往往从模仿别人和尝试错误中学习和成长,其苦恼和痛苦是可想而知的。

这本书能够在FPGA工程师成长的第二和第三阶段给我们提供一个关于FPGA产品开发的全貌,指导我们在产品开发过程中应当关注哪些要点,需要再哪方面深入学习。这本书可以帮助FPGA开发爱好者从“精通”过渡到“专业”,其参考价值纵贯FPGA开发从业者的整个职业生涯。这本书的特点在于“点到为止”——全书充满了全面细致的要点列表,但是没有针对每一个知识点进行过于深入的介绍。作者给读者指明了方向,并且给出了丰富的参考资料。在哪些知识点上深入,深入到什么程度,取决于读者自己的兴趣、精力、毅力和项目需要。正所谓“师傅领进门,修行在个人”。

读完了上面的文字之后,对于这本书过不过时的疑问,相信应该烟消云散了。

这是一本FPGA工程开发方法学的书。书中举例所使用的芯片可能已经过时或停产,但是开发一款基于FPGA的嵌入式产品的方法不会过时。在集成ARM硬核的低成本SoC FPGA芯片在国内上市之际,本书中文版的出版恰逢其时。这样一本书,既适合我这样的FPGA开发工程师作为日常工作的参考,也适合复杂FPGA项目开发的管理者作为快速掌握FPGA产品开发全貌的入门指南。

在此,我要感谢吴厚航和姚琪,他们负担了本书绝大部分的翻译工作,我尤其要感谢厚航,他在完成自己工作的同时还帮助每个人逐章进行审核和校对,其精益求精的精神感染了整个翻译团队。祝愿厚航能够肠胃国内一流的技术作者,把更多更好的作品奉献给广大FPGA设计工程师同行们。


目录
献词
译者序
作者简介
致谢
第1章 绪论 / 1
1.1 FPGA快速设计实现的潜力 / 2
1.2 快速发展的技术领域 / 3
1.3 全面、完备的设计技能 / 4
1.4 具备硬件知识的软件/固件工程师 / 6
1.5 具备软件知识的硬件工程师 / 6
1.6 FPGA技术潜在的局限性 / 7
1.7 FPGA技术的优势 / 8
1.8 小结 / 10
第2章 FPGA基础 / 11
2.1 概述 / 11
2.1.1 可编程逻辑器件的分类 / 11
2.1.2 SPLD / 14
2.1.3 CPLD / 15
2.1.4 FPGA / 17
2.1.5 FPGA类型 / 20
2.2 基于SRAM的FPGA架构 / 22
2.2.1 FPGA的逻辑块架构 / 23
2.2.2 FPGA的布线矩阵与全局信号 / 25
2.2.3 FPGA的I/O块 / 27
2.2.4 FPGA的时钟资源 / 28
2.2.5 FPGA的存储资源 / 30
2.3 高级FPGA特性 / 30
2.4 小结 / 31
第3章 优化开发流程 / 33
3.1 概述 / 33
3.2 FPGA开发流程 / 34
3.2.1 需求定义阶段 / 38
3.2.2 架构和设计阶段 / 39
3.2.3 实现阶段 / 42
3.2.4 验证阶段 / 44
3.3 小结 / 45
第4章 系统工程 / 46
4.1 概述 / 46
4.2 常见的设计挑战和错误 / 47
4.3 明确的FPGA设计过程规范 / 48
4.4 项目开发和管理 / 50
4.4.1 团队交流 / 51
4.4.2 设计评审 / 52
4.4.3 预算和日程安排 / 54
4.5 培训 / 56
4.6 技术支持 / 58
4.7 设计配置控制 / 58
4.7.1 在上板调试过程中对FPGA设计进行配置控制 / 61
4.7.2 设计归档 / 62
4.8 小结 / 64
第5章 FPGA器件级的设计决策 / 65
5.1 概述 / 65
5.2 FPGA选型分类 / 65
5.2.1 FPGA厂商 / 66
5.2.2 系列选择 / 67
5.2.3 器件型号 / 68
5.2.4 封装 / 70
5.3 设计决策 / 71
5.3.1 数据流向 / 71
5.3.2 确知的I/O引脚分配 / 72
5.4 设计选型清单 / 76
5.5 小结 / 78
第6章 FPGA板级的设计决策 / 80
6.1 概述 / 80
6.2 封装选型 / 81
6.3 BGA封装 / 83
6.3.1 BGA信号的引出 / 83
6.3.2 安装和返修 / 83
6.3.3 BGA I/O引脚的分配 / 86
6.3.4 信号的可访问性 / 87
6.4 I/O引脚与信号的分配 / 87
6.5 原理图符号设计 / 88
6.6 热设计 / 88
6.7 电路板的布局布线 / 89
6.7.1器件的摆放位置和方向 / 90
6.7.2测试和配置插座 / 91
6.8 信号完整性设计 / 91
6.9 供电设计 / 92
6.10 小结 / 94
第7章 设计实现 / 96
7.1 概述 / 96
7.2 架构设计 / 97
7.2.1 同步设计 / 97
7.2.2 扁平化设计与层次化设计 / 98
7.2.3 实现层次化设计 / 100
7.3 设计输入 / 101
7.3.1 HDL语言的双重性质 / 103
7.3.2 HDL编码指南 / 103
7.3.3 工具 / 106
7.4 RTL设计 / 106
7.5 综合 / 109
7.5.1 逻辑综合 / 109
7.5.2 物理综合 / 111
7.5.3 实现可综合的设计 / 111
7.5.4 设计推译与例化 / 112
7.6 布局布线 / 113
7.7 小结 / 114
第8章 设计仿真 / 117
8.1 概述 / 117
8.2 仿真的不同阶段 / 117
8.3 仿真文件的类型 / 119
8.4 仿真深度的把握 / 120
8.5 层次化设计与仿真 / 121
8.6 仿真的常见错误以及提示 / 122
8.7 小结 / 123
第9章 设计约束与优化 / 125
9.1 概述 / 125
9.2 设计约束管理 / 125
9.2.1 避免设计“过约束” / 126
9.2.2 综合约束 / 127
9.2.3 引脚约束 / 128
9.2.4 时序约束 / 131
9.2.5 面积约束和版图规划 / 133
9.2.6 约束实例 / 134
9.2.7 约束检查清单 / 135
9.3 设计优化 / 136
9.4 小结 / 139
第10章 配置 / 140
10.1 概述 / 140
10.2 配置方式 / 140
10.3 下载线 / 141
10.4 JTAG标准 / 142
10.5 设计的安全 / 144
10.6 小结 / 145
第11章 板级测试 / 146
11.1 概述 / 146
11.1.1 FPGA设计验证方法 / 146
11.1.2 FPGA内部关键信号的访问 / 147
11.1.3 边界扫描的支持 / 148
11.2 调试检查清单 / 149
11.3 小结 / 49
第12章 高级议题综述 / 150
12.1 概述 / 150
12.2 功耗问题 / 151
12.3 量产问题 / 151
12.4 小结 / 152
第13章 IP核 / 153
13.1 概述 / 153
13.2 IP类型 / 154
13.3 IP分类 / 156
13.4 IP分析比较 / 157
13.5 自行设计与购买的权衡 / 158
13.5.1 IP核的来源 / 159
13.5.2 IP核的评估 / 159
13.5.3 IP核供应商的评估 / 160
13.5.4 IP核的授权 / 162
13.6 IP核的集成 / 162
13.7 IP核的测试和调试 / 162
13.8 小结 / 163
第14章 嵌入式处理器内核 / 164
14.1 概述 / 164
14.2 基于FPGA 的嵌入式处理器类型 / 165
14.3 基于FPGA的嵌入式处理器的使用考虑 / 167
14.4 系统设计考虑 / 169
14.4.1 协同设计 / 169
14.4.2 处理器架构 / 170
14.4.3 处理器实现选项 / 173
14.4.4 处理器核和外设选择 / 175
14.4.5 硬件实现因素 / 176
14.4.6 软件实现因素 / 177
14.5 基于FPGA的嵌入式处理器概念举例 / 179
14.6 FPGA嵌入式处理器设计清单 / 185
14.7 小结 / 185
第15章 数字信号处理 / 187
15.1 概述 / 187
15.2 基本DSP系统 / 188
15.3 基本DSP术语 / 189
15.4 DSP架构 / 190
15.5 DSP中的并行执行 / 191
15.6 FPGA中的并行执行 / 192
15.7 何时采用FPGA来实现DSP功能 / 194
15.8 在FPGA上实现DSP设计的考虑因素 / 194
15.8.1 时钟方案和信号布线 / 195
15.8.2 流水线设计 / 195  
15.8.3 算法实现选择 / 196
15.8.4 DSP IP / 196
15.9 FIR滤波器概念示例 / 197
15.10 小结 / 198
第16章 高级互联 / 200
16.1 概述 / 200
16.2 互联分类 / 200
16.3 高级 I/O接口的挑战 / 203
16.4 高级并行I/O接口示例 / 203
16.5 高级串行I/O接口示例 / 206
16.6 小结 / 207
第17章 系统整合 / 209
17.1 概述 / 209
17.2 需求定义阶段 / 210
17.3 架构设计阶段 / 212
17.4 设计实现阶段 / 215
17.5 设计验证阶段 / 216
17.6 原型交付阶段 / 218
17.7 小结 / 218
附录A FPGA快速系统原型设计技术参考资料 / 219
附录B 开发过程各阶段设计检查清单 / 233
附录C 缩写和缩略词 / 244
译后记 / 254
《FPGA快速系统原型设计权威指南》CH1-3样章.pdf (4.66 MB, 下载次数: 412 )
发表于 2015-2-11 16:14:07 | 显示全部楼层
支持,大赞!
发表于 2015-3-2 14:01:52 | 显示全部楼层
支持!谢谢分享,找时间看一下!
发表于 2015-3-6 21:57:39 | 显示全部楼层
谢谢分享,不错的书籍,有空看看
发表于 2015-9-2 09:09:39 | 显示全部楼层
谢谢,学习一下
发表于 2015-10-16 17:18:17 | 显示全部楼层
赞!国内开发者的福音~~
不过我还是喜欢看英文原版
发表于 2015-11-7 00:15:11 | 显示全部楼层
谢谢分享啊。看看书
发表于 2015-11-30 13:57:36 | 显示全部楼层
少了点????
发表于 2015-12-14 20:22:34 | 显示全部楼层
谢谢,学习一下
发表于 2015-12-23 08:11:51 | 显示全部楼层
顶一个,下来看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-28 01:32 , Processed in 0.042495 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表