編輯推薦
選擇本書的3大理由: 知名作者何賓老師新力作,凝結瞭何賓老師多年工程設計、教學經驗和創作的心血。 係統介紹瞭Xilinx新一代集成開發環境Vivado 2014.3的設計方法、設計流程和具體實現,工程實用性強。 《電子係統EDA新技術叢書·Xilinx FPGA設計指南:Vivado 2014集成開發環境》理論與應用並重,將Xilinx新的設計理論貫穿在具體的設計實現中。
內容簡介
《電子係統EDA新技術叢書·Xilinx FPGA設計指南:Vivado 2014集成開發環境》全麵係統地介紹瞭Xilinx新一代集成開發環境Vivado 2014.3的設計方法、設計流程和具體實現。全書共分11章,內容包括:Xilinx UltraScale結構、Vivado集成設計環境導論、Vivado工程模式基本設計實現、Vivado非工程模式基本設計實現、創建和封裝用戶IP核流程、Vivado高級約束原理及實現、Vivado調試工具原理及實現、Vivado嵌入式係統設計實現、Vivado模型設計原理及實現、Vivado HLS原理及實現、Vivado部分可重配置原理及實現。《電子係統EDA新技術叢書·Xilinx FPGA設計指南:Vivado 2014集成開發環境》參考瞭Xilinx提供的大量Vivado設計資料,理論與應用並重,將Xilinx設計理論貫穿在具體的設計實現中。
作者簡介
何賓,著名的嵌入式係統專傢和EDA技術專傢,長期從事嵌入式係統和電子設計自動化方麵的教學和科研工作,與全球知名的半導體廠商和EDA工具廠商保持緊密閤作,緻力於推動國內高校電子信息技術的教學改革。目前已經齣版嵌入式係統和電子設計自動化方麵的著作20餘部,內容涵蓋電路仿真、電路設計、現場可編程門陣列、單片機、嵌入式係統等。代錶作有《Xilinx FPGA數字設計》、《Xilinx All Programmable Zynq-7000 SoC設計指南》、《Altium Designer13.0電路設計、《STC單片機原理及應用》等。
內頁插圖
目錄
第1章 Xilinx新一代Ultra Scale結構
1.1 Ultra Scale結構特點
1.2 可配置邏輯塊
1.2.1 可配置邏輯塊的特點
1.2.2 多路復用器
1.2.3 進位邏輯
1.2.5 分布式RAM(隻有SLICEM)
1.2.6 隻讀存儲器(ROM)
1.2.7 移位寄存器(隻有SLICEM)
1.3 時鍾資源和時鍾管理單元
1.3.1 時鍾資源
1.3.2 時鍾管理模塊
1.4 塊存儲器資源
1.5 專用的DSP模塊
1.6 輸入/輸齣塊
1.7 高速串行收發器
1.8 PCI-E模塊
1.9 Interlaken集成塊
1.10 Ethernet模塊
1.11 係統監控器模塊
1.12 配置模塊
1.13 互聯資源
第2章 Vivado集成設計環境導論
2.1 Vivado係統級設計流程
2.2 Vivado功能和特性
2.3 Vivado中電路結構的網錶描述
2.4 Vivado中工程數據的目錄結構
2.5 Vivado中Journal文件和Log文件功能
2.5.1 Journal文件(Vivado.jou)
2.5.2 Log文件(Vivado.log)
2.6 Vivado兩種設計流程模式
2.6.1 工程模式和非工程模式不同點比較
2.6.2 工程模式和非工程模式命令的不同
2.7 Vivado中XDC文件
2.7.1 XDC的特性
2.7.2 XDC與UCF比較
2.7.3 約束文件的使用方法
2.7.4 約束順序
2.7.5 XDC約束命令
2.8 Vivado集成設計環境的啓動方法
2.9 Vivado集成設計環境主界麵
2.10 Vivado設計主界麵及功能
2.10.1 流程處理主界麵及功能
2.10.2 工程管理器主界麵及功能
2.10.3 工作區窗口
2.10.4 設計運行窗口
第3章 Vivado工程模式基本設計實現
3.1 創建新的設計工程
3.2 創建並添加一個新的設計文件
3.3 RTL詳細描述和分析
3.4 設計綜閤和分析
3.4.1 綜閤過程的關鍵問題
3.4.2 設計綜閤選項
3.4.3 Vivado支持的屬性
3.4.4 執行設計綜閤
3.4.5 綜閤報告的查看
3.5 設計行為級仿真
3.6 創建實現約束
3.6.1 實現約束的原理
3.6.2 I/O規劃器功能
3.6.3 實現約束過程
3.7 設計實現和分析
3.7.1 設計實現原理
3.7.2 設計實現選項
3.7.3 設計實現及分析
3.7.4 靜態時序分析
3.8 設計時序仿真
3.9 生成編程文件
3.9.1 執行生成可編程文件
3.9.2 生成編程文件選項
3.10 下載比特流文件到FPGA
第4章 Vivado非工程模式基本設計實現
4.1 非工程模式基本命令和功能
4.1.1 非工程模式基本命令列錶
4.1.2 典型Tcl腳本的使用
4.2 Vivado集成開發環境分析設計
4.2.1 啓動Vivado集成開發環境
4.2.2 打開設計檢查點的方法
4.3 修改設計路徑
4.4 設置設計輸齣路徑
4.5 讀取設計文件
4.6 運行設計綜閤
4.7 運行設計布局
4.8 運行設計布綫
4.9 生成比特流文件
4.10 下載比特流文件
第5章 創建和封裝用戶IP核流程
5.1 Vivado定製IP流程
5.2 創建新的用於創建IP的工程
5.3 設置定製IP的庫名和目錄
5.4 封裝定製IP的實現
5.5 創建新的用於調用IP的工程
5.6 設置包含調用IP的路徑
5.7 創建基於IP的係統
5.8 係統行為級仿真
5.9 係統設計綜閤
5.10 係統實現和驗證
第6章 Vivado高級約束原理及實現
6.1 時序檢查概念
6.1.1 基本術語
6.1.2 時序路徑
6.1.3 建立和保持鬆弛
6.1.4 建立和保持檢查
6.1.5 恢復和去除檢查
6.2 時序約束概念
6.2.1 時鍾定義
6.2.2 時鍾組
6.2.3 I/O延遲約束
6.2.4 時序例外
6.3 生成時序報告
6.4 添加時序約束
6.4.1 時序約束策略
6.4.2 時序約束策略
6.5 物理約束原理
6.5.1 網錶約束
6.5.2 布局約束
6.5.3 布綫約束
6.6 布局約束實現
6.6.1 修改綜閤屬性
6.6.2 布局約束方法
6.7 布綫約束實現
6.7.1 手工布綫
6.7.2 進入分配布綫模式
6.7.3 分配布綫節點
6.7.4 取消分配布綫節點
6.7.5 完成並退齣分配布綫模式
6.7.6 鎖定LUT負載上的單元輸入
6.7.7 分支布綫
6.7.8 直接約束布綫
6.8 修改邏輯實現
6.9 配置約束原理
6.10 增量編譯
6.10.1 增量編譯流程
6.10.2 運行增量布局和布綫
6.10.3 使用增量編譯
6.10.4 增量編譯高級分析
第7章 Vivado調試工具原理及實現
7.1 設計調試原理和方法
7.2 創建新的FIFO調試工程
7.3 添加FIFOIP到設計中
7.4 添加頂層設計文件
7.5 使用HDL例化添加FIFO到設計中
7.6 添加約束文件
7.7 網錶插入調試探測流程方法及實現
7.7.1 網錶插入調試探測流程的方法
7.7.2 網錶插入調試探測流程的實現
7.8 使用添加HDL屬性調試探測流程
7.9 使用HDL例化調試核調試探測流程
第8章 Vivado嵌入式係統設計實現
8.1 簡單硬件係統設計
8.1.1 創建新的工程
8.1.2 使用IP集成器創建處理器係統
8.1.3 生成頂層HDL和導齣設計到SDK
8.1.4 創建存儲器測試程序
8.1.5 驗證設計
8.2 在PL內添加外設
8.2.1 打開工程
8.2.2 添加兩個GPIO實例
8.2.3 連接外部GPIO外設
8.2.4 設計綜閤
8.2.5 生成比特流和導齣硬件到SDK
8.2.6 生成測試程序
8.2.7 驗證設計
8.3 創建和添加定製IP
8.3.1 創建定製IP模闆
8.3.2 修改定製IP設計模闆
8.3.3 使用IP封裝器封裝外設
8.3.4 打開工程和修改設置
8.3.5 添加定製IP到設計
8.3.6 添加BRAM
8.3.7 添加約束xdc
8.4 編寫軟件程序
8.4.1 打開工程
8.4.2 創建應用工程
8.4.3 為LED_IP分配驅動
8.4.4 分析匯編目標文件
8.4.5 驗證設計
8.5 軟件控製定時器和調試
8.5.1 打開工程
8.5.2 創建SDK軟件工程
8.5.3 在硬件上驗證操作
8.5.4 啓動調試器
8.6 使用硬件分析儀調試
8.6.1 ILA核原理
8.6.2 VIO核原理
8.6.3 打開工程
8.6.4 添加定製IP
8.6.5 添加ILA和VIO核
8.6.6 標記和分配調試網絡
8.6.7 生成測試程序
8.6.8 驗證和調試
第9章 Vivado模型設計原理及實現
9.1 FPGA信號處理方法
9.2 FPGA模型設計模塊
9.2.1 Xilinx Blockset
9.2.2 Xilinx Reference Blockset
9.3 System Generator運行環境的配置
9.4 信號模型的構建和實現
9.4.1 信號模型的構建
9.4.2 模型參數的設置
9.4.3 信號處理模型的仿真
9.4.4 生成模型子係統
9.4.5 模型HDL代碼的生成
9.4.6 打開生成設計文件並仿真
9.4.7 協同仿真的配置及實現
9.4.8 生成IP核
9.5 編譯MATLAB到FPGA
9.5.1 模型的設計原理
9.5.2 係統模型的建立
9.5.3 係統模型的仿真
9.6 FIR濾波器的設計與實現
9.6.1 FIR濾波器設計原理
9.6.2 生成FIR濾波器係數
9.6.3 構建FIR濾波器模型
9.6.4 仿真FIR濾波器模型
9.6.5 修改FIR濾波器模型
9.6.6 仿真修改後FIR濾波器模型
第10章 VivadoHLS原理及實現
10.1 高級綜閤工具概述
10.1.1 高級綜閤工具的功能和特點
10.1.2 不同的命令對HLS綜閤結果的影響
10.1.3 從C中提取硬件結構
10.2 高級綜閤工具調度和綁定
10.2.1 高級綜閤工具調度
10.2.2 高級綜閤工具綁定
10.3 VivadoHLS工具的優勢
10.4 C代碼的關鍵屬性
10.4.1 函數
10.4.2 類型
10.4.3 循環
10.4.4 數組
10.4.5 端口
10.4.6 操作符
10.5 時鍾測量術語說明
10.6 HLS關鍵優化策略
10.6.1 延遲和吞吐量
10.6.2 循環的處理
10.6.3 數組的處理
10.6.4 函數內聯
10.6.5 命令和編譯指示
10.7 VivadoHLS數字係統實現
10.7.1 基於HLS實現組閤邏輯
10.7.2 基於HLS實現時序邏輯
10.7.3 基於HLS實現矩陣相乘
第11章 Vivado部分可重配置原理及實現
11.1 可重配置導論
11.1.1 可重配置的概念
11.1.2 可重配置的應用
11.1.3 可重配置的特點
11.1.4 可重配置術語解釋
11.1.5 可重配置的要求
11.1.6 可重配置的標準
11.1.7 可重配置的流程
11.2 可重配置的實現
11.2.1 查看腳本
11.2.2 綜閤設計
11.2.3 實現第一個配置
11.2.4 實現第二個配置
11.2.5 驗證配置
11.2.6 生成比特流
11.2.7 部分重配置FPGA
精彩書摘
11.1.3 可重配置的特點 1.降低成本和電路闆的空間 通過重配置技術解決瞭兩個設計者普遍存在的問題。 (1)在一個已經使用的器件中,適配更多的邏輯。 (2)在一個更小的、更便宜的器件中,適配一個設計。 曆史上,設計者們花費數天時間,甚至幾個星期,嘗試新的實現開關,返工設計代碼,並重新設計解決方案,將設計裝入最小可能的FPGA器件中。現在通過部分重新配置技術,設計者就可以動態地時分復用部分可用的硬件資源,以減少其設計規模。同時根據設計要求來控製加載邏輯功能的能力,也大大減少瞭空閑邏輯,從而進一步節省瞭額外的空間。 這一策略的一個例子是,在軟件無綫電(Software Defined Radio,SDR)係統中使用部分可重配置。在SDR中,設計者根據要求上傳一個新的波形用於和一個新的通道建立通信。為瞭使單一的硬件平颱可以支持任意數量的波形,要求隻有唯一的部分比特流能用於這些波形。由於部分可重配置的“在飛行”(on-the-fly)特性,其他已經建立連接的通道不會被上傳到其他的通道所破壞。 2.增加已部署係統的靈活性 在過去,改變現場的一個設計,要求設計新的布局和布綫,以及交付整個的配置文件。當需要修改設計時,設計者不得不將係統斷電。相比較之下,通過部分可重配置技術,設計者隻需要布局和布綫所修改的功能,然後將這個新的部分映像提交到係統中即可。 並且,當啓動並運行係統時,設計者可以動態地插入新的功能,以改善係統的性能。因此,互斥的功能可以插入到相同的空間內,而不需要重新設計係統或者將設計移植到一個更大的器件中。 體現部分可重配置好處的另一個例子是在光縴傳輸網絡(Optical Transport Network,OTN)的應用。類似於SDR,支持不同的協議來創建一個更高效的硬件係統,即在FPGA中隻加載用於當前在任何一點特定通道的協議。因此,對於一個已經部署的係統來說,不僅可以通過使用最小的資源來處理很多不同類型的流量,而且可以使用最新的協議更新係統,而不必全部重新設計。 3.降低功耗 對於當前的設計者來說,功耗是最為關心的問題。但是,隨著FPGA設計規模和復雜度的增加,功耗也相應增加。而帶有設計技巧的綜閤和實現工具,能幫助設計者降低功耗。通過使用部分重配置技術,進一步降低靜態和動態功耗。 一種降低靜態功率的方法是使用較小規模的器件。通過使用部分可重配置技術,設計者能將FPGA進行時間片分割,並且能獨立地運行設計的一部分。由於不是設計的每個部分都需要100%的時間,因此設計能要求更小的器件或者更少數量的器件。 部分可重配置也潛在地降低瞭操作功耗和靜態功耗。例如,很多設計必須能高速運行,而最高的性能可能隻需要一個很少的時間段,為瞭降低功耗,設計者使用部分重配置來暫時去除一個高性能的設計,該設計是同一設計的低功耗版本,而不使用排他性設計用於最大性能,當係統要求時,設計者可以切換迴高性能的設計。 這個原理也應用到瞭I/O標準,特彆是當一個高功率接口並不要求100%時間的場閤。低電壓差分傳輸(Low Voltage Differential Signaling,LVDS)是一個高功耗的接口(不考慮活動性,這是由於高DC電流要求為接口提供能量)。當不要求最高性能時,設計者能使用部分可重配置將I/O從LVDS變成低功耗接口,如LVCMOS;而當要求高速傳輸時,再切換到LVDS。 4.其他優點 在一個FPGA內動態地時分復用硬件的能力,提供瞭其他方麵的優勢。 (1)在選擇用於一個應用的算法或者協議時,提供瞭實時的靈活性。 (2)在一個設計安全性時,可以使用新的技術。 (3)改善FPGA的故障容錯能力。 (4)促進可配置計算。 (5)降低存儲比特流的要求。 11.1.4 可重配置術語解釋 為瞭後續章節的描述方便,下麵對可重配置技術中所涉及的一些術語進行說明。 1.Top-down synthesis(自頂嚮下的綜閤,不用於部分可重配置) (1)一個綜閤工程,該工程綜閤平麵設計,用於優化。 (2)經常稱為平麵綜閤。 (3)不支持層次化實現。 2.Bottom-up synthesis(自底嚮上綜閤) (1)獨立綜閤工程,産生多個網錶。 (2)自底嚮上綜閤要求為每個分區分配一個獨立的網錶。 (3)沒有跨越邊界的優化。這樣,可以對設計的每個分區進行獨立地綜閤。 (4)對帶有用於分區的黑盒頂層邏輯進行綜閤。 3.Configuration(配置) 一個配置是一個完整的設計,包括靜態邏輯以及用於每個可配置分區的一個可配置的模塊。 在一個部分重配置FPGA工程中,可以有多個配置。每個配置生成一個充分的比特流文件,以及用於每個可配置模塊的一個部分比特流文件。 4.Configuration Frame(配置幀) 配置幀是FPGA配置存儲空間中最小的可尋址段。從這些分散的最底層元素構建配置幀。在7係列器件中,基本的可重配置的幀的大小為一個元件(CLB、BRAM、DSP)寬度和一個時鍾區域高度。 5.Internal Configuration Access Port(內部配置訪問端口) 內部配置訪問端口是SelectMAP接口的一個內部版本。 6.Partial Reconfiguration(部分重配置) 部分重配置指當前正在修改一個正在運行的FPGA設計,這個修改是通過下載一個部分比特流實現的。 7.Partition(分區) 一個分區是設計的一個邏輯部分,由設計者在一個層次中進行定義。這個定義用於設計重用。一個分區是一個新的實現或者先前保留的一個實現。一個被保護的分區其功能和實現都是一緻的。 8.Partition Pins(分區引腳) 一個分區引腳是在靜態和可重配置邏輯之間的邏輯和物理的連接。 9.Static Logic(靜態邏輯) 所有設計內的邏輯是不可重配置的,它不是可重配置分區的一部分。當對可重配置分區進行重新配置時,靜態邏輯總是活動的。 10.Static Design(靜態設計) 靜態設計是設計的一部分,它在部分重配置的過程中不會變化。靜態設計包括頂層和沒有定義為可重配置的所有模塊。靜態設計由靜態邏輯和靜態布綫所建立。 11.Reconfigurable Module(可重配置模塊,RM) 在可重配置分區內,一個RM是網錶或者HDL描述的實現。每個可配置分區內可以有多個可重配置的模塊。 12.Reconfigurable Partition(可重配置分區,RP) RP是在一個例化中的屬性設置,其定義瞭該實例是可重配置的。PR是設計層次中的一個層次,在這個層次上可以使用不同的RM進行實現。典型地,一些Tcl命令,如opt_design、place_design和rout
電子係統EDA新技術叢書·Xilinx FPGA權威設計指南:Vivado 2014集成開發環境 下載 mobi epub pdf txt 電子書 格式
電子係統EDA新技術叢書·Xilinx FPGA權威設計指南:Vivado 2014集成開發環境 下載 mobi pdf epub txt 電子書 格式 2024
電子係統EDA新技術叢書·Xilinx FPGA權威設計指南:Vivado 2014集成開發環境 mobi epub pdf txt 電子書 格式下載 2024