Xilinx All Programmable Zynq-7000 SoC設計指南

  • 出版商: 清華大學
  • 出版日期: 2013-05-01
  • 售價: $474
  • 語言: 簡體中文
  • ISBN: 7302322228
  • ISBN-13: 9787302322221
  • 相關分類: ARM
  • 下單後立即進貨 (約4週~6週)

  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-1
  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-2
  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-3
  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-4
  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-5
  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-6
  • Xilinx All Programmable Zynq-7000 SoC設計指南-preview-7
Xilinx All Programmable Zynq-7000 SoC設計指南-preview-1

商品描述

本書系統地論述了Xilinx ALL Programmable Zynq7000 SoC的體系結構與設計方法,全書共23章,分為3篇。Zynq7000基礎理論篇介紹了可編程SoC設計和AMBA協議規範; Zynq7000體系結構篇介紹了Zynq7000應用處理單元、可編程邏輯資源、系統互聯結構、系統公共資源特性及功能、Zynq調試和測試子系統、Zynq平臺的啟動和配置、Zynq平臺主要外設模塊、Zynq平臺描述規範和高級綜合工具HLS; Zynq7000設計實踐篇介紹了Zynq基本處理器系統的建立和運行、添加AXI IP到設計、基於定制IP實現簡單嵌入式系統設計、基於定制IP實現復雜嵌入式系統設計、軟件和硬件協同調試系統、Zynq平臺配置和啟動的實現、基於Zynq HP從端口的數據傳輸實現、基於Zynq ACP從端口的數據傳輸實現、XADC在Zynq平臺上的應用、Ubuntu操作系統在Zynq平臺上的實現、μC/OSⅢ操作系統在Zynq平臺上的實現和HLS在Zynq嵌入式系統設計中的應用。 全書基於Xilinx 最新的Zynq7000平臺,理論和實踐相結合; 並配套提供了工程文件及課件,便於自學與教學。本書可作為高等學校計算機與電子信息類專業嵌入式系統相關課程的教學用書,也可作為從事嵌入式系統設計的工程技術人員的參考用書。

目錄大綱

推薦序(一)1

推薦序(二)3

前言5

第一篇Zynq7000基礎理論

第1章可編程SoC設計

1.1可編程SoC系統

1.1.1軟核及硬核處理器

1.1.2可編程SoC技術的發展

1.1.3可編程SoC技術的特點

1.1.4可編程SoC的設計流程

1.1.5可編程SoC的開發工具

1.2Xilinx Zynq平臺

1.2.1Zynq平臺的功能

1.2.2處理系統PS特性

1.2.3可編程邏輯PL特性

1.2.4互聯特性

1.2.5Zynq信號、接口和引腳

1.3Zynq平臺設計方法學

1.3.1使用PL實現軟件算法的優勢

1.3.2設計PL加速器

1.3.3PL加速限制

1.3.4降低功耗

1.3.5實時減負

1.3.6可重配置計算

第2章AMBA協議規範

2.1AMBA規範導論

2.2AMBA APB規範

2.2.1AMBA APB寫傳輸

2.2.2AMBA APB讀傳輸

2.2.3AMBA APB錯誤響應

2.2.4操作狀態

2.2.5AMBA3 APB信號

2.3AMBA AHB規範

2.3.1AMBA AHB結構

2.3.2AMBA AHB操作

2.3.3AMBA AHB傳輸類型

2.3.4AMBA AHB猝發操作

2.3.5AMBA AHB傳輸控制信號

2.3.6AMBA AHB地址譯碼

2.3.7AMBA AHB從設備傳輸響應

2.3.8AMBA AHB數據總線

2.3.9AMNA AHB傳輸仲裁

2.3.10AMBA AHB分割傳輸

2.3.11AMBA AHB復位

2.3.12AHB數據總線的位寬

2.3.13AMBA AHB接口設備

2.4AMBA AXI 4規範

2.4.1AMBA AXI 4功能

2.4.2AMBA AXI 4互聯結構

2.4.3AXI 4Lite功能

2.4.4AXI 4Stream功能

第二篇Zynq7000體系結構

第3章Zynq7000應用處理單元

3.1應用處理單元

3.1.1基本功能

3.1.2系統級視圖

3.2CortexA9處理器

3.2.1中央處理器

3.2.2L1高速緩存

3.2.3存儲器管理單元

3.2.4接口

3.2.5NEON

3.2.6性能監視單元

3.3偵聽控制單元

3.3.1地址過濾

3.3.2SCU主設備端口

3.4L2高速緩存

3.4.1互斥L2L1高速緩存配置

3.4.2高速緩存替換策略

3.4.3高速緩存鎖定

3.4.4使能/禁止L2高速緩存控制器

3.4.5RAM訪問延遲控制

3.4.6保存緩沖區操作

3.4.7在CortexA9和L2控制器之間的優化

3.4.8預取操作

3.4.9編程模型

3.5片上存儲器

3.5.1片上存儲器結構

3.5.2片上存儲器功能

3.6APU接口

3.6.1PL協處理接口

3.6.2中斷接口

3.7APU內的TrustZone

3.7.1CPU安全過渡

3.7.2CP15寄存器訪問控制

3.7.3MMU安全性

3.7.4L1緩存安全性

3.7.5安全異常控制

3.7.6CPU調試TrustZone訪問控制

3.7.7SCU寄存器訪問控制

3.7.8L2緩存中的TrustZone支持

3.8應用處理單元復位

3.8.1復位功能

3.8.2復位後的APU狀態

3.9功耗考慮

3.9.1待機模式

3.9.2在L2控制器內的動態時鐘門控

3.10系統地址分配

3.10.1地址映射

3.10.2系統總線主設備

3.10.3I/O外設

3.10.4SMC存儲器

3.10.5SLCR寄存器

3.10.6雜項PS寄存器

3.10.7CPU私有總線寄存器

3.11中斷

3.11.1中斷環境

3.11.2中斷控制器的功能

3.11.3編程模型

3.12定時器

3.12.1CPU私有定時器和看門狗定時器

3.12.2全局定時器

3.12.3系統看門狗定時器

3.12.4三重定時器/計數器

3.12.5I/O信號

3.13DMA控制器

3.13.1DMA控制器結構及特性

3.13.2DMA控制器功能

3.13.3外部信號

3.13.4寄存器描述

3.13.5用於管理器和命令的指令集參考

3.13.6編程模型參考

3.13.7編程限制

3.13.8DMAC IP配置選項

第4章Zynq7000可編程邏輯資源

4.1Zynq7000可編程邏輯資源特性

4.2可編程邏輯資源功能

4.2.1CLB、Slice和LUT

4.2.2時鐘管理

4.2.3塊RAM

4.2.4數字信號處理

4.2.5輸入/輸出

4.2.6低功耗串行收發器

4.2.7PCIE模塊

4.2.8模擬/數字轉換

4.2.9配置

第5章系統互聯結構

5.1系統互聯功能及特性

5.1.1數據路徑

5.1.2時鐘域

5.1.3連接性

5.1.4AXI ID

5.1.5寄存器

5.2服務質量

5.2.1基本仲裁

5.2.2高級QoS

5.2.3DDR端口仲裁

5.3AXI_HP接口

5.3.1AXI_HP接口結構及特點

5.3.2接口數據寬度

5.3.3交易類型

5.3.4命令交替和重新排序

5.3.5性能優化總結

5.4AXI_ACP接口

5.5AXI_GP接口

5.6AXI信號總結

5.7PL接口選擇

5.7.1使用通用主設備端口的CortexA9

5.7.2通過通用主設備的PS DMA控制器(DMAC)

5.7.3通過高性能接口的PL DMA

5.7.4通過AXI ACP的PL DMA

5.7.5通過通用AXI從(GP)的PL DMA

第6章系統公共資源特性及功能

6.1時鐘子系統

6.1.1時鐘系統結構及功能

6.1.2CPU時鐘域

6.1.3時鐘編程實例

6.1.4時鐘系統內生成電路結構

6.2復位子系統

6.2.1復位系統結構和層次

6.2.2啟動流程

6.2.3復位的結果

第7章Zynq調試和測試子系統

7.1JTAG和DAP子系統

7.1.1JTAG和DAP系統功能

7.1.2JTAG和DAP系統I/O信號

7.1.3編程模型

7.1.4ARM DAP控制器

7.1.5跟蹤端口接口單元TPIU

7.1.6Xilinx TAP控制器

7.2CoreSight系統結構及功能

7.2.1CoreSight結構

7.2.2CoreSight功能

第8章Zynq平臺的啟動和配置

8.1Zynq平臺啟動和配置功能

8.2外部啟動要求

8.3BootROM

8.3.1BootROM功能

8.3.2BootROM頭部

8.3.3啟動設備

8.3.4BootROM多啟動和啟動分區查找

8.3.5調試狀態

8.3.6BootROM後狀態

8.4器件配置接口

8.4.1器件配置接口功能

8.4.2器件配置流程

8.4.3PL配置

8.4.4寄存器集合

第9章Zynq平臺主要外設模塊

9.1DDR存儲器控制器

9.1.1DDR存儲器控制器接口及功能

9.1.2AXI存儲器端口接口

9.1.3DDR核交易調度器

9.1.4DDRC仲裁

9.1.5DDR控制器PHY

9.1.6DDR初始化和標定

9.1.7糾錯碼

9.2靜態存儲器控制器

9.2.1靜態存儲器控制器接口及功能

9.2.2靜態存儲器控制器和存儲器的信號連接

9.3四SPI Flash控制器

9.3.1四SPI Flash控制器功能

9.3.2四SPI控制器反饋時鐘

9.3.3四SPI Flash控制器接口

9.4SD/SDIO外設控制器

9.4.1SD/SDIO控制器功能

9.4.2SD/SDIO控制器傳輸協議

9.4.3SD/SDIO控制器接口信號連接

9.5通用輸入/輸出控制器

9.5.1通用輸入/輸出GPIO接口及功能

9.5.2通用輸入/輸出GPIO中斷功能

9.6USB主機、設備和OTG控制器

9.6.1USB控制器接口及功能

9.6.2USB主機操作模式

9.6.3USB設備操作模式

9.6.4USB OTG操作模式

9.7吉比特以太網控制器

9.7.1吉比特以太網控制器接口及功能

9.7.2吉比特以太網控制器接口編程向導

9.7.3吉比特以太網控制器接口信號連接

9.8SPI控制器

9.8.1SPI控制器的接口及功能

9.8.2SPI控制器時鐘設置規則

9.9CAN控制器

9.9.1CAN控制器接口及功能

9.9.2CAN控制器操作模式

9.9.3CAN控制器消息保存

9.9.4CAN控制器接收過濾器

9.9.5CAN控制器編程模型

9.10UART控制器

9.11I2C控制器

9.11.1I2C速度控制邏輯

9.11.2I2C控制器的功能和工作模式

9.12ADC轉換器接口

9.12.1ADC轉換器功能

9.12.2ADC命令格式

9.12.3供電傳感器報警

9.13PCIE接口

第10章Zynq平臺描述規範

10.1Zynq平臺文件描述規範功能集

10.2微處理器硬件規範

10.2.1通用微處理器硬件規範

10.2.2AXI系統微處理器硬件規範

10.2.3Zynq7000系統微處理器規範實例

10.3微處理器外設規範

10.3.1微處理器規範框架

10.3.2總線接口規範

10.3.3I/O接口規範

10.3.4選項規範

10.3.5參數規範

10.3.6端口規範

10.3.7設計考慮

10.4外設分析命令

10.5黑盒定義

10.6微處理器軟件規範

10.6.1微處理器軟件規範格式

10.6.2全局參數

10.6.3實例指定參數

10.6.4MDD/MLD指定參數

10.6.5OS指定參數

10.6.6處理器指定參數

10.7微處理器庫定義

10.7.1庫定義文件

10.7.2MLD格式規範

10.7.3MLD參數描述

10.7.4設計規則檢查

10.7.5庫產生

10.8微處理器驅動定義

10.8.1驅動定義文件

10.8.2MDD格式規範

10.9Xilinx板描述格式

10.9.1XBD格式

10.9.2屬性命令

10.9.3本地參數命令及子屬性

10.9.4本地端口命令及子屬性

10.9.5使用IO_INTERFACE關聯IP

10.9.6AXI系統XBD格式

第11章高級綜合工具HLS

11.1高級綜合工具結構

11.1.1不同的命令對HLS綜合結果的影響

11.1.2從C中提取硬件結構

11.2高級綜合工具調度和綁定

11.2.1高級綜合工具調度

11.2.2高級綜合工具綁定

11.3Vivado HLS工具的優勢

11.4C代碼的關鍵屬性

11.4.1函數

11.4.2類型

11.4.3循環

11.4.4數組

11.4.5端口

11.4.6操作符

11.5HLS內提供的用於時鐘測量的術語

第三篇Zynq7000設計實踐

第12章Zynq基本處理系統的建立和運行

12.1使用BSB向導生成Zynq基本系統

12.1.1Zynq硬件系統的生成

12.1.2生成Hello World應用工程

12.1.3運行Hello World應用工程

12.2生成和運行存儲器測試工程

12.2.1導入前面的XPS設計到SDK

12.2.2生成存儲器測試工程

12.2.3運行存儲器測試工程

12.2.4調試存儲器測試工程

12.3生成和運行外設測試工程

12.3.1導入前面的XPS設計到SDK

12.3.2生成外設測試工程

12.3.3運行外設測試工程

第13章添加AXI IP到設計

13.1設計原理

13.2添加IP到系統設計

13.2.1創建設計工程

13.2.2添加GPIO IP到設計

13.2.3添加AXI Timer IP到設計

13.2.4連接中斷源到PS

13.2.5通過EMIO將PS的GPIO連接到PL

13.2.6添加約束到約束文件

13.3使用SDK設計和實現應用工程

13.3.1導入前面的XPS設計到SDK

13.3.2生成應用工程

13.3.3運行應用工程

第14章基於定制IP實現簡單嵌入式系統設計

14.1創建設計工程

14.2定制GPIO IP核

14.2.1產生GPIO IP模板

14.2.2基於模板構建完整GPIO IP

14.3添加和連接AXI外設

14.4添加約束到用戶約束文件

14.5使用SDK設計和實現應用工程

14.5.1修改模板驅動函數

14.5.2導入硬件設計到SDK工具

14.5.3生成新應用工程

14.5.4添加定制IP核軟件驅動到設計

14.5.5導入應用程序

14.5.6下載硬件比特流文件到FPGA

14.5.7運行應用工程

14.5.8使用XMD分析目標文件

第15章基於定制IP實現復雜嵌入式系統設計

15.1設計原理

15.1.1VGA IP核的設計原理

15.1.2移位寄存器IP核的設計原理

15.2創建設計工程

15.3定制VGA IP核

15.3.1產生VGA IP模板

15.3.2基於模板構建完整VGA IP

15.4定制移位寄存器IP核

15.4.1產生shifter IP模板

15.4.2基於模板構建完整shifter IP

15.5添加和連接VGA IP核

15.6添加和連接shifter IP核

15.7添加約束到用戶約束文件

15.8使用SDK設計和實現應用工程

15.8.1修改模板驅動函數

15.8.2導入硬件設計到SDK工具

15.8.3生成新的應用工程

15.8.4添加定制IP核軟件驅動到設計

15.8.5編寫應用程序

15.8.6下載硬件比特流文件到FPGA

15.8.7運行應用工程

第16章軟件和硬件協同調試系統

16.1復制並打開設計工程

16.2例化AXI Chipscope核

16.3導入硬件設計到SDK工具

16.4啟動ChipScope Pro硬件調試器

16.5執行H/S驗證

第17章Zynq平臺配置和啟動的實現

17.1生成SD卡鏡像文件並啟動

17.1.1SD卡接口

17.1.2復制並打開前面的設計工程

17.1.3創建第一級啟動引導

17.1.4創建SD卡啟動鏡像

17.1.5從SD卡啟動引導系統

17.2生成QSPI Flash鏡像並啟動

17.2.1QSPI Flash接口

17.2.2創建QSPI Flash鏡像

17.2.3從QSPI Flash啟動引導系統

第18章基於Zynq HP從端口的數據傳輸實現

18.1設計原理

18.2創建設計工程

18.3添加並配置AXI CDMA到設計

18.3.1添加AXI CDMA IP和互聯到設計

18.3.2連接AXI CDMA到設計

18.3.3添加端口連接

18.3.4分配地址空間

18.4使用SDK設計和實現應用工程

18.4.1軟件應用的實現原理

18.4.2導入硬件設計到SDK

18.4.3創建新的軟件應用工程

18.4.4導入應用程序

18.4.5下載硬件比特流文件到FPGA

18.4.6運行應用工程

第19章基於Zynq ACP從端口的數據傳輸實現

19.1設計原理

19.2創建設計工程

19.3配置PS端口

19.3.1配置PS 32位GP AXI主端口

19.3.2配置PS的ACP從端口

19.4添加並連接IP到設計

19.4.1添加IP到設計

19.4.2總線連接

19.4.3端口連接

19.4.4分配地址空間

19.5使用SDK設計和實現應用工程

19.5.1導入硬件設計到SDK

19.5.2創建新的軟件應用工程

19.5.3導入應用程序

19.5.4下載硬件比特流文件到FPGA

19.5.5運行應用工程

第20章XADC在Zynq平臺上的應用

20.1設計原理

20.2創建設計工程

20.3添加XADC IP到設計

20.4添加約束到用戶約束文件

20.4.1Zedboard板上XADC接口

20.4.2添加約束條件

20.5使用SDK設計和實現應用工程

20.5.1導入硬件設計到SDK工具

20.5.2生成新的應用工程

20.5.3下載硬件比特流文件到FPGA

20.5.4運行應用工程

第21章Ubuntu操作系統在Zynq平臺上實現

21.1Ubuntu操作系統環境搭建

21.1.1安裝虛擬機

21.1.2在虛擬機上安裝Ubuntu 12.10

21.1.3Linux和Windows文件傳輸工具CuteFTP安裝使用

21.1.4Ubuntu相關環境和命令設置

21.2uboot原理及實現

21.2.1uboot結構

21.2.2下載uboot源碼

21.2.3uboot配置與編譯

21.3內核概述及編譯

21.3.1內核結構

21.3.2內核編譯

21.4設備樹原理及實現

21.4.1設備樹功能

21.4.2設備樹數據格式

21.4.3設備樹的編譯

21.5文件系統原理及實現

21.6打開設計工程

21.7使用SDK設計生成軟件工程

21.7.1創建第一級引導啟動代碼

21.7.2SD啟動鏡像的生成

21.8驗證Ubuntu操作系統的運行

第22章μC/OSⅢ操作系統在Zynq平臺上的實現

22.1μC/OSⅢ操作系統簡介

22.2μC/OSⅢ操作系統環境構建

22.3創建設計工程

22.4建立基於μC/OSⅢ操作系統的軟件應用工程

22.4.1導入設計到SDK中

22.4.2創建新的μC/OSⅢ設計工程

22.4.3修改編譯環境參數

22.4.4重新編譯設計工程

22.5運行外設測試工程

22.5.1配置硬件平臺

22.5.2配置運行環境

22.6相關文件目錄功能

22.6.1App、BSP和Documentation文件夾

22.6.2μC/CPU文件夾

22.6.3μC/CSP文件夾

22.6.4μC/LIB文件夾

22.6.5μC/OSⅢ文件夾

22.6.6用於μC/OSⅢ文件夾的Xilinx BSP

22.7基於μC/OSIII操作系統的關鍵工程文件分析

22.7.1Main()

22.7.2AppTaskStart()

22.7.3AppTaskCreate()

22.7.4AppMutexCreate()

22.7.5AppTask1()

22.7.6AppPrint()

22.7.7app_cfg.h

第23章HLS在Zynq嵌入式系統設計中的應用

23.1設計原理

23.2基於HLS生成FIR濾波器

23.2.1設計FIR濾波器

23.2.2運行仿真和驗證功能

23.2.3設計綜合

23.2.4設計優化

23.2.5運行CoSimulation

23.2.6實現ISim軟件下的仿真

23.2.7使用指令創建Pcore

23.2.8生成Pcore核

23.3創建處理器系統

23.3.1建立新的設計工程

23.3.2修改處理器系統外設參數設置

23.3.3復制Pcore到當前工程

23.3.4例化並連接生成的Pcore

23.3.5添加用戶約束到用戶約束文件

23.4使用SDK設計和實現應用工程

23.4.1導入設計到SDK

23.4.2生成應用工程

23.4.3導入應用程序

23.4.4驗證硬件設計

23.4.5運行應用工程

最後瀏覽商品 (17)