第1章 概論
1.1 什麼是fpga
1.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 prom
2.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和cpld
3.5.1 prom
3.5.2 pla
3.5.3 pal和gal
3.5.4 其他可編程選擇
3.5.5 cpld
3.5.6 abel、cupl、palasm、jedec等
3.6 專用集成電路(門陣列等)
3.6.1 全定製
3.6.2 micromatrix和micromosaic
3.6.3 門陣列
3.6.4 標準單元器件
3.6.5 結構化asic
3.7 fpga
3.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還是基於lut
4.5.4 3、4、5或6輸入lut
4.5.5 lut與分布ram與sr
4.6 clb、lab與slices
4.6.1 xlilinx 邏輯單元
4.6.2 altera邏輯部件
4.6.3 slicing和dicing
4.6.4 clb和lab
4.6.5 分布ram和移位寄存器
4.7 快速進位鏈
4.8 內嵌ram
4.9 內嵌乘法器、加法器、mac等
4.10 內嵌處理器核(硬的和軟的)
4.10.1 硬微處理器核
4.10.2 軟微處理器核
4.11 時鍾樹和時間管理器
4.11.1 時鍾樹
4.11.2 時鍾管理器
4.12 通用i/o
4.12.1 可配置i/o標準
4.12.2 可配置i/o阻抗
4.12.3 核與i/o電壓
4.13 吉比特傳輸
4.14 硬ip、軟ip和固ip
4.15 係統門與實際的門
4.16 fpga年
第5章 fpga編程(配置)
5.1 引言
5.2 配置文件
5.3 配置單元
5.4 基於反熔絲的fpga
5.5 基於sram的fpga
5.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 = eda
8.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 絕對過剩的hdl
9.4.1 verilog hdl
9.4.2 vhdl和vital
9.4.3 混閤語言設計
9.4.4 udl/i
9.4.5 superlog 和 systemverilog
9.4.6 systemc
9.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 團簇svp
10.2.4 基於rtl的svp
10.3 基於fpga的svp
10.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.0
11.3.3 systemc 2.0
11.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與ibis
15.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章 ip
17.1 ip的來源
17.2 人工優化的ip
17.2.1 未加密的rtl級ip
17.2.2 加密的rtl級ip
17.2.3 未經布局布綫的網錶級ip
17.2.4 布局布綫後的網錶級ip
17.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 驗證ip
19.5.2 驗證環境和創建testbench
19.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 可用的ip
20.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 architect
24.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 開發平颱:linux
25.3 驗證環境
25.3.1 icarus verilog
25.3.2 dinotrace和gtkwave
25.3.3 covered代碼覆蓋率工具
25.3.4 verilator
25.3.5 python
25.4 形式驗證
25.4.1 開源模型檢查
25.4.2 基於開源的自動推斷
25.4.3 真正的問題是什麼
25.5 訪問公共ip元件
25.5.1 opencores
25.5.2 ovl
25.6 綜閤與實現工具
25.7 fpga開發闆
25.8 綜閤材料
第26章 fpga未來的發展
26.1 一種擔憂
26.2 下一代結構和技術
26.2.1 十億晶體管級器件
26.2.2 超快速i/o
26.2.3 超快速配置
26.2.4 更多的硬ip
26.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 綫性移位寄存器
術語錶
索引
· · · · · · (
收起)