修改QDMA仿真例子使数据通路指向NOC1

描述

本文作者:AMD 工程师 Iris Yang

概述

在 QDMA 设计中,功能与队列通过 FMAP 进行映射。驱动程序需配置 SW context 和 Host Profile,以定义队列行为(如流量分配、内存属性等)。默认仿真设计中,所有流量经由 NOC0。本文章展示如何启用 NOC1 以及使用额外 mm_channel 配置,以提升系统性能。

设计原理

• Host Profile 决定不同 Host ID 的流量分配,必须先于 Descriptor context 编程。

• SW descriptor context 决定使用的 Host ID。

• 多个 mm_channel 可用于优化吞吐量与带宽利用率。

仿真例子中 qdma_mm_test0 分支已实现两个 Host ID 的独立配置,并将它们分别分流至两个 NOC,为本方案提供基础。

步骤说明

1. 生成示例设计

选择 AMD Versal CPM QDMA Example Design 生成仿真示例。

仿真

2. 修改仿真参数

使用分支:+TESTNAME=qdma_mm_test0,elaboration 阶段使用 -O0。

仿真

仿真

3. 修改 Test bench 与 Host profile

3.1 检查 Host profile

现有的例子工程已有 Host profile 的编程:

Host Profile 通过寄存器 0x804–0x820(数据)与 0x844(命令)配置。

• Host ID 0:写 0x34 至 0x844

• Host ID 1:写 0xB4 至 0x844

也可以全局 Host ID 设置:地址 0x308 写 1。

仿真

仿真

3.2 修改软件 Descriptor Context

在 usp_pci_exp_usrapp_tx.v 中修改:wr_dat[147:144] 以切换 Host ID。

修改后,数据将分流至 NOC1。

3.3 mm_channel 设置

mm_chl 可设为 0/1 或 per‑queue 配置,用于内部数据路径优化,与 NOC 路径无直接关联。

仿真

输出结果

修改前:所有数据经由 NOC0。

仿真

修改后:所有数据经由 NOC1。

仿真

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分