[发明专利]一种弹性缓存方法有效
申请号: | 202010130309.8 | 申请日: | 2020-02-28 |
公开(公告)号: | CN111324564B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 任永杰;陈卫国;王剑峰;董劭颖;王蕊琪;吴龙胜 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06F13/40 | 分类号: | G06F13/40 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 李鹏威 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 弹性 缓存 方法 | ||
1.一种弹性缓存方法,其特征在于,包括以下步骤:
步骤1:将弹性缓存模块复位,复位后使得读指针和写指针值相等;读指针和写指针值使用二进制表示,复位读指针和写指针值相等,存储缓存数为0,empty指示信号有效;
步骤2:更新存储缓存数,通过存储缓存数产生用于标记缓存数据量的full指示信号、below指示信号、above指示信号和empty指示信号;存储缓存数更新方法为:先将二进制的写指针转化为格林码wrptr_grey表示,再将格林码wrptr_grey在读时钟域上进行多级同步后转换为二进制sync_wrptr表示,存储缓存数为二进制sync_wrptr和读指针的差值;
当存储缓存数为0时判定存储数据空,此时empty指示信号有效;当存储缓存数小于数据量低限时判定存储数据量少,此时below指示信号有效;当存储缓存数大于数据量高限时判定存储数据量多,此时above指示信号有效;当存储缓存数等于存储的最大深度时判定存储数据满,此时full指示信号有效;
步骤3:当接收到有效的数据流时,将接收数据流中的数据与特征字符进行匹配,所述特征字符包括对齐序列字符和频率补偿字符;
若数据流中的数据与对齐序列字符匹配成功,则将对应的对齐序列字符指示信号置高,否则置低;
若数据流中的数据与频率补偿字符匹配成功,则将对应的频率补偿字符指示信号置高,否则置低;
步骤4:将接收数据流中的数据通过寄存器延迟一拍后,与步骤3中的对齐序列字符指示信号和频率补偿字符指示信号进行拼接,得到拼接后的数据;
步骤5:当写有效时更新写指针,具体为:
若below指示信号有效且频率补偿字符指示信号为高时,将写指针+2,否则,将写指针+1;
更新写指针采用格林码进行操作,具体为:
写指针+1的更新操作为:将写指针+1后转化为格林码wrptr_grey_1表示,在将格林码wrptr_grey_1转换为二进制的值,得到对应的新的写指针;
写指针+2的更新操作为:将写指针+2后转化为格林码wrptr_grey_2表示,在将格林码wrptr_grey_2转换为二进制的值,得到对应的新的写指针;
步骤6:将步骤4中拼接后的数据写入步骤5中地址为写指针+1的存储区和地址为写指针+2的存储区;
步骤7:若empty指示信号无效,则通过读指针指向地址所对应的数据判断下一个数据的特征属性,确定下一个数据是否为对齐序列字符或频率补偿字符;
步骤8:当读有效时更新读指针,具体为:
当步骤7中读出拼接数的对齐序列字符指示信号为高时,若所有通道读出拼接数的对齐序列字符指示信号全部为高时,将读指针+1,否则,读指针维持不变;
当步骤7中读出拼接数的对齐序列字符指示信号为高时,若full指示信号有效时,从步骤1开始执行;
当步骤7中读出数的对齐序列字符指示信号为低时,若above指示信号有效且频率补偿字符指示信号为高时,将读指针+2,否则,将读指针+1;
将数据从存储区输出,输出数据为读指针对应的数据;
步骤9:重复步骤2~8。
2.根据权利要求1所述的一种弹性缓存方法,其特征在于,步骤2中,通过设置数据低限和数据高限产生full指示信号、below指示信号、above指示信号和empty指示信号,数据低限和数据高限是根据流量控制预先设计的值,数据低限小于数据高限。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010130309.8/1.html,转载请声明来源钻瓜专利网。