Xilinx FPGA權威設計指南——Vivado 2014集成開發環境

何賓

  • 出版商: 電子工業
  • 出版日期: 2015-02-01
  • 售價: $474
  • 語言: 簡體中文
  • 頁數: 464
  • ISBN: 712125400X
  • ISBN-13: 9787121254000
  • 相關分類: FPGA
  • 下單後立即進貨 (約4週~6週)

商品描述

本書全面系統地介紹了Xilinx新一代集成開發環境Vivado 2014.3的設計方法、設計流程和具體實現。全書共分11章,內容包括:Xilinx UltraScale結構、Vivado集成設計環境導論、Vivado工程模式基本設計實現、Vivado非工程模式基本設計實現、創建和封裝用戶IP核流程、Vivado高級約束原理及實現、Vivado調試工具原理及實現、Vivado嵌入式系統設計實現、Vivado模型設計原理及實現、Vivado HLS原理及實現、Vivado部分可重配置原理及實現。本書參考了Xilinx提供的大量Vivado最新設計資料,理論與應用並重,將Xilinx最新的設計理論貫穿在具體的設計實現中。

作者簡介

2004年開始在北京化工大學信息學院負責自動化、檢測技術、計算機應用技術、電子信息工程、通信工程專業、電子信息科學與技術專業EDA課程的教學工作(該課程一年的教學工作量300人左右)。所編寫的《EDA原理及應用》(清華大學出版社出版),作為該門課程的教學用書,該書和還被國內很多高校作為教學用書,與清華大學出版社合作,已經出版著作7部。

目錄大綱

目 錄
第 章 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
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
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
8.3.6 添加BRAM 277
8.3.7 添加約束xdc 279
8.4 編寫軟件程序 280
8.4.1 打開工程 280
8.4.2 創建應用工程 281
8.4.3 為LED_IP分配驅動 284
8.4.4 分析匯編目標文件 286
8.4.5 驗證設計 288
8.5 軟件控制定時器和調試 288
8.5.1 打開工程 288
8.5.2 創建SDK軟件工程 289
8.5.3 在硬件上驗證操作 294
8.5.4 啟動調試器 295
8.6 使用硬件分析儀調試 297
8.6.1 ILA核原理 298
8.6.2 VIO核原理 301
8.6.3 打開工程 302
8.6.4 添加定制IP 303
8.6.5 添加ILA和VIO核 303
8.6.6 標記和分配調試網絡 306
8.6.7 生成測試程序 307
8.6.8 驗證和調試 310
第 章 Vivado模型設計原理及實現 317
9.1 FPGA信號處理方法 317
9.2 FPGA模型設計模塊 318
9.2.1 Xilinx Blockset 318
9.2.2 Xilinx Reference Blockset 319
9.3 System Generator運行環境的配置 319
9.4 信號模型的構建和實現 320
9.4.1 信號模型的構建 320
9.4.2 模型參數的設置 324
9.4.3 信號處理模型的仿真 326
9.4.4 生成模型子系統 326
9.4.5 模型HDL代碼的生成 327
9.4.6 打開生成設計文件並仿真 329
9.4.7 協同仿真的配置及實現 330
9.4.8 生成IP核 333
9.5 編譯MATLAB到FPGA 334
9.5.1 模型的設計原理 334
9.5.2 系統模型的建立 336
9.5.3 系統模型的仿真 338
9.6 FIR濾波器的設計與實現 339
9.6.1 FIR濾波器設計原理 339
9.6.2 生成FIR濾波器系數 339
9.6.3 構建FIR濾波器模型 341
9.6.4 仿真FIR濾波器模型 344
9.6.5 修改FIR濾波器模型 345
9.6.6 仿真修改後FIR濾波器模型 345
第 章 Vivado HLS原理及實現 347
10.1 高級綜合工具概述 347
10.1.1 高級綜合工具的功能和特點 347
10.1.2 不同的命令對HLS綜合結果的影響 348
10.1.3 從C中提取硬件結構 349
10.2 高級綜合工具調度和綁定 352
10.2.1 高級綜合工具調度 352
10.2.2 高級綜合工具綁定 353
10.3 Vivado HLS工具的優勢 353
10.4 C代碼的關鍵屬性 354
10.4.1 函數 355
10.4.2 類型 356
10.4.3 循環 362
10.4.4 數組 364
10.4.5 端口 364
10.4.6 操作符 365
10.5 時鐘測量術語說明 366
10.6 HLS關鍵優化策略 367
10.6.1 延遲和吞吐量 367
10.6.2 循環的處理 375
10.6.3 數組的處理 378
10.6.4 函數內聯 383
10.6.5 命令和編譯指示 384
10.7 Vivado HLS數字系統實現 386
10.7.1 基於HLS實現組合邏輯 386
10.7.2 基於HLS實現時序邏輯 400
10.7.3 基於HLS實現矩陣相乘 406
第 章 Vivado部分可重配置原理及實現 426
11.1 可重配置導論 426
11.1.1 可重配置的概念 426
11.1.2 可重配置的應用 427
11.1.3 可重配置的特點 430
11.1.4 可重配置術語解釋 432
11.1.5 可重配置的要求 433
11.1.6 可重配置的標準 433
11.1.7 可重配置的流程 435
11.2 可重配置的實現 435
11.2.1 查看腳本 436
11.2.2 綜合設計 437
11.2.3 實現第一個配置 437
11.2.4 實現第二個配置 444
11.2.5 驗證配置 445
11.2.6 生成比特流 446
11.2.7 部分重配置FPGA 448