基于FPGA的系统设计
基本信息
- 原书名: FPGA-Based System Design
- 原出版社: Prentice Hall PTR
内容简介回到顶部↑
本书以vlsi设计方法系统讲解fpga(现场可编程门阵列)系统设计方面的基本原理,帮助解决应用fpga进行大系统设计时所遇到的问题。主要内容包括:vlsi的要点(如vlsi制造工艺、电路设计、连线、组合逻辑、时序机以及系统结构方面的内容)、vlsi的现代设计方法和fpga最有价值的特性等。本书提供了丰富的实例,读者可结合实例和附赠光盘中的fpga设计工具xse来学习和实现基于fpga的系统设计。.
本书注重基础,强调应用,提供了大量的图表、例题和习题,可作为高等院校的电子、电气、计算机、信息、控制类专业高年级本科生和研究生教材,也可供相关工程技术人员参考。...
本书注重基础,强调应用,提供了大量的图表、例题和习题,可作为高等院校的电子、电气、计算机、信息、控制类专业高年级本科生和研究生教材,也可供相关工程技术人员参考。...
作译者回到顶部↑
本书提供作译者介绍
Wayne Wolf 是普林斯顿大学计算机科学系电子工程联合学院教授,研究方向为嵌入式计算系统、多媒体系统、VLSI计算机辅助设计。他是IEEE及ACM会员、IEEE计算机协会核心成员。2003年他获得ASEE/EED及HP Frederick E.Terman奖项。他的另一本《嵌入式计算系统设计原理》也在世界享有盛名。...
.. << 查看详细
.. << 查看详细
目录回到顶部↑
译者序.
前言
第1章 基于fpga的系统
1.1 概述
1.2 基本概念
1.2.1 布尔代数
1.2.2 原理图与逻辑符号
1.3 数字设计和fpga
1.3.1 fpga的作用
1.3.2 fpga的类型
1.3.3 fpga与定制vlsi的比较
1.4 基于fpga的系统设计
1.4.1 目标和方法
1.4.2 分级设计
1.4.3 设计抽象
1.4.4 方法学
1.5 小结
1.6 习题
第2章 vlsi技术
2.1 概述
前言
第1章 基于fpga的系统
1.1 概述
1.2 基本概念
1.2.1 布尔代数
1.2.2 原理图与逻辑符号
1.3 数字设计和fpga
1.3.1 fpga的作用
1.3.2 fpga的类型
1.3.3 fpga与定制vlsi的比较
1.4 基于fpga的系统设计
1.4.1 目标和方法
1.4.2 分级设计
1.4.3 设计抽象
1.4.4 方法学
1.5 小结
1.6 习题
第2章 vlsi技术
2.1 概述
译者序回到顶部↑
FPGA以其功能强大、开发过程投资少、周期短、可反复修改、保密性能好和开发工具智能化等特点成为当今可编程逻辑器件设计领域首选的器件之一。随着FPGA设计技术的发展,FPGA在硬件设计中的作用越来越明显。目前全国有数百万的硬件工程师在设计中运用着各种型号的FPGA。、FPGA设计技术已经成为当今硬件工程师和IC工程师的必备技能,越来越多的大学生和硬件工程师急需学习和掌握这门技术。.
设计人员只有在真正理解VLSI的基础上,才能更好地利用FPGA进行大系统设计。目前,结合VLSI系统优点等知识系统介绍现代VLSI设计的书籍非常少,而本书就是以VLSI设计方法系统地讲解FPGA系统设计方面的基本原理,举例介绍了如何应对用FPGA进行大系统设计时所遇到的问题。因此,我们翻译了本书,旨在推广基于FPGA的系统设计和应用方面的技术,把国外优秀的FPGA设计思想介绍给国内的读者。
本书以VLSI设计方法系统讲解FPGA系统设计方面的基本原理,解决如何应用FPGA进行大系统设计所遇到的问题:首先介绍了VLSI的制造工艺、电路设计、连线、组合逻辑、时序机以及系统结构等方面的内容,其次介绍了VLSI现代设计方法和FPGA最有价值的特性。本书实例丰富、浅显易懂,有助于读者理解全书的精髓。
特别需要指出的是,本书以“系统设计”思想进行FPGA设计,而不是以面向具体应用进行FPGA设计,也就是说,不针对某一种规模某一具体FPGA芯片进行设计。这种定位有利于帮助读者建立FPGA系统设计的概念,帮助读者利用FPGA最佳性能设计出大系统,建议读者在阅读本书时,结合基础知识学习完整设计实例,包括在FPGA系统上验证和运行书中实例系统的源代码。..
在翻译过程中,我们遇到了很多问题。如不同作者在表达同一个意思时使用的术语不同,如第3章有三个词:fabrics(可译为:结构、结构体系、体系结构、构造)、architecture(可译为:结构)和structure(可译为:结构)。按照中文意思如何区分这三个词的具体含义,是翻译这类术语时的难题之一。最后经过认真地比较其他教材中的术语,再结合汉语中的建筑结构的思想进行了处理。“fabrics'’译为“层构”,就是指制造集成电路时制造的不同层;“architecture”译为“结构体”或“整体结构”,是指FPGA本身的整体结构;“structure”译为“结构”,指局部的一般结构的意思。这样这三个词就区分开了。类似这样的问题还有很多。我们处理的方式是结合汉语习惯并结合目前我们所掌握的电子技术知识来进行选择。
但为了进一步学习,只学习理论知识、进行基本实践还是不够的,还需要进行深入的研究和大量的实际设计,只有这样才能培养出真正的FPGA设计经验。为此我们今后还要组织队伍加强这方面的研究工作,将教学中的实际例子和研究生在研究过程中的项目设计放到网页上(http://isip.xmu.edu.cn.),供读者免费下载、学习和测试。
除译者本人外,参加本书的翻译人员有赖耀林、林媛、刘晓玲、陈嘉臻和余见等。但因水平有限,译文中必然存在错误和不足之处。在阅读过程中,若发现不当之处或是错误译文,欢迎批评指正!本人的E-mail地址:yjwen@xinu.edu.cn,xdyjwen@tom.com(永久)。...
闫敬文
设计人员只有在真正理解VLSI的基础上,才能更好地利用FPGA进行大系统设计。目前,结合VLSI系统优点等知识系统介绍现代VLSI设计的书籍非常少,而本书就是以VLSI设计方法系统地讲解FPGA系统设计方面的基本原理,举例介绍了如何应对用FPGA进行大系统设计时所遇到的问题。因此,我们翻译了本书,旨在推广基于FPGA的系统设计和应用方面的技术,把国外优秀的FPGA设计思想介绍给国内的读者。
本书以VLSI设计方法系统讲解FPGA系统设计方面的基本原理,解决如何应用FPGA进行大系统设计所遇到的问题:首先介绍了VLSI的制造工艺、电路设计、连线、组合逻辑、时序机以及系统结构等方面的内容,其次介绍了VLSI现代设计方法和FPGA最有价值的特性。本书实例丰富、浅显易懂,有助于读者理解全书的精髓。
特别需要指出的是,本书以“系统设计”思想进行FPGA设计,而不是以面向具体应用进行FPGA设计,也就是说,不针对某一种规模某一具体FPGA芯片进行设计。这种定位有利于帮助读者建立FPGA系统设计的概念,帮助读者利用FPGA最佳性能设计出大系统,建议读者在阅读本书时,结合基础知识学习完整设计实例,包括在FPGA系统上验证和运行书中实例系统的源代码。..
在翻译过程中,我们遇到了很多问题。如不同作者在表达同一个意思时使用的术语不同,如第3章有三个词:fabrics(可译为:结构、结构体系、体系结构、构造)、architecture(可译为:结构)和structure(可译为:结构)。按照中文意思如何区分这三个词的具体含义,是翻译这类术语时的难题之一。最后经过认真地比较其他教材中的术语,再结合汉语中的建筑结构的思想进行了处理。“fabrics'’译为“层构”,就是指制造集成电路时制造的不同层;“architecture”译为“结构体”或“整体结构”,是指FPGA本身的整体结构;“structure”译为“结构”,指局部的一般结构的意思。这样这三个词就区分开了。类似这样的问题还有很多。我们处理的方式是结合汉语习惯并结合目前我们所掌握的电子技术知识来进行选择。
但为了进一步学习,只学习理论知识、进行基本实践还是不够的,还需要进行深入的研究和大量的实际设计,只有这样才能培养出真正的FPGA设计经验。为此我们今后还要组织队伍加强这方面的研究工作,将教学中的实际例子和研究生在研究过程中的项目设计放到网页上(http://isip.xmu.edu.cn.),供读者免费下载、学习和测试。
除译者本人外,参加本书的翻译人员有赖耀林、林媛、刘晓玲、陈嘉臻和余见等。但因水平有限,译文中必然存在错误和不足之处。在阅读过程中,若发现不当之处或是错误译文,欢迎批评指正!本人的E-mail地址:yjwen@xinu.edu.cn,xdyjwen@tom.com(永久)。...
闫敬文
前言回到顶部↑
本书是一次尝试。在完成《Modern VLSI Design》第三版后不久,我开始意识到越来越多过去建立在传统硅片上的数字设计现在可以在现场可编程门阵列(field programmable gatearray,FPGA)上实现。传统的VLSI系统设计在一段时间内不会很快消失,但越来越多的设计者将致力于FPGA的设计,而且他们中的很多人从来没有设计过定制的芯片。.
然而,基于FPGA的大系统设计者只有在真正理解VLSI的基础上,才能更好地利用FPGA。事实上,很多系统设计者把FPGA简单地当作一个黑匣子处理,结果失去了很多适合于FPGA内优化设计的机会。FPGA的结构主要由VLSI约束所决定:例如逻辑单元结构、可编程的互连结构、互连网络、配置和输出引脚等。理解VLSI器件特性如何影响FPGA层构设计,可以帮助设计者更好地理解如何利用FPGA的最佳特性以及如何降低它的局限性所造成的影响。
例如,在FPGA互连网络中,多数现代FPGA结构给设计者提供了几种不同类型的连线:局部的、通用的和全局的。为什么会存在这些不同类型的连线?因为随着连线长度的增加,连线驱动变得很难,这就需要额外的电路来驱动长连线,从而使FPGA更昂贵。了解这些不同类型的连线是如何工作的,能帮助设计者确定一个特殊的逻辑连线是否需要一种较昂贵类型的连线。
今天的FPGA的确是很神奇。高端FPGA能拥有几百万个门。芯片上有几片FPGA和一片或多片CPU,就能提供一个完整的嵌入式计算平台。不论系统是用FPGA还是用传统的硅片来设计,这些大系统的很多设计技术都是相同的。特别是当我们想要更好地利用VLSI结构中的硅特性时,更是如此。
考虑到VLSI系统中的这些优点,我决定以《Modern VLSI Design》为出发点,写一本基于FPGA的系统设计的书。《Modern VLSI Design》的读者将从本书看到以下熟悉的内容:VLSI特性、电路、组合和时序逻辑设计,以及系统结构的知识。当然,本书也增加了一部分新内容,一些与FPGA有关的内容,另外还有一些是对数字系统设计的新展望。
编写本书的一个主要目的是为那些对VLSI感兴趣的设计者和只想简单使用FPGA来设计大型系统的人提供教材。本书第2章主要是对VLSI的回顾:包括它的构造、电路、互连特性等。本书的其他部分,分别介绍VLSI设计细节,对VLSI不感兴趣的读者可以跳过这些内容;而那些把FPGA当作VLSI器件并想深入了解FPGA设计的读者可以在闲暇时间学习这部分内容。
第3章是对FPGA的基本的可编程结构的一个概述。因为FPGA制造商提供的产品资料一直在变,因此本章并不是一本数据手册。它的目的是介绍FPGA的一些基本概念,比较在可编程逻辑上解决基本问题的不同方法。至于如何利用FPGA结构将是本书剩余部分要讨论的内容。
第4章和第5章分别详细介绍了组合和时序逻辑设计。为了符合大多数设计的主要目标(如尺寸、速度和功耗),这两章分别描述了数字逻辑的规范和优化方法,另外还介绍了Verilog和VHDL两种语言。但是本书并不是任何一种语言的权威参考书。硬件描述语言是当今数字系统设计的一种折中选择。对这些硬件描述语言及其基本原理的理解是成功设计数字系统的基本要求。为了理解如何最佳利用逻辑和物理综合,我们同时也需要了解用于最佳逻辑和时序机设计的工具。..
第6章介绍了大型数字系统的结构。介绍了存储—转移设计,把它作为一种数字设计结构的方法论。在该章中,将一个简单的DSP系统当作一个设计例子。但并不是把该DSP系统当成CPU设计的一个经典范例,而是想通过这个简单的例子,看到很多不同的设计问题。
第7章通过研究一个建立在FPGA上的大规模系统来总结回顾本书中所学的知识,FP-GA平台包含CPU和FPGA层构,它允许设计者在单个芯片上综合硬件和软件来解决设计难题。多FPGA系统能够实现超大型的设计;单个多FPGA系统能通过编程实现许多不同的逻辑设计。
ASIC(专用集成电路)设计的未来发展会怎样?我并不认为它会消失。因为人们仍然需要高密度和高性能的芯片,而这些也只有传统的硅片才能提供。但是我还是认为FPGA将会成为实现数字系统的一种主要方式。
Xilinx公司已经允许我们制作包含Xilinx学习设计工具(XSE)的光盘。本书中的例子都在这些丁具上调试过,读者能跟着这些例子熟悉该工具的使用,同时也可以使用该工具来设计自己的例子。这些工具能使我们更容易地理解概念。非常感激Xilinx公司为本书提供的帮助。
在下面的网页上能找到一些和本书相关的材料:
http://www.ee.princeton.edu/~wolf/fpga-book
该网页包含各个章节的概述,提供了额外的资源、一些例子实验和勘误表。我希望读者喜欢这本书,需要时可以给我发邮件。我的邮箱地址是wolf@princeton.edu。
我非常感谢2003年春季ELE 462班的同学,他们在VLSI课程上非常有耐心地完成我的试验。我也非常感谢Jiang Xu和Li Shang,他们是我那个学期的助教。他们为FPGA设计改进了基础结构,并且帮我调试了DSP设计。Mike Butts和Mohammed Khalid在分割算法上给了我许多有用的建议。Steven Brown、Jonathan Rose、Zvonko Vranesic和WilliamYu将他们论文中的图形直接提供给本书,并且为读者提供了原始资料的数据。他们使得我的工作简化了很多。我非常感激Andre De Hon、Carl Ebeling、Yankin Tanurhan和SteveTrimberger,他们审阅评论了我整个草稿,同时在如何改进这本书上给了我很多精彩的建议。我非常感激Ivo Bolsens、Anna Acevedo和Jeff Weintraub,他们使我从总体上掌握了Xilinx知识,特别是允许我在这本书中包含Xilinx ISE磁盘。当然我得感谢我的编辑Bernard Goodwin,感谢他为了本书不倦地努力。在本书中出现的问题,无论大小,当然全都由我负责。...
Wayne Wolf
Princeton,New Jersey
然而,基于FPGA的大系统设计者只有在真正理解VLSI的基础上,才能更好地利用FPGA。事实上,很多系统设计者把FPGA简单地当作一个黑匣子处理,结果失去了很多适合于FPGA内优化设计的机会。FPGA的结构主要由VLSI约束所决定:例如逻辑单元结构、可编程的互连结构、互连网络、配置和输出引脚等。理解VLSI器件特性如何影响FPGA层构设计,可以帮助设计者更好地理解如何利用FPGA的最佳特性以及如何降低它的局限性所造成的影响。
例如,在FPGA互连网络中,多数现代FPGA结构给设计者提供了几种不同类型的连线:局部的、通用的和全局的。为什么会存在这些不同类型的连线?因为随着连线长度的增加,连线驱动变得很难,这就需要额外的电路来驱动长连线,从而使FPGA更昂贵。了解这些不同类型的连线是如何工作的,能帮助设计者确定一个特殊的逻辑连线是否需要一种较昂贵类型的连线。
今天的FPGA的确是很神奇。高端FPGA能拥有几百万个门。芯片上有几片FPGA和一片或多片CPU,就能提供一个完整的嵌入式计算平台。不论系统是用FPGA还是用传统的硅片来设计,这些大系统的很多设计技术都是相同的。特别是当我们想要更好地利用VLSI结构中的硅特性时,更是如此。
考虑到VLSI系统中的这些优点,我决定以《Modern VLSI Design》为出发点,写一本基于FPGA的系统设计的书。《Modern VLSI Design》的读者将从本书看到以下熟悉的内容:VLSI特性、电路、组合和时序逻辑设计,以及系统结构的知识。当然,本书也增加了一部分新内容,一些与FPGA有关的内容,另外还有一些是对数字系统设计的新展望。
编写本书的一个主要目的是为那些对VLSI感兴趣的设计者和只想简单使用FPGA来设计大型系统的人提供教材。本书第2章主要是对VLSI的回顾:包括它的构造、电路、互连特性等。本书的其他部分,分别介绍VLSI设计细节,对VLSI不感兴趣的读者可以跳过这些内容;而那些把FPGA当作VLSI器件并想深入了解FPGA设计的读者可以在闲暇时间学习这部分内容。
第3章是对FPGA的基本的可编程结构的一个概述。因为FPGA制造商提供的产品资料一直在变,因此本章并不是一本数据手册。它的目的是介绍FPGA的一些基本概念,比较在可编程逻辑上解决基本问题的不同方法。至于如何利用FPGA结构将是本书剩余部分要讨论的内容。
第4章和第5章分别详细介绍了组合和时序逻辑设计。为了符合大多数设计的主要目标(如尺寸、速度和功耗),这两章分别描述了数字逻辑的规范和优化方法,另外还介绍了Verilog和VHDL两种语言。但是本书并不是任何一种语言的权威参考书。硬件描述语言是当今数字系统设计的一种折中选择。对这些硬件描述语言及其基本原理的理解是成功设计数字系统的基本要求。为了理解如何最佳利用逻辑和物理综合,我们同时也需要了解用于最佳逻辑和时序机设计的工具。..
第6章介绍了大型数字系统的结构。介绍了存储—转移设计,把它作为一种数字设计结构的方法论。在该章中,将一个简单的DSP系统当作一个设计例子。但并不是把该DSP系统当成CPU设计的一个经典范例,而是想通过这个简单的例子,看到很多不同的设计问题。
第7章通过研究一个建立在FPGA上的大规模系统来总结回顾本书中所学的知识,FP-GA平台包含CPU和FPGA层构,它允许设计者在单个芯片上综合硬件和软件来解决设计难题。多FPGA系统能够实现超大型的设计;单个多FPGA系统能通过编程实现许多不同的逻辑设计。
ASIC(专用集成电路)设计的未来发展会怎样?我并不认为它会消失。因为人们仍然需要高密度和高性能的芯片,而这些也只有传统的硅片才能提供。但是我还是认为FPGA将会成为实现数字系统的一种主要方式。
Xilinx公司已经允许我们制作包含Xilinx学习设计工具(XSE)的光盘。本书中的例子都在这些丁具上调试过,读者能跟着这些例子熟悉该工具的使用,同时也可以使用该工具来设计自己的例子。这些工具能使我们更容易地理解概念。非常感激Xilinx公司为本书提供的帮助。
在下面的网页上能找到一些和本书相关的材料:
http://www.ee.princeton.edu/~wolf/fpga-book
该网页包含各个章节的概述,提供了额外的资源、一些例子实验和勘误表。我希望读者喜欢这本书,需要时可以给我发邮件。我的邮箱地址是wolf@princeton.edu。
我非常感谢2003年春季ELE 462班的同学,他们在VLSI课程上非常有耐心地完成我的试验。我也非常感谢Jiang Xu和Li Shang,他们是我那个学期的助教。他们为FPGA设计改进了基础结构,并且帮我调试了DSP设计。Mike Butts和Mohammed Khalid在分割算法上给了我许多有用的建议。Steven Brown、Jonathan Rose、Zvonko Vranesic和WilliamYu将他们论文中的图形直接提供给本书,并且为读者提供了原始资料的数据。他们使得我的工作简化了很多。我非常感激Andre De Hon、Carl Ebeling、Yankin Tanurhan和SteveTrimberger,他们审阅评论了我整个草稿,同时在如何改进这本书上给了我很多精彩的建议。我非常感激Ivo Bolsens、Anna Acevedo和Jeff Weintraub,他们使我从总体上掌握了Xilinx知识,特别是允许我在这本书中包含Xilinx ISE磁盘。当然我得感谢我的编辑Bernard Goodwin,感谢他为了本书不倦地努力。在本书中出现的问题,无论大小,当然全都由我负责。...
Wayne Wolf
Princeton,New Jersey
相关资源回到顶部↑
· 【推荐】华清远见近50本嵌入式专业培训教材展示(涵盖嵌入式Linux、WinCE、Android、Symbian、ARM、DSP、FPGA等,部分教材电子版限时下载中,更多免费嵌入式视频教程在线收看!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· Matlab中文论坛,是中国最大最专业的Matlab/Simulink交流论坛(Matlab,Simulink,信号与系统)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)







点击看大图




加载中...

