FPGA权威指南
基本信息
- 原书名: FPGAs: World Class Designs
- 原出版社: Newnes
- 作者: (英)Clive “Max” Maxfield [作译者介绍]
- 译者: 杜生海
- 丛书名: 图灵电子与电气工程丛书
- 出版社:人民邮电出版社
- ISBN:9787115267412
- 上架时间:2011-12-16
- 出版日期:2012 年1月
- 开本:16开
- 页码:320
- 版次:1-1
- 所属分类:
计算机 > 计算机辅助设计与工程计算 > 综合
内容简介回到顶部↑
《fpga权威指南》是目前最实用的fpga 类图书的精华集粹,全书共12 章,内容涵盖fpga 设计基础知识以及fpga 设计全流程。本书重点突出,实用性强,所列实例均经过验证。
《fpga权威指南》适合电子工程师阅读,也可作为高等院校相关专业师生的参考指南。
《fpga权威指南》适合电子工程师阅读,也可作为高等院校相关专业师生的参考指南。
作译者回到顶部↑
本书提供作译者介绍
Clive "Max" Maxfield 国际半导体设计界知名专家,TechBites公司(www.techbites.com)总裁,EE Times杂志Programmable Logic Designline栏目主编。他拥有英国谢菲尔德哈莱姆大学控制工程学学士学位,设计过从ASIC到PCB等多种产品,并钻研了电子设计自动化 (EDA)的大多数领域。Max喜欢技术写作,擅长用通俗易懂的语言阐述复杂的技术概念,在世界各地的杂志和会刊上发表了许多技术文章和论文,此外,他还 创作或与人合著了一些书籍,包括EDA: Where Electronics Begins和The Design Warrio.. << 查看详细
目录回到顶部↑
《fpga权威指南》
第1 章 fpga 结构比较 1
1.1 一点提醒 1
1.2 一些背景信息 2
1.3 反熔丝、sram与其他 3
1.3.1 基于sram的器件 3
1.3.2 基于sram器件的安全问题和解决方案 3
1.3.3 基于反熔丝的器件 4
1.3.4 基于eprom的器件 5
1.3.5 基于e2prom/flash的器件 5
1.3.6 flash-sram混合器件 6
1.3.7 小结 6
1.4 细粒度、中等粒度和粗粒度体系结构 6
1.5 基于mux与基于lut的逻辑块 8
1.5.1 基于mux的体系结构 8
1.5.2 基于lut的体系结构 8
1.5.3 基于mux还是基于lut 10
1.5.4 3、4、5或6输入lut 10
1.5.5 lut、分布式ram与移位寄存器 10
1.6 clb、lab与slice 11
第1 章 fpga 结构比较 1
1.1 一点提醒 1
1.2 一些背景信息 2
1.3 反熔丝、sram与其他 3
1.3.1 基于sram的器件 3
1.3.2 基于sram器件的安全问题和解决方案 3
1.3.3 基于反熔丝的器件 4
1.3.4 基于eprom的器件 5
1.3.5 基于e2prom/flash的器件 5
1.3.6 flash-sram混合器件 6
1.3.7 小结 6
1.4 细粒度、中等粒度和粗粒度体系结构 6
1.5 基于mux与基于lut的逻辑块 8
1.5.1 基于mux的体系结构 8
1.5.2 基于lut的体系结构 8
1.5.3 基于mux还是基于lut 10
1.5.4 3、4、5或6输入lut 10
1.5.5 lut、分布式ram与移位寄存器 10
1.6 clb、lab与slice 11
前言回到顶部↑
我知道,我对与电子和计算技术有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA)都显得“鹤立鸡群”,真是非常棒的器件。
还记得在20世纪60年代末到70年代初,我正在英国约克郡谢菲尔德市上中学。那时,我热衷于订阅电子爱好者杂志《应用电子学》(Practical Electronics)。每月月初,在每天上学和放学的路上我都会绕道去报刊店跟那个卖报刊的老人家纠缠一番:“我的杂志到了吗?”当将最近一期杂志牢牢地捧在我那满是粘乎乎热汗的双手中时,我感觉那一天真是幸福极了。
那时候,我对每期杂志中都有的文章“Take Twenty”特别感兴趣。这一文章主要关注的是那些小的电子制作,需要的元器件最多不超过20个,成本也不超过20先令(见下面的框注)。关于成本这一点,对于一个预算不多的年轻人来说是一个实实在在的优势。
英镑、先令和便士
在我小的时候,英国的货币系统是以英镑(pounds)、先令(shillings)和便士(pence)为基础的,也称作LSD,其中L来源于拉丁语libra,即镑;D来源于拉丁语denarius,这是古罗马时期的一种银币。
这些货币单位的兑换方式为:12便士兑换1先令(也称为bob),20先令(即240便士)兑换1英镑。于是,后来就有了面值3便士的硬币,称作threpney,还有6便士硬币(值6便士),也称作tanner。此外,还有佛罗林(florin)、半克朗(half-crown)、双佛罗林(double-florin)、克朗(crown)、半金镑(half-sovereign)、金镑(sovereign)以及几尼(guinea)等,后来一切都变得越来越复杂。
我们很容易就能从中看出问题。例如,假定某个物品的价格是1英镑8先令9便士,然后让我们算算它值多少个3便士硬币(不太容易,是吗?)。因此,英国政府于1971年2月废除了英镑、先令和便士这些货币单位,官方采用了一种十进制的系统,即1英镑等于100便士(那时称为“新便士”),就像1美元等于100美分。然而,似乎很奇怪,大多数英国人拼命抵制货币系统向十进制过渡,并宣称新的货币系统更复杂,永远也不会流行起来!
现在请诚实地回答我,你最近一次在一本关于FPGA的书中看到这些有趣的琐事是在什么时候?
不管书中介绍的项目是什么,我都打算努力完成它!只要放学铃声一响,我就立刻飞奔上公交车去最近的电子爱好者商店Bardwells购买必需的元器件,然后快速赶回家开始幸福的焊接工作。(有趣的是,尽管那些遥远的日子,已经过去了将近40年,Bardwells商店仍然还在(www. bardwells.co.uk),只不过很久以前就从Abbeydale电影院后面的后街角落搬到了Abbeydale大街上更加显眼的地方。只要回到英国看望我的母亲和弟弟,我都会顺便拜访一位这位“老朋友”。)
呀,跑题了,言归正传。我早期所有的项目都是用分立(即独立封装的)元件搭成的,这些元件包括晶体管、电阻、电容和电感等。后来,我开始使用简单的jelly-bean集成电路 。数字项目中使用的几乎都是德州仪器(TI)的14引脚或16引脚双列直插式(Dual-In-Line,DIL)TTL型SN74xx系列器件。一个常见的芯片可能包含4个2输入与门。在那时,我们都觉得这些器件简直聪明得让人不可思议。
年轻的时候,我最大的一个爱好是机器人。我非常渴望制作一种既能够走路又能够说话的机器,但在当时,这几乎是不可能实现的梦想。在数字设计的早期,控制系统基本上是“硬连线的”(hard-wired):最初用分立晶体管,后来用简单的集成电路。除了在功能上大多都固定外,这一类型的设计还严重地限制了以快速和节约成本方式所能达到的设计复杂度。再到后来,就出现了微处理器。
世界上第一个商用微处理器是因特尔(Intel)的4004,它于1971年首次亮相。紧接着在1972年11月,英特尔推出8008,这本质上是4004的8位版本。随后,又推出了4040,主要是扩展了4004的加法逻辑和比较指令以增强性能,同时使用了一个很小的内部栈支持子程序嵌套。
实际上,4004、4040和8008都是为专门的应用而设计的,直到1974年4月,英特尔才推出第一个真正的通用微处理器8080。这是一个8位的微处理器,包含大约4 500个晶体管,每秒钟可以执行20万次操作,因作为许多早期家庭计算机的中央处理器而名声大噪。
8080以后,微处理器领域出现了爆炸式的发展,例如摩托罗拉(Motorola)于1974年8月推出了6800,MOS技术公司于1975年推出6502,Zilog于1976年推出了Z80。
你可能猜到了,20世纪70年代中后期对于数字系统设计者而言是一个非常令人激动的时期。一个微处理器加上少量支持芯片就可以构造出极其复杂的控制系统。更美妙的一点是,如果你发现一个错误或者突然想到一个巧妙的增强方法,那么你所要做的全部事情仅仅是稍微调整一下运行在微处理器上的程序而已。但是,就像所发生的这一切是那么地令人惊奇一样,我们对这些变化的毫无知觉也让我们惊讶不已。
大约在20世纪80年代初期,我正负责设计专用集成电路(ASIC)。拿今天的标准来衡量,我当时设计的这些电路简直太简单了——我记得,这些电路都是用5微米工艺制造的,只包含大约2000个等效逻辑门,但在当时,这却是非常让人惊奇的事情。
1984年,Xilinx公司发布了第一个FPGA(但直到1985年,这些器件才真正发货)。尽管这些器件比当时那些简单的可编程逻辑器件(PLD)复杂得多,但大多数数字设计工程师却仅仅用这些器件去实现粘合逻辑(glue-logic)、非常简单的状态机和相当有限的数据处理等。
事情的发展真是太快了。今天,FPGA已经是最令人激动的器件类型之一。除了具有可编程的体系结构外(正是这种体系结构让FPGA可以实现从微处理器软核到硬件加速器的任何东西),它们还包含大量的存储单元和成百上千的硬宏(hard-macro),例如乘法器、加法器和数字信号处理(DSP)模块等。另外,除了数千个可编程的通用输入输出(GPIO)引脚外,它们还支持多个高速串行互连通道,等等,这里就不一一列出了。
各种类型的FPGA器件的应用范围之广让人难以置信,从电池供电的便携式手持设备,到自动控制和娱乐系统,再到SETI(搜寻地外文明)计划中用于搜寻外太空生命的每秒万亿次的计算引擎等。
这真是一个令人振奋的FPGA时代。我几乎每天都能看见一些新发布的通告,它们或者关于一系列新的器件,或者关于一种新型的设计工具,或者关于一种可以提高处理性能或I/O带宽的新技术。例如,我突然想起,过去几个星期我就了解到以下一些有趣的信息。
还记得在20世纪60年代末到70年代初,我正在英国约克郡谢菲尔德市上中学。那时,我热衷于订阅电子爱好者杂志《应用电子学》(Practical Electronics)。每月月初,在每天上学和放学的路上我都会绕道去报刊店跟那个卖报刊的老人家纠缠一番:“我的杂志到了吗?”当将最近一期杂志牢牢地捧在我那满是粘乎乎热汗的双手中时,我感觉那一天真是幸福极了。
那时候,我对每期杂志中都有的文章“Take Twenty”特别感兴趣。这一文章主要关注的是那些小的电子制作,需要的元器件最多不超过20个,成本也不超过20先令(见下面的框注)。关于成本这一点,对于一个预算不多的年轻人来说是一个实实在在的优势。
英镑、先令和便士
在我小的时候,英国的货币系统是以英镑(pounds)、先令(shillings)和便士(pence)为基础的,也称作LSD,其中L来源于拉丁语libra,即镑;D来源于拉丁语denarius,这是古罗马时期的一种银币。
这些货币单位的兑换方式为:12便士兑换1先令(也称为bob),20先令(即240便士)兑换1英镑。于是,后来就有了面值3便士的硬币,称作threpney,还有6便士硬币(值6便士),也称作tanner。此外,还有佛罗林(florin)、半克朗(half-crown)、双佛罗林(double-florin)、克朗(crown)、半金镑(half-sovereign)、金镑(sovereign)以及几尼(guinea)等,后来一切都变得越来越复杂。
我们很容易就能从中看出问题。例如,假定某个物品的价格是1英镑8先令9便士,然后让我们算算它值多少个3便士硬币(不太容易,是吗?)。因此,英国政府于1971年2月废除了英镑、先令和便士这些货币单位,官方采用了一种十进制的系统,即1英镑等于100便士(那时称为“新便士”),就像1美元等于100美分。然而,似乎很奇怪,大多数英国人拼命抵制货币系统向十进制过渡,并宣称新的货币系统更复杂,永远也不会流行起来!
现在请诚实地回答我,你最近一次在一本关于FPGA的书中看到这些有趣的琐事是在什么时候?
不管书中介绍的项目是什么,我都打算努力完成它!只要放学铃声一响,我就立刻飞奔上公交车去最近的电子爱好者商店Bardwells购买必需的元器件,然后快速赶回家开始幸福的焊接工作。(有趣的是,尽管那些遥远的日子,已经过去了将近40年,Bardwells商店仍然还在(www. bardwells.co.uk),只不过很久以前就从Abbeydale电影院后面的后街角落搬到了Abbeydale大街上更加显眼的地方。只要回到英国看望我的母亲和弟弟,我都会顺便拜访一位这位“老朋友”。)
呀,跑题了,言归正传。我早期所有的项目都是用分立(即独立封装的)元件搭成的,这些元件包括晶体管、电阻、电容和电感等。后来,我开始使用简单的jelly-bean集成电路 。数字项目中使用的几乎都是德州仪器(TI)的14引脚或16引脚双列直插式(Dual-In-Line,DIL)TTL型SN74xx系列器件。一个常见的芯片可能包含4个2输入与门。在那时,我们都觉得这些器件简直聪明得让人不可思议。
年轻的时候,我最大的一个爱好是机器人。我非常渴望制作一种既能够走路又能够说话的机器,但在当时,这几乎是不可能实现的梦想。在数字设计的早期,控制系统基本上是“硬连线的”(hard-wired):最初用分立晶体管,后来用简单的集成电路。除了在功能上大多都固定外,这一类型的设计还严重地限制了以快速和节约成本方式所能达到的设计复杂度。再到后来,就出现了微处理器。
世界上第一个商用微处理器是因特尔(Intel)的4004,它于1971年首次亮相。紧接着在1972年11月,英特尔推出8008,这本质上是4004的8位版本。随后,又推出了4040,主要是扩展了4004的加法逻辑和比较指令以增强性能,同时使用了一个很小的内部栈支持子程序嵌套。
实际上,4004、4040和8008都是为专门的应用而设计的,直到1974年4月,英特尔才推出第一个真正的通用微处理器8080。这是一个8位的微处理器,包含大约4 500个晶体管,每秒钟可以执行20万次操作,因作为许多早期家庭计算机的中央处理器而名声大噪。
8080以后,微处理器领域出现了爆炸式的发展,例如摩托罗拉(Motorola)于1974年8月推出了6800,MOS技术公司于1975年推出6502,Zilog于1976年推出了Z80。
你可能猜到了,20世纪70年代中后期对于数字系统设计者而言是一个非常令人激动的时期。一个微处理器加上少量支持芯片就可以构造出极其复杂的控制系统。更美妙的一点是,如果你发现一个错误或者突然想到一个巧妙的增强方法,那么你所要做的全部事情仅仅是稍微调整一下运行在微处理器上的程序而已。但是,就像所发生的这一切是那么地令人惊奇一样,我们对这些变化的毫无知觉也让我们惊讶不已。
大约在20世纪80年代初期,我正负责设计专用集成电路(ASIC)。拿今天的标准来衡量,我当时设计的这些电路简直太简单了——我记得,这些电路都是用5微米工艺制造的,只包含大约2000个等效逻辑门,但在当时,这却是非常让人惊奇的事情。
1984年,Xilinx公司发布了第一个FPGA(但直到1985年,这些器件才真正发货)。尽管这些器件比当时那些简单的可编程逻辑器件(PLD)复杂得多,但大多数数字设计工程师却仅仅用这些器件去实现粘合逻辑(glue-logic)、非常简单的状态机和相当有限的数据处理等。
事情的发展真是太快了。今天,FPGA已经是最令人激动的器件类型之一。除了具有可编程的体系结构外(正是这种体系结构让FPGA可以实现从微处理器软核到硬件加速器的任何东西),它们还包含大量的存储单元和成百上千的硬宏(hard-macro),例如乘法器、加法器和数字信号处理(DSP)模块等。另外,除了数千个可编程的通用输入输出(GPIO)引脚外,它们还支持多个高速串行互连通道,等等,这里就不一一列出了。
各种类型的FPGA器件的应用范围之广让人难以置信,从电池供电的便携式手持设备,到自动控制和娱乐系统,再到SETI(搜寻地外文明)计划中用于搜寻外太空生命的每秒万亿次的计算引擎等。
这真是一个令人振奋的FPGA时代。我几乎每天都能看见一些新发布的通告,它们或者关于一系列新的器件,或者关于一种新型的设计工具,或者关于一种可以提高处理性能或I/O带宽的新技术。例如,我突然想起,过去几个星期我就了解到以下一些有趣的信息。







点击看大图
加载中...

