1.1 概述
本实验是我们开始 XILINX ZYNQ SOC 的第一个入门 demo。
实验目的:
1:掌握基于 vitis-vivado 创建 SOC 工程
2:掌握基于图形化 Block Design 的设计方法
3:掌握 ZYNQ MPSOC IP 核的调用
4:掌握 ZYNQ MPSOC IP 核的参数配置方法
5:掌握生成一个基于 ZYNQ MPSOC IP 核的最小系统方法
6:导出硬件参数 xsa 文件
7:使用 vitis-sdk 创建 sdk base 工程
8:使用 vitis-sdk 创建自带 sdk helloworld APP 工程
10:使用 vitis-sdk 创建以太网测试程序
1.2 系统框图
本方案构建基于 ZYNQ MPSOC IP 核的最小系统,包含了 PS DDR、FLASH、EMMC、TF-Card、Uart、USB、ETH 以太网、NVME、DP 显示器接口(MiLianKe8x-2cg 作为学习入门级,不焊接 EMMC 和 FLASH)。
1.3 搭建 SOC 系统工程
Vitis-vivado 和其他版本的 vivado 使用方法基本一致,只有最后导出的 xsa 文件是 vitis 才有的文件格式。对于初学者,请认真学习以下每一个步骤。
1.3.1 创建 soc_prj 工程
1:创建工程路径
米联客新版本资料里面 SOC 工程一级目录一般包含 3 个文件夹,用于管理各类文件:
soc_hw:文件夹放 system.xsa 文件
soc_prj:文件夹放 FPGA 工程
soc_sdk:文件夹放 SDK 相关的开发文件
2:启动vivado
3:创建soc硬件工程由于已经创建好了路径,所以不需要让软件再次创建以工程命名的路径 这一步选择芯片型号,一定要选择和自己开发板相匹配的型号(本实验使用的开发平台是 MiLlianKe8X-2CG 对应的芯片型号为 XCZU2CG-SFVC784-1E)
以下教程也同样适用于 MiLlianKe8X-3EG 和 MiLlianKe8X-4EV,如果暂时 MiLlianKe8X-3EG 和 MiLlianKe8X-4EV 没有提供配套源码,我们会给出从 MiLlianKe8X-2CG 如何升级的办法。
关于详细的硬件参数请阅读硬件手册。
1.3.2 创建 BD 图形化模块
1:创建空的 BD
米联客的 BD 统一命名为 system
单击“+”号,双击 ZYNQ UltraScale+ MPSOC
2:配置 ZYNQ IP 的参数
双击 IP 对 IP 的各个功能参数进行配置,这个配置必须参考硬件原理图完成,所以 FPGA 或者 SOC 工程师必须具备一定的硬件分析能力,可以阅读原理图,实现对硬件资料在软件上的定义分配。
这里我们使用已经提供的配置文件对参数进行位置。
在本 demo 配套工程的 uisrc/06/doc 路径下,提供了配置参数
以下教程也同样适用于 MiLlianKe8X-3EG 和 MiLlianKe8X-4EV,如果暂时 MiLlianKe8X-3EG 和 MiLlianKe8X-4EV 没有提供配套源码,我们会给出从 MiLlianKe8X-2CG 如何升级的办法。
关于详细的硬件参数请阅读硬件手册。
对于 MiLlianKe8X-3EG 的文件名为:milianke8x3eg_zynq_cfg.tcl
对于 MiLlianKe8X-4EV 的文件名为:milianke8x4ev_zynq_cfg.tcl
等待配置完成即可
1.3.3ZYNQ MPSOC IP 的配置参数
以上通过已经提供的配置参数,快速完成了 IP 的基本配置。这个过程在后续的 demo 中不再重复,后续 demo会对用到的资源说明分析,或对 IP 部分功能重新配置。以下我们针对主要的外设资源对 IP 的配置说明。
1:时钟输入设置
PS 输入参考时钟 33.333333MHZ
红框内为 GTR 的参考时钟
2:DDR 参数设置
3:MIO 接口定义
Zynq MPSOC 的 4 个 MIO BANK 电压全部设置为 LVCMOS18(取决于硬件,米联客的 Zynq MPSOC MIO 都是 1.8V)
3-1:QSPI-FLASH 接口
3-2:SD0 接口
3-3:SD1 接口
3-4:CAN0 接口
3-5:CAN1 接口
3-6:IIC0 接口
3-7:PMU 接口
3-8:UART0 接口
3-9:PS 以太网接口
3-10:USB0 接口
4:TTC 和看门狗设置
5:GTR-功能设置
5-1USB3.0 GTR 设置
5-2:DP 显示器接口占用 GTR 设置
5-3:PCIE ROOT 配置
设置 PCIE 所占用的 GTR 通道,设置 PCIEX1 模式
勾选高级配置 PCIE 为 ROOT 模式
6:时钟输出设置
1-1:低功率时钟域设置
1-2:全功率时钟域设置
相关 PL 的设置本 demo 没有用到,后面相关 demo 用到的时候再进行配置
1.3.4ZYNQ IP 的配置参数保存 对于配置好的参数可以保存下来,方便后面新建工程使用,减少重复步骤
1.3.5 自动连线
ZYNQ MPSOC 配置完成后无需自动连线,保留该步骤是为了确保课程目录和 ZYNQ 一致性
|