当前位置:首页 > 工业技术
Xilinx All Programmable Zynq-7000 SoC设计指南
Xilinx All Programmable Zynq-7000 SoC设计指南

Xilinx All Programmable Zynq-7000 SoC设计指南PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:何宾编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302322221
  • 页数:565 页
图书介绍:本书内容包括:可编程SoC设计导论、AMBA协议规范、Zynq—7000应用处理单元、可编程逻辑资源、系统互连结构、系统公共资源特性及功能、Zynq调试和测试系统、Zynq平台的启动和配置、Zynq平台主要外设模块、Zynq平台描述规范、高级综合工具HLS等内容、Zynq基本处理器系统地建立和运行、添加AXI IP到设计、基于定制IP实现简单嵌入式系统设计、基于定制IP实现复杂嵌入式系统设计等内容。
《Xilinx All Programmable Zynq-7000 SoC设计指南》目录

第一篇 Zynq-7000基础理论 3

第1章 可编程Soc设计 3

1.1可编程Soc系统 3

1.1.1软核及硬核处理器 3

1.1.2可编程Soc技术的发展 4

1.1.3可编程Soc技术的特点 5

1.1.4可编程Soc的设计流程 6

1.1.5可编程Soc的开发工具 7

1.2 Xilinx Zynq平台 13

1.2.1 Zynq平台的功能 13

1.2.2处理系统PS特性 16

1.2.3可编程逻辑PL特性 21

1.2.4互联特性 22

1.2.5 Zynq信号、接口和引脚 23

1.3 Zynq平台设计方法学 31

1.3.1使用PL实现软件算法的优势 31

1.3.2设计PL加速器 32

1.3.3 PL加速限制 32

1.3.4降低功耗 33

1.3.5实时减负 34

1.3.6可重配置计算 35

第2章 AMBA协议规范 36

2.1 AMBA规范导论 36

2.2 AMBA APB规范 37

2.2.1 AMBA APB写传输 37

2.2.2 AMBA APB读传输 39

2.2.3 AMBA APB错误响应 40

2.2.4操作状态 41

2.2.5 AMBA3 APB信号 42

2.3 AMBA AHB规范 43

2.3.1 AMBA AHB结构 43

2.3.2 AMBA AHB操作 44

2.3.3 AMBA AHB传输类型 46

2.3.4 AMBA AHB猝发操作 47

2.3.5 AMBA AHB传输控制信号 53

2.3.6 AMBA AHB地址译码 54

2.3.7 AMBA AHB从设备传输响应 55

2.3.8 AMBA AHB数据总线 58

2.3.9 AMNA AHB传输仲裁 59

2.3.10 AMBA AHB分割传输 64

2.3.11 AMBA AHB复位 67

2.3.12 AHB数据总线的位宽 67

2.3.13 AMBA AHB接口设备 69

2.4 AMBA AXI 4规范 70

2.4.1 AMBA AXI 4功能 71

2.4.2 AMBA AXI 4互联结构 79

2.4.3 AXI4-Lite功能 80

2.4.4 AXI4-Stream功能 81

第二篇 Zynq-7000体系结构 87

第3章 Zynq-7000应用处理单元 87

3.1应用处理单元 87

3.1.1基本功能 87

3.1.2系统级视图 89

3.2 Cortex-A9处理器 90

3.2.1中央处理器 90

3.2.2 L1高速缓存 93

3.2.3存储器管理单元 94

3.2.4接口 97

3.2.5 NEON 97

3.2.6性能监视单元 98

3.3侦听控制单元 98

3.3.1地址过滤 98

3.3.2 SCU主设备端口 99

3.4 L2高速缓存 99

3.4.1互斥L2-L1高速缓存配置 101

3.4.2高速缓存替换策略 101

3.4.3高速缓存锁定 102

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

3.4.5 RAM访问延迟控制 103

3.4.6保存缓冲区操作 104

3.4.7在Cortex-A9和L2控制器之间的优化 104

3.4.8预取操作 106

3.4.9编程模型 106

3.5片上存储器 107

3.5.1片上存储器结构 107

3.5.2片上存储器功能 109

3.6 APU接口 114

3.6.1 PL协处理接口 114

3.6.2中断接口 117

3.7 APU内的TrustZone 117

3.7.1 CPU安全过渡 118

3.7.2 CP15寄存器访问控制 118

3.7.3 MMU安全性 119

3.7.4 L1缓存安全性 120

3.7.5安全异常控制 120

3.7.6 CPU调试TrustZone访问控制 120

3.7.7 SCU寄存器访问控制 120

3.7.8 L2缓存中的TrustZone支持 121

3.8应用处理单元复位 121

3.8.1复位功能 121

3.8.2复位后的APU状态 122

3.9功耗考虑 122

3.9.1待机模式 123

3.9.2在L2控制器内的动态时钟门控 123

3.10系统地址分配 124

3.10.1地址映射 124

3.10.2系统总线主设备 125

3.10.3 I/O外设 125

3.10.4 SMC存储器 126

3.10.5 SLCF寄存器 126

3.10.6杂项PS寄存器 127

3.10.7 CPU私有总线寄存器 127

3.11中断 127

3.11.1中断环境 128

3.11.2中断控制器的功能 129

3.11.3编程模型 133

3.12定时器 134

3.12.1 CPU私有定时器和看门狗定时器 134

3.12.2全局定时器 135

3.12.3系统看门狗定时器 136

3.12.4三重定时器/计数器 137

3.12.5 I/O信号 140

3.13 DMA控制器 141

3.13.1 DMA控制器结构及特性 141

3.13.2 DMA控制器功能 144

3.13.3外部信号 153

3.13.4寄存器描述 155

3.13.5用于管理器和命令的指令集参考 156

3.13.6编程模型参考 157

3.13.7编程限制 163

3.13.8 DMAC IP配置选项 164

第4章 Zynq-7000可编程逻辑资源 165

4.1 Zynq-7000可编程逻辑资源特性 165

4.2可编程逻辑资源功能 167

4.2.1 CLB、Slice和LUT 167

4.2.2时钟管理 167

4.2.3块RAM 168

4.2.4数字信号处理 169

4.2.5输入/输出 170

4.2.6低功耗串行收发器 171

4.2.7 PCI-E模块 172

4.2.8模拟/数字转换 173

4.2.9配置 173

第5章 系统互联结构 175

5.1系统互联功能及特性 175

5.1.1数据路径 177

5.1.2时钟域 178

5.1.3连接性 179

5.1.4 AXI ID 180

5.1.5寄存器 180

5.2服务质量 181

5.2.1基本仲裁 181

5.2.2高级QOS 181

5.2.3 DDR端口仲裁 182

5.3 AXI_ HP接口 182

5.3.1 AXI_ HP接口结构及特点 183

5.3.2接口数据宽度 186

5.3.3交易类型 187

5.3.4命令交替和重新排序 187

5.3.5性能优化总结 188

5.4 AXI_ACP接口 188

5.5 AXI_GP接口 189

5.6 AXI信号总结 190

5.7 PL接口选择 194

5.7.1使用通用主设备端口的Cortex-A9 194

5.7.2通过通用主设备的PS DMA控制器(DMAC) 194

5.7.3通过高性能接口的PL DMA 197

5.7.4通过AXI ACP的PL DMA 197

5.7.5通过通用AXI从(GP)的PL DMA 200

第6章 系统公共资源特性及功能 201

6.1时钟子系统 201

6.1.1时钟系统结构及功能 201

6.1.2 CPU时钟域 202

6.1.3时钟编程实例 204

6.1.4时钟系统内生成电路结构 205

6.2复位子系统 209

6.2.1复位系统结构和层次 209

6.2.2启动流程 210

6.2.3复位的结果 212

第7章 Zynq调试和测试子系统 213

7.1 JTAG和DAP子系统 213

7.1.1 JTAG和DAP系统功能 215

7.1.2JTAG和DAP系统I/O信号 217

7.1.3编程模型 217

7.1.4 ARM DAP控制器 219

7.1.5跟踪端口接口单元TPIU 220

7.1.6 XilinxTAP控制器 220

7.2 CoreSight系统结构及功能 221

7.2.1 CoreSight结构 221

7.2.2 CoreSight功能 222

第8章 Zynq平台的启动和配置 226

8.1 Zynq平台启动和配置功能 226

8.2外部启动要求 227

8.3BootROM 229

8.3.1 BootROM功能 229

8.3.2 BootROM头部 230

8.3.3启动设备 233

8.3.4 BootROM多启动和启动分区查找 237

8.3.5调试状态 238

8.3.6 BootROM后状态 239

8.4器件配置接口 242

8.4.1器件配置接口功能 243

8.4.2器件配置流程 245

8.4.3 PL配置 248

8.4.4寄存器集合 249

第9章 Zynq平台主要外设模块 250

9.1 DDR存储器控制器 250

9.1.1 DDR存储器控制器接口及功能 251

9.1.2 AXI存储器端口接口 253

9.1.3 DDR核交易调度器 254

9.1.4 DDRC仲裁 255

9.1.5 DDR控制器PHY 256

9.1.6 DDR初始化和标定 256

9.1.7纠错码 258

9.2静态存储器控制器 258

9.2.1静态存储器控制器接口及功能 259

9.2.2静态存储器控制器和存储器的信号连接 261

9.3四-SPI Flash控制器 262

9.3.1四-SPI Flash控制器功能 263

9.3.2四-SPI控制器反馈时钟 265

9.3.3四-SPI Flash控制器接口 266

9.4 SD/SDIO外设控制器 267

9.4.1 SD/SDIO控制器功能 268

9.4.2 SD/SDIO控制器传输协议 270

9.4.3 SD/SDIO控制器接口信号连接 273

9.5通用输入/输出控制器 273

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

9.5.2通用输入/输出GPIO中断功能 276

9.6 USB主机、设备和OTG控制器 276

9.6.1 USB控制器接口及功能 277

9.6.2 USB主机操作模式 281

9.6.3 USB设备操作模式 282

9.6.4 USB OTG操作模式 285

9.7吉比特以太网控制器 285

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

9.7.2吉比特以太网控制器接口编程向导 287

9.7.3吉比特以太网控制器接口信号连接 292

9.8 SPI控制器 293

9.8.1 SPI控制器的接口及功能 294

9.8.2 SPI控制器时钟设置规则 296

9.9 CAN控制器 296

9.9.1 CAN控制器接口及功能 297

9.9.2 CAN控制器操作模式 299

9.9.3 CAN控制器消息保存 300

9.9.4 CAN控制器接收过滤器 300

9.9.5 CAN控制器编程模型 301

9.10 UART控制器 303

9.11 I2 C控制器 307

9.11.1 I2 C速度控制逻辑 308

9.11.2 I2 C控制器的功能和工作模式 308

9.12 ADC转换器接口 310

9.12.1 ADC转换器功能 311

9.12.2 ADC命令格式 312

9.12.3供电传感器报警 312

9.13 PCI-E接口 313

第10章 Zynq平台描述规范 315

10.1 Zynq平台文件描述规范功能集 315

10.2微处理器硬件规范 316

10.2.1通用微处理器硬件规范 316

10.2.2 AXI系统微处理器硬件规范 318

10.2.3 Zynq-7000系统微处理器规范实例 319

10.3微处理器外设规范 322

10.3.1微处理器规范框架 322

10.3.2总线接口规范 324

10.3.3 I/O接口规范 324

10.3.4选项规范 325

10.3.5参数规范 327

10.3.6端口规范 335

10.3.7设计考虑 337

10.4外设分析命令 338

10.5黑盒定义 340

10.6微处理器软件规范 341

10.6.1微处理器软件规范格式 341

10.6.2全局参数 342

10.6.3实例指定参数 343

10.6.4 MDD/MLD指定参数 344

10.6.5 OS指定参数 344

10.6.6处理器指定参数 344

10.7微处理器库定义 345

10.7.1库定义文件 345

10.7.2 MLD格式规范 345

10.7.3 MLD参数描述 349

10.7.4设计规则检查 350

10.7.5库产生 350

10.8微处理器驱动定义 351

10.8.1驱动定义文件 351

10.8.2 MDD格式规范 351

10.9 Xilinx板描述格式 353

10.9.1 XBD格式 354

10.9.2属性命令 354

10.9.3本地参数命令及子属性 355

10.9.4本地端口命令及子属性 355

10.9.5使用IO_ INTERFACE关联IP 356

10.9.6 AXI系统XBD格式 357

第11章 高级综合工具HLS 361

11.1高级综合工具结构 361

11.1.1不同的命令对HLS综合结果的影响 362

11.1.2从C中提取硬件结构 363

11.2高级综合工具调度和绑定 365

11.2.1高级综合工具调度 365

11.2.2高级综合工具绑定 365

11.3 Vivado HLS工具的优势 366

11.4 C代码的关键属性 367

11.4.1函数 368

11.4.2类型 369

11.4.3循环 369

11.4.4数组 371

11.4.5端口 372

11.4.6操作符 373

11.5HLS内提供的用于时钟测置的术语 374

第三篇 Zynq-7000设计实践 377

第12章 Zynq基本处理系统的建立和运行 377

12.1使用BSB向导生成Zynq基本系统 377

12.1.1 Zynq硬件系统的生成 377

12.1.2生成Hello World应用工程 384

12.1.3运行Hello World应用工程 387

12.2生成和运行存储器测试工程 389

12.2.1导入前面的XPS设计到SDK 389

12.2.2生成存储器测试工程 390

12.2.3运行存储器测试工程 391

12.2.4调试存储器测试工程 392

12.3生成和运行外设测试工程 394

12.3.1导入前面的XPS设计到SDK 394

12.3.2生成外设测试工程 394

12.3.3运行外设测试工程 398

第13章 添加AXI IP到设计 400

13.1设计原理 400

13.2添加IP到系统设计 401

13.2.1创建设计工程 401

13.2.2添加 GPIO IP到设计 402

13.2.3添加AXI Timer IP到设计 403

13.2.4连接中断源到PS 404

13.2.5通过EM IO将PS的GPIO连接到PL 405

13.2.6添加约束到约束文件 406

13.3使用SDK设计和实现应用工程 407

13.3.1导入前面的XPS设计到SDK 407

13.3.2生成应用工程 407

13.3.3运行应用工程 413

第14章 基于定制IP实现简单嵌入式系统设计 415

14.1创建设计工程 415

14.2定制GPIO IP核 416

14.2.1产生GPIO IP模板 416

14.2.2基于模板构建完整GPIO IP 421

14.3添加和连接AXI外设 423

14.4添加约束到用户约束文件 424

14.5使用SDK设计和实现应用工程 425

14.5.1修改模板驱动函数 425

14.5.2导入硬件设计到SDK工具 425

14.5.3生成新应用工程 426

14.5.4添加定制IP核软件驱动到设计 426

14.5.5导入应用程序 427

14.5.6下载硬件比特流文件到FPGA 428

14.5.7运行应用工程 429

14.5.8使用XMD分析目标文件 429

第15章 基于定制IP实现复杂嵌入式系统设计 431

15.1设计原理 431

15.1.1 VGA IP核的设计原理 431

15.1.2移位寄存器IP核的设计原理 433

15.2创建设计工程 434

15.3定制VGA IP核 435

15.3.1产生VGA IP模板 435

15.3.2基于模板构建完整VGA IP 436

15.4定制移位寄存器IP核 440

15.4.1产生shifter IP模板 440

15.4.2基于模板构建完整shifter IP 441

15.5添加和连接VGA IP核 444

15.6添加和连接shifter IP核 444

15.7添加约束到用户约束文件 445

15.8使用SDK设计和实现应用工程 446

15.8.1修改模板驱动函数 446

15.8.2导入硬件设计到SDK工具 447

15.8.3生成新的应用工程 447

15.8.4添加定制IP核软件驱动到设计 447

15.8.5编写应用程序 448

15.8.6下载硬件比特流文件到FPGA 450

15.8.7运行应用工程 451

第16章 软件和硬件协同调试系统 452

16.1复制并打开设计工程 452

16.2例化AXI Chipscope核 452

16.3导入硬件设计到SDK工具 455

16.4启动ChipScope Pro硬件调试器 455

16.5执行H/S验证 456

第17章 Zynq平台配置和启动的实现 459

17.1生成SD卡镜像文件并启动 459

17.1.1 SD卡接口 459

17.1.2复制并打开前面的设计工程 460

17.1.3创建第一级启动引导 460

17.1.4创建SD卡启动镜像 461

17.1.5从SD卡启动引导系统 462

17.2生成QSPI Flash镜像并启动 463

17.2.1 QSPI Flash接口 463

17.2.2创建QSPI Flash镜像 463

17.2.3从QSPI Flash启动引导系统 464

第18章 基于Zynq HP从端口的数据传输实现 465

18.1设计原理 465

18.2创建设计工程 466

18.3添加并配置AXI CDMA到设计 467

18.3.1添加AXI CDMA IP和互联到设计 467

18.3.2连接AXI CDMA到设计 468

18.3.3添加端口连接 470

18.3.4分配地址空间 472

18.4使用SDK设计和实现应用工程 472

18.4.1软件应用的实现原理 472

18.4.2导入硬件设计到SDK 473

18.4.3创建新的软件应用工程 473

18.4.4导入应用程序 474

18.4.5下载硬件比特流文件到FPGA 479

18.4.6运行应用工程 480

第19章 基于Zynq ACP从端口的数据传输实现 481

19.1设计原理 481

19.2创建设计工程 481

19.3配置PS端口 482

19.3.1配置PS32位GPAXI主端口 482

19.3.2配置PS的ACP从端口 482

19.4添加并连接IP到设计 483

19.4.1添加IP到设计 483

19.4.2总线连接 484

19.4.3端口连接 485

19.4.4分配地址空间 486

19.5使用SDK设计和实现应用工程 486

19.5.1导入硬件设计到SDK 486

19.5.2创建新的软件应用工程 486

19.5.3导入应用程序 487

19.5.4下载硬件比特流文件到FPGA 489

19.5.5运行应用工程 489

第20章 XADC在Zynq平台上的应用 491

20.1设计原理 491

20.2创建设计工程 493

20.3添加XADC IP到设计 494

20.4添加约束到用户约束文件 495

20.4.1 Zedboard板上XADC接口 495

20.4.2添加约束条件 496

20.5使用SDK设计和实现应用工程 497

20.5.1导入硬件设计到SDK工具 497

20.5.2生成新的应用工程 497

20.5.3下载硬件比特流文件到FPGA 498

20.5.4运行应用工程 498

第21章 Ubuntu操作系统在Zynq平台上实现 500

21.1 Ubuntu操作系统环境搭建 500

21.1.1安装虚拟机 500

21.1.2在虚拟机上安装Ubuntu 12.10 505

21.1.3 Linux和Windows文件传输工具CuteFTP安装使用 509

21.1.4 Ubuntu相关环境和命令设置 509

21.2 u-boot原理及实现 511

21.2.1 u-boot结构 511

21.2.2下载u-boot源码 512

21.2.3 u-boot配置与编译 513

21.3内核概述及编译 514

21.3.1内核结构 514

21.3.2内核编译 516

21.4设备树原理及实现 516

21.4.1设备树功能 516

21.4.2设备树数据格式 516

21.4.3设备树的编译 518

21.5文件系统原理及实现 518

21.6打开设计工程 519

21.7使用SDK设计生成软件工程 520

21.7.1创建第一级引导启动代码 520

21.7.2 SD启动镜像的生成 521

21.8验证Ubuntu操作系统的运行 523

第22章 μC/OS-Ⅲ操作系统在Zynq平台上的实现 524

22.1 μC/OS-Ⅲ操作系统简介 524

22.2 μC/OS-Ⅲ操作系统环境构建 527

22.3创建设计工程 528

22.4建立基于μC/OS-Ⅲ操作系统的软件应用工程 529

22.4.1导入设计到SDK中 529

22.4.2创建新的μC/OS-Ⅲ设计工程 529

22.4.3修改编译环境参数 530

22.4.4重新编译设计工程 531

22.5运行外设测试工程 532

22.5.1配置硬件平台 532

22.5.2配置运行环境 532

22.6相关文件目录功能 533

22.6.1 App、BSP和Documentation文件夹 533

22.6.2 μC/CPU文件夹 534

22.6.3 μC/CSP文件夹 534

22.6.4 μC/LIB文件夹 534

22.6.5 μC/OS-Ⅲ文件夹 535

22.6.6用于μC/OS-Ⅲ文件夹的Xilinx BSP 535

22.7基于μC/OS-Ⅲ操作系统的关键工程文件分析 536

22.7.1 Main() 536

22.7.2 AppTaskStart() 537

22.7.3 AppTaskCreate() 539

22.7.4 AppMutexCreate() 539

22.7.5 AppTask1() 540

22.7.6 AppPrint() 540

22.7.7 app_cfg.h 541

第23章 HLS在Zynq嵌入式系统设计中的应用 542

23.1设计原理 542

23.2基于HLS生成FIR滤波器 543

23.2.1设计FIR滤波器 543

23.2.2运行仿真和验证功能 545

23.2.3设计综合 546

23.2.4设计优化 548

23.2.5运行CoSimulation 548

23.2.6实现ISim软件下的仿真 549

23.2.7使用指令创建Pcore 552

23.2.8生成Pcore核 553

23.3创建处理器系统 554

23.3.1建立新的设计工程 554

23.3.2修改处理器系统外设参数设置 555

23.3.3复制Pcore到当前工程 555

23.3.4例化并连接生成的Pcore 555

23.3.5添加用户约束到用户约束文件 558

23.4使用SDK设计和实现应用工程 558

23.4.1导入设计到SDK 558

23.4.2生成应用工程 559

23.4.3导入应用程序 559

23.4.4验证硬件设计 565

23.4.5运行应用工程 565

相关图书
作者其它书籍
返回顶部