新書推薦:
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:NT$
504.0
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:NT$
602.0
《
化妆品学原理
》
售價:NT$
254.0
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:NT$
214.0
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
|
編輯推薦: |
《Xilinx All Programmable Zynq-7000 SoC设计指南》首次论述Zynq-7000
SoC体系结构、程序设计及操作系统移植的方法与实践。
? 详尽介绍Zynq-7000 SoC的体系结构和相关生态系统,便于读者快速动手实践。
? 始终围绕软件和硬件协同设计的理念叙述,利于读者彻底掌握Zynq-7000 SoC的设计方法和技巧。
? 本书的编写得到了Xilinx及其合作伙伴的大力支持,藉其丰富的资源,反映出最新的设计技术水平。
《Xilinx All Programmable Zynq-7000
SoC设计指南》配套提供设计实例的完整设计代码和教学课件资源(下载地址www.tup.com.cn)
本书内容(含)
? 可编程SoC设计
? AMBA协议规范
? Zynq-7000应用处理单元
? 可编程逻辑资源
? 系统互连结构
? 系统公共资源特性及功能
? Zynq调试和测试系统
? Zynq平台的启动和配置
? Zynq平台主要外设模块
? Zynq平台描述规范
? 高级综合工具HLS
? 14个设计实例
附赠内容
|
內容簡介: |
《Xilinx All Programmable Zynq-7000 SoC设计指南》系统论述了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平台上的实现、?COS-III操作系统在Zynq平台上的实现和HLS在Zynq嵌入式系统设计中的应用。
|
關於作者: |
何宾
长期从事数字系统EDA方面教学与科研工作。在全国进行大学生电子设计竞赛极力推进FPGA专题方面的培训工作,在EDA教学与科研应用方面积累了丰富的经验。已出版相关图书《EDA原理及Verilog实现》、《EDA原理及VHDL实现》、《基于AXI4的可编程SOC系统设计》、《Xilinx
FPGA设计权威指南》等10本深受读者喜欢的Xilinx FPGA图书。
|
目錄:
|
第1篇 Zynq-7000体系结构
第1章 可编程SoC设计导论 19
1.1 可编程SoC系统设计基础 19
1.1.1 软核及硬核处理器 19
1.1.2 可编程SoC技术的发展 20
1.1.3 可编程SoC系统技术特点 21
1.1.4 可编程SoC设计流程 21
1.1.5 可编程SoC开发工具 23
1.2 Xilinx Zynq平台导论 28
1.2.1 Xilinx Zynq平台功能 28
1.2.2 处理系统PS特性 30
1.2.3 可编程逻辑PL特性 35
1.2.4 互联特性及描述 37
1.2.5 Zynq信号、接口和引脚 39
1.3 Zynq平台设计方法学 46
1.3.1 使用PL实现软件算法的优势 46
1.3.2 设计PL加速器 47
1.3.3 PL加速限制 47
1.3.4 降低功耗 48
1.3.5 实时减负 49
1.3.6 可重配置计算 49
第2章 AMBA协议规范 50
2.1 AMBA规范导论 50
2.2 AMBA APB规范 51
2.2.1AMBA APB写传输 51
2.2.2AMBA APB读传输 52
2.2.3 AMBA APB错误响应 53
2.2.4操作状态 54
2.2.5AMBA3 APB信号 54
2.3 AMBA AHB规范 56
2.3.1 AMBA AHB结构 56
2.3.2 AMBA AHB操作 58
2.3.3 AMBA AHB传输类型 60
2.3.4 AMBA AHB猝发操作 61
2.3.5 AMBA AHB传输控制信号 64
2.3.6 AMBA AHB地址译码 66
2.3.7 AMBA AHB从设备传输响应 67
2.3.8 AMBA AHB数据总线 70
2.3.9 AMNA AHB传输仲裁 71
2.3.10 AMBA AHB分割传输 76
2.3.11 AMBA AHB复位 79
2.3.12 关于AHB数据总线的位宽 79
2.3.13 AMBA AHB接口设备 80
2.4 AMBA AXI4规范 11
2.4.1 AMBA AXI4概述 错误!未定义书签。
2.4.2 AMBA AXI4功能 11
2.4.3 AMBA AXI4互联结构 20
2.4.4 AXI4-Lite功能 22
2.4.5 AXI4-Stream功能 23
第2篇 Zynq-7000体系结构
第3章 Zynq-7000应用处理单元 27
3.1 应用处理单元 27
3.1.1 基本功能 27
3.1.2 系统级视图 29
3.2 Cortex-A9处理器 30
3.2.1 中央处理器 30
3.2.2 L1高速缓存 33
3.2.3 存储器管理单元 34
3.2.4 接口 37
3.2.5 NEON 38
3.2.6 性能监视单元 39
3.3 侦听控制单元 39
3.3.1 地址过滤 39
3.3.2 SCU主设备端口 40
3.4 L2高速缓存 40
3.4.1 互斥 L2-L1高速缓存配置 42
3.4.2 高速缓存替换策略 43
3.4.3 高速缓存锁定 43
3.4.4 使能禁止 L2高速缓存控制器 44
3.4.5 RAM访问延迟控制 45
3.4.6 保存缓冲区操作 45
3.4.7 在Cortex-A9和L2控制器之间的优化 46
3.4.8 预取操作 47
3.4.9 编程模型 48
3.5 片上存储器 48
3.5.1 片上存储器结构 48
3.5.2 片上存储器功能 50
3.6 APU接口 57
3.6.1 PL协处理接口 57
3.6.2 中断接口 60
3.7 APU内的TrustZone 60
3.7.1 CPU安全过渡 61
3.7.2 CP15寄存器访问控制 61
3.7.3 MMU安全性 62
3.7.4 L1缓存安全性 62
3.7.5 安全异常控制 63
3.7.6 CPU调试 TrustZone访问控制 63
3.7.7 SCU寄存器访问控制 63
3.7.8 L2缓存中的TrustZone支持 63
3.8 应用处理单元复位 64
3.8.1 复位功能 64
3.8.2 复位后的APU状态 65
3.9 功耗考虑 65
3.9.1 待机模式 66
3.9.2 在L2控制器内的动态时钟门控 66
3.10系统地址分配 66
3.10.1 地址映射 66
3.10.2 系统总线主设备 68
3.10.3 IO外设 68
3.10.4 SMC存储器 69
3.10.5 SLCR寄存器 69
3.10.6 杂项PS寄存器 70
3.10.7 CPU私有总线寄存器 70
3.11 中断 70
3.11.1 中断环境 71
3.11.2 中断控制器的功能 72
3.11.3 编程模型 76
3.12 定时器 77
3.12.1 CPU私有定时器和看门狗定时器 77
3.12.2 全局定时器 78
3.12.3 系统看门狗定时器 79
3.12.4 三重定时器计数器 81
3.12.5 IO信号 84
3.13 DMA控制器 85
3.13.1 DMA控制器结构及特性 85
3.13.2 DMA控制器功能 89
3.13.3 外部信号 99
3.13.4.寄存器描述 101
3.13.5.用于管理器和命令的指令集参考 102
3.13.6 编程模型参考 103
3.13.7 编程限制 109
3.13.8 DMAC IP配置选项 111
第4章 Zynq-7000可编程逻辑资源 112
4.1 Zynq-7000可编程逻辑资源特性 112
4.2 可编程逻辑资源功能 114
4.2.1 CLB,Slice和LUT 114
4.2.2 时钟管理 114
4.2.3 块RAM 115
4.2.4 数字信号处理-DSP Slice 116
4.2.5 输入输出 117
4.2.6 低功耗串行收发器 118
4.2.7 PCI-E模块 119
4.2.8 XADC(模拟-数字转换器) 120
4.2.9 配置 120
第5章 系统互连结构 122
5.1 系统互连功能及特性 122
5.1.1 数据路径 124
5.1.2 时钟域 125
5.1.3 连接性 126
5.1.4 AXI ID 127
5.5.5 寄存器概述 128
5.2 服务质量 128
5.2.1 基本仲裁 128
5.2.2 高级QoS 128
5.2.3 DDR端口仲裁 129
5.3 AXI_HP接口 129
5.3.1 AXI_HP接口结构及特点 129
5.3.2 接口数据宽度 133
5.3.3 交易类型 134
5.3.4 命令交替和重新排序 135
5.3.5 性能优化总结 135
5.4 AXI_ACP接口 136
5.5 AXI_GP接口 137
5.6 AXI信号总结 137
5.7 PL接口选择 139
5.7.1 使用通用主设备端口的Cortex-A9 140
5.7.2 通过通用主设备的PS DMA控制器(DMAC) 141
5.7.3 通过高性能接口的PL DMA 142
5.7.4 通过AXI ACP的PL DMA 143
5.7.5 通过通用AXI从(GP)的PL DMA 144
第6章 系统公共资源特性及功能 145
6.1 时钟子系统 145
6.1.1 时钟系统结构及功能 145
6.1.2 CPU时钟域 147
6.1.3 时钟编程实例 148
6.1.4 时钟系统内生成电路结构 149
6.2 复位子系统 153
6.2.1 复位系统结构和层次 154
6.2.2 启动流程 155
6.1.3 复位的结果 156
第7章 Zynq调试和测试子系统 158
7.1 JTAG和DAP子系统 158
7.1.1 JTAG和DAP系统功能描述 160
7.1.2 JTAG和DAP系统IO信号 162
7.1.3 编程模型 163
7.1.4 ARM DAP控制器 164
7.1.5 跟踪端口接口单元TPIU 165
7.1.6 Xilinx TAP控制器 165
7.2 CoreSight系统结构及功能 166
7.2.1 CoreSight结构 166
7.2.2 CoreSight功能 167
第8章 Zynq平台的启动和配置 172
8.1 Zynq平台启动和配置功能 172
8.2 外部启动要求 173
8.3 BootROM 175
8.3.1 BootROM功能 175
8.3.2 BootROM头部 178
8.3.3 启动设备 180
8.3.4 BootROM多启动和启动分区查找 184
8.3.5 调试状态 186
8.3.6 BootROM后状态 187
8.4 器件配置接口 189
8.4.1 器件配置接口功能 191
8.4.2 器件配置流程 193
8.4.3 PL配置 196
8.4.4 寄存器集合 197
第9章 Zynq平台主要外设模块 199
9.1 DDR存储器控制器 199
9.1.1 DDR存储器控制器接口及功能 200
9.1.2 AXI存储器端口接口 202
9.1.3 DDR核交易调度器 204
9.1.4 DDRC仲裁 204
9.1.5 DDR控制器PHY 206
9.1.6 DDR初始化和标定 206
9.1.7 纠错码 207
9.2 静态存储器控制器 208
9.2.1 静态存储器控制器接口及功能 209
9.2.2 静态存储器控制器和存储器的信号连接 210
9.3 四-SPI Flash控制器 212
9.3.1 四-SPI Flash控制器功能 213
9.3.2 四-SPI控制器反馈时钟 216
9.3.3 四-SPI Flash控制器接口 216
9.4 SDSDIO外设控制器 218
9.4.1 SDSDIO控制器功能 219
9.4.2 SDSDIO控制器传输协议 221
9.4.3 SDSDIO控制器接口信号连接 223
9.5 通用输入输出控制器 225
9.5.1 通用输入输出GPIO接口及功能 226
9.5.2 通用输入输出GPIO中断功能 227
9.6 USB主机、设备和OTG控制器 229
9.6.1 USB控制器接口及功能 230
9.6.2 USB主机操作模式 233
9.6.3 USB设备操作模式 235
9.6.4 USB OTG操作模式 238
9.7 吉比特以太网控制器 239
9.7.1 吉比特以太网控制器接口及功能 240
9.7.2 吉比特以太网控制器接口编程向导 242
9.7.3 吉比特以太网控制器接口信号连接 246
9.8 SPI控制器 248
9.8.1 SPI控制器的接口及功能 249
9.8.2 SPI控制器时钟设置规则 251
9.9 CAN控制器 252
9.9.1 CAN控制器接口及功能 252
9.9.2 CAN控制器操作模式 255
9.9.3 CAN控制器消息保存 256
9.9.4 CAN控制器接收过滤器 256
9.9.5 CAN控制器编程模型 257
9.10 UART控制器 260
9.10.1 UART控制器接口及功能 261
9.11 I2C控制器 264
9.11.1 I2C速度控制逻辑 265
9.11.2 I2C控制器的功能和工作模式 265
9.12 ADC转换器接口 268
9.12.1 ADC转换器功能 269
9.12.2 ADC命令格式 269
9.12.3 供电传感器报警 270
9.13 PCI-E接口 271
第10章 Zynq平台描述规范 273
10.1 Zynq平台文件描述规范功能集 273
10.2 微处理器硬件规范 273
10.2.1 通用微处理器硬件规范 274
10.2.2 AXI系统微处理器硬件规范 275
10.2.3 Zynq-7000系统微处理器规范实例 276
10.3 微处理器外设规范 280
|
內容試閱:
|
《Xilinx All Programmable Zynq-7000
SoC设计指南》是作者耗时半年多时间后,献给广大读者的又一本反映最新Xilinx可编程技术的著作。在该书编写的过程中感触颇多,愿于广大读者在此一起分享这些心得:
1.当Xilinx将ARM公司的双核Cortex-A9处理器嵌入到FPGA芯片内,并结合最新的28纳米工艺,制造出全新一代的可编程SoC平台后,起名叫EPP,即可扩展的处理平台,后来又改成All
Programmable平台。在这个名字变化的过程中,反映了Xilinx给这个最新Zynq设计平台的定位,即:平台侧重于嵌入式系统的应用,未来的可编程逻辑器件向着嵌入式处理方向发展,即传统的可编程逻辑器件未来称为嵌入式处理元素。未来的嵌入式系统“硬件”和“软件”将根据应用的要求,真正的变成All
Programmable(以下称为全可编程),即:可以在单芯片内设计满足特定要求的硬件平台和相应的软件应用。在这个全可编程的实现过程中,体现着软件和硬件协同设计、软件和硬件协同调试、软件的串行执行和硬件逻辑的并行执行完美结合、未来的嵌入式系统是“积木块”的设计风格等设计思想。这些设计理念将在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系统概述、Xilinx
Zynq平台导论和Zynq平台设计方法概述。
2 AMBA协议规范,包括:AMBA规范概述、AMBA APB规范、AMBA
AHB规范和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存储器控制器、静态存储器控制器、四-SPI
Flash控制器、SDSDIO外设控制器、通用输入输出控制器、USB主、设备和OTG控制器、吉比特以太网控制器、SPI控制器、CAN控制器、UART控制器、I2C控制器、ADC转换器接口和PCI-E接口。
(8)Zynq平台描述规范,包括:Zynq平台文件描述规范概述、微处理器硬件规范、微控制器外设规范、外设分析命令、黑盒定义、微处理器软件规范、微处理器库定义、微处理器驱动定义和Xilinx板描述格式。
(9)高级综合工具HLS概述,包括:高级综合工具概述、高级综合工具调度和绑定、Vivado
HLS工具的优势、C代码的关键属性和HLS内提供的用于时钟测量的术语。
3.
Zynq-7000设计实战篇,详细介绍了基于Zynq全可编程平台的不同设计实例,共包含12个章节的内容:
(1)使用BSP向导生成Zynq基本系统。包括:使用BSB向导生成Zynq基本系统、生成和运行存储器测试工程及生成和运行外设测试工程。
(2)添加AXI
IP到设计。包括:设计原理、添加IP到系统设计、使用SDK设计和实现应用工程。
(3)基于定制IP实现简单嵌入式系统设计。包括:创建设计工程、定制GPIO
IP核、添加和连接AXI外设、添加约束到用于约束文件、使用SDK设计和实现应用工程。
(4)基于定制IP实现复杂嵌入式系统设计。包括:设计原理、创建设计工程、定制VGA
IP核、定制移位寄存器IP核、添加和连接VGA IP核、添加和连接shifter
IP核、添加约束到用户约束文件、使用SDK设计和实现应用工程。
(5)软件和硬件协同调试系统。包括:复制并打开设计工程、例化AXI
Chipscope核、导入硬件设计到SDK工具、启动ChipScope Pro硬件调试器工具、执行HS验证。
(6)Zynq平台配置和启动的实现。包括:生成SD卡镜像文件并启动、生成QSPI
Flash镜像并启动。
(7)基于Zynq HP从端口的数据传输实现。包括:设计原理、创建设计工程、添加并配置AXI
CDMA到设计、使用SDK设计和实现应用工程。
(8)基于Zynq
ACP从端口数据传输实现。包括:设计原理、创建设计工程、配置PS端口、添加并连接IP到设计、使用SDK设计和实现应用工程。
(9)XADC在Zynq平台上的应用。包括:设计原理、创建设计工程、添加XADC
IP到设计、使用SDK设计和实现应用工程。
(10)Ubuntu操作系统在Zynq平台上实现。包括:Ubuntu操作系统环境搭建、u-boot原理及实现、内核概述及编译、设备树原理及实现、文件系统原理及实现、打开设计工程、使用SDK设计生成软件工程、验证Ubuntu系统的运行。
(11)?COS-III操作系统在Zynq平台上的实现。包括:?COS-III操作系统概述、?COS-III操作系统环境构建、创建设计工程、建立?COS-III操作系统的软件应用工程、运行外设测试工程、相关文件目录功能、基于?COS-III操作系统的关键工程文件分析。
(12)HLS在Zynq嵌入式系统设计的应用。包括:设计原理、基于HLS生成FIR滤波器、创建处理器系统、使用SDK设计和实现应用工程。
在本书所包含这些设计实例代表着Zynq的一个应用的方向,在介绍这些设计实例的过程中,贯穿了很多重要的设计方法和设计思路,这些设计方法和设计思路比设计案例本身更加重要。为了便于读者的学习,本书还配套了光盘,光盘上提供了相关设计的完整工程及相关代码,以及教学课件等设计资源。
在本书的编写过程中,得到了大量的帮助。感谢彭勃、李宝隆、孙丹阳同学,他们分别帮助验证了本书实验部分案例的验证,以及完成了书中一部分表格和插图的绘制工作。中科院南京天文光学技术研究所的陆启帅参与本书实验部分第9章、第10章内容的编写。还要感谢Xilinx大学合作计划、ARM大学合作计划、美国Digilent公司、美国Avent公司和北京麦克泰软件技术有限公司在软件和硬件平台方面给予的大力支持和帮助。最后,也要对清华大学出版社的编辑和领导的辛勤工作表示感谢。正是由于他们的支持和帮助,使得作者能在短时间内高质量的完成该书的编写和校对工作。
虽然作者花费了大量的精力和时间用于该书的编写,但是由于作者的能力有限,书中一定会存在不足之处。在此,也恳请广大读者、同仁对本书提出宝贵的修改意见。
何宾
2013.1于北京
|
|