一种异步缓存方法、异步缓存器及集成电路的制作方法

文档序号:6514065阅读:233来源:国知局
一种异步缓存方法、异步缓存器及集成电路的制作方法
【专利摘要】本发明公开了一种异步缓存方法,按照第二异步缓存器中间部分地址块的编码和虚拟地址块的编码对第一异步缓存器的地址块进行编码,所述第一异步缓存器的深度为小于第二异步缓存器的深度的任意偶数个地址块,所述第一异步缓存器在读写数据过程中,按照读或写指针指示的地址块的编码确定自身的状态;本发明同时还公开了一种异步缓存器及集成电路,通过本发明的方案,能够使异步缓存器的深度更加符合需求,避免使用大深度异步缓存器时,浪费较多寻址空间,并且结构简单,易于电路实现,尽可能的减小了异步缓存器的尺寸,更加利于使用异步缓存器的设备的小型化。
【专利说明】一种异步缓存方法、异步缓存器及集成电路

【技术领域】
[0001] 本发明涉及缓存技术,尤其涉及一种异步缓存方法、异步缓存器及集成电路。

【背景技术】
[0002] FIFO(FirstInputFirstOutput)缓存器是一种先进先出的数据缓存器,先进入 的数据先从FIFO缓存器中读出,与RAM相比没有外部读写地址线,使用比较简单,但只能顺 序写入数据,顺序的读出数据,不能像普通存储器那样可以由地址线决定读取或写入某个 指定的地址。
[0003] FIFO缓存器一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采 集,另一端为PCI总线,那么在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。另 外对于不同宽度的数据接口也可以使用FIFO缓存器,例如单片机位8位数据输出,而DSP 可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO缓存器来达到数据匹配的 目的。
[0004] 根据FIFO工作时钟域,可以将FIFO缓存器分为同步FIFO缓存器和异步FIFO缓 存器。同步FIFO缓存器是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写 操作;异步FIFO缓存器是指读写时钟不一致,读写时钟是互相独立的。
[0005] 对于异步FIFO缓存器,目前一般多将FIFO缓存器的深度设计成2V个地址块,其 中,N为FIFO缓存器的宽度,但实际应用中可能需要的FIFO缓存器的深度往往比2V小很 多,例如:需要的FIFO缓存器的深度为100,但必须使用深度为21=128的FIFO缓存器。这 样,会浪费FIFO缓存器的寻址空间,也会增加FIFO缓存器的占用空间,不利于使用FIFO缓 存器的设备的小型化。


【发明内容】

[0006] 为解决现有技术中的问题,本发明提供一种异步缓存方法、异步缓存器及集成电 路。
[0007] 本发明的技术方案是这样实现的:
[0008] 本发明提供的一种异步缓存方法,该方法包括:
[0009] 按照第二异步缓存器中间部分地址块的编码和虚拟地址块的编码对第一异步缓 存器的地址块进行编码,所述第一异步缓存器的深度为小于第二异步缓存器的深度的任意 偶数个地址块;
[0010] 第一异步缓存器在读写数据过程中,按照读或写指针指示的地址块的编码确定自 身的状态。
[0011] 本发明还提供一种第一异步缓存器,该第一异步缓存器的深度为小于第二异步缓 存器的深度的任意偶数个地址块,包括:任意偶数个地址块、状态指示器;其中,
[0012] 所述任意偶数个地址块的编码为第二异步缓存器中间部分地址块的编码和虚拟 地址块的编码;
[0013] 所述状态指示器,配置为在读写数据过程中,按照读或写指针指示的地址块的编 码确定第一异步缓存器的状态。
[0014] 本发明还提供一种集成电路,该集成电路包括第一异步缓存器,该第一异步缓存 器的深度为小于第二异步缓存器的深度的任意偶数个地址块,包括:任意偶数个地址块、状 态指不器;其中,
[0015] 所述任意偶数个地址块的编码为第二异步缓存器中间部分地址块的编码和虚拟 地址块的编码;
[0016] 所述状态指示器,配置为在读写数据过程中,按照读或写指针指示的地址块的编 码确定第一异步缓存器的状态。
[0017] 本发明实施例提供一种异步缓存方法、异步缓存器及集成电路,按照第二异步缓 存器中间部分地址块的编码和虚拟地址块的编码对第一异步缓存器的地址块进行编码,所 述第一异步缓存器的深度为小于第二异步缓存器的深度的任意偶数个地址块,所述第一异 步缓存器在读写数据过程中,按照读或写指针指示的地址块的编码确定自身的状态;如此, 能够使异步缓存器的深度更加符合需求,避免使用大深度异步缓存器时浪费较多寻址空 间,并且结构简单,易于电路实现,尽可能的减小了异步缓存器的尺寸,更加利于使用异步 缓存器的设备的小型化。

【专利附图】

【附图说明】
[0018] 图1为本发明实施例提供的异步缓存方法的流程示意图;
[0019] 图2为本发明实施例提供的第一异步缓存器的结构示意图;
[0020] 图3为本发明实施例提供的驱动芯片的结构示意图。

【具体实施方式】
[0021] 本发明实施例中,按照第二异步缓存器中间部分地址块的编码和虚拟地址块的编 码对第一异步缓存器的地址块进行编码,所述第一异步缓存器的深度为小于第二异步缓存 器的深度的任意偶数个地址块,所述第一异步缓存器在读写数据过程中,按照读或写指针 指示的地址块的编码确定自身的状态。
[0022] 本发明实施例所述的第一异步缓存器、第二异步缓存器均可以是FIFO缓存器。
[0023] 下面通过附图及具体实施例对本发明做进一步的详细说明。
[0024] 本发明实施例实现一种异步缓存方法,如图1所示,该方法包括以下几个步骤:
[0025] 步骤101 :按照第二异步缓存器中间部分地址块的编码和虚拟地址块的编码对第 一异步缓存器的地址块进行编码,所述第一异步缓存器的深度为小于第二异步缓存器的深 度的任意偶数个地址块;
[0026] 具体的,第一异步缓存器的深度为M个地址块,第二异步缓存器的深度为2~N个 地址块,所述M为小于2~N的任意偶数,所述N为第一异步缓存器和第二异步缓存器的寻 址编码指针的宽度,将第二异步缓存器中编号为(2V-M) / 2--2-N-l-(2-N_M) / 2 的地址块对应的类格雷编码对应配置给所述第一异步缓存器的M个地址块,并将虚拟的 编号为2~N+(2~N-M) / 2--2*2~N-1-(2~N-M) / 2的地址块对应的类格雷编码对应配 置给所述第一异步缓存器的M个地址块。这里,所述类格雷编码为N+1位,根据编号为 (2~N-M) / 2--2~N-1-(2~N-M) / 2的地址块和虚拟的编号为2~N+(2~N-M) / 2-- 2*2~N-1-(2~N-M) / 2的地址块对应的的二进制编码转换获得,具体可以是:
[0027] Bn=ODpV1,......b〇}
[0028]Gn={gM,g^,......g〇}
[0029]Gn= (Bn>>l)'Bn;
[0030] 其中,Bn表示第n层地址块对应指针的二进制编码,bM……k表示二进制编码指 针的各比特位,例如:b7……k表示8位的二进制编码指针的各比特位;Gn表示第n层地址 块对应指针的类格雷编码,gM……g(1表示类格雷编码指针的各比特位,例如:g7……g(1表示 8位类格雷编码指针的各比特位;Gn=(Bn>>l)~Bn表示二进制编码与类格雷编码的转换关 系。
[0031] 例如:M=100,N=7,将第二异步缓存器的所有地址块的二进制编码转换为类格雷编 码如表1左侧所示,将编号为128?255的虚拟地址块的二进制编码转换为类格雷编码如 表1右侧所示,可以将第二异步缓存器中编号为14?113的地址块的类格雷编码配置给第 一异步缓存器,以及将编号为142?241的虚拟地址块的类格雷编码配置给第一异步缓存 器,这样,第一异步缓存器中100个地址块的编码与将第二异步缓存器中编号为14?113 的地址块的编码和编号为142?241的虚拟地址块的编码一一对应。

【权利要求】
1. 一种异步缓存方法,其特征在于,该方法包括: 按照第二异步缓存器中间部分地址块的编码和虚拟地址块的编码对第一异步缓存器 的地址块进行编码,所述第一异步缓存器的深度为小于第二异步缓存器的深度的任意偶数 个地址块; 第一异步缓存器在读写数据过程中,按照读或写指针指示的地址块的编码确定自身的 状态。
2. 根据权利要求1所述的异步缓存方法,其特征在于,所述按照第二异步缓存器中间 部分地址块的编码对第一异步缓存器的地址块进行编码为: 第一异步缓存器的深度为M个地址块,第二异步缓存器的深度为2~N个地址块,所述M为小于2~N的任意偶数,所述N为第一异步缓存器和第二异步缓存器的寻址编码指针的宽 度,将第二异步缓存器中编号为(2V-M) / 2--2-N-l-(2-N_M) / 2的地址块对应的类格 雷编码对应配置给所述第一异步缓存器的M个地址块,并将虚拟的编号为2~N+(2~N-M) / 2--2*2-N-l-(2-N_M) / 2的地址块对应的类格雷编码对应配置给所述第一异步缓存器 的M个地址块。
3. 根据权利要求2所述的异步缓存方法,其特征在于,所述读或写指针的指示范 围为第二异步缓存器中编号为(2V-M) / 2--2-N-l-(2-N_M) / 2地址块和虚拟的 2~N+(2~N-M) / 2--2*2~N-1-(2~N-M) / 2地址块对应的类格雷编码。
4. 根据权利要求3所述的异步缓存方法,其特征在于,该方法还包括: 当读或写指针指示到2~N-1-(2~N-M) / 2地址块对应的类格雷编码时,读或写指针在 下一次读或写后跳转指示虚拟的2~N+(2~N-M) / 2地址块对应的类格雷编码。
5. 根据权利要求4所述的异步缓存方法,其特征在于,所述按照读或写指针指示的地 址块的编码确定自身的状态为: 当读指针指示的地址块的类格雷编码与写指针指示的地址块的类格雷编码相同时,第 一异步缓存器为空,当读指针与写指针指示的地址块的类格雷编码的前两位相反、其他位 相同时,第一异步缓存器为满。
6. -种第一异步缓存器,其特征在于,该第一异步缓存器的深度为小于第二异步缓存 器的深度的任意偶数个地址块,包括:任意偶数个地址块、状态指示器;其中, 所述任意偶数个地址块的编码为第二异步缓存器中间部分地址块的编码和虚拟地址 块的编码; 所述状态指示器,配置为在读写数据过程中,按照读或写指针指示的地址块的编码确 定第一异步缓存器的状态。
7. 根据权利要求6所述的第一异步缓存器,其特征在于,所述第二异步缓存器中间部 分地址块的编码为编号为(2~N-M) / 2--2~N-1-(2~N-M) / 2的地址块对应的类格雷编 码; 所述虚拟地址块的编码为虚拟的编号为2~N+(2~N-M) / 2--2*2~N-1-(2~N-M) / 2 的地址块对应的类格雷编码; 其中,所述M为第一异步缓存器的深度,所述N为第一异步缓存器和第二异步缓存器的 寻址编码指针的宽度,所述M为小于2~N的任意偶数。
8. 根据权利要求7所述的第一异步缓存器,其特征在于,所述读或写指针的指示范 围为第二异步缓存器中编号为(2-N-M) / 2--2-N-l-(2-N_M) / 2地址块和虚拟的 2~N+(2~N-M) / 2--2*2~N-1-(2~N-M) / 2地址块对应的类格雷编码。
9. 根据权利要求8所述的第一异步缓存器,其特征在于,所述读或写指针指示到 2~N-1-(2~N-M) / 2地址块对应的类格雷编码时,在下一次读或写后跳转指示虚拟的 2~N+(2~N-M) / 2地址块对应的类格雷编码。
10. 根据权利要求9所述的第一异步缓存器,其特征在于,所述状态指示器,还配置为 当读指针指示的地址块的类格雷编码与写指针指示的地址块的类格雷编码相同时,指示第 一异步缓存器为空,当读指针与写指针指示的地址块的类格雷编码的前两位相反、其他位 相同时,指示第一异步缓存器为满。
11. 一种集成电路,其特征在于,该集成电路包括第一异步缓存器,该第一异步缓存器 的深度为小于第二异步缓存器的深度的任意偶数个地址块,包括:任意偶数个地址块、状态 指示器;其中, 所述任意偶数个地址块的编码为第二异步缓存器中间部分地址块的编码和虚拟地址 块的编码; 所述状态指示器,配置为在读写数据过程中,按照读或写指针指示的地址块的编码确 定第一异步缓存器的状态。
12. 根据权利要求11所述的集成电路,其特征在于,所述第二异步缓存器中间部分地 址块的编码为编号为(2~N-M) / 2--2~N-1-(2~N-M) / 2的地址块对应的类格雷编码; 所述虚拟地址块的编码为虚拟的编号为2~N+(2~N-M) / 2--2*2~N-1-(2~N-M) / 2 的地址块对应的类格雷编码; 其中,所述M为第一异步缓存器的深度,所述N为第一异步缓存器和第二异步缓存器的 寻址编码指针的宽度,所述M为小于2~N的任意偶数。
13. 根据权利要求12所述的集成电路,其特征在于,所述读或写指针的指示范围 为第二异步缓存器中编号为(2V-M) / 2--2-N-l-(2-N_M) / 2地址块和虚拟的 2~N+(2~N-M) / 2--2*2~N-1-(2~N-M) / 2地址块对应的类格雷编码。
14. 根据权利要求13所述的集成电路,其特征在于,所述读或写指针指示到 2~N-1-(2~N-M) / 2地址块对应的类格雷编码时,在下一次读或写后跳转指示虚拟的 2~N+(2~N-M) / 2地址块对应的类格雷编码。
15. 根据权利要求14所述的集成电路,其特征在于,所述状态指示器,还配置为当读指 针指示的地址块的类格雷编码与写指针指示的地址块的类格雷编码相同时,指示第一异步 缓存器为空,当读指针与写指针指示的地址块的类格雷编码的前两位相反、其他位相同时, 指示第一异步缓存器为满。
【文档编号】G06F5/10GK104516710SQ201310455730
【公开日】2015年4月15日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】邵淑媛, 黄雷 申请人:快捷半导体(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1