问题标签 [axi4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
786 浏览

amba - AXI4-Stream 位置字节

有人能解释一下 AXI4-Streaming 接口上下文中的位置字节是什么吗?我不明白,虽然它与空字节不同,但它不必传输给从机。

0 投票
1 回答
390 浏览

vhdl - AXI4 延迟事务

我只是在寻求建议。我目前有一个集成在 VHDL 中的自定义 IP,它有一个 AXI4 从输入和一个 AXI4 主输出,目前信号直接连接在一起。

我想为 AXI 信号添加可自定义的延迟,这样它们就可以通过 IP 延迟特定的时间,而不是相互连接。

我的问题是;我可以仅通过使用AxVALIDand AxREADY(可能还有RVALID/RREADYWVALID/ WREADY)信号来延迟通过 IP 读取和写入事务吗?

例如,如果我想要 20 个时钟周期的延迟,我可以等待外部主机断言VALID,然后等待 20 个时钟,然后再让 IP 从机断言READY?这是正确的逻辑吗?

提前感谢您的任何建议。

0 投票
1 回答
75 浏览

axi4 - AXI4 AxVALID 在同一时钟内为高

我一直在寻找有关 ARVALID 和 AWVALID 在同一个时钟中都变高并包含相同地址的情况的一些文档。应该先处理写入,还是应该读取?任何帮助深表感谢。

0 投票
1 回答
405 浏览

embedded - MicroBlaze AXI4 异常

我想知道 MicroBlaze 的数据总线异常。在 MicroBlaze 产品手册中指出,当缓存关闭时,异常只能在 M_AXI_DC 上发生?这对我来说没有意义;是不是说如果在M_AXI_DC线上给出了错误响应,开启缓存就不会触发异常?我目前将 C_DCACHE_ALWAYS_USED 设置为 1,所以这不是问题。

谢谢。

MicroBlaze 产品指南摘录:

0 投票
1 回答
916 浏览

vivado - AXI 协议,安全和非安全交易的区别

只是想问一下,在 AXI 总线事务方面,安全事务和非安全事务有什么区别?

任一事务的性能影响是什么?

0 投票
1 回答
973 浏览

xilinx - Xilinx、Zynq、AXI4 互连。配置寄存器 slice 和数据 fifo 选项对性能有何影响?

考虑 PL (FPGA) 端的 AXI4 互连。

AXI 互连模块

当我双击查看可用选项时,从接口中有一个选项卡。包含以下选项。

在此处输入图像描述

启用寄存器切片的目的是什么?外部是指二级缓存吗?自动是什么意思?

启用数据 FIFO 的目的是什么?对于突发交易?DMA控制器没有自己的FIFO吗?

0 投票
1 回答
584 浏览

xilinx - Vivado、Zynq、BRAM 控制器、窄 AXI 突发选项

考虑一个带有启用 AXI3 主控的 PS(处理器系统)的简单系统,连接到 AXI4 互连,连接到可以访问 BRAM 内存的 BRAM 控制器。

系统框图

AXI Narrow Bursts 是什么意思?我如何定义或考虑什么是窄突发?我可以控制是否要窄脉冲串吗?

BRAM 控制器选项

0 投票
1 回答
222 浏览

pci-e - AXI4 如何支持 PCIE Producer/Consumer 订购模型?

PCIE 使用Producer/Consumer 排序模型,但 AXI4 使用不同的排序模型。AXI4 的读写通道是独立的。

例如,像这样的系统,

CPU <-> PCIE Con​​troller <-> PCIE AXI Bridge <-> AXI4 with DEC and DDR slaves(DEC模块连接到AXI4从数据端口0和APB寄存器端口,DDR内存模块连接到AXI4从数据端口1)

CPU 执行以下两个操作,

由于 PCIE 内存写入(可预取和不可预取)已发布,即没有响应,因此 PCIE AXI Bridge 将使用相同的 ID 连续执行上述两个操作,但无需等待BRESP。在数据到达 DDR 之前,DEC 可能已经看到 APB 寄存器写入并开始读取数据,因此数据可能是旧的和无效的。

这个排序问题可以通过写入数据然后读回来解决,如下所示,

但它效率低下。

那么当 PCIE 和 AXI4 连接时,我们如何解决这个排序问题呢?是在 PCIE 端还是 AXI 互连端解决这个排序问题更好?

0 投票
0 回答
42 浏览

tcl - 带有 TCL 控制台的 Vivado 触发功能

有谁熟悉vivado中的tcl-console。使用 Vitis 创建 RTL 块时,会创建一个接口。我的函数有两个偏移的输入参数。启动触发器的偏移为零,并且必须激活一个时钟周期。我找不到正确的命令来将此寄存器值设置为高一个周期。

写入命令有效,但是当我尝试使用 VIO 启动我的功能时,启动命令在太多周期内都很高。

0 投票
0 回答
23 浏览

chisel - 对于 AXI4 用户 Yanker 断言,“Q 必须比响应更快地准备好”是什么意思?

我正在尝试执行涉及从 AXI 从站获取 AXI 主站的 DMA。为简单起见,我选择通过 TL 前端总线和系统总线而不是直接相互连接该系统,因为其他主机可能需要访问 AXI 从机。我正在使用 Rocket Chip 的默认 MMIO 端口。我已经使用以下 MasterPortParams 调用了它。

这是MMIO端口供参考。

这是试图发出写入的主节点。

它开始发出写入,但随后我遇到断言失败 assert (!out.b.valid || b_valid) // Q must be ready faster than the response

我试图理解这个断言的含义。它来自 UserYanker。这是在上下文中

b_bits 从队列中取出,在设置 b 通道位之前,我们检查这个断言。我仍然不太确定这意味着什么。我最好的猜测是在 UserYanker 的队列中有空间之前 b.valid 会变高吗?这是否意味着我需要更大的队列?如果是这种情况,什么参数会增加 UserYanker 的队列大小?会是maxFlight吗?这是从 Tilelink 到 axi4 的某种协议转换问题吗?我对两者的细节都不熟悉,但在这种情况下可能应该跳过到 Tilelink 的转换?