FPGA设计指南

出版时间:2007-12  出版社:人民邮电  作者:[美]Clive“Max”  页数:339  
Tag标签:无  

内容概要

  本书用简洁的语言向读者展示了什么是FPGA、FPGA如何工作、如何对FPGA编程以及FPGA设计中遇到的各种概念、器件和工具,如传统的基于HDL/RTL的仿真和逻辑综合、最新的纯C/C++设计捕获和综合技术以及基于DSP的设计流程。另外,本书还涉及大量丰富的、工程师所需的技术细节。

作者简介

  Clive“Max”Maxfield世界半导体设计界知名专家,FPGA专业网站Programmable Logic DesignLine主编。Maxfield先生拥有丰富的电路设计和开发经验,更以杰出的写作才能享誉全球。他曾经长期为EDN、EE Design等一流杂志和网站撰写专栏,并撰写了多部电子技术方面的畅销书。

书籍目录

第1章 概论1.1 什么是FPGA1.2 FPGA为什么令人感兴趣1.3 FPGA的用途1.4 本书内容1.5 本书不包括什么1.6 读者对象第2章 基本概念2.1 FPGA的核心2.2 简单的可编程功能2.3 熔丝连接技术2.4 反熔丝技术2.5 掩模编程器件2.6 PROM2.7 基于EPROM的技术2.8 基于EEPROM的技术2.9 基于闪存的技术2.10 基于SRAM的技术2.11 小结第3章 FPGA的起源3.1 相关的技术3.2 晶体管3.3 集成电路3.4 SRAM/DRAM和微处理器3.5 SPLD和CPLD3.5.1 PROM3.5.2 PLA3.5.3 PAL和GAL3.5.4 其他可编程选择3.5.5 CPLD3.5.6 ABEL、CUPL、PALASM、JEDEC等3.6 专用集成电路(门阵列等)3.6.1 全定制3.6.2 Micromatrix和Micromosaic3.6.3 门阵列3.6.4 标准单元器件3.6.5 结构化ASIC3.7 FPGA3.7.1 FPGA平台3.7.2 FPGA-ASIC 混合3.7.3 FPGA厂商如何设计芯片第4章 FPGA结构的比较4.1 一点提醒4.2 一些背景信息4.3 反熔丝与SRAM与其他4.3.1 基于SRAM的器件4.3.2 以SRAM为基础器件的安全问题和解决方案4.3.3 基于反熔丝的器件4.3.4 基于EPROM的器件4.3.5 基于E2PROM/FLASH的器件4.3.6 FLASH-SRAM混合器件4.3.7 小结4.4 细粒、中等微粒和粗粒结构4.5 MUX与基于LUT的逻辑块4.5.1 基于MUX的结构4.5.2 基于LUT的结构4.5.3 基于MUX还是基于LUT4.5.4 3、4、5或6输入LUT4.5.5 LUT与分布RAM与SR4.6 CLB、LAB与slices4.6.1 Xlilinx 逻辑单元4.6.2 Altera逻辑部件4.6.3 slicing和dicing4.6.4 CLB和LAB4.6.5 分布RAM和移位寄存器4.7 快速进位链4.8 内嵌RAM4.9 内嵌乘法器、加法器、MAC等4.10 内嵌处理器核(硬的和软的)4.10.1 硬微处理器核4.10.2 软微处理器核4.11 时钟树和时间管理器4.11.1 时钟树4.11.2 时钟管理器4.12 通用I/O4.12.1 可配置I/O标准4.12.2 可配置I/O阻抗4.12.3 核与I/O电压4.13 吉比特传输4.14 硬IP、软IP和固IP4.15 系统门与实际的门4.16 FPGA年第5章 FPGA编程(配置)5.1 引言5.2 配置文件5.3 配置单元5.4 基于反熔丝的FPGA5.5 基于SRAM的FPGA5.5.1 迅速的过程欺骗了眼睛5.5.2 对嵌入式(块)RAM、分布RAM编程5.5.3 多编程链5.5.4 器件的快速重新初始化5.6 使用配置端口5.6.1 FPGA作为主设备串行下载5.6.2 FPGA作为主设备并行下载5.6.3 FPGA作为从设备并行下载5.6.4 FPGA作为从设备串行下载5.7 使用JTAG端口5.8 使用嵌入式处理器第6章 谁在参与游戏6.1 引言6.2 FPGA和FPAA提供商6.3 FPNA 提供商6.4 全线EDA提供商6.5 专业FPGA和独立EDA提供商6.6 使用专门工具的FPGA设计顾问6.7 开源、免费和低成本的设计工具第7章 FPGA与ASIC设计风格7.1 引言7.2 编码风格7.3 流水线和逻辑层次7.3.1 什么是流水线7.3.2 电子系统中的流水线7.3.3 逻辑层次7.4 异步设计实践7.4.1 异步结构7.4.2 组合回路7.4.3 延迟链7.5 时钟考虑7.5.1 时钟域7.5.2 时钟平衡7.5.3 门控时钟与使能时钟7.5.4 PLL和时钟调节电路7.5.5 跨时钟域数据传输的可靠性7.6 寄存器和锁存器考虑7.6.1 锁存器7.6.2 具有“置位”和“复位”输入的触发器7.6.3 全局复位和初始化条件7.7 资源共享(时分复用)7.7.1 使用它或者放弃它7.7.2 其他内容7.8 状态机编码7.9 测试方法学第8章 基于原理图的设计流程8.1 往昔的时光8.2 EDA初期8.2.1 前端工具,如逻辑仿真8.2.2 后端工具如版图设计8.2.3 CAE + CAD = EDA8.3 简单的原理图驱动ASIC设计流程8.4 简单(早期)的原理图驱动FPGA设计流程8.4.1 映射8.4.2 包装8.4.3 布局和布线8.4.4 时序分析和布局布线后仿真8.5 平坦的原理图与分层次的原理图8.5.1 沉闷的扁平原理图8.5.2 分等级(基于模块)的原理图8.6 今天的原理图驱动设计流程第9章 基于HDL的设计流程9.1 基于原理图流程的问题9.2 基于HDL设计流程的出现9.2.1 不同的抽象层次9.2.2 早期基于HDL的ASIC设计流程9.2.3 早期基于HDL的FPGA设计流程9.2.4 知道结构的FPGA流程9.2.5 逻辑综合与基于物理的综合9.3 图形设计输入的生活9.4 绝对过剩的HDL9.4.1 Verilog HDL9.4.2 VHDL和VITAL9.4.3 混合语言设计9.4.4 UDL/I9.4.5 Superlog 和 SystemVerilog9.4.6 SystemC9.5 值得深思的事9.5.1 担心,非常担心9.5.2 串行与并行多路复用器9.5.3 小心锁存器9.5.4 聪明地使用常量9.5.5 资源共用考虑9.5.6 还有一些不可忽视的内容第10章 FPGA设计中的硅虚拟原型10.1 什么是硅虚拟原型10.2 基于ASIC的SVP方法10.2.1 门级SVP(由快速综合产生)10.2.2 门级SVP(由基于增益的综合产生)10.2.3 团簇SVP10.2.4 基于RTL的SVP10.3 基于FPGA的SVP10.3.1 交互式操作10.3.2 增量式布局布线10.3.3 基于RTL的FPGASVP第11章 基于C/C++等语言的设计流程11.1 传统的HDL设计流程存在的问题11.2 C对C++与并行执行对顺序执行11.3 基于SystemC的设计流程11.3.1 什么是SystemC以及它从哪里来11.3.2 SystemC 1.011.3.3 SystemC 2.011.3.4 抽象级11.3.5 基于SystemC设计流程的可选方案11.3.6 要么喜爱它,要么讨厌它11.4 基于增强型C/C++的设计流程11.4.1 什么是增强型C/C++11.4.2 可选择的增强型C/C++设计流程11.5 基于纯C/C++的设计流程11.6 综合的不同抽象级别11.7 混合语言设计和验证环境第12章 基于DSP的设计流程12.1 DSP简介12.2 可选择的DSP实现方案12.2.1 随便选一个器件,不过不要让我看到是哪种器件12.2.2 系统级评估和算法验证12.2.3 在DSP内核中运行的软件12.2.4 专用DSP硬件12.2.5 与DSP相关的嵌入式FPGA资源12.3 针对DSP的以FPGA为中心的设计流程12.3.1 专用领域语言12.3.2 系统级设计和仿真环境12.3.3 浮点与定点表示12.3.4 系统/算法级向RTL的转换(手工转换)12.3.5 系统/算法级向RTL的转换(自动生成)12.3.6 系统/算法级向C/C++的转换12.3.7 模块级IP环境12.3.8 别忘了测试平台12.4 DSP与VHDL/Verilog混合设计环境第13章 基于嵌入式处理器的设计流程13.1 引言13.2 硬核与软核13.2.1 硬核13.2.2 微处理器软核13.3 将设计划分为硬件和软件部分13.4 硬件和软件的世界观13.5 利用FPGA作为自身的开发环境13.6 增强设计的可见性13.7 其他一些混合验证方法13.7.1 RTL(VHDL或Verilog)13.7.2 C/C++、SystemC等13.7.3 硬件模拟器中的物理芯片13.7.4 指令集仿真器13.8 一个相当巧妙的设计环境第14章 模块化设计和增量设计14.1 将设计作为一个大的模块进行处理14.2 将设计划分为更小的模块14.2.1 模块化设计14.2.2 增量设计14.2.3 存在的问题14.3 总有其他办法第15章 高速设计与其他PCB设计注意事项15.1 开始之前15.2 我们都很年轻,因此15.3 变革的时代15.4 其他注意事项15.4.1 高速设计15.4.2 信号完整性分析15.4.3 SPICE与IBIS15.4.4 起动功率15.4.5 使用内部末端阻抗15.4.6 串行或并行处理数据第16章 观察FPGA的内部节点16.1 缺乏可见性16.2 使用多路复用技术16.3 专用调试电路16.4 虚拟逻辑分析仪16.5 虚拟线路16.5.1 问题描述16.5.2 虚拟线路解决方案第17章 IP17.1 IP的来源17.2 人工优化的IP17.2.1 未加密的RTL级IP17.2.2 加密的RTL级IP17.2.3 未经布局布线的网表级IP17.2.4 布局布线后的网表级IP17.3 IP核生成器17.4 综合资料第18章 ASIC设计与FPGA设计之间的移植18.1 可供选择的设计方法18.1.1 只做FPGA设计18.1.2 FPGA之间的转换18.1.3 FPGA到ASIC的转换18.1.4 ASIC到FPGA的转换第19章 仿真、综合、验证等设计工具19.1 引言19.2 仿真(基于周期、事件驱动等)19.2.1 什么是事件驱动逻辑仿真器19.2.2 事件驱动逻辑仿真器发展过程简述19.2.3 逻辑值与不同逻辑值系统19.2.4 混合语言仿真19.2.5 其他延迟格式19.2.6 基于周期的仿真器19.2.7 选择世界上最好的逻辑仿真器19.3 综合(逻辑/HDL综合与物理综合)19.3.1 逻辑/HDL综合技术19.3.2 物理综合技术19.3.3 时序重调、复制及二次综合19.3.4 选择世界上最好的综合工具19.4 时序分析(静态与动态)19.4.1 静态时序分析19.4.2 统计静态时序分析19.4.3 动态时序分析19.5 一般验证19.5.1 验证IP19.5.2 验证环境和创建testbench19.5.3 分析仿真结果19.6 形式验证19.6.1 形式验证的不同种类19.6.2 形式验证究竟是什么19.6.3 术语及定义19.6.4 其他可选的断言/属性规范技术19.6.5 静态形式验证和动态形式验证19.6.6 各种语言的总结19.7 混合设计19.7.1 HDL语言到C语言的转换19.7.2 代码覆盖率19.7.3 性能分析第20章 选择合适的器件20.1 丰富的选择20.2 要是有选型工具就好了20.3 工艺20.4 基本资源和封装20.5 通用I/O接口20.6 嵌入式乘法器、RAM等20.7 嵌入式处理器核20.8 吉比特I/O能力20.9 可用的IP20.10 速度等级20.11 轻松的注解第21章 吉比特收发器21.1 引言21.2 差分对21.3 多种多样的标准21.4 8bit/10bit编码等21.5 深入收发器模块内部21.6 组合多个收发器21.7 可配置资源21.7.1 逗号检测21.7.2 差分输出摆幅21.7.3 片内末端电阻21.7.4 预加重21.7.5 均衡化21.8 时钟恢复、抖动和眼图21.8.1 时钟恢复21.8.2 抖动和眼图第22章 可重配置计算22.1 可动态重配置逻辑22.2 可动态重配置互连线22.3 可重配置计算第23章 现场可编程节点阵列23.1 引言23.2 算法评估23.3 picoChip公司的picoArray技术23.3.1 一个理想的picoArray应用:无线基站23.3.2 picoArray设计环境23.4 QuickSilver公司的ACM技术23.4.1 设计混合节点23.4.2 系统控制器节点、输入输出节点及其他节点23.4.3 空间与时间分割23.4.4 在ACM上创建和运行程序23.4.5 还有更多的内容23.5 这就是硅,但与我们知道的并不相同第24章 独立的设计工具24.1 引言24.2 ParaCore Architect24.2.1 产生浮点处理功能模块24.2.2 产生FFT功能模块24.2.3 基于网络的接口24.3 Confluence系统设计语言24.3.1 一个简单的例子24.3.2 还有更多的功能24.3.3 免费评估版本24.4 你是否具有这种工具第25章 创建基于开源的设计流程25.1 如何白手起家创办一家FPGA设计工作室25.2 开发平台:Linux25.3 验证环境25.3.1 Icarus Verilog25.3.2 Dinotrace和GTKWave25.3.3 Covered代码覆盖率工具25.3.4 Verilator25.3.5 Python25.4 形式验证25.4.1 开源模型检查25.4.2 基于开源的自动推断25.4.3 真正的问题是什么25.5 访问公共IP元件25.5.1 OpenCores25.5.2 OVL25.6 综合与实现工具25.7 FPGA开发板25.8 综合材料第26章 FPGA未来的发展26.1 一种担忧26.2 下一代结构和技术26.2.1 十亿晶体管级器件26.2.2 超快速I/O26.2.3 超快速配置26.2.4 更多的硬IP26.2.5 模拟与混合信号器件26.2.6 ASMBL与其他结构26.2.7 不同的结构粒度26.2.8 ASIC结构中的嵌入式FPGA内核26.2.9 ASIC和FPGA结构中嵌入FPNA内核或者相反26.2.10 基于MRAM的器件26.3 设计工具26.4 期待意外的发生附录A 信号完整性简介附录B 深亚微米延迟效应附录C 线性移位寄存器术语表索引

编辑推荐

  《FPGA设计指南:器件、工具和流程》适用于使用FPGA进行设计的工程师、进行嵌入式应用任务开发的软件工程师以及高等院校电气工程专业的师生。

图书封面

图书标签Tags

评论、评分、阅读与下载


    FPGA设计指南 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7