[X]关闭

​ 米联客安路飞龙-DR1-FPSoc SDK搭建SoC系统工程

文档创建者:fpga-01
浏览次数:61
最后更新:2024-10-18
本帖最后由 fpga-01 于 2024-10-18 15:05 编辑

在 FPSoC中,CPU 资源作为整个 SOC资源的一个硬核 IP(以下简称 PS),与其他 IP 的使用没有任何区别,可以对其接口、IO等进行定制,后文会详细介绍。IP 的定制在 TD 中进行,可以使用IP Catalog 和 Design Integrator 工具。
1创建soc_prj工程
1:创建工程路径
米联客新版本资料里面SoC工程一级目录一般包含3个文件夹,用于管理各类文件:
soc_hw:文件夹放hdf文件
soc_prj:文件夹放FPGA工程
soc_sdk:文件夹放SDK相关的开发文件
图片1.jpg
2:新建TD工程
双击打开TD软件
图片2.jpg
图片3.jpg
3:创建FPSoC硬件工程
由于已经创建好了路径,所以不需要让软件再次创建以工程命名的路径
图片4.jpg

这一步选择默认的FPGA芯片型号,指定整个TD工程的路径,输入工程名,我们米联客习惯使用fpga_prj作为TD工程的工程名,点击OK,工程创建完成。
图片5.jpg
图片6.jpg
2创建图形化模块1:使用Design Integrator 工具
图片7.jpg
进入Design Integrator 工具界面
图片8.jpg
下面我们可以选择新建一个图形化界面设计文件,或者我们也可以直接导入已经完成的图形化界面工程。这里我们先点击新建。
图片9.jpg
我们米联客习惯将图形化界面设计文件命名为system,并且选择路径保存在/uisrc/01_rtl中方便管理和调用。
图片10.jpg
点击OK,创建成功。
图片11.jpg
点击+号,选择ARM定制IP。

图片12.jpg
双击ARM Processor System IP(以下简称ARM IP)
图片13.jpg
未配置的IP就已经添加成功,可自定义IP名,这边我们保持默认,其他IP的添加也相同,后面就不再赘述。
图片14.jpg
2:配置IP的参数
双击IP对IP的各个功能参数进行配置,这个配置必须参考硬件原理图完成,所以FPGA或者SOC工程师必须具备一定的硬件分析能力,可以阅读原理图,实现对硬件资料在软件上的定义分配。
图片15.jpg
3 ARM IP的配置参数
以下我们针对主要的外设资源对IP的配置说明。
1:PSIO的BANK电压
AD101开发板的MIO BANK200设置1.8V, 核心板硬件原理图上的BANK201设置1.8V
34b468b8589e44c2bfbd3d5cd59e8af5.jpg
2:PSIO接口功能定义
2-1:QSPI-FLASH接口
图片17.jpg
2-2:PS以太网接口
4db55e8cb6ab4378836f1339ad8050da.jpg
2-3:USB接口
1c0004fb471a4a7db0f3b7cd79b97df9.jpg
2-4:SDIO0-EMMC
ed73c7fb444047d1acda733358a84c08.jpg
2-5:SDIO1-SD
49dd4222eeed491fbd5517d8b0314fde.jpg
2-6:串口1
0cbaa34f0a894f0caee42dc247ade9a4.jpg
2-7:剩余IO和以太网复位IO
66ee01b695f74fc7ba2a4bf619b24361.jpg
2-8:DDR配置

注:TD_5.9.1_DR1_2024.7软件版本,ECC模式参数传递存在BUG,该BUG可能在后续版本更新中修复,如果遇到解决方法如下。
FD软件报错如下
94984ba056b14de28ee5a6bbf1c47290.jpg
原因,DDR 配置项中修改了ECC选项,导致FD中无法识别。
解决办法:打开原有 TD工程的 PS IP配置页面,将ECC项修改为 Inline 后保存退出,再次打开PS IP配置页面,将ECC选项改为NONE。
2-9:时钟配置
e222d8a6275d4bec98baee8756f18590.jpg
2-10:取消PS-PL交互接口
1370a2c9c7c149c5bc337ea508307724.jpg
相关PL的设置本demo没有用到,后面相关demo用到的时候再进行配置,点击OK完成配置。
3:自定义Module添加(仅功能介绍,本章节未使用)
安路的这个Design Intergrator工具功能上是不支持自定义IP的封装的,但是为了方便我们用户可以便捷的进行图形化设计,安路允许添加自定义Module进入Design Intergrator工具,然后通过手动连线的方式进行接口连接。
1:添加RTL文件
12abe20ffa9045aea168cd3df5169952.jpg
957a0af1dd504960a413940caf16f7bf.jpg
这边我们选择一个米联客自定义IP uiFDMA作为示例,点击OK添加
81fa9c794a314382825b5bf7b41a0765.jpg
2:在Design Intergrator工具中添加RTL模块
在空白处右键-->Add Module
99e9d89585c8446594f6519f68bad8b6.jpg
选择刚添加的uiFDMA模块,点击OK确认
20451441e61b4e2ba8bdd65bff43def5.jpg
3:自定义模块添加成功
0534a4ae380248068439a1fd7cf34ea8.jpg
4完成连线
完成配置后,可以引出接口,右键该接口
7feb87b6da8f4a21821e88de8fd8ed65.jpg
选择Create Design Port,引出接口
f5955fff6d8f4a90ad9fdd3bf76d7367.jpg
该界面保持默认,点击Add,添加完成后点击Close
ab9d4cf0dfe54fd3a28f594d17db069d.jpg
图形化界面部分配置完成
ca8f2d7eb431442b9bce18c2f7e18f58.jpg
5检验BD工程
点击ValidateDesign可以快速初步排查工程是否有错误
054d0f3e5b9c4ffab750c6d2f5219b86.jpg
点击Design Navigation,选择Generate Design,完成图形化界面到TD的同步。
69361deb564d418599668348be600e26.jpg
点击Generate,完成同步
26a0788cf15b4a1cbe00be38b2e09353.jpg
6地址空间分配
由于没有使用任何PL资源,本demo中不需要地址分配,也没有出现地址分配界面,后续用到了我们再详细介绍。

7编译并导出平台文件
1:回到TD界面,双击可查看自动生成的TD顶层文件,如果没有任何PL逻辑使用的情况下,此时就能直接编译。但是为了我们后续工程的可拓展性和可重复利用性,所以我们依旧添加TOP文件。
35a4b4e5e92d49869db3dd8727691520.jpg
2:添加我们准备好的TOP文件,点击OK添加完成
e8d0addb9dd64760a5ce306b3155e45a.jpg
3:右键->Set As Top,注意该步骤非常重要,如果不设置,系统默认Generate产生的文件为Top文件,后续的demo中,会出现接口错误的现象。
63f7fb0721de4a99b3b50bf4daa53019.jpg
设置完成后,由于本demo不需要调用PL资源,所以不需要添加管脚约束文件,直接编译即可。
4:依次双击,生成Bit文件。
ffe4fe3c89824856b9201b16a7ea947c.jpg
5:导出到硬件: ProjectàExport Hardware Platform
在 SoC 的应用开发过程中,需要将硬件设计信息通过文件的形式传递到软件开发工具(FD)中使用,该文件被称之为HPF(Hardware Platform File)文件。
b7cf5b3e6ee84486a1d1969db4ece3f4.jpg
dff356d62fe5426280a38a272259ce32.jpg
6:勾选Include bitstream,位置选择/soc_hw,点击OK,导出成功
55a5edeabe7a40f48fe6d100a336a250.jpg
6:导出完成后,对应工程路径的soc_hw路径下有硬件平台文件:fpga_prj.hpf的文件。根据硬件平台文件fpga_prj.hpf来创建需要Platform平台。
f9c270b744be455c950021297d303c49.jpg



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则