棋子 · 2020年01月02日

请解释一些与MASTER和INTERCONNECT行为有关的新ACE5信号

与ACE4相比,ACE5的AMBA5规范显示了一些新信号:

VAWQOSACCEPT

VARQOSACCEPT

醒来

唤醒

SYSCOREQ

SYSCOACK

这些在SOC系统中如何使用?

例如,我认为但我不习惯VAWQOSACCEPT,VARQOSACCEPT由每个从属设备输出并成为INTERCONNECT的输入

还是CPU的输入?目前尚不清楚这些信号与ACE5规范中的其他QOS信号如何相关。

对于AWAKEUP,这是从MASTER(CPU ??)输出到INTERCONNECT?仅由AXI5,ACE5,ACE5-Lite用来唤醒

互连状态机。必须在ARVALID,AWVALID和WVALID之前的一个周期发生。它在所有交易中都保持高价。

仅当MASTER想要向INTERCONNECT发出信号以进入半低功耗状态时,此信号才变为低电平。

希望有一些波形可以说明第360页(E2.9.1)上的所有规格说明。这将更容易理解。

对于ACWAKEUP(ACE5),这是从INTERCONNECT输出的,并由MASTER(CPU ??)用来唤醒逻辑。

在半低功耗状态下处于主(CPU ??)状态。在ACVALID / ACREADY之前,ACWAKEUP必须至少发生一个高周期

活跃。同样,希望有一些波形来说明第361页(E2.9.2)的规格说明

对于SYSCOREQ(ACE5),这是从MASTER(CPU ??)输出的,以连接到一致性设备(INTERCONNECT)。

好像MASTER输出此信号,然后INTERCONNECT设备(帮助管理一致性)输出确认

到MASTER以使INTERCONNECT处于正确的状态机模式。

需要使用第362页(E2.10)提到的有关四相相干连接信令的波形进行进一步说明。

当SYSCOREQ变低时,INTERCONNECT的行为是什么?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年01月02日

VAxQOSACCEPT信号由目的地(表C1-7)驱动到上游设备。它们的目的是指示在上游设备尝试发布从属之前,从属能够接受的QoS值。

预期的用例是,内存控制器将向互连模块指示其已用完空间来处理较低的QoS值事务。然后,互连可以选择QoS值超过VAxQOSACCEPT值的事务。没有此信息,互连可能会提供低优先级的事务,由于存储控制器将无法处理该接口,因此该事务会阻塞该接口。

事务源将AWAKEUP驱动到下游设备(表C1-8)。目的是向下游设备指示事务正在等待处理,或将很快需要处理。如果在事务出现之前断言AWAKEUP,则这将使隐藏低功耗状态的某些延迟被隐藏。否则,可以使用AWAKEUP来驱动下行设备中的逻辑,以指示该逻辑应处于活动状态。

一些小的更正:AWAKEUP不需要在AxVALID或WVALID之前的1个周期,它只是建议在至少1个周期之前声明它。它也不是对所有事务都保持较高状态-仅应在Ax握手完成之前保持较高状态。在这一点之后,设备应该知道它有一个活动的事务,因此在完成之前不要尝试休眠。仅当另一个事务即将挂起时,才应重新声明AWAKEUP。

如果您的设备没有AWAKEUP,则可以从传入的ARVALID,AWVALID,WVALID生成它。

一项一般性的说明是,主接口并不表示诸如CPU之类的主接口。所有AXI连接都被视为从站的主站-因此,互连具有主站和从站接口。因此,AWAKEUP是主接口信号,但可以由CPU主设备驱动到互连,或者由互连主接口连接到从设备。

您对ACWAKEUP是正确的,特别是从互连接口到上游设备。它的用法与AWAKEUP类似-表示事务正在处理中,或将很快变为处理中。通常,上游设备将是某种ACE主设备,例如CPU,尽管它也可以用于向具有DVM支持的I / O主设备指示存在传入的DVM事务。同样,它仅建议它在ACVALID之前发生,而不必这样做。

SYSO *信号用于从相干域中删除主机。这样做的实际效果是阻止互连将侦听事务发送到此主服务器。SYSCOREQ由主节点驱动到互连,并通知互连主节点希望进入或离开相干域。SYSCOACK是确认,显示进入或离开域的操作已完成。

当SYSCOREQ变低时,互连模块需要确保它停止向该主服务器发送监听,并确保完成所有未完成的监听。完成此操作后,它可以以SYSCOACK为低响应。

你的回答