基于Credit的流量控制

流量控制(Flow Control),也叫流控,它是控制组件之间发送和接收信息的过程。在总线中,流控的基本单位称为flit。

在标准同步接口中(比如AXI协议接口),握手信号如果直接采用寄存器打拍的方式容易导致信号在不同的方向上出现偏离。因此,引入了更复杂的FIFO结构替代了寄存器方式来给握手信号打拍,方便后端时序收敛。但是,各种各样的FIFO设计要么引入气泡,要么浪费容量或引入不需要的握手逻辑组合链。为了避免控制电路中的组合逻辑路径,在一个时钟周期内,数据被搬进或搬出FIFO是不允许的,因此存在FIFO气泡。

现在许多NoC设计采用基于credit的流量控制(比如CHI协议接口)。在这种方式中,源端会跟踪目的端有多少资源可以使用。只有源端收到目的端发送的credit,源端才可以发送flit给出去。显然,目的端必须保证发出多少个credit,就必须能收下多少个flit。

下图为一个简单的基于credit流控示例图,源端的up/down counter会对收到的credit进行计数,表示下游Sink目的端可以收多少数据。因此Sink必须有足够的buffer来存放数据。因此,组件之间的数据转发简化为只需要看valid信号就行了。源端每次发送一个数据,就需要up/down counter的计数值减1。

图1 基于credit的流控示例图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷公子的藏经阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值