axi_crossbar IP使用说明

发布时间 2023-06-01 10:56:15作者: 轻量IP核

总体简介

image
图例是2X3的配置

主要特性

▲支持Master、Slave接口数量配置
▲支持全连接、部分连接
▲支持多threads、多issue效率匹配
▲支持输入BURST最大数量匹配
▲支持Master、Slave接口寄存,优化时序
▲支持Region、User、Secure配置

一些参数描述

DATA_WIDTH:
默认值为32,AXI数据宽度。

ADDR_WIDTH:
默认值为32,AXI地址宽度。

S_ID_WIDTH:
默认值为8,Slave port ID 宽度
M_ID_WIDTH:
默认值为8+clog2(8),Master port ID宽度,多出的clog2(8)为响应路由

Sxx_THREADS:
默认值为2, 允许同时出现的不同ID数量, 若是Master只能发出一种ID,这里设置为1,可以节省资源。

Sxx_ACCEPT:
默认值为16, 允许缓存的数据长度,若是Master不能支持burst传输,这里的长度设置为1,可以节省资源。

Mxx_ISSUE:
默认值为4,Masterxx 最大连续issue的请求个数,有可能连续issue多个AW/AR command。

Mxx_BASE_ADDR:
默认值为0,Masterxx入口起始地址。

Mxx_ADDR_WIDTH:
默认值为{M_REGIONS{32’d24}}, Masterxx地址宽度。它与Mxx_BASE_ADDR共同决定了Masterxx的地址空间。

Mxx_CONNECT_READ:
默认值为{Master_NUM{1’b1}},其可以配置Master可以可以读到某Slave。

Mxx_CONNECT_WRITE:
默认值为{Master_NUM{1’b1}},其可以配置Master可以可以写到某Slave。

Sxx_*_REG_TYPE:
默认值0,1:允许S接口使用简单BUF,2:运行接口使用skid buffer,可以提升效率和时序。

Mxx_*_REG_TYPE:
默认值0,1:允许M接口使用简单BUF,2:运行接口使用skid buffer,可以提升效率和时序。

感悟

axi crossbar需要结合自身SOC系统的heavy程度,选择合适的配置,否则会对芯片的面积、时序带来负面影响。相较于总线,上层架构的设计对系统性能的影响是最大的,因此需要首要考虑。。