多queue到channel通道级别反压
-
方案需求:实现2k个queue到64个channel的映射通道反压;当该channel里面有一个queue是set状态即为反压1状态,只有全为0才是0状态;
-
方案框图:
-
数据流:
首先上层通过cpp bus总线配置好ram(ram规格bit[6][2048]),然后前级模块通流发出流控tm_flow_ctrl_cmd,通过解析该cmd命令会具体得到address和set_or_clr命令;再通过address作为index来查ram里面对应的哪个channel号,然后根据set_or_clr来对每个channel里面的cnt进行加减;然后反压输出通过cnt的逻辑运算来表示; -
信号列表
-
微码
根据上述方案即可进行编写微码,基本上这个模块从规划好方案到具体初版微码落地,需要1天半的时间;