MICROCHIP-标志

MICROCHIP DDR AXI4 仲裁器

MICROCHIP-DDR-AXI4-Arbiter-产品

介绍: AXI4-Stream 协议标准使用术语主从。 本文档中使用的等效 Microchip 术语分别是 Initiator 和 Target。
概括: 下表提供了 DDR AXI4 仲裁器特性的摘要。

特征 价值
核心版 DDR AXI4 仲裁器 v2.2
支持的设备系列
支持的工具流许可

特征: DDR AXI4 Arbiter 具有以下主要特性:

  • IP 核必须安装到 Libero SoC 软件的 IP 目录中。
  • 核心在 SmartDesign 工具中配置、生成和实例化,以包含在 Libero 项目列表中。

设备利用率和性能:

设备详细信息 家庭 设备 资源 性能(兆赫)
LUT DFF RAM LSRAM SRAM 数学块 Chip Globals PolarFire MPF300T-1 5411 4202 266

功能描述

功能描述: 本节介绍 DDR_AXI4_Arbiter 的实现细节。 下图显示了 DDR AXI4 仲裁器的顶层引脚图。

DDR_AXI4_Arbiter 参数和接口信号

配置设置:
本文档中未指定 DDR_AXI4_Arbiter 的配置设置。

输入和输出信号:
本文档未指定 DDR_AXI4_Arbiter 的输入和输出信号。

时序图
本文档中未指定 DDR_AXI4_Arbiter 的时序图。

试验台

模拟:
本文档中未指定 DDR_AXI4_Arbiter 的仿真细节。
修订历史
本文档未指定 DDR_AXI4_Arbiter 的修订历史。
微芯片 FPGA 支持
本文档中未指定 DDR_AXI4_Arbiter 的 Microchip FPGA 支持信息。

产品使用说明

  1. 将 DDR AXI4 Arbiter v2.2 安装到 Libero SoC 软件的 IP 目录。
  2. 在 SmartDesign 工具中配置、生成和实例化核心,以包含在 Libero 项目列表中。

简介(提问)

内存是任何典型视频和图形应用程序的组成部分。 当 FPGA 的本地内存不足以容纳整个帧时,它们用于缓冲整个视频帧。 当有多次视频帧读写到DDR时,需要一个仲裁器在多次请求之间进行仲裁。 DDR AXI4 Arbiter IP 提供 8 个写入通道以将帧缓冲区写入外部 DDR 存储器,并提供 8 个读取通道以从外部存储器读取帧。 仲裁基于先到先得的原则。 如果两个请求同时发生,通道号小的通道优先。 仲裁器通过 AXI4 接口连接到 DDR 控制器 IP。 DDR AXI4 仲裁器为 DDR 片上控制器提供 AXI4 启动器接口。 仲裁器最多支持八个写入通道和八个读取通道。 该块在八个读取通道之间进行仲裁,以先到先得的方式提供对 AXI 读取通道的访问。 该块在八个写入通道之间进行仲裁,以先到先得的方式提供对 AXI 写入通道的访问。 所有八个读写通道具有相同的优先级。 Arbiter IP 的 AXI4 Initiator 接口可以针对从 64 位到 512 位的各种数据宽度进行配置。
重要的: AXI4-Stream 协议标准使用术语“Master”和“Slave”。 本文档中使用的等效 Microchip 术语分别是 Initiator 和 Target。
摘要(提问)
下表提供了 DDR AXI4 仲裁器特性的摘要。

表 1. DDR AXI4 仲裁器特性MICROCHIP-DDR-AXI4-仲裁器-fig-1

本文档适用于 DDR AXI4 Arbiter v2.2。

  • PolarFire® SoC
  • PolarFire
  • RTG4™
  • 冰屋® 2
  • 智能融合®2

需要 Libero® SoC v12.3 或更高版本。 该 IP 无需任何许可即可在 RTL 模式下使用。 有关详细信息,请参阅 DDR_AXI4_Arbiter。

特点(提问)

DDR AXI4 Arbiter 具有以下主要特性:

  • 八个写入通道
  • 八个阅读频道
  • AXI4 接口到 DDR 控制器
  • 可配置的 AXI4 宽度:64、128、256 和 512 位
  • 可配置地址宽度:32 至 64 位

在 Libero® Design Suite 中实施 IP 核(提问)
IP 核必须安装到 Libero SoC 软件的 IP 目录中。 这是通过 Libero SoC 软件中的 IP Catalog 更新功能自动安装的,或者从目录中手动下载 IP 核。 一旦 IP 内核安装在 Libero SoC 软件 IP 目录中,内核就会在 SmartDesign 工具中进行配置、生成和实例化,以包含在 Libero 项目列表中。
设备利用率和性能(提问)
下表列出了用于 DDR_AXI4_Arbiter 的设备利用率。
表 2. DDR_AXI4_Arbiter 利用率

设备 细节 资源 性能(兆赫) 内存 数学块 芯片 全局变量
家庭 设备 查找表 数字化光纤 大容量静态随机存取存储器 μSRAM
PolarFire® SoC MPFS250T-1 5411 4202 266 13 1 0 0
PolarFire MPF300T-1 5411 4202 266 13 1 0 0
SmartFusion® 2 M2S150-1 5546 4309 192 15 1 0 0

重要的:

  • 上表中的数据是使用典型的综合和布局设置捕获的。 IP 配置为八个写入通道、八个读取通道、32 位地址宽度和 512 位配置数据宽度。
  • 在运行时序分析以实现性能数字时,时钟被限制为 200 MHz。

功能描述(提问)
本节介绍 DDR_AXI4_Arbiter 的实现细节。 下图显示了 DDR AXI4 仲裁器的顶层引脚图。 图 1-1。 本机仲裁器接口的顶层引脚输出框图MICROCHIP-DDR-AXI4-仲裁器-fig-3

下图显示了 DDR_AXI4_Arbiter 在 Bus 接口模式下的系统级框图。 图 1-2。 DDR_AXI4_Arbiter 的系统级框图MICROCHIP-DDR-AXI4-仲裁器-fig-4

通过在特定读取通道上将输入信号 r(x)_req_i 设置为高电平来触发读取事务。 当仲裁器准备好为读取请求提供服务时,它会通过确认进行响应。 然后是amp写入起始 AXI 地址并读取从外部启动器输入的突发大小。 该通道处理输入并生成所需的 AXI 事务以从 DDR 存储器读取数据。 从仲裁器输出的读取数据对所有读取通道都是通用的。 在数据读出期间,相应通道的读数据有效变为高电平。 当所有请求的字节都发送出去时,读取事务的结束由读取完成信号表示。 与读取事务类似,写入事务通过将输入信号 w(x)_req_i 设置为高来触发。 连同请求信号,写入起始地址和突发长度必须在请求期间提供。 当仲裁器可以为书面请求提供服务时,它会通过在相应通道上发送确认信号来做出响应。 然后用户必须在通道上提供写入数据以及数据有效信号。 数据有效高电平周期的时钟数必须与突发长度相匹配。 仲裁器完成写操作并将写完成信号设置为高电平,表示写事务完成。
DDR_AXI4_Arbiter 参数和接口信号(提问)
本节讨论 DDR_AXI4_Arbiter GUI 配置器和 I/O 信号中的参数。
2.1 配置设置(提问)
下表列出了 DDR_AXI4_Arbiter 的硬件实现中使用的配置参数的说明。 这些是通用参数,可以根据应用程序的要求进行更改。

表 2-1. 配置参数

信号 姓名 描述
AXI ID 宽度 定义 AXI ID 宽度。
AXI 数据宽度 定义 AXI 数据宽度。
AXI 地址宽度 定义 AXI 地址宽度
读取通道数 从下拉菜单中选择所需的写入通道数的选项,范围从一个通道到八个写入通道。
写入通道数 从下拉菜单中选择所需的读取通道数的选项,范围从一个通道到八个读取通道。
AXI4_选择 在 AXI4_MASTER 和 AXI4_MIRRORED_SLAVE 之间进行选择的选项。
仲裁接口 选择总线接口的选项。

输入和输出信号(提问)
下表列出了总线接口的 DDR AXI4 仲裁器的输入和输出端口。
表 2-2。 仲裁器总线接口的输入和输出端口

信号 姓名 方向 宽度 描述
重置_i 输入 低电平有效异步复位信号设计
系统时钟信号 输入 系统时钟
ddr_ctrl_ready_i 输入 从 DDR 控制器接收就绪输入信号
ARVALID_I_0 输入 来自读取通道 0 的读取请求
ARSIZE_I_0 输入 8 位 从读取通道 0 读取突发大小
ARADDR_I_0 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 0 必须从其开始读取的 DDR 地址
ARREADY_O_0 输出 仲裁器确认读取通道 0 的读取请求
RVALID_O_0 输出 从读取通道 0 读取数据有效
RDATA_O_0 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 0 读取数据
RLAST_O_0 输出 从读取通道 0 读取帧结束信号
BUSER_O_r0 输出 读取完成以读取通道 0
ARVALID_I_1 输入 来自读取通道 1 的读取请求
ARSIZE_I_1 输入 8 位 从读取通道 1 读取突发大小
ARADDR_I_1 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 1 必须从其开始读取的 DDR 地址
ARREADY_O_1 输出 仲裁器确认读取通道 1 的读取请求
RVALID_O_1 输出 从读取通道 1 读取数据有效
RDATA_O_1 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 1 读取数据
RLAST_O_1 输出 从读取通道 1 读取帧结束信号
BUSER_O_r1 输出 读取完成以读取通道 1
ARVALID_I_2 输入 来自读取通道 2 的读取请求
………..继续
信号 姓名 方向 宽度 描述
ARSIZE_I_2 输入 8 位 从读取通道 2 读取突发大小
ARADDR_I_2 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 2 必须从其开始读取的 DDR 地址
ARREADY_O_2 输出 仲裁器确认读取通道 2 的读取请求
RVALID_O_2 输出 从读取通道 2 读取数据有效
RDATA_O_2 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 2 读取数据
RLAST_O_2 输出 从读取通道 2 读取帧结束信号
BUSER_O_r2 输出 读取完成以读取通道 2
ARVALID_I_3 输入 来自读取通道 3 的读取请求
ARSIZE_I_3 输入 8 位 从读取通道 3 读取突发大小
ARADDR_I_3 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 3 必须从其开始读取的 DDR 地址
ARREADY_O_3 输出 仲裁器确认读取通道 3 的读取请求
RVALID_O_3 输出 从读取通道 3 读取数据有效
RDATA_O_3 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 3 读取数据
RLAST_O_3 输出 从读取通道 3 读取帧结束信号
BUSER_O_r3 输出 读取完成以读取通道 3
ARVALID_I_4 输入 来自读取通道 4 的读取请求
ARSIZE_I_4 输入 8 位 从读取通道 4 读取突发大小
ARADDR_I_4 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 4 必须从其开始读取的 DDR 地址
ARREADY_O_4 输出 仲裁器确认读取通道 4 的读取请求
RVALID_O_4 输出 从读取通道 4 读取数据有效
RDATA_O_4 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 4 读取数据
RLAST_O_4 输出 从读取通道 4 读取帧结束信号
BUSER_O_r4 输出 读取完成以读取通道 4
ARVALID_I_5 输入 来自读取通道 5 的读取请求
ARSIZE_I_5 输入 8 位 从读取通道 5 读取突发大小
ARADDR_I_5 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 5 必须从其开始读取的 DDR 地址
ARREADY_O_5 输出 仲裁器确认读取通道 5 的读取请求
RVALID_O_5 输出 从读取通道 5 读取数据有效
RDATA_O_5 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 5 读取数据
RLAST_O_5 输出 从读取通道 5 读取帧结束信号
BUSER_O_r5 输出 读取完成以读取通道 5
ARVALID_I_6 输入 来自读取通道 6 的读取请求
ARSIZE_I_6 输入 8 位 从读取通道 6 读取突发大小
ARADDR_I_6 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 6 必须从其开始读取的 DDR 地址
ARREADY_O_6 输出 仲裁器确认读取通道 6 的读取请求
RVALID_O_6 输出 从读取通道 6 读取数据有效
RDATA_O_6 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 6 读取数据
RLAST_O_6 输出 从读取通道 6 读取帧结束信号
………..继续
信号 姓名 方向 宽度 描述
BUSER_O_r6 输出 读取完成以读取通道 6
ARVALID_I_7 输入 来自读取通道 7 的读取请求
ARSIZE_I_7 输入 8 位 从读取通道 7 读取突发大小
ARADDR_I_7 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 7 必须从其开始读取的 DDR 地址
ARREADY_O_7 输出 仲裁器确认读取通道 7 的读取请求
RVALID_O_7 输出 从读取通道 7 读取数据有效
RDATA_O_7 输出 [AXI_DATA_WIDTH-1:0] 从读取通道 7 读取数据
RLAST_O_7 输出 从读取通道 7 读取帧结束信号
BUSER_O_r7 输出 读取完成以读取通道 7
AWSIZE_I_0 输入 8 位 写入通道 0 的写入突发大小
WDATA_I_0 输入 [AXI_DATA_WIDTH-1:0] 写入通道 0 的视频数据输入
WVALID_I_0 输入 写数据有效写通道0
AWVALID_I_0 输入 来自写入通道 0 的写入请求
AWADDR_I_0 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 0 写入的 DDR 地址
AWREADY_O_0 输出 仲裁器确认写入通道 0 的写入请求
BUSER_O_0 输出 写入通道 0 的写入完成
AWSIZE_I_1 输入 8 位 写入通道 1 的写入突发大小
WDATA_I_1 输入 [AXI_DATA_WIDTH-1:0] 写入通道 1 的视频数据输入
WVALID_I_1 输入 写数据有效写通道1
AWVALID_I_1 输入 来自写入通道 1 的写入请求
AWADDR_I_1 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 1 写入的 DDR 地址
AWREADY_O_1 输出 仲裁器确认写入通道 1 的写入请求
BUSER_O_1 输出 写入通道 1 的写入完成
AWSIZE_I_2 输入 8 位 写入通道 2 的写入突发大小
WDATA_I_2 输入 [AXI_DATA_WIDTH-1:0] 写入通道 2 的视频数据输入
WVALID_I_2 输入 写数据有效写通道2
AWVALID_I_2 输入 来自写入通道 2 的写入请求
AWADDR_I_2 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 2 写入的 DDR 地址
AWREADY_O_2 输出 仲裁器确认写入通道 2 的写入请求
BUSER_O_2 输出 写入通道 2 的写入完成
AWSIZE_I_3 输入 8 位 写入通道 3 的写入突发大小
WDATA_I_3 输入 [AXI_DATA_WIDTH-1:0] 写入通道 3 的视频数据输入
WVALID_I_3 输入 写数据有效写通道3
AWVALID_I_3 输入 来自写入通道 3 的写入请求
AWADDR_I_3 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 3 写入的 DDR 地址
AWREADY_O_3 输出 仲裁器确认写入通道 3 的写入请求
BUSER_O_3 输出 写入通道 3 的写入完成
AWSIZE_I_4 输入 8 位 写入通道 4 的写入突发大小
………..继续
信号 姓名 方向 宽度 描述
WDATA_I_4 输入 [AXI_DATA_WIDTH-1:0] 写入通道 4 的视频数据输入
WVALID_I_4 输入 写数据有效写通道4
AWVALID_I_4 输入 来自写入通道 4 的写入请求
AWADDR_I_4 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 4 写入的 DDR 地址
AWREADY_O_4 输出 仲裁器确认写入通道 4 的写入请求
BUSER_O_4 输出 写入通道 4 的写入完成
AWSIZE_I_5 输入 8 位 写入通道 5 的写入突发大小
WDATA_I_5 输入 [AXI_DATA_WIDTH-1:0] 写入通道 5 的视频数据输入
WVALID_I_5 输入 写数据有效写通道5
AWVALID_I_5 输入 来自写入通道 5 的写入请求
AWADDR_I_5 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 5 写入的 DDR 地址
AWREADY_O_5 输出 仲裁器确认写入通道 5 的写入请求
BUSER_O_5 输出 写入通道 5 的写入完成
AWSIZE_I_6 输入 8 位 写入通道 6 的写入突发大小
WDATA_I_6 输入 [AXI_DATA_WIDTH-1:0] 写入通道 6 的视频数据输入
WVALID_I_6 输入 写数据有效写通道6
AWVALID_I_6 输入 来自写入通道 6 的写入请求
AWADDR_I_6 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 6 写入的 DDR 地址
AWREADY_O_6 输出 仲裁器确认写入通道 6 的写入请求
BUSER_O_6 输出 写入通道 6 的写入完成
AWSIZE_I_7 输入 8 位 来自写入通道 7 的写入突发大小
WDATA_I_7 输入 [AXI_DATA_WIDTH-1:0] 写入通道 7 的视频数据输入
WVALID_I_7 输入 写数据有效写通道7
AWVALID_I_7 输入 从写入通道 7 写入请求
AWADDR_I_7 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 7 写入的 DDR 地址
AWREADY_O_7 输出 仲裁器确认写入通道 7 的写入请求
BUSER_O_7 输出 写入通道 7 的写入完成

下表列出了本机接口的 DDR AXI4 仲裁器的输入和输出端口。
表 2-3。 本机仲裁器接口的输入和输出端口

信号 姓名 方向 宽度 描述
重置_i 输入 低电平有效异步复位信号设计
系统时钟_i 输入 系统时钟
ddr_ctrl_ready_i 输入 从 DDR 控制器接收就绪输入信号
r0_请求_i 输入 来自发起者 0 的读取请求
r0_burst_size_i 输入 8 位 读取突发大小
r0_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 0 必须从其开始读取的 DDR 地址
r0_ack_o 输出 仲裁器确认从发起者 0 读取请求
………..继续
信号 姓名 方向 宽度 描述
r0_data_valid_o 输出 从读取通道 0 读取数据有效
r0_done_o 输出 读取完成到启动器 0
r1_请求_i 输入 来自发起者 1 的读取请求
r1_burst_size_i 输入 8 位 读取突发大小
r1_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 1 必须从其开始读取的 DDR 地址
r1_ack_o 输出 仲裁器确认从发起者 1 读取请求
r1_data_valid_o 输出 从读取通道 1 读取数据有效
r1_done_o 输出 读取完成到启动器 1
r2_请求_i 输入 来自发起者 2 的读取请求
r2_burst_size_i 输入 8 位 读取突发大小
r2_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 2 必须从其开始读取的 DDR 地址
r2_ack_o 输出 仲裁器确认从发起者 2 读取请求
r2_data_valid_o 输出 从读取通道 2 读取数据有效
r2_done_o 输出 读取完成到启动器 2
r3_请求_i 输入 来自发起者 3 的读取请求
r3_burst_size_i 输入 8 位 读取突发大小
r3_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 3 必须从其开始读取的 DDR 地址
r3_ack_o 输出 仲裁器确认从发起者 3 读取请求
r3_data_valid_o 输出 从读取通道 3 读取数据有效
r3_done_o 输出 读取完成到启动器 3
r4_请求_i 输入 来自发起者 4 的读取请求
r4_burst_size_i 输入 8 位 读取突发大小
r4_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 4 必须从其开始读取的 DDR 地址
r4_ack_o 输出 仲裁器确认从发起者 4 读取请求
r4_data_valid_o 输出 从读取通道 4 读取数据有效
r4_done_o 输出 读取完成到启动器 4
r5_请求_i 输入 来自发起者 5 的读取请求
r5_burst_size_i 输入 8 位 读取突发大小
r5_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 5 必须从其开始读取的 DDR 地址
r5_ack_o 输出 仲裁器确认从发起者 5 读取请求
r5_data_valid_o 输出 从读取通道 5 读取数据有效
r5_done_o 输出 读取完成到启动器 5
r6_请求_i 输入 来自发起者 6 的读取请求
r6_burst_size_i 输入 8 位 读取突发大小
r6_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 6 必须从其开始读取的 DDR 地址
r6_ack_o 输出 仲裁器确认从发起者 6 读取请求
r6_data_valid_o 输出 从读取通道 6 读取数据有效
r6_done_o 输出 读取完成到启动器 6
r7_请求_i 输入 来自发起者 7 的读取请求
r7_burst_size_i 输入 8 位 读取突发大小
………..继续
信号 姓名 方向 宽度 描述
r7_rstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 读取通道 7 必须从其开始读取的 DDR 地址
r7_ack_o 输出 仲裁器确认从发起者 7 读取请求
r7_data_valid_o 输出 从读取通道 7 读取数据有效
r7_done_o 输出 读取完成到启动器 7
rdata_o 输出 [AXI_DATA_WIDTH – 1:0] 读通道输出的视频数据
w0_burst_size_i 输入 8 位 写入突发大小
w0_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道0的视频数据输入
w0_data_valid_i 输入 写数据有效写通道0
w0_请求_i 输入 来自发起者 0 的写请求
w0_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 0 写入的 DDR 地址
w0_ack_o 输出 仲裁器确认发起者 0 的写入请求
w0_done_o 输出 向启动器 0 写入完成
w1_burst_size_i 输入 8 位 写入突发大小
w1_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道1的视频数据输入
w1_data_valid_i 输入 写数据有效写通道1
w1_请求_i 输入 来自发起者 1 的写请求
w1_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 1 写入的 DDR 地址
w1_ack_o 输出 仲裁器确认发起者 1 的写入请求
w1_done_o 输出 向启动器 1 写入完成
w2_burst_size_i 输入 8 位 写入突发大小
w2_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道2的视频数据输入
w2_data_valid_i 输入 写数据有效写通道2
w2_请求_i 输入 来自发起者 2 的写请求
w2_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 2 写入的 DDR 地址
w2_ack_o 输出 仲裁器确认发起者 2 的写入请求
w2_done_o 输出 向启动器 2 写入完成
w3_burst_size_i 输入 8 位 写入突发大小
w3_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道3的视频数据输入
w3_data_valid_i 输入 写数据有效写通道3
w3_请求_i 输入 来自发起者 3 的写请求
w3_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 3 写入的 DDR 地址
w3_ack_o 输出 仲裁器确认发起者 3 的写入请求
w3_done_o 输出 向启动器 3 写入完成
w4_burst_size_i 输入 8 位 写入突发大小
w4_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道4的视频数据输入
w4_data_valid_i 输入 写数据有效写通道4
w4_请求_i 输入 来自发起者 4 的写请求
w4_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 4 写入的 DDR 地址
………..继续
信号 姓名 方向 宽度 描述
w4_ack_o 输出 仲裁器确认发起者 4 的写入请求
w4_done_o 输出 向启动器 4 写入完成
w5_burst_size_i 输入 8 位 写入突发大小
w5_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道5的视频数据输入
w5_data_valid_i 输入 写数据有效写通道5
w5_请求_i 输入 来自发起者 5 的写请求
w5_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 5 写入的 DDR 地址
w5_ack_o 输出 仲裁器确认发起者 5 的写入请求
w5_done_o 输出 向启动器 5 写入完成
w6_burst_size_i 输入 8 位 写入突发大小
w6_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道6的视频数据输入
w6_data_valid_i 输入 写数据有效写通道6
w6_请求_i 输入 来自发起者 6 的写请求
w6_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 6 写入的 DDR 地址
w6_ack_o 输出 仲裁器确认发起者 6 的写入请求
w6_done_o 输出 向启动器 6 写入完成
w7_burst_size_i 输入 8 位 写入突发大小
w7_数据_i 输入 [AXI_DATA_WIDTH – 1:0] 写入通道7的视频数据输入
w7_data_valid_i 输入 写数据有效写通道7
w7_请求_i 输入 来自发起者 7 的写请求
w7_wstart_addr_i 输入 [AXI_ADDR_WIDTH – 1:0] 必须从写入通道 7 写入的 DDR 地址
w7_ack_o 输出 仲裁器确认发起者 7 的写入请求
w7_done_o 输出 向启动器 7 写入完成
AXI I/F 信号
读地址通道
干旱 输出 [AXI_ID_WIDTH – 1:0] 读取地址 ID。 鉴别 tag 对于读地址组信号。
aaddr_o 输出 [AXI_ADDR_WIDTH – 1:0] 读取地址。 提供读取突发事务的初始地址。

仅提供突发的起始地址。

阿伦欧 输出 [7:0] 突发长度。 提供突发传输的确切数量。 该信息决定了与该地址相关的数据传输次数。
arsize_o 输出 [2:0] 突发大小。 突发中每次传输的大小。
阿伯斯特_o 输出 [1:0] 突发类型。 连同大小信息,详细说明了突发中每次传输的地址是如何计算的。

固定为 2'b01 à 增量地址突发。

arlock_o 输出 [1:0] 锁定类型。 提供有关传输的原子特征的附加信息。

固定为 2'b00 à 正常访问。

………..继续
信号 姓名 方向 宽度 描述
arcache_o 输出 [3:0] 缓存类型。 提供有关传输的可缓存特征的其他信息。

固定为 4'b0000 à 不可缓存和不可缓冲。

arprot_o 输出 [2:0] 保护类型。 为事务提供保护单元信息。 固定为 3'b000 à 正常、安全的数据访问。
arvalid_o 输出 读地址有效。 当为高电平时,读取的地址和控制信息有效并保持高电平,直到地址确认信号 arready 为高电平。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

已经准备好了 输入 读取地址准备就绪。 目标已准备好接受地址和关联的控制信号。

1 = 目标准备就绪

0 = 目标未准备好

读取数据通道
摆脱 输入 [AXI_ID_WIDTH – 1:0] 读ID tag。 ID tag 读取数据组的信号。 rid 值由目标生成,并且必须与它正在响应的读取事务的 arid 值相匹配。
RDATA 输入 [AXI_DATA_WIDTH – 1:0] 读取数据
回复 输入 [1:0] 阅读回复。

读取传输的状态。

允许的响应是 OKAY、EXOKAY、SLVERR 和 DECERR。

最后一个 输入 最后阅读。

读取突发中的最后一次传输。

有效 输入 读有效。 所需的读取数据可用,读取传输可以完成。

1 = 读取数据可用

0 = 读取数据不可用

准备好 输出 阅读准备。 发起者可以接受读取的数据和响应信息。

1 = 启动器就绪

0 = 启动器未就绪

写地址通道
无知 输出 [AXI_ID_WIDTH – 1:0] 写入地址 ID。 鉴别 tag 对于写地址组信号。
阿瓦地址 输出 [AXI_ADDR_WIDTH – 1:0] 写地址。 提供写入突发事务中第一个传输的地址。 相关联的控制信号用于确定突发中剩余传输的地址。
艾伦 输出 [7:0] 突发长度。 提供突发传输的确切数量。 该信息决定了与该地址相关的数据传输次数。
尺寸 输出 [2:0] 突发大小。 突发中每次传输的大小。 字节通道选通信号准确指示要更新的字节通道。
爆发 输出 [1:0] 突发类型。 连同大小信息,详细说明了突发中每次传输的地址是如何计算的。

固定为 2'b01 à 增量地址突发。

………..继续
信号 姓名 方向 宽度 描述
大侠 输出 [1:0] 锁定类型。 提供有关传输的原子特征的附加信息。

固定为 2'b00 à 正常访问。

缓存 输出 [3:0] 缓存类型。 指示事务的可缓冲、可缓存、直写、回写和分配属性。

固定为 4'b0000 à 不可缓存和不可缓冲。

爱普罗特 输出 [2:0] 保护类型。 指示事务的普通、特权或安全保护级别以及事务是数据访问还是指令访问。 固定为 3'b000 à 正常、安全的数据访问。
有效 输出 写地址有效。 表示有效的写地址和控制信息可用。

1 = 地址和控制信息可用

0 = 地址和控制信息不可用。 地址和控制信息保持稳定,直到地址确认信号已经准备好变为高电平。

已经准备好了 输入 写地址准备好了。 指示目标已准备好接受地址和关联的控制信号。

1 = 目标准备就绪

0 = 目标未准备好

写数据通道
数据 输出 [AXI_DATA_WIDTH – 1:0] 写入数据
西斯特布 输出 [AXI_DATA_WIDTH – 8:0] 写频闪。 该信号指示要更新内存中的哪些字节通道。 写数据总线的每八位有一个写选通。
最后 输出 最后写。 写入突发中的最后一次传输。
有效 输出 写有效。 有效的写入数据和选通信号可用。 1 = 写入数据和选通可用

0 = 写入数据和选通不可用

准备好了 输入 写好了。 目标可以接受写入数据。 1 = 目标准备就绪

0 = 目标未准备好

写响应通道
出价 输入 [AXI_ID_WIDTH – 1:0] 响应 ID。 鉴定 tag 的写响应。 bid 值必须与目标正在响应的写入事务的 awid 值相匹配。
布雷斯普 输入 [1:0] 写回复。 写入事务的状态。 允许的响应是 OKAY、EXOKAY、SLVERR 和 DECERR。
无效 输入 写入响应有效。 有效的写响应可用。 1 = 写响应可用

0 = 写响应不可用

面包 输出 响应准备。 发起者可以接受响应信息。

1 = 启动器就绪

0 = 启动器未就绪

时序图(提问)
本节讨论 DDR_AXI4_Arbiter 时序图。 下图显示了读取和写入请求输入、起始内存地址、来自外部启动器的写入输入、读取或写入确认以及仲裁器给出的读取或写入完成输入的连接。
图 3-1。 通过 AXI4 接口写入/读取时使用的信号时序图MICROCHIP-DDR-AXI4-仲裁器-fig-5

测试平台(提问)
一个统一的测试台用于验证和测试 DDR_AXI4_Arbiter,称为用户测试台。 提供测试台以检查 DDR_AXI4_Arbiter IP 的功能。 该测试台仅适用于具有总线接口配置的两个读取通道和两个写入通道。
 模拟(提问)
以下步骤描述了如何使用测试台模拟内核:

  1. 打开 Libero® SoC Catalog 选项卡,展开 Solutions-Video,双击 DDR_AXI4_Arbiter,然后单击 OK。 与 IP 相关的文档列在文档下。 重要提示:如果您没有看到目录选项卡,请导航至 View > Windows 菜单并单击目录以使其可见。

图 4-1。 Libero SoC 目录中的 DDR_AXI4_Arbiter IP 核MICROCHIP-DDR-AXI4-仲裁器-fig-6

创建组件窗口如下所示。 单击确定。 确保名称为 DDR_AXI4_ARBITER_PF_C0。
图 4-2。 创建组件MICROCHIP-DDR-AXI4-仲裁器-fig-7

为2个读取通道、2个写入通道配置IP并选择Bus Interface,如下图所示,点击OK生成IP。
图 4-3。 配置MICROCHIP-DDR-AXI4-仲裁器-fig-8

在 Stimulus Hierarchy 选项卡上,选择测试台 (DDR_AXI4_ARBITER_PF_tb.v),右键单击,然后单击 Simulate Pre-Synth Design > Open Interactively。
重要的: 如果您没有看到 Stimulus Hierarchy 选项卡,请导航至 View > Windows 菜单并单击 Stimulus Hierarchy 使其可见。
图 4-4。 模拟预综合设计MICROCHIP-DDR-AXI4-仲裁器-fig-9ModelSim 打开测试台 file,如下图所示。
图 4-5。 ModelSim 仿真窗口MICROCHIP-DDR-AXI4-仲裁器-fig-10

重要的: 如果仿真由于 .do 中指定的运行时间限制而中断 file,使用run -all命令完成模拟。
修订历史(提问)
修订历史描述了文档中实施的更改。更改按修订列出,从最新发布开始。
表 5-1。 修订历史

修订 日期 描述
A 04/2023 以下是文档修订版 A 的更改列表:

• 将文档迁移到Microchip 模板。

• 将文档编号从 00004976 更新为 DS50200950A。

• 添加 4. 试验台.

2.0 以下是文档 2.0 版本的更改列表:

• 添加 图 1-2.

• 添加 表 2-2.

•更新了一些输入和输出信号名称的名称 表 2-2.

1.0 初始版本。

Microchip FPGA 支持(提问)
Microchip FPGA 产品组为其产品提供各种支持服务,包括客户服务、客户技术支持中心、 web站点和全球销售办事处。 建议客户在联系支持之前访问 Microchip 在线资源,因为他们的查询很可能已经得到解答。 通过以下方式联系技术支持中心 web网址为 www.microchip.com/support。 提及 FPGA 器件部件号,选择合适的案例类别,并上传设计 file在创建技术支持案例时。 联系客户服务获取非技术产品支持,例如产品定价、产品升级、更新信息、订单状态和授权。

  • 从北美拨打 800.262.1060
  • 从世界其他地方拨打 650.318.4460
  • 传真,来自世界各地,650.318.8044

微芯片信息(提问)

微芯片 Web网站(问一个问题)
Microchip 通过以下方式提供在线支持 web网站 www.microchip.com/。 这个 web网站用于制作 files 和信息易于客户获取。可用的内容包括:

  • 产品支持 – 数据表和勘误表、应用笔记和 samp文件、设计资源、用户指南和硬件支持文档、最新软件版本和存档软件
  • 一般技术支持 – 常见问题 (FAQ)、技术支持请求、在线讨论组、Microchip 设计合作伙伴计划成员列表
  • Microchip 业务 – 产品选择器和订购指南、最新的 Microchip 新闻稿、研讨会和活动列表、Microchip 销售办事处、分销商和工厂代表列表

产品变更通知服务(提问)
Microchip 的产品变更通知服务有助于让客户了解 Microchip 产品的最新信息。 每当有与特定产品系列或感兴趣的开发工具相关的更改、更新、修订或勘误时,订户将收到电子邮件通知。 要注册,请访问 www.microchip.com/pcn 并按照注册说明进行操作。
客户支持(提问)
Microchip 产品的用户可以通过多种渠道获得帮助:

  • 经销商或代表
  • 当地销售办事处
  • 嵌入式解决方案工程师 (ESE)
  • 技术支援

客户应联系其经销商、代表或 ESE 寻求支持。 当地的销售办事处也可以帮助客户。 本文档中包含销售办事处和地点的列表。 技术支持可通过 web网站位于: www.microchip.com/support.
Microchip 设计代码保护功能(提问)
请注意 Microchip 产品的代码保护功能的以下详细信息:

  • Microchip 产品符合其特定 Microchip 数据手册中所包含的规格。
  • Microchip 相信,其产品系列在按照预期方式、符合操作规范和在正常条件下使用时是安全的。
  • Microchip 重视并积极保护其知识产权。 严禁试图破坏 Microchip 产品的代码保护功能,这可能违反 DigitalMillennium 版权法。
  • Microchip 或任何其他半导体制造商都无法保证其代码的安全性。代码保护并不意味着我们保证产品“牢不可破”。代码保护在不断发展。Microchip 致力于不断改进我们产品的代码保护功能。

法律声明(提问)
本出版物和此处的信息只能用于 Microchip 产品,包括设计、测试 Microchip 产品并将其与您的应用程序集成。 以任何其他方式使用此信息均违反这些条款。 有关设备应用程序的信息仅为方便您而提供,可能会被更新所取代。 您有责任确保您的应用程序符合您的规范。 请联系您当地的 Microchip 销售办事处以获取更多支持,或访问以下网址获取更多支持 www.microchip.com/en-us/support/design-help/ 客户支持服务。 此信息由 MICROCHIP“按原样”提供。 MICROCHIP 不对信息作出任何明示或暗示、书面或口头、法定或其他形式的陈述或保证,包括但不限于对非侵权、适销性和特定用途适用性的任何暗示保证,或保证与其状况、质量或性能有关。 在任何情况下,MICROCHIP 均不对与信息或其使用相关的任何类型的任何间接、特殊、惩罚性、偶然或后果性损失、损害、成本或费用负责,即使 MICROCHIP 已被告知可能性或损害是可预见的? 在法律允许的最大范围内,MICROCHIP 对以任何方式与信息或其使用相关的所有索赔的全部责任将不超过您为信息直接向 MICROCHIP 支付的费用(如果有)。 在生命支持和/或安全应用中使用 Microchip 器件的风险完全由买方承担,并且买方同意保护、赔偿 Microchip 并使 Microchip 免受因此类使用而导致的任何和所有损害、索赔、诉讼或费用。 除非另有说明,否则不得以暗示或其他方式转让任何 Microchip 知识产权项下的许可。
商标(提出问题)
Microchip 名称和徽标、Microchip 徽标、Adaptec、AVR、AVR 徽标、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、maXTouch、 MediaLB、megaAVR、Microsemi、Microsemi 标志、MOST、MOST 标志、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32 标志、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST 标志、SuperFlash、Symmetricom 、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron 和 XMEGA 是 Microchip Technology Incorporated 在美国和其他国家/地区的注册商标。 AgileSwitch、APT、ClockWorks、嵌入式控制解决方案公司、EtherSynch、Flashtec、Hyper Speed Control、HyperLight Load、Libero、motorBench、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plus 徽标、Quiet-Wire、SmartFusion、 SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime 和 ZL 是 Microchip Technology Incorporated 在美国的注册商标 Adjacent Key Suppression、AKS、模拟数字时代、Any Capacitor、AnyIn、AnyOut、Augmented Switching , BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, 动态平均匹配, DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 在线串行编程, ICSP, INICnet,智能并联、IntelliMOS、芯片间连接、JitterBlocker、显示旋钮、KoD、maxCrypto、maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX , RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox,验证, ViewSpan、WiperLock、XpressConnect 和 ZENA 是 Microchip Technology Incorporated 在美国和其他国家/地区的商标。 SQTP 是 Microchip Technology Inc. 在美国的服务标志 Adaptec 徽标、Frequency on Demand、Silicon Storage Technology 和 Symmcom 是 Microchip Technology Inc. 在其他国家/地区的注册商标。 GestIC 是 Microchip Technology Inc. 的子公司 Microchip Technology Germany II GmbH & Co. KG 在其他国家的注册商标。 此处提及的所有其他商标均为其各自公司的财产。 © 2023,Microchip Technology Incorporated 及其子公司。 版权所有。
国际标准书号: 978-1-6683-2302-1 质量管理体系(提问) 有关 Microchip 质量管理体系的信息,请访问 www.microchip.com/quality.

全球销售和服务

美洲 亚太 亚太 欧洲
公司的 办公室

西钱德勒大道 2355 号。 亚利桑那州钱德勒 85224-6199

电话: 480-792-7200

传真: 480-792-7277

技术支援: www.microchip.com/support Web 地址: www.microchip.com

亚特兰大

乔治亚州德卢斯

电话: 678-957-9614

传真: 678-957-1455

德克萨斯州奥斯汀

电话: 512-257-3370

波士顿 马萨诸塞州韦斯特伯勒电话: 774-760-0087

传真: 774-760-0088

芝加哥

伊利诺伊州伊塔斯卡

电话: 630-285-0071

传真: 630-285-0075

达拉斯

德克萨斯州艾迪生

电话: 972-818-7423

传真: 972-818-2924

底特律

密歇根州诺维

电话: 248-848-4000

德克萨斯州休斯顿

电话: 281-894-5983

印第安纳波利斯 印第安纳州诺布尔斯维尔电话: 317-773-8323

传真: 317-773-5453

电话: 317-536-2380

洛杉矶 加利福尼亚州米逊维耶霍电话: 949-462-9523

传真: 949-462-9608

电话: 951-273-7800

北卡罗来纳州罗利

电话: 919-844-7510

纽约州纽约市

电话: 631-435-6000

加利福尼亚州圣何塞

电话: 408-735-9110

电话: 408-436-4270

加拿大 – 多伦多

电话: 905-695-1980

传真: 905-695-2078

澳大利亚 – 悉尼

电话:61-2-9868-6733

中国 – 北京

电话:86-10-8569-7000

中国 – 成都

电话:86-28-8665-5511

中国 – 重庆

电话:86-23-8980-9588

中国 – 东莞

电话:86-769-8702-9880

中国 – 广州

电话:86-20-8755-8029

中国 – 杭州

电话:86-571-8792-8115

中国 - 香港特别行政区

电话:852-2943-5100

中国 – 南京

电话:86-25-8473-2460

中国 – 青岛

电话:86-532-8502-7355

中国 – 上海

电话:86-21-3326-8000

中国 – 沉阳

电话:86-24-2334-2829

中国 – 深圳

电话:86-755-8864-2200

中国 – 苏州

电话:86-186-6233-1526

中国 – 武汉

电话:86-27-5980-5300

中国 – 西安

电话:86-29-8833-7252

中国 – 厦门

电话:86-592-2388138

中国 – 珠海

电话:86-756-3210040

印度 – 班加罗尔

电话:91-80-3090-4444

印度 - 新德里

电话:91-11-4160-8631

印度 – 浦那

电话:91-20-4121-0141

日本 大阪

电话:81-6-6152-7160

日本 东京

电话:81-3-6880-3770

韩国——大邱

电话:82-53-744-4301

韩国 – 首尔

电话:82-2-554-7200

马来西亚 – 吉隆坡

电话:60-3-7651-7906

马来西亚 – 槟城

电话:60-4-227-8870

菲律宾 – 马尼拉

电话:63-2-634-9065

新加坡

电话:65-6334-8870

台湾 – 新竹

电话:886-3-577-8366

台湾 – 高雄

电话:886-7-213-7830

台湾 台北

电话:886-2-2508-8600

泰国 – 曼谷

电话:66-2-694-1351

越南——胡志明

电话:84-28-5448-2100

奥地利 - 韦尔斯

电话:43-7242-2244-39

传真:43-7242-2244-393

丹麦——哥本哈根

电话:45-4485-5910

传真:45-4485-2829

芬兰 – 埃斯波

电话:358-9-4520-820

法国——巴黎

Tel: 33-1-69-53-63-20

Fax: 33-1-69-30-90-79

德国——加兴

电话:49-8931-9700

德国 – 汉

电话:49-2129-3766400

德国——海尔布隆

电话:49-7131-72400

德国——卡尔斯鲁厄

电话:49-721-625370

德国——慕尼黑

Tel: 49-89-627-144-0

Fax: 49-89-627-144-44

德国——罗森海姆

电话:49-8031-354-560

以色列 – 拉阿纳纳

电话:972-9-744-7705

意大利——米兰

电话:39-0331-742611

传真:39-0331-466781

意大利——帕多瓦

电话:39-049-7625286

荷兰 – Drunen

电话:31-416-690399

传真:31-416-690340

挪威 – 特隆赫姆

电话:47-72884388

波兰 – 华沙

电话:48-22-3325737

罗马尼亚 - 布加勒斯特

Tel: 40-21-407-87-50

西班牙 – 马德里

Tel: 34-91-708-08-90

Fax: 34-91-708-08-91

瑞典——哥德堡

Tel: 46-31-704-60-40

瑞典——斯德哥尔摩

电话:46-8-5090-4654

英国 – 沃金厄姆

电话:44-118-921-5800

传真:44-118-921-5820

© 2023 Microchip Technology Inc. 及其子公司

文件/资源

MICROCHIP DDR AXI4 仲裁器 [pdf] 用户指南
DDR AXI4 仲裁器,DDR AXI4,仲裁器

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *