CN1407458A - 一种异步先进先出(fifo)数据缓存的方法 - Google Patents

一种异步先进先出(fifo)数据缓存的方法 Download PDF

Info

Publication number
CN1407458A
CN1407458A CN 01130699 CN01130699A CN1407458A CN 1407458 A CN1407458 A CN 1407458A CN 01130699 CN01130699 CN 01130699 CN 01130699 A CN01130699 A CN 01130699A CN 1407458 A CN1407458 A CN 1407458A
Authority
CN
China
Prior art keywords
fifo
address
read
write
full signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 01130699
Other languages
English (en)
Other versions
CN1293479C (zh
Inventor
李春
陈永渝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB011306998A priority Critical patent/CN1293479C/zh
Publication of CN1407458A publication Critical patent/CN1407458A/zh
Application granted granted Critical
Publication of CN1293479C publication Critical patent/CN1293479C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种数据存储地址选择的方法,尤其涉及一种对于数据传递以块为单位的异步先进先出(FIFO)数据缓存的方法,对存储器地址分为块地址和块内偏移地址,对块地址进行格雷码编码,存储器根据接口协议的需要产生操作状态如空满信号,空满信号是以块地址为单位产生的。这种异步FIFO数据缓存的方法,满足了以数据块为单位传递的接口要求,降低接口时序处理的难度,简化处理逻辑,在FIFO地址偶然紊乱的情况下可自恢复,提高了可靠性。

Description

一种异步先进先出(FIFO)数据缓存的方法
技术领域
本发明涉及一种数据存储地址选择的方法,更具体地说,涉及一种异步先进先出(FIFO)数据缓存的方法。
背景技术
在芯片中的接口模块设计中,一般都需要用FIFO来进行数据缓存。如果是异步时钟,还需要设计满足要求的异步FIFO来缓存数据,由于各种接口的协议不同,传送数据的方式不同,就需要根据其特点设计相匹配的异步FIFO。
目前异步FIFO的数据缓存一般是采用双口RAM实现,读写地址在读写使能的作用下加一,对读写地址进行格雷码编码后比较,由读写地址的格雷码比较来产生空满信号。对于数据传递以块为单位的接口,如UTOPIA接口是以信元为单位传递、FBUS接口是以64字节为单位传递的,采用一般的异步FIFO数据缓存的方法,其空满信号的产生与协议的需求不一致,需要外加电路进行适配,导致接口处理的复杂度上升,难度加大,可靠性下降;同时由于在FIFO地址偶然紊乱的情况下,很难恢复正常状态或者在短时间难以恢复,其可靠性和鲁棒性都较差。
发明内容
本发明目的就在于提供对于数据传递以块为单位的异步FIFO数据缓存的方法,以降低接口处理的复杂度,提高可靠性。
本发明目的是通过以下技术方案实现的:
一种异步先进先出(FIFO)数据缓存的方法,包括:
存储器的地址采用块地址和块内偏移地址,空信号或满信号以块地址为单位产生。
所述的空信号或满信号的产生包括:当读出、写入最后一个块的空间时,只要读出、写入一个单位的数据就产生空信号、满信号。
进一步的,当产生空信号或满信号时仍可以继续读出或写入,直到偏移地址完毕,或者读出、写入一个包尾时,允许读出或允许写入禁止。
上述的块地址进行格雷码编码。
由于空信号、满信号是以块地址为单位产生的,满足了以数据块为单位传递的接口要求,降低接口时序处理的难度,简化处理逻辑;同时若某块数据读写出错,少或多读、写数据,不会蔓延到其它块的数据,到下一块的时候,读写偏移指针就自动校正恢复到0,不会导致错误的延续,从而提高了可靠性。
附图说明
图1为本发明产生满信号一实施例的写时序图;
图2为本发明产生空信号一实施例的读时序图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
异步FIFO用深512宽40bits的双口RAM实现,将读、写地址分成块地址和偏移地址,16个偏移地址构成一个块地址,共有32个块。采用对块地址进行格雷码编码的方式,偏移地址在读写使能作用下加1,而块地址在块读使能(Rensoc)、块写使能(Wensoc)有效时加1,Rensoc、Wensoc在以下情况时有效:a、读、写偏移地址加到16;b、读出、写入一个包尾(EOP)。
当只剩一个块的空间,只要写入一个单位即产生满信号,但还可继续写,直到写到偏移地址为16或写入一个EOP时,就不能再写入,允许写入(Write-enable)为0。参见图1所示。图1为产生满信号的写时序图,图中Data-in[33]表示写入数据包的包尾标记。
同样地,当还有一个块的数据未读出,只要读出一个单位即产生空信号,但还可继续,直到读偏移地址为16或读出一个EOP时,就不能再读,允许读出(Read-enable)为0。参见图2所示。图2为产生空信号的读时序图,图中Data-out[33]表示读出数据包的包尾标记。
综上所述,空满标志的产生是以块为基础的。对于FBUS、UTOPIA等接口,它们是以数据块为单位传递的接口,同时要求FIFO中的数据在没有一块但有一个包尾数据的情况下,也必须报非空的要求,这种FIFO处理起来就很简单,因为只要FIFO中写入一个包尾EOP时,块写指针就加一,这样异步FIFO就会报非空。同时,其满信号也是以块为单位产生的,只要非满,就可至少接收一个数据块,这样就简化了接口处理逻辑。
本发明并不局限于上述实施例的具体介绍。本发明可进一步更新,或者对本发明所公开的特征加以新的组合(包括任何相关的权利要求、摘要和附图),也可对本发明所公开的任何方法或者过程进行更新或者进行新组合。

Claims (4)

1、一种异步先进先出(FIFO)数据缓存的方法,其特征在于该方法包括:存储器的地址采用块地址和块内偏移地址,空信号或满信号以块地址为单位产生。
2、根椐权利要求1所述的异步先进先出(FIFO)数据缓存的方法,其特征在于所述的空信号或满信号以块地址为单位产生包括:当读出或写入最后一个块的空间时,只要读出或写入一个单位的数据就产生空信号或满信号。
3、根椐权利要求1或2所述的异步先进先出(FIFO)数据缓存的方法,其特征在于进一步包括:当产生空信号或满信号时仍然可以继续读出或写入,直到块内偏移地址完毕时,或者读出或写入一个包尾时,允许读出或允许写入禁止。
4、根椐权利要求1所述的异步先进先出(FIFO)数据缓存的方法,其特征在于:所述的块地址进行格雷码编码。
CNB011306998A 2001-08-30 2001-08-30 异步先进先出方式缓存数据时空信号或满信号的生成方法 Expired - Lifetime CN1293479C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011306998A CN1293479C (zh) 2001-08-30 2001-08-30 异步先进先出方式缓存数据时空信号或满信号的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011306998A CN1293479C (zh) 2001-08-30 2001-08-30 异步先进先出方式缓存数据时空信号或满信号的生成方法

Publications (2)

Publication Number Publication Date
CN1407458A true CN1407458A (zh) 2003-04-02
CN1293479C CN1293479C (zh) 2007-01-03

Family

ID=4670076

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011306998A Expired - Lifetime CN1293479C (zh) 2001-08-30 2001-08-30 异步先进先出方式缓存数据时空信号或满信号的生成方法

Country Status (1)

Country Link
CN (1) CN1293479C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034539B (zh) * 2006-03-07 2011-01-26 北京中庆微数字设备开发有限公司 多驱动输出电路的电源噪声抑制方法
CN101267459B (zh) * 2008-04-23 2011-11-23 无锡中星微电子有限公司 采用异步fifo寄存器输出数据的方法及寄存器
CN109933560A (zh) * 2019-03-21 2019-06-25 南京威翔科技有限公司 一种基于fifo与随机存储器结合的模块间流控制通信方法
CN110188059A (zh) * 2019-05-17 2019-08-30 西安微电子技术研究所 数据有效位统一配置的流控式fifo缓存结构及方法
CN110968538A (zh) * 2018-09-28 2020-04-07 龙芯中科技术有限公司 一种数据缓冲方法和装置
CN113495903A (zh) * 2021-09-08 2021-10-12 西安热工研究院有限公司 电力时序数据库缓存方法、系统、设备及可读存储介质
WO2022000324A1 (zh) * 2020-06-30 2022-01-06 深圳市大疆创新科技有限公司 数据编码方法、数据解码方法、数据处理方法、编码器、解码器、系统、可移动平台与计算机可读介质
CN116540951A (zh) * 2023-07-06 2023-08-04 苏州仰思坪半导体有限公司 存储器、数据存取方法、存储装置及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62235660A (ja) * 1986-04-04 1987-10-15 Nec Corp 多次元配列のブロツク化アドレツシング装置
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JP3013800B2 (ja) * 1997-01-30 2000-02-28 日本電気株式会社 非同期fifo回路

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034539B (zh) * 2006-03-07 2011-01-26 北京中庆微数字设备开发有限公司 多驱动输出电路的电源噪声抑制方法
CN101267459B (zh) * 2008-04-23 2011-11-23 无锡中星微电子有限公司 采用异步fifo寄存器输出数据的方法及寄存器
CN110968538A (zh) * 2018-09-28 2020-04-07 龙芯中科技术有限公司 一种数据缓冲方法和装置
CN110968538B (zh) * 2018-09-28 2021-07-20 龙芯中科技术股份有限公司 一种数据缓冲方法和装置
CN109933560A (zh) * 2019-03-21 2019-06-25 南京威翔科技有限公司 一种基于fifo与随机存储器结合的模块间流控制通信方法
CN110188059A (zh) * 2019-05-17 2019-08-30 西安微电子技术研究所 数据有效位统一配置的流控式fifo缓存结构及方法
CN110188059B (zh) * 2019-05-17 2020-10-27 西安微电子技术研究所 数据有效位统一配置的流控式fifo缓存装置及方法
WO2022000324A1 (zh) * 2020-06-30 2022-01-06 深圳市大疆创新科技有限公司 数据编码方法、数据解码方法、数据处理方法、编码器、解码器、系统、可移动平台与计算机可读介质
CN113495903A (zh) * 2021-09-08 2021-10-12 西安热工研究院有限公司 电力时序数据库缓存方法、系统、设备及可读存储介质
CN116540951A (zh) * 2023-07-06 2023-08-04 苏州仰思坪半导体有限公司 存储器、数据存取方法、存储装置及存储介质
CN116540951B (zh) * 2023-07-06 2023-09-08 苏州仰思坪半导体有限公司 存储器、数据存取方法、存储装置及存储介质

Also Published As

Publication number Publication date
CN1293479C (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
US4692859A (en) Multiple byte serial data transfer protocol
CN1050212C (zh) 先进先出缓冲存储器
CN101572552B (zh) 基于内容可寻址存储器的高速无损数据压缩系统
US7802061B2 (en) Command-based control of NAND flash memory
US7251188B2 (en) Memory access interface for a micro-controller system with address/data multiplexing bus
CN102662856B (zh) 一种固态硬盘及其存取方法
US20030206442A1 (en) Flash memory bridiging device, method and application system
CN111563052B (zh) 降低读延时的缓存方法、装置、计算机设备及存储介质
CN113791994B (zh) 一种基于AXI协议wrap访问的DDR控制器及处理方法
CN111832240B (zh) Fifo数据传输方法及fifo存储装置
US5086388A (en) Semiconductor serial/parallel-parallel/serial file memory and storage system
CN1293479C (zh) 异步先进先出方式缓存数据时空信号或满信号的生成方法
CN101403962A (zh) 基于fpga的异步双fifo的数据缓存方法
CN112199071B (zh) 一种地址可控异步缓存器及异步缓存方法
CN108089825A (zh) 一种基于分布式集群的存储系统
US20050220239A1 (en) Asynchronous FIFO apparatus and method for passing data between a first clock domain and a second clock domain of a data processing apparatus
CN101825997A (zh) 一种异步先入先出存储器
EP0386719B1 (en) Partial store control circuit
CN101493759B (zh) 一种任意容量异步先入先出存储器的地址控制方法
US6769040B2 (en) System for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple buffers
US7457894B2 (en) Synchronization of non-sequential moving pointers
CN101894005A (zh) 高速接口向低速接口的异步fifo传输方法
CN101699391B (zh) 提高Java处理器取指令带宽的字节码缓冲装置及使用方法
CN114546292A (zh) 一种nand flash坏块管理方法及系统
US6925544B2 (en) Packet buffer memory with integrated allocation/de-allocation circuit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210426

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518057 HUAWEI building, road, Shenzhen science and Technology Park

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20070103

CX01 Expiry of patent term