CN100463443C - 一种异步fifo实现系统及实现方法 - Google Patents

一种异步fifo实现系统及实现方法 Download PDF

Info

Publication number
CN100463443C
CN100463443C CNB2005100120822A CN200510012082A CN100463443C CN 100463443 C CN100463443 C CN 100463443C CN B2005100120822 A CNB2005100120822 A CN B2005100120822A CN 200510012082 A CN200510012082 A CN 200510012082A CN 100463443 C CN100463443 C CN 100463443C
Authority
CN
China
Prior art keywords
subsystem
asynchronous fifo
data
fifo
asynchronous
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.)
Expired - Fee Related
Application number
CNB2005100120822A
Other languages
English (en)
Other versions
CN1893388A (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.)
CHINA TECHNOLOGY EXCHANGE CO., LTD.
State Grid Beijing Electric Power Co Ltd
State Grid Economic and Technological Research Institute
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2005100120822A priority Critical patent/CN100463443C/zh
Publication of CN1893388A publication Critical patent/CN1893388A/zh
Application granted granted Critical
Publication of CN100463443C publication Critical patent/CN100463443C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种异步FIFO实现系统及实现方法,其中该异步FIFO实现系统包括通过数据线、控制线依次连接的一数据总线宽度转换子系统、一第一异步FIFO子系统、一同步FIFO子系统和一第二异步FIFO子系统,同步FIFO子系统产生第一控制信号传输到外部,同步FIFO子系统与前后两个异步FIFO子系统之间有第二控制信号传输。本发明的异步FIFO实现系统和实现方法实现的异步FIFO系统功能丰富,可用在传统异步FIFO不能适用的许多场合,通过传统异步FIFO子系统与同步FIFO子系统结合能产生功能丰富的控制信息并具备多种操作手段,通过前置的数据总线宽度转换子系统实现数据位宽转换,同时通过调整第一异步FIFO子系统的输出时钟还可适应外部输入时钟较大范围的抖动。

Description

一种异步FIFO实现系统及实现方法
技术领域
本发明涉及FIFO系统,特别是一种用于通信领域中可适应多种应用场合的多功能异步FIFO实现系统及实现方法。
背景技术
FIFO(First Input First Out,先进先出)是一种在通信系统中应用非常广泛的技术,它可以缓存暂时来不及处理的数据。FIFO除了数据线外,输入端有写、满等控制信号,输出端有读、空等控制信号。
FIFO还可以在2个不同时钟域之间进行无差错通讯,当FIFO两侧的读写时钟频率、相位相同时,该FIFO称为同步FIFO,否则为异步FIFO。
同步FIFO由于时钟域相同,读写两方的信息可以直接传送到对方,同步FIFO可以非常方便按各种策略需求进行控制,如对其进行定长/非定长操作,产生满/空、几乎满/几乎空、半满/半空信号等等。
而对于异步FIFO,由于其是跨时钟域,一个时钟域的信息必须转换为Gray码(格雷码)或类似方式才可以到达对方时钟域,在对方时钟域进行相关逻辑运算,因此要对异步FIFO进行类似同步FIFO般的多功能控制是困难的,即使能做到也需耗费大量硬件资源。
发明内容
为了解决上述问题,本发明的目的在于提供一种异步FIFO实现系统及实现方法,能产生功能丰富的控制信息并具备多种操作手段,实现数据位宽转换,同时还可适应外部输入时钟较大范围的抖动。
为了实现上述目的,本发明提供了一种异步FIFO实现系统,其中,包括通过数据线依次连接的一数据总线宽度转换子系统、一第一异步FIFO子系统、一同步FIFO子系统和一第二异步FIFO子系统,所述同步FIFO子系统产生第一控制信号传输到外部,所述同步FIFO子系统与前后两个异步FIFO子系统之间有第二控制信号传输。
上述的多功能异步FIFO实现系统,其中,所述第一异步FIFO子系统的输入端时钟频率抖动时,所述第一异步FIFO子系统的输出端时钟频率与所述第一异步FIFO子系统输出数据位宽的乘积应大于所述第一异步FIFO子系统的输入端最大时钟频率与所述数据总线宽度转换子系统前的输入数据位宽的乘积。
上述的多功能异步FIFO实现系统,其中,所述同步FIFO子系统存储一定长度数据后允许外部逻辑读取,数据通过所述第二异步FIFO子系统输出。
上述的多功能异步FIFO实现系统,其中,相邻的FIFO之间通过基本控制信息进行信息握手。
为了更好的实现上述目的,本发明提供了一种多功能异步FIFO实现方法,其中,包括以下步骤:
步骤1,数据通过一数据总线宽度转换子系统将输入数据的位宽展宽;
步骤2,数据通过一第一异步FIFO子系统,从第一时钟频率转换到第二时钟频率;
步骤3,数据通过一同步FIFO子系统;
步骤4,数据通过一第二异步FIFO子系统,从第二时钟频率转换到第三时钟频率后输出;
所述同步FIFO子系统产生第一控制信号传输到外部,所述同步FIFO子系统与所述异步FIFO子系统之间有第二控制信号传输。
上述的多功能异步FIFO实现方法,其中,所述第一时钟频率抖动时,所述第二时钟频率与所述第一异步FIFO子系统输出数据位宽的乘积大于所述第一时钟频率的最大值与所述数据总线宽度转换子系统前的输入数据位宽的乘积。
上述的多功能异步FIFO实现方法,其中,所述步骤4中,同步FIFO子系统存储一定长度数据后允许外部逻辑读取,数据通过所述第二异步FIFO子系统,从第二时钟频率转换到第三时钟频率后输出。
上述的多功能异步FIFO实现方法,其中,相邻的FIFO之间通过“读、写、空、满”等基本控制信息进行信息握手。
本发明的异步FIFO实现系统和实现方法实现的异步FIFO系统功能丰富,可用在传统异步FIFO不能适用的许多场合,通过异步FIFO子系统与同步FIFO子系统结合能产生功能丰富的控制信息并具备多种操作手段,通过前置的数据总线宽度转换子系统实现数据位宽转换,同时通过调整第一异步FIFO子系统的输出时钟还可适应外部输入时钟较大范围的抖动。
附图说明
图1为本发明的异步FIFO实现系统结构示意图;
图2为本发明的异步FIFO实现系统应用于高速接口芯片接收端实施示意图;
图3为图2中异步FIFO实现系统的数据传输示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
本发明综合传统意义上的异步FIFO和同步FIFO的特点,采用多FIFO级联的方式以实现一个异步FIFO实现系统10。
本发明的异步FIFO实现系统结构如图1所示。异步FIFO实现系统10包括2个小容量传统意义上的异步FIFO子系统:第一异步FIFO子系统2和第二异步FIFO子系统4,1个大容量的,相邻FIFO子系统之间通过“读、写、空、满”等基本控制信号进行信息握手。另外,在数据的最初输入端,有一。第一异步FIFO子系统2和第二异步FIFO子系统4按数据行读写,可分别产生空/满信号。数据总线宽度转换子系统1、第一异步FIFO子系统2、同步FIFO子系统3和第二异步FIFO子系统4通过数据线和控制线依次连接。
当异步FIFO实现系统10向外部逻辑表明其非“半满”,此时“满/几乎满”信号也为“假”,即异步FIFO实现系统10有较大空间允许外部逻辑发送数据时,外部逻辑发送数据先通过数据总线宽度转换子系统1进行总线宽度转换,接着外部逻辑通过“写”命令将数据写入第一异步FIFO子系统2;进而第一异步FIFO子系统2向同步FIFO子系统3显示其非“空”,同步FIFO子系统3发出“读”命令读出第一异步FIFO子系统2中的数据;当同步FIFO3存储到一定长度数据后,其向外部发出非“半空”信号,此时“空/几乎空”信号也为“假”,外部逻辑发出“读”命令,同步FIFO子系统3中的数据通过第二异步FIFO子系统4发送出去。
如图1所示,该异步FIFO实现系统10的时钟分布为:
数据总线宽度转换子系统1和第一异步FIFO子系统2的输入端的时钟为外部时钟clk0;
第一异步FIFO子系统2的输出端第二异步FIFO子系统4的输入端,即同步FIFO子系统3输入端、输出端的时钟为clk1;
第二异步FIFO子系统4的输出端时钟为内部时钟clk2。
在此,clk1乘上第一异步FIFO子系统2输出位宽应大于clk0乘上数据总线宽度转换子系统1之前的数据输入位宽。同时由于clk0频率在某些情况下可能在一定范围内抖动,因此clk1频率选取要适应clk0抖动的最高限度,这样第一异步FIFO子系统2就不会溢出,数据不会在第一异步FIFO子系统2处丢失。
其中,数据总线宽度转换子系统1将输入数据总线宽度展宽至原先的N倍(N为自然数),这使后续模块的处理时钟得以降低;第一异步FIFO子系统2容量较小,是一个实现时钟转换的接口;同步FIFO子系统3容量较大,可以吸收数据流的突发。由于同步FIFO子系统3易操作,因此可方便的产生各种信号并对其进行各种复杂操作;第二异步FIFO子系统4容量较小,是一个实现时钟转换的接口。第二异步FIFO子系统4的输入端时钟为clk1,输出端时钟为clk2,clk2频率根据功能需求具体确定,一般为芯片内部时钟,clk2频率可以小于clk1。
异步FIFO实现系统10的一些关键信号,如“空/几乎空/半空”、“满/几乎满/半满”等主要由同步FIFO子系统3产生。如同步FIFO子系统3可产生“半满”信号使外部相关逻辑发送PAUSE控制帧反压数据输入流量;又如同步FIFO子系统3在接收一非定长以太网整帧,或者是一定长ATM帧后发出可读信号以向外部逻辑表示可进行数据读取等。
外部逻辑对异步FIFO实现系统10的“读”、“写”信号在作用同步FIFO子系统3的同时,也作用到第一异步FIFO子系统2和第二异步FIFO子系统4,这样使第一异步FIFO子系统2、同步FIFO子系统3和第二异步FIFO子系统4进行有序动作。
结合图1,以下为数据流经过该异步FIFO实现系统10的过程,包括以下步骤:
步骤1,输入数据通过数据总线宽度转换子系统1,使数据位宽展宽到N倍(N为自然数);
步骤2,数据通过第一异步FIFO子系统2,其输出端时钟clk1乘上其输出总线宽度应大于clk0乘上未展宽之前的输入总线宽度,并且clk1频率选取要适应clk0抖动的最高限度,第一异步FIFO子系统2和同步FIFO子系统3之间除了数据线外,还有“读、写、空、满”等第二控制信号;
步骤3,数据通过同步FIFO子系统3,同步FIFO子系统3产生该异步FIFO实现系统10所需的控制信号,同步FIFO子系统3和第二异步FIFO子系统4之间除了数据线外,还有“读、写、空、满”等第二控制信号;
步骤4,数据通过异步FIFO子系统4输出。
图2和图3所示为该异步FIFO实现系统10应用于高速接口芯片接收端的实施例。
异步FIFO实现系统10将125MHz的外部时钟触发的8位数据流,转换为62.5MHz的内部时钟触发的16位数据流。异步FIFO实现系统10向输入端产生“满/几乎满/半满”等第一控制信号;向输出端产生“空/几乎空/半空”等第一控制信号,读操作为整帧读取。如图2所示,虚框内为数据处理芯片。
图2中PHY芯片20提供的接收时钟clk0应为125MHz,实际上其在124MHz与126MHz之间抖动;clk1为66MHz;芯片核心时钟clk2为62.5MHz。
当利用本发明的异步FIFO实现系统10时,FIFO实现系统的数据变化示意图如图3所示:
1:2数据总线宽度转换子系统1’将8bits数据流转换为16bits数据流;
第一异步FIFO子系统2’深度为4,位宽为16bits,将125MHz数据流转换为66MHz数据流;
同步FIFO子系统3’深度为2K,位宽为16bits,可容纳2个以太网最长帧;
第二异步FIFO子系统4’深度为4,位宽为16bits,将66MHz数据流转换为62.5MHz数据流。
结合图2和图3,通过以上结构,该异步FIFO实现系统实现了以下功能:
输入数据通过1:2数据总线宽度转换子系统1’,使数据位宽展宽到16位;
尽管PHY芯片20提供的clk0在124MHz与126MHz之间抖动,但由于clk1为66MHz,等效于8bits位宽下的132MHz,因此数据不会在第一异步FIFO子系统2’处丢失;
同步FIFO子系统3’的容量较大,可以吸收由于时钟抖动所造成的数据突发,抗丢包能力得到加强;
由于采用同步FIFO子系统3’,系统可以容易产生各种控制策略,在输入端,异步FIFO实现系统10’中的同步FIFO子系统3’产生“满/几乎满/半满”信号,当信号为非“半满”时,允许外部逻辑发送数据进入异步FIFO实现系统10’;在输出端,异步FIFO实现系统10’中的同步FIFO子系统3’产生“空/几乎空/半空”信号,当同步FIFO子系统3’存储一整帧数据后,其向外部发出非“半空”信号允许外部逻辑读取;
当同步FIFO子系统3’存储一整帧后允许外部逻辑读取,数据流经过第二异步FIFO子系统4’进行时钟域转换。
对于一般异步FIFO,以上异步FIFO实现系统的许多功能都是难以实现的,相比较而言,本发明中的异步FIFO实现系统10’可较容易实现。
当然,上述的异步/同步FIFO子系统也可以是分别由多个异步/同步FIFO串联而成,组成异步/同步FIFO子系统。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种用于通信系统的异步FIFO实现系统,其特征在于,包括通过数据线和控制线依次连接的一第一异步FIFO子系统、一同步FIFO子系统和一第二异步FIFO子系统,所述同步FIFO子系统产生第一控制信号传输到外部,所述同步FIFO子系统与相邻异步FIFO子系统之间有第二控制信号传输。
2.根据权利要求1所述的异步FIFO实现系统,其特征在于,还包括一与所述第一异步FIFO子系统相连的数据总线宽度转换子系统,用于展宽输入数据的总线宽度。
3.根据权利要求2所述的异步FIFO实现系统,其特征在于,所述第一异步FIFO子系统的输入端时钟频率抖动时,所述第一异步FIFO子系统的输出端时钟频率与所述第一异步FIFO子系统输出数据位宽的乘积应大于所述第一异步FIFO子系统的输入端最大时钟频率与所述数据总线宽度转换子系统前的输入数据位宽的乘积。
4.根据权利要求1、2或3所述的异步FIFO实现系统,其特征在于,所述同步FIFO子系统存储一定长度数据后允许外部逻辑读取,数据通过所述第二异步FIFO子系统输出。
5.根据权利要求1、2或3所述的异步FIFO实现系统,其特征在于,相邻的FIFO子系统之间通过读、写、空、满信息进行信息握手。
6.一种多功能异步FIFO实现方法,其特征在于,包括以下步骤:
步骤1,输入数据通过一第一异步FIFO子系统,从第一时钟频率转换到第二时钟频率;
步骤2,数据通过一同步FIFO子系统;
步骤3,数据通过一第二异步FIFO子系统,从第二时钟频率转换到第三时钟频率后输出;
其中,所述同步FIFO子系统产生第一控制信号传输到外部,所述同步FIFO子系统与所述相邻异步FIFO子系统之间有第二控制信号传输。
7.根据权利要求6所述的多功能异步FIFO实现方法,其特征在于,所述步骤1之前还包括步骤:
一数据总线宽度转换子系统将输入数据的位宽展宽。
8.根据权利要求7所述的多功能异步FIFO实现方法,其特征在于,所述第一时钟频率抖动时,所述第二时钟频率与所述第一异步FIFO子系统输出数据位宽的乘积大于所述第一时钟频率的最大值与所述数据总线宽度转换子系统前的输入数据位宽的乘积。
9.根据权利要求6、7或8所述的多功能异步FIFO实现方法,其特征在于,所述步骤3中,同步FIFO子系统存储一定数据长度后允许外部逻辑读取,数据通过所述第二异步FIFO子系统,从第二时钟频率转换到第三时钟频率后输出。
10.根据权利要求6、7或8所述的多功能异步FIFO实现方法,其特征在于,相邻的FIFO子系统之间通过读、写、空、满信息进行信息握手。
CNB2005100120822A 2005-07-01 2005-07-01 一种异步fifo实现系统及实现方法 Expired - Fee Related CN100463443C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100120822A CN100463443C (zh) 2005-07-01 2005-07-01 一种异步fifo实现系统及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100120822A CN100463443C (zh) 2005-07-01 2005-07-01 一种异步fifo实现系统及实现方法

Publications (2)

Publication Number Publication Date
CN1893388A CN1893388A (zh) 2007-01-10
CN100463443C true CN100463443C (zh) 2009-02-18

Family

ID=37597910

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100120822A Expired - Fee Related CN100463443C (zh) 2005-07-01 2005-07-01 一种异步fifo实现系统及实现方法

Country Status (1)

Country Link
CN (1) CN100463443C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299204B (zh) * 2008-06-10 2010-06-02 北京天碁科技有限公司 一种异步fifo及其地址转换方法
CN102129696B (zh) * 2010-12-27 2012-12-19 上海大学 基于fpga的圆弧边缘图像的参数计算方法
CN104298634B (zh) * 2014-09-24 2017-06-30 四川九洲电器集团有限责任公司 基于fpga和dsp的数据传输系统
CN110221994B (zh) * 2018-03-01 2022-04-08 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质
CN113867681B (zh) * 2021-09-30 2024-03-08 海光信息技术股份有限公司 数据处理方法及装置、数据处理设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
US5809521A (en) * 1993-01-11 1998-09-15 Hewlett-Packard Company Single and multistage stage fifo designs for data transfer synchronizers
CN1478226A (zh) * 2000-06-09 2004-02-25 ŦԼ�и��ױ��Ǵ�ѧ�йܻ� 混合异步同步系统的低等待时间fifo电路
CN1560868A (zh) * 2004-02-10 2005-01-05 中国科学院计算技术研究所 用双端口随机存取存储器实现异步先进先出数据传输
CN1625052A (zh) * 2003-12-04 2005-06-08 雅马哈株式会社 异步信号输入设备和采样频率转换设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
US5809521A (en) * 1993-01-11 1998-09-15 Hewlett-Packard Company Single and multistage stage fifo designs for data transfer synchronizers
CN1478226A (zh) * 2000-06-09 2004-02-25 ŦԼ�и��ױ��Ǵ�ѧ�йܻ� 混合异步同步系统的低等待时间fifo电路
CN1625052A (zh) * 2003-12-04 2005-06-08 雅马哈株式会社 异步信号输入设备和采样频率转换设备
CN1560868A (zh) * 2004-02-10 2005-01-05 中国科学院计算技术研究所 用双端口随机存取存储器实现异步先进先出数据传输

Also Published As

Publication number Publication date
CN1893388A (zh) 2007-01-10

Similar Documents

Publication Publication Date Title
US7013359B1 (en) High speed memory interface system and method
CN100463443C (zh) 一种异步fifo实现系统及实现方法
JP3992100B2 (ja) 伝送リンク層コア速度を高くするためのネットワーク
US20120324152A1 (en) Memory controller with bi-directional buffer for achieving high speed capability and related method thereof
US6741193B2 (en) Parallel in serial out circuit having flip-flop latching at multiple clock rates
CN104022775A (zh) 一种面向SerDes技术中基于FIFO协议的数字接口电路
US20060120498A1 (en) System, apparatus, and method to increase information transfer across clock domains
CN110515879B (zh) 一种异步传输装置及其传输方法
CN114968893B (zh) 基于时间戳的PCIe报文队列调度方法、系统及设备
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
CN109951750A (zh) 基于FlexE一层交叉架构的数据处理方法及系统
CN113986792B (zh) 一种数据位宽转换方法及通信设备
JP2003143117A (ja) データ同期化回路及び通信インターフェース回路
CN112328523A (zh) 传输双倍速率信号的方法、装置及系统
CN101001199A (zh) 一种高速多位并行数据总线的数据处理方法
CN110705195A (zh) 一种基于fpga的跨时钟域深度自行配置fifo系统
WO2022126892A1 (zh) Serdes接口电路
CN113204505A (zh) 一种基于fpga的不同速率的接口转换方法
CN115834602A (zh) 一种异步数据流通信交互系统
CN101267459B (zh) 采用异步fifo寄存器输出数据的方法及寄存器
US6920578B1 (en) Method and apparatus for transferring data between a slower clock domain and a faster clock domain in which one of the clock domains is bandwidth limited
US7899955B2 (en) Asynchronous data buffer
US7990296B1 (en) High speed low power cell providing serial differential signals
CN111666225B (zh) 一种数据处理电路及方法
CN115882870B (zh) 一种高速串行器解串器集成方法及电子设备

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
ASS Succession or assignment of patent right

Owner name: BEIJING POWER ECONOMIC RESEARCH INSTITUTE

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20140129

Owner name: STATE GRID BEIJING ELECTRIC POWER COMPANY CHINA TE

Effective date: 20140129

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 100055 XICHENG, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140129

Address after: 100055 No. 15 West Street, Guanganmen station, Beijing, Xicheng District

Patentee after: State Power Economic Research Institute

Patentee after: State Grid Beijing Electric Power Company

Patentee after: CHINA TECHNOLOGY EXCHANGE CO., LTD.

Address before: 518057 Nanshan District, Guangdong high tech Industrial Park, science and Technology Industrial Park, ZTE building, block A, layer 6, layer

Patentee before: ZTE Corporation

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218

Termination date: 20150701

EXPY Termination of patent right or utility model