一种带条目占用指示的异步缓冲实现方法

文档序号:9616379阅读:234来源:国知局
一种带条目占用指示的异步缓冲实现方法
【技术领域】
[0001]本发明涉及计算机技术领域和成电路逻辑设计领域,更具体地说,本发明涉及一种带条目占用指示的异步缓冲实现方法。
【背景技术】
[0002]在集成电路设计领域,异步缓冲应用广泛,主要用作逻辑设计中工作频率不同的接口间的频率转换交接。但是,现有的异步缓冲的功能都仅限于频率转换交接,而不能同时实现其它功能。

【发明内容】

[0003]本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种多功能的带条目占用指示的异步缓冲实现方法。
[0004]为了实现上述技术目的,根据本发明,提供了一种带条目占用指示的异步缓冲实现方法,包括:
[0005]第一步骤:提供一个通用异步缓冲;
[0006]第二步骤:然后在所述异步缓冲的设计中增加一个输出端口,用于输出一个基于读时钟域的缓冲已占用条目的指针;
[0007]第三步骤:异步接口的读方根据所述指针的值判断异步缓冲中已经写进的条目的数量;
[0008]第四步骤:异步接口的读方基于异步缓冲中已经写进的条目的数量,可根据需要,动态地设定存储转发阈值。
[0009]优选地,所述指针的位宽等于异步缓冲的可用单元的个数。
[0010]优选地,在阈值方式下,当异步缓冲内存储的数据条目数达到预先设定的阈值或者一个包总长度对应的条目数时,异步缓冲的读时钟域端口读出当前的包。
[0011]优选地,在存储转发模式下,当异步缓冲内存储的数据条目数达到一个包总长度对应的条目数时,异步缓冲的读时钟域端口读出当前的包。
[0012]通过采用根据本发明的带条目占用指示的异步缓冲实现方法,使得不仅能够实现异步接口间频率转换的功能,还能够通过条目占用指示的方式为接口的读方提供一种可变阈值的存储转发缓冲的功能。
【附图说明】
[0013]结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0014]图1示意性地示出了根据本发明优选实施例的带条目占用指示的异步缓冲实现方法的流程图。
[0015]需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
【具体实施方式】
[0016]为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
[0017]为了提高集成电路单位面积的使用效率,通过采用根据本发明的带条目占用指示的异步缓冲实现方法,使得既能够实现异步接口间频率转换的异步缓冲,还可实现读方接口可变阈值的存储转发缓冲。
[0018]具体地,图1示意性地示出了根据本发明优选实施例的带条目占用指示的异步缓冲实现方法的流程图。
[0019]如图1所示根据本发明优选实施例的带条目占用指示的异步缓冲实现方法包括:
[0020]第一步骤S1:提供一个通用异步缓冲;例如,该异步缓冲包括与写时钟、写地址、写数据、满标志、以及读时钟、读指针、读数据、空标志相关的一些端口。
[0021]第二步骤S2:然后在所述异步缓冲的设计中增加一个输出端口,用于输出一个基于读时钟域的缓冲已占用条目的指针(pkg_cnt[ASIZE:0]),其中所述指针的位宽(ASIZE+1)等于异步缓冲的可用单元的个数(即深度)。所述指针即形成一个条目占用指不ο
[0022]例如,可采用下述设置实现:
[0023]pkg_cnt[ASIZE:0] = gray2bin(r2_gray_wp[ASIZE:0])-gray2bin(r_gray_rp[ASIZE:0])
[0024]其中r2_gray_wp[ASIZE:0]是异步缓冲基于格雷码的写地址并转换到读时钟域,r_gray_rp [ASIZE: 0]是异步缓冲读地址。
[0025]第三步骤S3:异步接口的读方根据所述指针的值判断异步缓冲中已经写进(即存储)的条目的数量;
[0026]第四步骤S4:异步接口的读方基于异步缓冲中已经写进的条目的数量,可根据需要,动态地设定存储转发阈值,以利用异步缓冲实现存储转发缓冲功能。
[0027]在具体示例中,例如首先实现一个128X128比特大小的通用异步缓冲,然后在这个异步缓冲的设计中增加输出一个基于读时钟域的缓冲已占用条目的指针(Pkg_cnt[7:0]),指针的位宽为8,即为所设计的异步缓冲的可用单元个数即深度。
[0028]可设置pkg_cnt[7:0] = gray2bin (r2_gray_wp [7:0]) -gray2bin (r_gray_rp[7:0]);其中r2_gray_wp[7:0]是异步缓冲基于格雷码的写地址并转换到读时钟域,r_gray_rp [7:0]是异步缓冲读地址,使用上述设计后,异步接口的读方就能根据指针pkg_cnt的值得知异步缓冲已经写进了多少个条目,从而根据需要设定存储转发阈值,用异步缓冲实现存储转发缓冲功能。
[0029]进一步地,可设置Assign hvout = ! o_empty&(pkg_cnt> = {(策略==1) ?min{阈值,包长度}:包长度})
[0030]在阈值方式下,当异步缓冲内存储的数据条目数达到预先设定的阈值或者一个包总长度对应的条目数时,异步缓冲的读时钟域端口可以读出当前的包;在非阈值方式下(即在存储转发模式下),当异步缓冲内存储的数据条目数达到一个包总长度对应的条目数时,异步缓冲的读时钟域端口可以读出当前的包。
[0031]本发明专利的有益效果是,设计了一种新型的带条目占用指示的异步缓冲实现方法,使得异步缓冲既可用作异步接口间频率转换,还可用作接口的读方的可变阈值的存储转发缓冲。
[0032]可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
【主权项】
1.一种带条目占用指示的异步缓冲实现方法,其特征在于包括: 第一步骤:提供一个通用异步缓冲; 第二步骤:在所述异步缓冲的设计中增加一个输出端口,用于输出一个基于读时钟域的缓冲已占用条目的指针; 第三步骤:异步接口的读方根据所述指针的值判断异步缓冲中已经写进的条目的数量; 第四步骤:异步接口的读方基于异步缓冲中已经写进的条目的数量,可根据需要,动态地设定存储转发阈值。2.根据权利要求1所述的方法,其特征在于,所述指针的位宽等于异步缓冲的可用单元的个数。3.根据权利要求1或2所述的方法,其特征在于,在阈值方式下,当异步缓冲内存储的数据条目数达到预先设定的阈值或者一个包总长度对应的条目数时,异步缓冲的读时钟域端口读出当前的包。4.根据权利要求1或2所述的方法,其特征在于,在存储转发模式下,当异步缓冲内存储的数据条目数达到一个包总长度对应的条目数时,异步缓冲的读时钟域端口读出当前的包。
【专利摘要】本发明提供了一种带条目占用指示的异步缓冲实现方法,包括:提供一个通用异步缓冲;然后在所述异步缓冲的设计中增加一个输出端口,用于输出一个基于读时钟域的缓冲已占用条目的指针;异步接口的读方根据所述指针的值判断异步缓冲中已经写进的条目的数量;异步接口的读方基于异步缓冲中已经写进的条目的数量,可根据需要,动态地设定存储转发阈值。
【IPC分类】G06F17/50
【公开号】CN105373663
【申请号】CN201510790736
【发明人】刘杰, 毕小建, 陆秋漪, 徐毅, 韩文燕, 张琦滨, 汪争, 叶维
【申请人】无锡江南计算技术研究所
【公开日】2016年3月2日
【申请日】2015年11月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1