出版時間:2007-12 出版社:人民郵電 作者:[美]Clive“Max” 頁數(shù):339
Tag標簽:無
內容概要
本書用簡潔的語言向讀者展示了什么是FPGA、FPGA如何工作、如何對FPGA編程以及FPGA設計中遇到的各種概念、器件和工具,如傳統(tǒng)的基于HDL/RTL的仿真和邏輯綜合、最新的純C/C++設計捕獲和綜合技術以及基于DSP的設計流程。另外,本書還涉及大量豐富的、工程師所需的技術細節(jié)。
作者簡介
Clive“Max”Maxfield世界半導體設計界知名專家,F(xiàn)PGA專業(yè)網(wǎng)站Programmable Logic DesignLine主編。Maxfield先生擁有豐富的電路設計和開發(fā)經(jīng)驗,更以杰出的寫作才能享譽全球。他曾經(jīng)長期為EDN、EE Design等一流雜志和網(wǎng)站撰寫專欄,并撰寫了多部電子技術方面的暢銷書。
書籍目錄
第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 系統(tǒng)門與實際的門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 專業(yè)FPGA和獨立EDA提供商6.6 使用專門工具的FPGA設計顧問6.7 開源、免費和低成本的設計工具第7章 FPGA與ASIC設計風格7.1 引言7.2 編碼風格7.3 流水線和邏輯層次7.3.1 什么是流水線7.3.2 電子系統(tǒng)中的流水線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和時鐘調節(jié)電路7.5.5 跨時鐘域數(shù)據(jù)傳輸?shù)目煽啃?.6 寄存器和鎖存器考慮7.6.1 鎖存器7.6.2 具有“置位”和“復位”輸入的觸發(fā)器7.6.3 全局復位和初始化條件7.7 資源共享(時分復用)7.7.1 使用它或者放棄它7.7.2 其他內容7.8 狀態(tài)機編碼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設計流程的出現(xiàn)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(由快速綜合產(chǎn)生)10.2.2 門級SVP(由基于增益的綜合產(chǎn)生)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 傳統(tǒng)的HDL設計流程存在的問題11.2 C對C++與并行執(zhí)行對順序執(zhí)行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 混合語言設計和驗證環(huán)境第12章 基于DSP的設計流程12.1 DSP簡介12.2 可選擇的DSP實現(xiàn)方案12.2.1 隨便選一個器件,不過不要讓我看到是哪種器件12.2.2 系統(tǒng)級評估和算法驗證12.2.3 在DSP內核中運行的軟件12.2.4 專用DSP硬件12.2.5 與DSP相關的嵌入式FPGA資源12.3 針對DSP的以FPGA為中心的設計流程12.3.1 專用領域語言12.3.2 系統(tǒng)級設計和仿真環(huán)境12.3.3 浮點與定點表示12.3.4 系統(tǒng)/算法級向RTL的轉換(手工轉換)12.3.5 系統(tǒng)/算法級向RTL的轉換(自動生成)12.3.6 系統(tǒng)/算法級向C/C++的轉換12.3.7 模塊級IP環(huán)境12.3.8 別忘了測試平臺12.4 DSP與VHDL/Verilog混合設計環(huán)境第13章 基于嵌入式處理器的設計流程13.1 引言13.2 硬核與軟核13.2.1 硬核13.2.2 微處理器軟核13.3 將設計劃分為硬件和軟件部分13.4 硬件和軟件的世界觀13.5 利用FPGA作為自身的開發(fā)環(huán)境13.6 增強設計的可見性13.7 其他一些混合驗證方法13.7.1 RTL(VHDL或Verilog)13.7.2 C/C++、SystemC等13.7.3 硬件模擬器中的物理芯片13.7.4 指令集仿真器13.8 一個相當巧妙的設計環(huán)境第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 串行或并行處理數(shù)據(jù)第16章 觀察FPGA的內部節(jié)點16.1 缺乏可見性16.2 使用多路復用技術16.3 專用調試電路16.4 虛擬邏輯分析儀16.5 虛擬線路16.5.1 問題描述16.5.2 虛擬線路解決方案第17章 IP17.1 IP的來源17.2 人工優(yōu)化的IP17.2.1 未加密的RTL級IP17.2.2 加密的RTL級IP17.2.3 未經(jīng)布局布線的網(wǎng)表級IP17.2.4 布局布線后的網(wǎng)表級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 事件驅動邏輯仿真器發(fā)展過程簡述19.2.3 邏輯值與不同邏輯值系統(tǒng)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 時序分析(靜態(tài)與動態(tài))19.4.1 靜態(tài)時序分析19.4.2 統(tǒng)計靜態(tài)時序分析19.4.3 動態(tài)時序分析19.5 一般驗證19.5.1 驗證IP19.5.2 驗證環(huán)境和創(chuàng)建testbench19.5.3 分析仿真結果19.6 形式驗證19.6.1 形式驗證的不同種類19.6.2 形式驗證究竟是什么19.6.3 術語及定義19.6.4 其他可選的斷言/屬性規(guī)范技術19.6.5 靜態(tài)形式驗證和動態(tài)形式驗證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章 吉比特收發(fā)器21.1 引言21.2 差分對21.3 多種多樣的標準21.4 8bit/10bit編碼等21.5 深入收發(fā)器模塊內部21.6 組合多個收發(fā)器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 可動態(tài)重配置邏輯22.2 可動態(tài)重配置互連線22.3 可重配置計算第23章 現(xiàn)場可編程節(jié)點陣列23.1 引言23.2 算法評估23.3 picoChip公司的picoArray技術23.3.1 一個理想的picoArray應用:無線基站23.3.2 picoArray設計環(huán)境23.4 QuickSilver公司的ACM技術23.4.1 設計混合節(jié)點23.4.2 系統(tǒng)控制器節(jié)點、輸入輸出節(jié)點及其他節(jié)點23.4.3 空間與時間分割23.4.4 在ACM上創(chuàng)建和運行程序23.4.5 還有更多的內容23.5 這就是硅,但與我們知道的并不相同第24章 獨立的設計工具24.1 引言24.2 ParaCore Architect24.2.1 產(chǎn)生浮點處理功能模塊24.2.2 產(chǎn)生FFT功能模塊24.2.3 基于網(wǎng)絡的接口24.3 Confluence系統(tǒng)設計語言24.3.1 一個簡單的例子24.3.2 還有更多的功能24.3.3 免費評估版本24.4 你是否具有這種工具第25章 創(chuàng)建基于開源的設計流程25.1 如何白手起家創(chuàng)辦一家FPGA設計工作室25.2 開發(fā)平臺:Linux25.3 驗證環(huán)境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 綜合與實現(xiàn)工具25.7 FPGA開發(fā)板25.8 綜合材料第26章 FPGA未來的發(fā)展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 期待意外的發(fā)生附錄A 信號完整性簡介附錄B 深亞微米延遲效應附錄C 線性移位寄存器術語表索引
編輯推薦
《FPGA設計指南:器件、工具和流程》適用于使用FPGA進行設計的工程師、進行嵌入式應用任務開發(fā)的軟件工程師以及高等院校電氣工程專業(yè)的師生。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載