AMD Vivado ™ 中的服务质量 (QoS) 用于将片上网络 (NoC) 编译器生成的当前 NoC 解决方案估算所得 QoS 与 AXI NoCIP 和 / 或 AXI4 ‑ Stream NoC IP 中指定的 QoS 要求进行对比。一旦 NoC 解决方案过时 , 就需要调用 NoC 编译器并生成新的 NoC 解决方案以更新 QoS 报告。 QoS 报告将在其功能区内显示为已过期 ( 请参阅下图 ) 。单击“ Update ” ( 更新) 链接将调用 NoC 编译器以重新生成 NoC 解决方案。
可能导致 NoC 解决方案过期的操作包括 :
• 在 IP integrator 中 :
在 IP integrator 中更新 AXI NoC IP QoS 要求
更改 IP integrator 块设计
在 NoC 视图中更改 NoC 主 / 从单元 (NMU/NSU) 分配
• 在实现工具 / 流程中 :
取消 NMU/NSU 实例布局
影响 NMU/NSU 布局的 XDC 物理约束
更改连接到 NMU/NSU 的逻辑信号线
对于 NoC 中指定的每项连接 , NoC QoS 报告都会为读写传输事务提供如下信息报告 :
• “ Traffic Class ” ( 流量类 ): IP integrator 中的 NoC 上指定的用于连接的流量类
• “ Bandwidth Required ” ( 必需带宽 ): IP integrator 中的 NoC 上指定的用于连接的带宽 (MB/s)
• “ Bandwidth Estimate ” ( 带宽估算 ): NoC 编译器为当前 NoC 解决方案估算的带宽 (MB/s)
• “ Latency Estimate ” ( 时延估算 ): NoC 编译器为当前 NoC 解决方案估算的结构时延 ( 以 NoC 时钟周期数为单位)
Vivado NoC QoS 报告示例
以下示例显示了 IP integrator 设计中包含 2 个 AXI Traffic Generator 和 2 个 AXI 块 RAM 控制器以及关联嵌入式存储器的部分。此示例用于演示您如何调整自己的数据宽度和 PL 时钟频率以实现相同带宽。 axi_traffic_gen_64 、axi_bram_ctrl_64 和 emb_mem_gen_64 均采用 64 位数据宽度 , 并连接至 200 MHz 时钟 ( 绿色高亮 ) 。axi_traffic_gen_128、 axi_bram_ctrl_128 和 emb_mem_gen_128 均采用 128 位数据宽度 , 并连接至100 MHz 时钟 ( 紫色高亮 ) 。
axi_traffic_gen_64 通过 NoC 连接至 axi_bram_ctrl_64 , 而 axi_traffic_gen_128 则通过 NoC 连接至axi_bram_ctrl_128。每条连接上的读写所需带宽均已在 NoC 上设置为 1000 MB/ 秒。
在 IP Integrator 中确认设计后的初始 NoC 解决方案如下图所示 , 每条 NoC 连接的布线都穿过横向 NoC 。
下图所示“ QoS Report ” ( QoS 报告 ) 显示已满足带宽要求 , 报告显示每条连接的结构时延均为 26 个 NoC 时钟周期。
IP Integrator 中的“ NoC View ” ( NoC 视图 ) 支持 NMU/NSU 分配 , 可在“ QoS Report ” ( QoS 报告 ) 中观察 NoC解决方案更新后的更改。在 NoC 视图中 , axi_noc_0/inst/M01_AXI_nsu 已从 axi_noc_0/inst/ S01_AXI_nmu 移至更远处 , 以便创建 1 条穿越更多 NoC 交换机的更长的路径。生成的 NoC 视图如下图所示。
对于生成的 NoC QoS , 带宽予以保留 , 但路径的结构时延已从 26 个 NoC 时钟周期增加至 46 个 NoC 时钟周期 , 如下图所示。