存在一个设计需求,原始数据不足满字节有效的,要将数据整体右移对齐后输出。
整体移位后,存在eop 前移一拍情况。
实际分析时,因为是做数据裁剪,不会出现带宽膨胀问题(1拍需要多拍出)。
最初的设计思想:
将原始数据锁存一拍;
使用原始数据vld作为逻辑判断条件, 在sop时,不输出数据。 这样隐形的浪费了一拍。在eop 时会存在eop_d1也需要将未出完的数据继续数据。
若eop_d1 && vld && sop,那么会将下一拍的sop数据丢掉,造成丢包。
修改后的设计:
将数据打拍和锁存;
使用打拍后的vld 最为逻辑判断条件:
vld_d1 && vld 时,可以输出数据;
vld_d1_lacht && vld时,可以输出数据;
这样vld_d1 每一拍都在输出,没有浪费,也不会造成背靠背时的丢包现象。