一本反映最新Xilinx可程式化技術,完整論述Zynq-7000 SoC體系結構、程式設計及作業系統移植經典著作。
首次論述Zynq-7000 SoC體系結構、程式設計及作業系統移植的方法與實踐。詳盡介紹Zynq-7000 SoC的體系結構和相關生態系統,圍繞軟體和硬體協同設計的理念敘述,利於讀者徹底掌握Zynq-7000 SoC的設計方法和技巧。
[作者分享]
1 Xilinx 為這個最新Zynq 設計平台的定位——偏重於嵌入式系統的應用,未來的可程式設計邏輯元件向著嵌入式處理方向發展,未來嵌入式系統「硬體」和「軟體」將根據應用的要求,真正變成All Programmable(全可程式設計),即可以在單晶片內設計滿足特定要求的硬體平台和對應的軟體應用。
2 Zynq-7000 元件是最新半導體技術、電腦技術和電子技術的結合體。
在一個小小的半導體晶圓上卻整合了當今最新的資訊技術。在這個平台上實現嵌入式系統的應用,表現從上到下的一體化設計理念。
3 Zynq-7000 平台是非常好的教學平台、科學研究平台和應用平台。
本書所列出的設計實例代表著Zynq 的應用方向,在介紹這些設計實例的過程中,貫穿許多重要的設計方法和設計想法,這些設計方法和設計想法比設計案例本身更加重要。
[本書適合讀者]
適合嵌入式系統相關課程教學用書,或作為從事嵌入式系統設計的技術人員參考用書。
作者簡介:
何賓
長期從事數位系統EDA方面教學與科研工作。在全國進行大學生電子設計競賽極力推廣FPGA專題方面的培訓工作,在EDA教學與科研應用方面積累了豐富的經驗。已出版數十本深受讀者喜歡的相關圖書。
作者序
本書是作者耗時半年多時間後,獻給廣大讀者的又一本反映最新Xilinx可程式設計技術的著作。在該書編寫的過程中感觸頗多,願于廣大讀者在此一起分享這些心得:
1.當Xilinx將ARM公司的雙核Cortex-A9處理器嵌入到FPGA晶片內,並結合最新的28納米工藝,製造出全新一代的可程式設計SoC平臺後,起名叫EPP,即可擴展的處理平臺,後來又改成AllProgrammable平臺。在這個名字變化的過程中,反映了Xilinx給這個最新Zynq設計平臺的定位,即:平臺側重於嵌入式系統的應用,未來的可程式設計邏輯器件向著嵌入式處理方向發展,即傳統的可程式設計邏輯器件未來稱為嵌入式處理元素。未來的嵌入式系統“硬體”和“軟體”將根據應用的要求,真正的變成AllProgrammable(以下稱為全可程式設計),即:可以在單晶片內設計滿足特定要求的硬體平臺和相應的軟體應用。在這個全可程式設計的實現過程中,體現著軟體和硬體協同設計、軟體和硬體協同調試、軟體的串列執行和硬體邏輯的並存執行完美結合、未來的嵌入式系統是“積木塊”的設計風格等設計思想。這些設計理念將在Zynq-7000平臺上由理想變成實現。
2.Zynq-7000器件是最新半導體技術、電腦技術和電子技術的一個結合體。在一個小小的半導體矽片上卻集成了當今最新的資訊技術。基於Zynq-7000平臺進行高性能的嵌入式實現,需要微電子、數位邏輯、嵌入式處理器、電腦介面、電腦體系結構、數位信號處理等相關的知識。表面上看,Zynq-7000是一個比較複雜的系統。但是,是對一個設計者基礎理論知識和系統級設計能力的一個真正的考察。在這個平臺上實現嵌入式系統的應用,體現著自頂向下的一體化設計理念。
3.Zynq-7000平臺是非常好的教學平臺、科研平臺和應用平臺。作為教學平臺,可以在這個平臺上實現全過程的電腦相關課程的教學,使得學生可以清楚地看到每個實現的具體過程。這樣,學生就可以真正地理解嵌入式系統的內涵;作為科研平臺,從事嵌入式相關技術研究人員,可以在這個全開放的平臺上,將演算法進行高性能的實現。並且,可以在這個平臺上實現很多設計的性能分析等研究;作為應用平臺,該平臺的應用將進一步的提高嵌入式系統的靈活性和可靠性、大大降低設計成本,提高了產品的市場競爭力。
為了更好的幫助讀者學習和掌握Zynq全可程式設計平臺的設計原理和實現方法。全書共23章,按照Zynq-7000基礎理論篇、Zynq-7000體系結構篇和Zynq-7000設計實戰篇分別進行了詳細的介紹。
1.Zynq-7000基礎理論篇,詳細介紹了學習Zynq-7000全可程式設計平臺需要的基礎理論知識,共包括2個章節內容:
(1)可程式設計SoC設計導論,包括:可程式設計SoC系統概述、XilinxZynq平臺導論和Zynq平臺設計方法概述。
(2) AMBA協定規範,包括:AMBA規範概述、AMBA APB規範、AMBAAHB規範和AMBA AXI4規範。
2.Zynq-7000體系結構篇,詳細介紹了Zynq-7000內的處理器系統、可程式設計邏輯系統、互聯結構和外設模組等,共包含9個章節的內容:
(1)Zynq-7000應用處理單元,包括:應用處理單元概述、Cortex-A9處理器、偵聽控制單元、L2快取記憶體、片上存儲、APU介面、APU內的TrustZone、應用處理單元重定、功耗考慮、系統位址分配、中斷、計時器和DMA控制器。
(2)可程式設計邏輯資源,包括:可程式設計邏輯資源概述和可程式設計邏輯資源功能。
(3)系統互連結構,包括:系統互連概述、服務品質、AXI_HP介面、AXI_ACP介面、AXI_GP介面、AXI信號總結和PL介面選擇。
(4)系統公共資源特性及功能,包括:時鐘子系統和重定子系統。
(5)Zynq調試和測試子系統,包括:JTAG和DAP子系統、CoreSight系統及功能。
(6)Zynq平臺的啟動和配置,包括:概述、外部啟動要求、BootROM和器件配置介面。
(7) Zynq平臺主要外設模組,包括:DDR記憶體控制器、靜態記憶體控制器、四-SPIFlash控制器、SD/SDIO外設控制器、通用輸入輸出控制器、USB主、設備和OTG控制器、吉比特乙太網控制器、SPI控制器、CAN控制器、UART控制器、I2C控制器、ADC轉換器介面和PCI-E介面。
(8)Zynq平臺描述規範,包括:Zynq平臺檔描述規範概述、微處理器硬體規範、微控制器外設規範、外設分析命令、黑盒定義、微處理器軟體規範、微處理器庫定義、微處理器驅動定義和Xilinx板描述格式。
(9)高級綜合工具HLS概述,包括:高級綜合工具概述、高級綜合工具調度和綁定、VivadoHLS工具的優勢、C代碼的關鍵屬性和HLS內提供的用於時鐘測量的術語。
3.Zynq-7000設計實戰篇,詳細介紹了基於Zynq全可程式設計平臺的不同設計實例,共包含12個章節的內容:
(1)使用BSP嚮導生成Zynq基本系統。包括:使用BSB嚮導生成Zynq基本系統、生成和運行記憶體測試工程及生成和運行外設測試工程。
(2)添加AXIIP到設計。包括:設計原理、添加IP到系統設計、使用SDK設計和實現應用工程。
(3)基於定制IP實現簡單嵌入式系統設計。包括:創建設計工程、定制GPIOIP核、添加和連接AXI外設、添加約束到用於約束檔、使用SDK設計和實現應用工程。
(4)基於定制IP實現複雜嵌入式系統設計。包括:設計原理、創建設計工程、定制VGAIP核、定制移位暫存器IP核、添加和連接VGA IP核、添加和連接shifterIP核、添加約束到用戶約束檔、使用SDK設計和實現應用工程。
(5)軟體和硬體協同調試系統。包括:複製並打開設計工程、例化AXIChipscope核、導入硬體設計到SDK工具、啟動ChipScope Pro硬體調試器工具、執行H/S驗證。
(6)Zynq平臺配置和啟動的實現。包括:生成SD卡鏡像檔並啟動、生成QSPIFlash鏡像並啟動。
(7)基於Zynq HP從埠的資料傳輸實現。包括:設計原理、創建設計工程、添加並配置AXICDMA到設計、使用SDK設計和實現應用工程。
(8)基於ZynqACP從埠資料傳輸實現。包括:設計原理、創建設計工程、配置PS埠、添加並連接IP到設計、使用SDK設計和實現應用工程。
(9)XADC在Zynq平臺上的應用。包括:設計原理、創建設計工程、添加XADCIP到設計、使用SDK設計和實現應用工程。
(10)Ubuntu作業系統在Zynq平臺上實現。包括:Ubuntu作業系統環境搭建、u-boot原理及實現、內核概述及編譯、設備樹原理及實現、檔案系統原理及實現、打開設計工程、使用SDK設計生成軟體工程、驗證Ubuntu系統的運行。
(11)?C/OS-III作業系統在Zynq平臺上的實現。包括:?C/OS-III作業系統概述、?C/OS-III作業系統環境構建、創建設計工程、建立?C/OS-III作業系統的軟體應用工程、運行外設測試工程、相關檔目錄功能、基於?C/OS-III作業系統的關鍵工程檔分析。
(12)HLS在Zynq嵌入式系統設計的應用。包括:設計原理、基於HLS生成FIR濾波器、創建處理器系統、使用SDK設計和實現應用工程。
在本書所包含這些設計實例代表著Zynq的一個應用的方向,在介紹這些設計實例的過程中,貫穿了很多重要的設計方法和設計思路,這些設計方法和設計思路比設計案例本身更加重要。為了便於讀者的學習,本書還配套了光碟,光碟上提供了相關設計的完整工程及相關代碼,以及教學課件等設計資源。
在本書的編寫過程中,得到了大量的幫助。感謝彭勃、李寶隆、孫丹陽同學,他們分別幫助驗證了本書實驗部分案例的驗證,以及完成了書中一部分表格和插圖的繪製工作。中科院南京天文光學技術研究所的陸啟帥參與本書實驗部分第9章、第10章內容的編寫。還要感謝Xilinx大學合作計畫、ARM大學合作計畫、美國Digilent公司、美國Avent公司和北京麥克泰軟體技術有限公司在軟體和硬體平臺方面給予的大力支持和幫助。最後,也要對清華大學出版社的編輯和領導的辛勤工作表示感謝。正是由於他們的支援和幫助,使得作者能在短時間內高品質的完成該書的編寫和校對工作。
雖然作者花費了大量的精力和時間用於該書的編寫,但是由於作者的能力有限,書中一定會存在不足之處。在此,也懇請廣大讀者、同仁對本書提出寶貴的修改意見。
何賓
本書是作者耗時半年多時間後,獻給廣大讀者的又一本反映最新Xilinx可程式設計技術的著作。在該書編寫的過程中感觸頗多,願于廣大讀者在此一起分享這些心得:
1.當Xilinx將ARM公司的雙核Cortex-A9處理器嵌入到FPGA晶片內,並結合最新的28納米工藝,製造出全新一代的可程式設計SoC平臺後,起名叫EPP,即可擴展的處理平臺,後來又改成AllProgrammable平臺。在這個名字變化的過程中,反映了Xilinx給這個最新Zynq設計平臺的定位,即:平臺側重於嵌入式系統的應用,未來的可程式設計邏輯器件向著嵌入式處理方向發展,即傳統的可程式設計邏輯器...
目錄
前言
第一篇Zynq7000基礎理論
第1章可程式設計SoC設計
1.1可程式設計SoC系統
1.2Xilinx Zynq平台
1.3Zynq平台設計方法學
第2章AMBA協定標準
2.1AMBA標準導論
2.2AMBA APB標準
2.3AMBA AHB標準
2.4AMBA AXI 4標準
第二篇Zynq7000系統結構
第3章Zynq7000應用處理單元
3.1應用處理單元
3.2CortexA9處理器
3.3監聽控制單元
3.4L2快取記憶體
3.5單晶片記憶體
3.6APU介面
3.7APU內的TrustZone
3.8應用處理單元重置
3.9耗電考慮
3.10系統位址分配
3.11中斷
3.12計時器
3.13DMA控制器
第4章Zynq7000可程式設計邏輯資源
4.1Zynq7000可程式設計邏輯資源特性
4.2可程式設計邏輯資源功能
第5章系統互聯結構
5.1系統互聯功能及特性
5.2服務品質
5.3AXI_HP介面
5.4AXI_ACP介面
5.5AXI_GP介面
5.6AXI訊號歸納
5.7PL介面選擇
第6章系統公共資源特性及功能
6.1時鐘子系統
6.2重置子系統
第7章Zynq偵錯和測試子系統
7.1JTAG和DAP子系統
7.2CoreSight系統結構及功能
第8章Zynq平台的啟動和設定
8.1Zynq平台啟動和設定功能
8.2外部啟動要求
8.3BootROM
8.4元件設定介面
第9章Zynq平台主要外接裝置模組
9.1DDR記憶體控制器
9.2靜態記憶體控制器
9.3四SPI Flash控制器
9.4SD/SDIO外接裝置控制器
9.5通用輸入/輸出控制器
9.6USB主機、裝置和OTG控制器
9.7吉位元乙太網控制器
9.8SPI控制器
9.9CAN控制器
9.10UART控制器
9.11I2C控制器
9.12ADC轉換器介面
9.13PCIE介面
第10章Zynq平台描述標準
10.1Zynq平台檔案描述標準功能集
10.2微處理器硬體標準
10.2.1通用微處理器硬體標準
10.3微處理器外接裝置標準
10.4外接裝置分析指令
10.5黑盒定義
10.6微處理器軟體標準
10.7微處理器函數庫定義
10.8微處理器驅動定義
10.9Xilinx板描述格式
第11章進階綜合工具HLS
11.1進階綜合工具結構
11.2進階綜合工具排程和綁定
11.3Vivado HLS工具的優勢
11.4C程式的關鍵屬性
11.5HLS內提供的用於時鐘測量的術語
第三篇Zynq7000設計實作
第12章Zynq基本處理系統的建立和執行
12.1使用BSB精靈產生Zynq基本系統
12.2產生和執行記憶體測試專案
12.3產生和執行外接裝置測試專案
第13章增加AXI IP到設計
13.1設計原理
13.2增加IP到系統設計
13.3使用SDK設計和實現應用專案
第14章基於訂製IP實現簡單嵌入式系統設計
14.1建立設計專案
14.2訂製GPIO IP核
14.3增加和連接AXI外接裝置
14.4增加約束到使用者約束檔案
14.5使用SDK設計和實現應用專案
第15章基於訂製IP實現複雜嵌入式系統設計
15.1設計原理
15.2建立設計專案
15.3訂製VGA IP核
15.4訂製移位暫存器IP核
15.5增加和連接VGA IP核
15.6增加和連接shifter IP核
15.7增加約束到使用者約束檔案
15.8使用SDK設計和實現應用專案
第16章軟體和硬體協作偵錯系統
16.1複製並開啟設計專案
16.2例化AXI Chipscope核
16.3匯入硬體設計到SDK工具
16.4啟動ChipScope Pro硬體偵錯器
16.5執行H/S驗證
第17章Zynq平台設定和啟動的實現
17.1產生SD卡鏡像檔案並啟動
17.2產生QSPI Flash鏡像並啟動
第18章以Zynq HP從通訊埠為基礎的資料傳輸實現
18.1設計原理
18.2建立設計專案
18.3增加並設定AXI CDMA到設計
18.4使用SDK設計和實現應用專案
第19章以Zynq ACP從通訊埠為基礎的資料傳輸實現
19.1設計原理
19.2建立設計專案
19.3設定PS通訊埠
19.4增加並連接IP到設計
19.5使用SDK設計和實現應用專案
第20章XADC在Zynq平台上的應用
20.1設計原理
20.2建立設計專案
20.3增加XADC IP到設計
20.4增加約束到使用者約束檔案
20.5使用SDK設計和實現應用專案
第21章Ubuntu作業系統在Zynq平台上實現
21.1Ubuntu作業系統環境架設
21.2uboot原理及實現
21.3核心概述及編譯
21.4裝置樹原理及實現
21.5檔案系統原理及實現
21.6開啟設計專案
21.7使用SDK設計產生軟體專案
21.8驗證Ubuntu作業系統的執行
第22章μC/OSⅢ作業系統在Zynq平台上的實現
22.1μC/OSⅢ作業系統簡介
22.2μC/OSⅢ作業系統環境建構
22.3建立設計專案
22.4建立以μC/OSⅢ作業系統為基礎的軟體應用專案
22.5執行外接裝置測試專案
22.6相關檔案目錄功能
22.7以μC/OSIII作業系統為基礎的關鍵專案檔案分析
第23章HLS在Zynq嵌入式系統設計中的應用
23.1設計原理
23.2基於HLS產生FIR濾波器
23.3建立處理器系統
23.4使用SDK設計和實現應用專案
前言
第一篇Zynq7000基礎理論
第1章可程式設計SoC設計
1.1可程式設計SoC系統
1.2Xilinx Zynq平台
1.3Zynq平台設計方法學
第2章AMBA協定標準
2.1AMBA標準導論
2.2AMBA APB標準
2.3AMBA AHB標準
2.4AMBA AXI 4標準
第二篇Zynq7000系統結構
第3章Zynq7000應用處理單元
3.1應用處理單元
3.2CortexA9處理器
3.3監聽控制單元
3.4L2快取記憶體
3.5單晶片記憶體
3.6APU介面
3.7APU內的TrustZone
3.8應用處理單元重置
3.9耗電考慮
3.10系統位址分配
3.11中斷
3.12計時器
3.13DMA控制器
第4章Zynq7000可程式設計邏輯...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。