[发明专利]参数化的通用FIFO控制方法有效
申请号: | 201210107085.4 | 申请日: | 2012-04-12 |
公开(公告)号: | CN103377029A | 公开(公告)日: | 2013-10-30 |
发明(设计)人: | 田泽;杨海波;蔡叶芳;郭蒙;李攀;廖寅龙;张玲 | 申请(专利权)人: | 中国航空工业集团公司第六三一研究所 |
主分类号: | G06F5/06 | 分类号: | G06F5/06 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 姚敏杰 |
地址: | 710068 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 参数 通用 fifo 控制 方法 | ||
技术领域
本发明属于计算机硬件技术领域,涉及一种电路控制方法,尤其涉及一种参数化的通用FIFO控制方法。
背景技术
FIFO(First-In,First-out),即先进先出存储器,分为同步FIFO和异步FIFO,是一种常用于数据缓存的电路器件,可应用于包括高速数据采集、多处理器接口和通信中的高速缓冲等各种领域。根据需求和应用环境的不同,FIFO可能有不同的深度、不同的数据位宽、不同的读写时钟关系、不同的空满指示方式等等,通常需要按需求多次分别设计,且异步FIFO一般都使用格雷码进行读、写地址比较,这就导致如果FIFO深度不是2的幂,读、写地址由最大值(深度-1)回到0值时,由于最大值的二进制格雷码有多位为1,变回全0时会发生多位由1到0的跳变,从而失去格雷码相邻码值仅有一位跳变的优势,带来亚稳态隐患,因此异步FIFO深度通常局限于2的幂,造成资源浪费,使用也非常不方便。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种通过预设参数的预编译手段,可在所有需使用FIFO的设计中复用,避免多次设计,同时使用“区段格雷编码”,即给读、写地址统一加上一个固定增量值,使其变换到一个最大值和最小值的二进制格雷码只有一位不同的数值区段,再进行格雷码转换去使用,从而使深度可为任意偶数的参数化通用FIFO控制方法。
本发明的技术解决方案是:本发明提供了一种参数化的通用FIFO控制方法,其特殊之处在于:所述参数化的通用FIFO控制方法包括以下步骤:
1)对通用FIFO控制电路输入静态输入参数;
2)根据静态输入参数映射得到实现FIFO控制电路所需内部变量;
3)根据步骤2)所产生的FIFO控制所需电路内部变量实现所需通用FIFO控制电路,其中地址比较电路采用“区段格雷码”实现。
上述静态输入参数包括FIFO深度DEPTH、编程满阈值PROG_FULL_THRESH以及数据预读模式选择FIRST_WORD_FT;
所述FIFO深度DEPTH是实现资源允许限度内的任意偶数;
所述编程满阈值PROG_FULL_THRESH的设定值是小于FIFO深度DEPTH的正整数;
所述数据预读模式选择FIRST_WORD_FT的设定值是1或0;所述数据预读模式选择FIRST_WORD_FT的设定值是1时,表示选择预读模式,FIFO数据输出总线DOUT上总预读FIFO出中当前第一个数据;所述数据预读模式选择FIRST_WORD_FT的设定值是0时,表示选择非预读模式,只有当读使能信号RD_EN有效后,数据输出总线DOUT上才输出当前第一个数据。
上述FIFO控制电路内部变量包括双端口存储体地址宽度ADDR_WIDTH、写入数据计数器位宽WR_DATA_COUNT_WIDTH、可读数据计数器位宽RD_DATA_COUNT_WIDTH、读写地址格雷码转换区段增量SECTION_INC以及区段格雷码数据位宽GRAY_WIDTH;
所述双端口存储体地址宽度ADDR_WIDTH是整数值,约束控制电路生成的读地址read_addr、写地址write_addr的总线位宽;生成实现完整的FIFO电路所必须的双端口存储体时,还用于确定其大小;
所述写入数据计数器位宽WR_DATA_COUNT_WIDTH是整数值,约束控制电路输出的写入数据数目计数值的位宽;
所述可读数据计数器位宽RD_DATA_COUNT_WIDTH是整数值,约束控制电路输出的可读数据数目计数值的位宽;
所述读写地址格雷码转换区段增量SECTION_INC是整数值,用于约束读写地址进行格雷码转换时所选取数值区段的起始点;
所述区段格雷码数据位宽GRAY_WIDTH是整数值,用于约束区段格雷码的数据位宽度。
上述步骤2)的映射关系是:
所述双端口存储体地址宽度ADDR_WIDTH的具体实现得出方式是:
ADDR_WIDTH=clogb2(DEPTH);其中:clogb2为函数名,所述clogb2根据括号内的输入值,计算并返回函数计算结果;所述DEPTH是FIFO深度DEPTH;
所述写入数据计数器位宽WR_DATA_COUNT_WIDTH及可读数据计数器位宽RD_DATA_COUNT_WIDTH满足如下条件:
WR_DATA_COUNT_WIDTH=RD_DATA_COUNT_WIDTH=ADDR_WIDTH;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210107085.4/2.html,转载请声明来源钻瓜专利网。