棋子 · 2019年12月18日

写入数据交织-AXI

有人可以帮助我了解AXI规范施加的写入数据交织顺序限制背后的原因。
[第8.5章写入数据交织]

“从机接收每个事务的第一个数据项的顺序必须
与它接收事务的地址的顺序相同。”

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2019年12月18日

我想这条规则的唯一原因可能是简化从站设计,在该设计中,从站可以存储更多的地址事务,而不是接受交错的写入数据,即它的“ write_acceptance_capability”大于“ write_interleave_depth”。

我希望从设备设计者希望将任何交错的写数据用于较早接受的地址,因此,通过坚持第一个写数据遵循地址的顺序,从器件将知道在第一次传输之后的任何交错的数据都将用于最早的地址,一旦数据序列完成,从站就可以向上移动存储的地址事务参数,以控制现在可用的数据接收缓冲区。

尝试举一个例子(因为上面没有清楚地解释我的想法)。想象一个从服务器的“ write_acceptance_capability”有4个地址(按该顺序接收的A,B,C和D),但是只有一个“ write_interleave_depth”有2个事务,我认为从机设计将使用A和B事务详细信息设置写数据缓冲区,并将C和D控件存储在其他位置。

根据协议要求,第一个接收到的数据必须是用于A的,已经为其预留了数据缓冲区。

然后,我们可以拥有A的更多数据(从属已准备好),或者我们可以拥有B的第一个数据,从属也为其拥有了数据缓冲区。

从这一点开始,“ write_interleave_depth”参数意味着只能接收A或B的数据。

当A或B完成时,从站可以将为C存储的控制信息上移到数据缓冲区,然后准备从C接收第一个数据。

如果我们允许来自A,B,C或D中的任何一个数据到首先出现,从属直到看到第一个数据才知道用于缓冲区的地址信息。

该解决方案还确保了较旧的地址确实在较新的地址之前完成,因此保留了某种系统事件顺序。

我并不是说这是从站必须处理事务的方式,但是它可能适用于某些从站,然后确实说明了此协议要求的原因。

你的回答