[CHI] 一个示例讲清楚CHI的Protocol Activity, Link Activation和L-Credit

AMBA的CHI协议相比于AXI协议在一致性方面有很多扩展, 其使用场景、交互方式、信息传递、拓扑结构等都有很多不同. 本着有更多交流的目的, 分享在学习中的见解和内容。

Rx和Tx

以SN作为主视角如下图.
在这里插入图片描述

先对主视角进行规定是因为这里所有的信号前缀Tx/Rx都是相对的. 例如REQ Channel中FLITV是RN发送的, 是SN接收的. 所以REQ Channel的FLITV和LCRDV对于SN来说, 是Rx; 对于RN来说, 是Tx.

  • TXSACTIVE是output用来指示当前接口正在或者将要发出transaction;
    RXSACTIVE是input用来指示对端接口正在或者将要发出transaction.
    SN的TXSACTIVE就是RN的RXSACTIVE.
  • RxLINKACTIVEREQ是input用来指示对端接口要建立链接, assert RxLINKACTIVEACK后可以接收FLITV.
    TxLINKACTIVEREQ是output用来指示当前接口要建立链接, 收到TxLINKACTIVEACK assert后可以发送FLITV.
  • REQ和WDAT Channel中SN是接收方, 是Rx;
    RSP和RDAT Channel中SN是发送方, 是Tx.

以SN作为主视角如下图. 该图来自于协议, 作为与上述的对比.
在这里插入图片描述

时序图示例

请添加图片描述

  • RN在assert RxSACTIVE时必须及时active Link Layer, 例如同cycle assert RxLINKACTIVEREQ(a->b). 但是没有严格的时序要求在这二者, 例如SN可在Link Layer activated之后再assert TxSACTIVE(c->d).
  • 在LINKACTIVEREQ之后任意cycle可以assert LINKACTIVEACK(b->e).
  • 至少在assert LINKACTIVEACK的同cycle发送LCRDV(e->f). 也可以在assert LINKACTIVEACK之后发送LCRDV(g->h).
  • 在接收到LCRDV之后才能够发送FLITV(f->l). 至少在发送FLITV当拍active Protocol Layer(m->d).

小结

本文针对Protocol Activity, Link Activation和L-Credit以timing diagram的方式做一个简单的示例; 理解谁作为active的req和ack者, 谁作为Flitv, Credit的发出者和接收者有助于我们理解它们之间的关系.
协议在Link Handshake章节有更为详细的描述, 作为实现者只需要不违背其约束而不必全部支持.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值