今天给大侠带来 FPGA Xilinx Zynq 系列第三十三篇,开启二十章,本篇也是 Part B 最后一篇,带来探索 IP Integrator 等相关内容,本篇内容目录简介如下:
20. 探索 IP Integrator
20.1 目标与成果
20.2 联系 4A
20.3 联系 4B
20.4 联系 4C
20.5 可能的拓展
20.6 接下来
本系列分享来源于《The Zynq Book》,Louise H. Crockett, Ross A. Elliot,Martin A. Enderwitz, Robert W. Stewart. L. H. Crockett, R. A. Elliot, M. A. Enderwitz and R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, First Edition, Strathclyde Academic Media, 2016。
探索 IP Integrator
作为实践的一章,在第 13 章《IP 包设计》中所创建的 IP 包要合起来形成一个可运行在 ZedBoard 上的 DSP 系统。我们要探索 Vivado IP Integrator 的包设计功 能,会使用 IP Catalog 中已有的 IP。然后,为了把 IP Integrator 设置的外部端 口映射到 ZedBoard 上的各个引脚,会介绍 Xilinx Design Constraints (Xilinx 设计约束,XDC)格式。
为了实现这个设计的音频输入输出,还会用到一个预先打包好的用于 ZedBoard 上的 AD 公司 ADAU1761 音频编解码器的 I2S 控制器,并且会着重介绍如何对这个 IP做必要的修改,以及如何连接到 Zynq 处理器。
这个完整的 Zynq 嵌入式系统会从所给的音频编解码器得到音频输入,然后加上 一个由 NCO 产生的有音调的噪声成分。被加工过的音频信号会作为输入传给 LMS 滤波器,同时用纯的 NCO 音调信号作为参考信号。LMS 滤波器于是就会从音频信号中移除那个音调噪声,将清晰的音频信号作为输出产生出来。在 LMS 滤波器的输出上还会引入一个回声效果,回声的延时长度是用户可定义的。延时的长度会显示在ZedBoard 的 LED 上。
图 20.1 给出了整个 DSP 系统的概述。
图 20.1: 完整的 DSP 系统的概述
20.1 目标与成果
这一组实践练习的主要目的是使用 Vivado IP Integrator把在之前的练习中创建的定制 IP,以及 IP Catalog 中的 IP 合起来,创建出一个在 ZedBoard 上实现的 DSP 系统。在完成了这个教程之后,你将能够:
- 把从很多来源来的 IP 加入到 IP Catalog 中。
- 把从各种来源来的IP组合和连接起来形成一个完整的IP Integrator包设计。
- 充分利用 IP Integrator Designer Assistance 和 Connection Automation 工 具。
- 定制 Zynq 处理器系统。
- 用 XDC 文件格式把外部端口映射到芯片的引脚。
- 创建软件应用来完全控制 Zynq PL 中的定制 IP 模块。
20.2 联系 4A
在这个练习中,通过加入所需的 IP 仓库,上一个实践练习中所创建的 IP 模块会被输入到 IP Catalog 中。要创建一个 ZedBoard IP Integrator 设计,在其中做 好所有所需的连接。
这个练习所需的步骤如下:
1. 把所有需要的定制 IP 仓库加入到 IP Catalog,然后输入这些 IP。
2. 创建初始的 IP Integrator 包图。
3. 探索每个定制的 IP 包及其可用的包参数。
练习 4A 可以在以下网站下载 : www.zynqbook.com
20.3 联系 4B
在练习 3B 所创建的 IP Integrator 设计的基础上,引入与 ZedBoard 上的音频编码解码器交互的那个预先包装好的 IP,把它输入到 IP Integrator 中,然后对 Zynq 处理器包做好所需的修改。在设计中要做外部的端口和接口连接,并创建 XDC约束文件来把所有的外部端口映射到 ZedBoard 上对应的引脚上。
这个练习所需的步骤如下:
1. 把音频编码解码控制器 IP 加到 IP Catalog 中。
2. 在已有的 IP Integrator 包图中加入音频编码解码控制器。
3. 对 Zynq 处理器做所需的修改来加入额外的 FPGA 时钟并开启一个 I2C 接口来与音频编码解码控制器通信。
4. 为与这个音频编码解码器通信创建所需的外部接口。
5. 在 XDC 约束文件中加入项目来把这个设计的外部接口映射到 ZedBoard 上的各个引脚。
6. 为最终完成的设计生成硬件。
练习 4B 可以在以下网站下载 : www.zynqbook.com
20.4 联系 4C
练习 3B 完成的设计要被输出到 SDK 来做软件开发。要创建控制在 DSP 系统中的 各个 IP 模块之间的交互的软件应用,还会引入各种软件驱动文件。
最后一步,是在 ZedBoard 上运行这个新创建的软件应用来测试 DSP 系统,以确认所有的部件能够正常配合工作。
这个练习所需的步骤如下:
1. 把最终的硬件设计输出到 SDK。
2. 创建一个新的应用项目。
3. 导入所需的定制 IP 驱动文件。
4. 创建一个能与定制 IP 模块做通信和控制交互的软件应用。
5. 运行这个应用确认一切功能正确。
练习 4C 可以在以下网站下载 : www.zynqbook.com
20.5 可能的拓展
完成了练习 4C 之后,有一些可能的变化可以用来个性化这个开发好了的系统。比如:
因为这个系统的开发主要是关于音频的,你可以开发一个用 VGA 或 HDMI 连接做的视频处理系统。
20.6 接下来
这一组实践练习完结了本书的第二部分 《Zynq SoC 与硬件设计》。
接下来,我们要进入第三部分,来看看 Zynq 上的操作系统的问题,特别是重点在于 Linux OS 的情况。
第三十三篇到此结束,下一篇将带来第三十四篇,开启 第三部分 Part C 操作系统 & 系统集成,带来 Zynq 上的操作系统介绍等相关内容。欢迎各位大侠一起交流学习,共同进步。
END
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!