基於Xilinx公司的ZYNQ7000APSoC,介紹了其體系結構與開發思想,並使用多個實例講述了其開發方法與流程。
全書共9章。書中講述了ZYNQ7000APSoC家族的特點、體系與結構以及軟件開發的獨特之處;以Vivado開發套件為基礎,講述了ZYNQ7000APSoC的軟硬件開發流程;為了方便使用ISE/Plan
Ahead軟件的讀者入手,還簡要描述了使用它們開發ZYNQ7000APSoC嵌入式軟件的方法,但《XilinxZYNQ-7000APSoC開發實戰指南》仍以Vivado套件為主要工具進行開發講解;給出了常用外設的使用示例,包括MIO/EMIO接口、通用I/O、中斷控制器、定時器系統等,還給出了XADC模塊的使用示例;圍繞Vivado以IP為中心的設計思想,用實例講解了如何設計用戶自定義IP核;使用System
Generator for DSP在Matlab/Simulink環境下建模,介紹了基於模型的DSP算法設計,並通過多個實例講解了其設計思想和設計流程;使用VivadoHLS軟件,通過多個實例講述了高層次綜合的設計思想和設計流程。
目錄
第1章 不只是芯片,更是完整的平台產品
1.1 FPGA的這三十年
1.2 FPGA的芯片結構
1.3 傳統的FPGA開發基本流程
1.4 Xilinx FPGA家族介紹
1.5 Xilinx開發工具與設計平台
1.5.1 ISE與Vivado、Vivado HLS簡介
1.5.2 System Generator簡介
1.6 為什麼使用ZYNQ
1.6.1 ZYNQ家族的優勢
1.6.2 ZYNO家族的主要應用
1.6.3 現有的ZYNQ家族器件
1.6.4 ZYNQ家族的特性
1.7 Ultra Fast設計方法
第2章 ZYNQ的體系、結構與開發思想
2.1 應用處理器單元
2.1.1 APU的基本功能
2.1.2 APU的系統級視圖
2.2 信號、接口與引腳
2.2.1 電源引腳
2.2.2 PS I/O引腳
2.2.3 PS—PL電平移位使能
2.2.4 PS—PL MIO—EMIO信號與接口
2.3 時鍾
2.3.1 時鍾系統
2.3.2 CPU時鍾
2.4 復位
2.4.1 復位后的啟動流程
2.4.2 復位資源
2.5 JTAG調試與測試
2.6 啟動與配置
2.6.1 PS的啟動過程
2.6.2 PL的啟動過程
2.7 系統互聯結構
2.8 可編程邏輯PL
2.8.1 PL的組件
2.8.2 輸入/輸出
2.8.3 PL的配置
29 ZYNQ開發思想
2.9.1 ZYNQ—7000軟件開發的特點
2.9.2 ZYNQ—7000 SoC軟件與應用的開發流程
2.9.3 設備的驅動架構
2.9.4 裸機程序開發流程
2.9.5 Linux程序開發
2.10 設計基於PL的算法加速器
2.10.1 用PL為PS卸載
2.10.2 PL與存儲系統的性能
2.10.3 選擇PL接口
第3章 ZYNQ—7000 AP SoC設計與開發流程
3.1 ZYNQ—7000 AP SoC開發流程簡介
3.2 基於Vivado+SDK的設計與開發
3.2.1 使用Vivado構建硬件平台
3.2.2 使用SDK完成軟件開發
3.2.3 啟動鏡像文件的生成與下載
3.3 基於PlanAhead+ SDK的設計與開發
第4章 ARM Cortex—A9外圍設備應用實例
4.1 MIO/EMIO接口
4.1.1 MIO/EMIO接口功能概述
4.1.2 應用實例
4.2 通用I/O模塊GPIO
4.2.1 GPIO簡介
4.2.2 功能詳述
4.2.3 編程指南
4.2.4 應用實例
4.3 中斷控制器GIC
4.3.1 GIC簡介
4.3.2 中斷源分類
4.3.3 中斷優先級仲裁
4.3.4 相關寄存器
4.3.5 應用實例
4.4 定時器系統
4.4.1 定時器系統簡介
4.4.2 私有定時器、私有看門狗
4.4.3 全局定時器
4.4.4 系統看門狗
4.4.5 TTC單元
4.4.6 編程指南
4.4.7 相關寄存器
4.4.8 應用實例
第5章 XADC模塊應用實例
5.1 簡介
5.2 功能詳述
5.2.1 XADC模塊相關引腳
5.2.2 模擬量輸入類型及量化關系
5.2.3 電壓、溫度的記錄與報警
5.2.4 自動校正功能
5.3 XADC工作模式
5.3.1 單通道模式
5.3.2 自動序列模式
5.3.3 外部多路復用器模式
5.4 控制接口
5.4.1 DPR/JTAG—TAP接口
5.4.2 常用接口單元
5.5 相關寄存器
5.5.1 狀態寄存器
5.5.2 控制寄存器
5.6 應用實例
5.6.1 基於Vivado的XADC模塊硬件配置
5.6.2 基於SDK的軟件開發
第6章 用戶IP核的定制
6.1 基於Vivado的用戶IP核封裝與例化
6.1.1 用戶IP核的建立
6.1.2 用戶IP核邏輯功能的設計與封裝
6.1.3 用戶IP核的例化
6.2 基於SDK的編程指導
第7章 基於模型的DSP設計
7.1 System Generator的安裝、系統要求與配置
7.2 Simulink的基本使用方法
7.3 創建基於System Generator的簡單設計
7.4 定點數據類型的處理
7.5 系統控制與狀態機
7.6 多速率與串並轉換
7.7 使用存儲單元
7.8 在Vivado IDE中使用System Generator模型
7.9 把C/C++程序導入System Generator模型
7.10 把System Generator模型封裝為自定義IP
7.11 對System Generator中生成的AX14—Lite接口的模型進行驗證
第8章 Vivado高層次綜合
8.1 Vivado HLS的基本開發方法
8.2 Vivado HLS中的數據類型
8.2.1 任意精度整數類型
8.2.2 Vivado HLS支持的數學函數類型
8.3 Vivado HLS中的接口綜合
8.3.1 模塊級別的I/O協議
8.3.2 端口類型的處理
8.3.3 如何把數組實現為RTL接口
8.3.4 如何把數組實現為AXI4的相關接口
8.4 在Vivado IPI中使用HLS生成的IP
8.5 把使用HLS生成的IP用作PS的外設
第9章 MicroZed開發板的介紹
9.1 MicroZed基本介紹
9.2 下載程序與測試
9.3 測試更多的DDR內存空間
9.4 在MicroZed上運行開源Linux
9.4.1 在Linux中控制GPIO
9.4.2 在Linux中進行以太網通信
9.4.3 測試PS與USB的通信
9.4.4 由PS向PL提供時鍾信號
參考文獻
1.1 FPGA的這三十年
1.2 FPGA的芯片結構
1.3 傳統的FPGA開發基本流程
1.4 Xilinx FPGA家族介紹
1.5 Xilinx開發工具與設計平台
1.5.1 ISE與Vivado、Vivado HLS簡介
1.5.2 System Generator簡介
1.6 為什麼使用ZYNQ
1.6.1 ZYNQ家族的優勢
1.6.2 ZYNO家族的主要應用
1.6.3 現有的ZYNQ家族器件
1.6.4 ZYNQ家族的特性
1.7 Ultra Fast設計方法
第2章 ZYNQ的體系、結構與開發思想
2.1 應用處理器單元
2.1.1 APU的基本功能
2.1.2 APU的系統級視圖
2.2 信號、接口與引腳
2.2.1 電源引腳
2.2.2 PS I/O引腳
2.2.3 PS—PL電平移位使能
2.2.4 PS—PL MIO—EMIO信號與接口
2.3 時鍾
2.3.1 時鍾系統
2.3.2 CPU時鍾
2.4 復位
2.4.1 復位后的啟動流程
2.4.2 復位資源
2.5 JTAG調試與測試
2.6 啟動與配置
2.6.1 PS的啟動過程
2.6.2 PL的啟動過程
2.7 系統互聯結構
2.8 可編程邏輯PL
2.8.1 PL的組件
2.8.2 輸入/輸出
2.8.3 PL的配置
29 ZYNQ開發思想
2.9.1 ZYNQ—7000軟件開發的特點
2.9.2 ZYNQ—7000 SoC軟件與應用的開發流程
2.9.3 設備的驅動架構
2.9.4 裸機程序開發流程
2.9.5 Linux程序開發
2.10 設計基於PL的算法加速器
2.10.1 用PL為PS卸載
2.10.2 PL與存儲系統的性能
2.10.3 選擇PL接口
第3章 ZYNQ—7000 AP SoC設計與開發流程
3.1 ZYNQ—7000 AP SoC開發流程簡介
3.2 基於Vivado+SDK的設計與開發
3.2.1 使用Vivado構建硬件平台
3.2.2 使用SDK完成軟件開發
3.2.3 啟動鏡像文件的生成與下載
3.3 基於PlanAhead+ SDK的設計與開發
第4章 ARM Cortex—A9外圍設備應用實例
4.1 MIO/EMIO接口
4.1.1 MIO/EMIO接口功能概述
4.1.2 應用實例
4.2 通用I/O模塊GPIO
4.2.1 GPIO簡介
4.2.2 功能詳述
4.2.3 編程指南
4.2.4 應用實例
4.3 中斷控制器GIC
4.3.1 GIC簡介
4.3.2 中斷源分類
4.3.3 中斷優先級仲裁
4.3.4 相關寄存器
4.3.5 應用實例
4.4 定時器系統
4.4.1 定時器系統簡介
4.4.2 私有定時器、私有看門狗
4.4.3 全局定時器
4.4.4 系統看門狗
4.4.5 TTC單元
4.4.6 編程指南
4.4.7 相關寄存器
4.4.8 應用實例
第5章 XADC模塊應用實例
5.1 簡介
5.2 功能詳述
5.2.1 XADC模塊相關引腳
5.2.2 模擬量輸入類型及量化關系
5.2.3 電壓、溫度的記錄與報警
5.2.4 自動校正功能
5.3 XADC工作模式
5.3.1 單通道模式
5.3.2 自動序列模式
5.3.3 外部多路復用器模式
5.4 控制接口
5.4.1 DPR/JTAG—TAP接口
5.4.2 常用接口單元
5.5 相關寄存器
5.5.1 狀態寄存器
5.5.2 控制寄存器
5.6 應用實例
5.6.1 基於Vivado的XADC模塊硬件配置
5.6.2 基於SDK的軟件開發
第6章 用戶IP核的定制
6.1 基於Vivado的用戶IP核封裝與例化
6.1.1 用戶IP核的建立
6.1.2 用戶IP核邏輯功能的設計與封裝
6.1.3 用戶IP核的例化
6.2 基於SDK的編程指導
第7章 基於模型的DSP設計
7.1 System Generator的安裝、系統要求與配置
7.2 Simulink的基本使用方法
7.3 創建基於System Generator的簡單設計
7.4 定點數據類型的處理
7.5 系統控制與狀態機
7.6 多速率與串並轉換
7.7 使用存儲單元
7.8 在Vivado IDE中使用System Generator模型
7.9 把C/C++程序導入System Generator模型
7.10 把System Generator模型封裝為自定義IP
7.11 對System Generator中生成的AX14—Lite接口的模型進行驗證
第8章 Vivado高層次綜合
8.1 Vivado HLS的基本開發方法
8.2 Vivado HLS中的數據類型
8.2.1 任意精度整數類型
8.2.2 Vivado HLS支持的數學函數類型
8.3 Vivado HLS中的接口綜合
8.3.1 模塊級別的I/O協議
8.3.2 端口類型的處理
8.3.3 如何把數組實現為RTL接口
8.3.4 如何把數組實現為AXI4的相關接口
8.4 在Vivado IPI中使用HLS生成的IP
8.5 把使用HLS生成的IP用作PS的外設
第9章 MicroZed開發板的介紹
9.1 MicroZed基本介紹
9.2 下載程序與測試
9.3 測試更多的DDR內存空間
9.4 在MicroZed上運行開源Linux
9.4.1 在Linux中控制GPIO
9.4.2 在Linux中進行以太網通信
9.4.3 測試PS與USB的通信
9.4.4 由PS向PL提供時鍾信號
參考文獻
網路書店
類別
折扣
價格
-
新書87折$256