圖書內容,目 錄,
圖書內容
本書全面系統地介紹了Xilinx新一代集成開發環境Vivado 2014.3的設計方法、設計流程和具體實現。全書共分11章,內容包括:Xilinx UltraScale結構、Vivado集成設計環境導論、Vivado工程模式基本設計實現、Vivado非工程模式基本設計實現、創建和封裝用戶IP核流程、Vivado高級約束原理及實現、Vivado調試工具原理及實現、Vivado嵌入式系統設計實現、Vivado模型設計原理及實現、Vivado HLS原理及實現、Vivado部分可重配置原理及實現。
本書參考了Xilinx提供的大量Vivado最新設計資料,理論與套用並重,將Xilinx最新的設計理論貫穿在具體的設計實現中。
目 錄
第 章 Xilinx新一代UltraScale結構 1
1.1 UltraScale結構特點 1
1.2 可配置邏輯塊 2
1.2.1 可配置邏輯塊的特點 2
1.2.2 多路復用器 3
1.2.3 進位邏輯 5
1.2.5 分散式RAM(只有SLICEM) 7
1.2.6 唯讀存儲器(ROM) 8
1.2.7 移位暫存器(只有SLICEM) 9
1.3 時鐘資源和時鐘管理單元 10
1.3.1 時鐘資源 10
1.3.2 時鐘管理模組 12
1.4 塊存儲器資源 13
1.5 專用的DSP模組 15
1.6 輸入/輸出塊 16
1.7 高速串列收發器 17
1.8 PCI-E模組 18
1.9 Interlaken集成塊 19
1.10 Ethernet模組 19
1.11 系統監控器模組 19
1.12 配置模組 20
1.13 互聯資源 20
第 章 Vivado集成設計環境導論 22
2.1 Vivado系統級設計流程 22
2.2 Vivado功能和特性 24
2.3 Vivado中電路結構的網表描述 25
2.4 Vivado中工程數據的目錄結構 26
2.5 Vivado中Journal檔案和Log檔案功能 26
2.5.1 Journal檔案(Vivado.jou) 26
2.5.2 Log檔案(Vivado.log) 27
2.6 Vivado兩種設計流程模式 28
2.6.1 工程模式和非工程模式不同點比較 28
2.6.2 工程模式和非工程模式命令的不同 29
2.7 Vivado中XDC檔案 30
2.7.1 XDC的特性 30
2.7.2 XDC與UCF比較 31
2.7.3 約束檔案的使用方法 32
2.7.4 約束順序 32
2.7.5 XDC約束命令 33
2.8 Vivado集成設計環境的啟動方法 34
2.9 Vivado集成設計環境主界面 35
2.10 Vivado設計主界面及功能 38
2.10.1 流程處理主界面及功能 38
2.10.2 工程管理器主界面及功能 40
2.10.3 工作區視窗 42
2.10.4 設計運行視窗 42
第 章 Vivado工程模式基本設計實現 44
3.1 創建新的設計工程 44
3.2 創建並添加一個新的設計檔案 48
3.3 RTL詳細描述和分析 52
3.4 設計綜合和分析 55
3.4.1 綜合過程的關鍵問題 55
3.4.2 設計綜合選項 55
3.4.3 Vivado支持的屬性 58
2.7.2 XDC與UCF比較 31
2.7.3 約束檔案的使用方法 32
2.7.4 約束順序 32
2.7.5 XDC約束命令 33
2.8 Vivado集成設計環境的啟動方法 34
2.9 Vivado集成設計環境主界面 35
2.10 Vivado設計主界面及功能 38
2.10.1 流程處理主界面及功能 38
2.10.2 工程管理器主界面及功能 40
2.10.3 工作區視窗 42
2.10.4 設計運行視窗 42
第 章 Vivado工程模式基本設計實現 44
3.1 創建新的設計工程 44
3.2 創建並添加一個新的設計檔案 48
3.3 RTL詳細描述和分析 52
3.4 設計綜合和分析 55
3.4.1 綜合過程的關鍵問題 55
3.4.2 設計綜合選項 55
3.4.3 Vivado支持的屬性 58
3.4.4 執行設計綜合 66
3.4.5 綜合報告的查看 69
3.5 設計行為級仿真 70
3.6 創建實現約束 75
3.6.1 實現約束的原理 75
3.6.2 I/O規劃器功能 75
3.6.3 實現約束過程 76
3.7 設計實現和分析 81
3.7.1 設計實現原理 82
3.7.2 設計實現選項 82
3.7.3 設計實現及分析 87
3.7.4 靜態時序分析 93
3.8 設計時序仿真 97
3.9 生成編程檔案 98
3.9.1 執行生成可程式檔案 98
3.9.2 生成編程檔案選項 98
3.10 下載比特流檔案到FPGA 100
第 章 Vivado非工程模式基本設計實現 104
4.1 非工程模式基本命令和功能 104
4.1.1 非工程模式基本命令列表 104
4.1.2 典型Tcl腳本的使用 105
4.2 Vivado集成開發環境分析設計 106
4.2.1 啟動Vivado集成開發環境 106
4.2.2 打開設計檢查點的方法 107
4.3 修改設計路徑 107
4.4 設定設計輸出路徑 108
4.5 讀取設計檔案 108
4.6 運行設計綜合 109
4.7 運行設計布局 110
4.8 運行設計布線 112
4.9 生成比特流檔案 114
4.10 下載比特流檔案 115
第 章 創建和封裝用戶IP核流程 117
5.1 Vivado定製IP流程 117
3.4.5 綜合報告的查看 69
3.5 設計行為級仿真 70
3.6 創建實現約束 75
3.6.1 實現約束的原理 75
3.6.2 I/O規劃器功能 75
3.6.3 實現約束過程 76
3.7 設計實現和分析 81
3.7.1 設計實現原理 82
3.7.2 設計實現選項 82
3.7.3 設計實現及分析 87
3.7.4 靜態時序分析 93
3.8 設計時序仿真 97
3.9 生成編程檔案 98
3.9.1 執行生成可程式檔案 98
3.9.2 生成編程檔案選項 98
3.10 下載比特流檔案到FPGA 100
第 章 Vivado非工程模式基本設計實現 104
4.1 非工程模式基本命令和功能 104
4.1.1 非工程模式基本命令列表 104
4.1.2 典型Tcl腳本的使用 105
4.2 Vivado集成開發環境分析設計 106
4.2.1 啟動Vivado集成開發環境 106
4.2.2 打開設計檢查點的方法 107
4.3 修改設計路徑 107
4.4 設定設計輸出路徑 108
4.5 讀取設計檔案 108
4.6 運行設計綜合 109
4.7 運行設計布局 110
4.8 運行設計布線 112
4.9 生成比特流檔案 114
4.10 下載比特流檔案 115
第 章 創建和封裝用戶IP核流程 117
5.1 Vivado定製IP流程 117
5.2 創建新的用於創建IP的工程 118
5.3 設定定製IP的庫名和目錄 119
5.4 封裝定製IP的實現 120
5.5 創建新的用於調用IP的工程 124
5.6 設定包含調用IP的路徑 124
5.7 創建基於IP的系統 125
5.8 系統行為級仿真 129
5.9 系統設計綜合 132
5.10 系統實現和驗證 133
第 章 Vivado高級約束原理及實現 135
6.1 時序檢查概念 135
6.1.1 基本術語 135
6.1.2 時序路徑 135
6.1.3 建立和保持鬆弛 137
6.1.4 建立和保持檢查 138
6.1.5 恢復和去除檢查 141
6.2 時序約束概念 142
6.2.1 時鐘定義 142
6.2.2 時鐘組 148
6.2.3 I/O延遲約束 151
6.2.4 時序例外 154
6.3 生成時序報告 168
6.4 添加時序約束 175
6.4.1 時序約束策略1 175
6.4.2 時序約束策略2 177
6.5 物理約束原理 182
6.5.1 網表約束 182
6.5.2 布局約束 183
6.5.3 布線約束 185
6.6 布局約束實現 186
6.6.1 修改綜合屬性 187
6.6.2 布局約束方法 188
6.7 布線約束實現 191
6.7.1 手工布線 191
6.7.2 進入分配布線模式 192
6.7.3 分配布線節點 194
6.7.4 取消分配布線節點 194
6.7.5 完成並退出分配布線模式 194
6.7.6 鎖定LUT負載上的單元輸入 195
6.7.7 分支布線 195
6.7.8 直接約束布線 197
6.8 修改邏輯實現 198
6.9 配置約束原理 199
6.10 增量編譯 199
6.10.1 增量編譯流程 199
6.10.2 運行增量布局和布線 200
6.10.3 使用增量編譯 202
6.10.4 增量編譯高級分析 204
第 章 Vivado調試工具原理及實現 205
7.1 設計調試原理和方法 205
7.2 創建新的FIFO調試工程 206
7.3 添加FIFO IP到設計中 207
7.4 添加頂層設計檔案 210
7.5 使用HDL例化添加FIFO到設計中 211
7.6 添加約束檔案 216
7.7 網表插入調試探測流程方法及實現 218
7.7.1 網表插入調試探測流程的方法 218
7.7.2 網表插入調試探測流程的實現 220
7.8 使用添加HDL屬性調試探測流程 225
7.9 使用HDL例化調試核調試探測流程 227
第 章 Vivado嵌入式系統設計實現 232
8.1 簡單硬體系統設計 232
8.1.1 創建新的工程 232
8.1.2 使用IP集成器創建處理器系統 234
8.1.3 生成頂層HDL和導出設計到SDK 240
8.1.4 創建存儲器測試程式 243
8.1.5 驗證設計 245
8.2 在PL內添加外設 247
8.2.1 打開工程 248
8.2.2 添加兩個GPIO實例 248
8.2.3 連線外部GPIO外設 256
8.2.4 設計綜合 257
8.2.5 生成比特流和導出硬體到SDK 258
8.2.6 生成測試程式 258
8.2.7 驗證設計 262
8.3 創建和添加定製IP 263
8.3.1 創建定製IP模板 263
8.3.2 修改定製IP設計模板 266
8.3.3 使用IP封裝器封裝外設 271
8.3.4 打開工程和修改設定 274
8.3.5 添加定製IP到設計 275