文献阅读(184)AXI NoC

  • 题目:Flexible and Efficient QoS Provisioning in AXI4-Based Network-on-Chip Architecture
  • 时间:2022
  • 期刊:TCAD
  • 研究机构:KTH瑞典皇家理工学院

1 缩写

  • TDM: Time-Division Multiplexing
  • NI: Network Interface
  • VC: Virtual Channel

2 参考文献

2 Introduction

本篇论文的主要贡献:

  1. 在NI中设计了AXI4信号格式和NoC数据包格式之间的数据转换,使得NoC设计独立于AXI4协议。
  2. 我们定义了三种不同的QoS服务,并设计了一个基于片上网络的通信架构
  3. 我们在每个NI中提出了一个流量转换器单元,智能地将数据包从一个拥塞严重的子网分发到另一个拥塞较少的子网,从而提高NoC性能。
  4. 我们在VC子网中提出了三种不同的流量控制机制,并在实验部分比较了它们在数据包延迟方面的性能结果。
  5. 我们建立了一个周期精确的模拟器来模拟我们提出的系统的行为。我们从系统吞吐量、数据包传输延迟和排队延迟方面展示了性能评估结果。
  6. 在模拟器中,我们提出了一个基于两级马尔可夫模型进程(MMP)的流量生成器,用于更好地模拟节点中的实际进程/线程。在我们的实验中报告了流量生成结果。

3 Background

Industrial Designs for AXI4-Based QoS 当然,这些组件都没有详细的架构细节

  • Xilinx: 基于AXI QoS信号控制优先级
  • Synopsys: 有QoS regulator和QoS arbiter,如果流量大于期望的速率,QoS regulator可以限制流量,QoS arbiter优先服务高优先级请求
  • Intel / Altera: end-to-end flow controller, arbiter, bandwidth regulator

AXI4 ordering
AXI消息请求发生在主节点和从节点,由于NoC无序传输,所以在master端和slave端需要ordering unit,这样router, switch和traffic converter都不需要考虑排序问题;当然也要避免死锁问题
QoS请求

  • Latency Critical Service (LCS): 类似CPU,需要保证低延时传输,但对带宽不需要保证
  • Guaranteed Rate Service (GRS): 类似GPU,可以容忍延时,但要保证带宽
  • Unspecified Rate Service (URS): 类似SATA和USB,不保证带宽和延时,只是尽可能的传输数据

4 System Design

**Message Format Conversion: ** 有两种思路

  1. AXI有5个通道,那我在NoC中也设置5个通道,当然这样利用率会很低
  2. 将AXI信号转换成读请求、响应包、写请求等,由共享的NoC资源传输

所以NI的功能包括

  • 接受并处理AXI各通道以及NoC的信号
  • 将数据格式从AXI转换成NoC packet
  • slave端的NI将请求的包的QoS继承给相应的包,使QoS方案可以往返传输

在这里插入图片描述


  • 题目:FlooNoC: A Multi-Tb/s Wide NoC for Heterogeneous AXI4 Traffic
  • 时间:2023
  • 期刊:IEEE Design & Test
  • 研究机构:ETH

这篇论文关注了基于NoC的AXI的排序问题,AXI是支持乱序响应的,但同一个ID的需要按顺序返回,NoC要支持的话需要增加排序单元/状态管理单元,会增加硬件开销,也会有扩展性的问题

The logic required to track outstanding transactions and adhere to the ordering constraints increases exponentially in complexity with the network diameter.
The AXI4 protocol specification [12] requires that transactions with the same ID are always
returned in order.
Furthermore, as the ID is also used for routing a response, the protocol requires that the ID width must increase at each interconnection (hop) to retain the uniqueness of the transactions and their IDs.
This presents a major challenge when scaling up AXI4 to large and complex systems with many hops between the initiator and targets, as state information is required for each ID for ordering while the number of possible IDs is growing.

这里的解决方法是,假设NoC采用确定性路由,那么同一个地址的传输肯定是按顺序响应的,同时在NI增加reorder buffer和reorder table

### LPD_AXI_NOC_0 的硬件设计文档和技术定义 LPD_AXI_NOC_0 是 Versal ACAP(Adaptive Compute Acceleration Platform)架构中的一个重要组件,属于低功耗域(Low Power Domain, LPD)。它主要负责管理 AXI 互连网络,用于实现不同模块之间的高效数据传输。 #### 定义与功能概述 AXI NOC(Network on Chip)是一种基于 AMBA AXI 协议的片上互联结构,在 Versal 架构中广泛应用于高性能计算和通信场景。LPD_AXI_NOC_0 特指位于低功耗域内的 AXI NOC 实现[^1]。其核心职责包括但不限于: - 提供高效的带宽管理和流量控制机制。 - 支持多主设备到多从设备的数据路由。 - 集成 QoS(Quality of Service)策略以优化性能并减少延迟。 具体而言,该组件允许 PS(Processing System)、PL(Programmable Logic)以及其他外设通过标准化接口访问共享资源或存储器子系统[^2]。 #### 技术特性描述 以下是关于 LPD_AXI_NOC_0 的一些关键技术参数及其工作原理说明: 1. **地址映射支持** - 能够配置多个独立区域来区分不同类型请求者的需求,并确保正确解析目标位置。 2. **仲裁逻辑增强** - 使用公平轮询算法或者加权优先级方案决定何时授予特定事务通行权限[^2]。 3. **错误检测能力** - 内置 ECC (Error Correction Code) 功能保护关键路径免受瞬态故障影响;同时具备奇偶校验手段监控信号完整性。 对于开发者来说,理解这些方面有助于更好地利用平台潜力构建定制化解决方案。 ```python # 示例 Python 伪代码展示如何初始化一个简单的 AXI NOC 连接设置过程 def initialize_axi_noc(): config = { 'base_address': 0x80000000, 'priority_weights': {'master1': 5, 'master2': 3}, 'error_handling_mode': 'ECC' } axi_noc_instance = AxiNoc(config) axi_noc_instance.enable() return axi_noc_instance ``` 上述脚本仅作为概念演示用途,实际操作需参照官方 SDK 文档完成相应驱动程序编写任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值