"); //-->
CI858K01 一个内部有多个事务源的主控
有一次我有一个很好的例子,是一个爆发性的多通道母带。该主人将发出多个请求,并增加与他们相关的 ID。然后将 ID 保存在一种随机访问 FIFO 中,允许以随机顺序返回其中的值。然后 FIFO 结构对响应重新排序,以便它们按顺序返回。
从那以后,我将这个 master 拆开,并用我们将在下面讨论的更简单的突发 master 逻辑的实现替换它。
我为什么要撕掉它并更换它?有几个原因。首先,很难验证它是否有效。是的,它在实践中工作了大约两年左右,但我无法真正验证它是否总是有效。其次,重新排序缓冲区通过向逻辑添加一个或两个额外的时钟延迟来减慢它的速度。
今天,我只有一个这样的大师的例子,我的AXI crossbar 核心。遗憾的是,这并不是一个非常有用的主机,可用作如何构建突发多通道 AXI 主机的示例。更糟糕的是,从示例的角度来看, 我的 crossbar 实现 根本没有利用 ID 来发挥其优势。在当前的实现中,它只是将 ID 转发到下游。虽然这是一种符合协议的方法,但 交叉开关 在这样做时不会从 ID 的用途中获益。(是的,我希望解决这个问题,稍后随时与我核实我是否更新了这个,如果是的话,这样做的成本是多少。)
多通道 AXI 主机真正开始发挥作用的地方是单个主机是否需要访问多个从机。想象一个 不真正支持 ID 的互连,例如我当前的 AXI crossbar 实现。在这样的互连中,主机可能会发出两个请求:一个请求给从机 1,然后第二个请求给从机 2。 不支持 ID 的互连必须首先将请求路由到从机 1,然后等待从机的响应1 在将第二个请求路由到从机编号 2 之前
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。