CN109062538A - 环形先进先出缓冲器及数据传输接口、系统、方法 - Google Patents

环形先进先出缓冲器及数据传输接口、系统、方法 Download PDF

Info

Publication number
CN109062538A
CN109062538A CN201810751982.6A CN201810751982A CN109062538A CN 109062538 A CN109062538 A CN 109062538A CN 201810751982 A CN201810751982 A CN 201810751982A CN 109062538 A CN109062538 A CN 109062538A
Authority
CN
China
Prior art keywords
data
clock signal
trigger
pointer
annular
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
CN201810751982.6A
Other languages
English (en)
Other versions
CN109062538B (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.)
Omnivision Technologies Shanghai Co Ltd
Original Assignee
Omnivision Technologies Shanghai 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 Omnivision Technologies Shanghai Co Ltd filed Critical Omnivision Technologies Shanghai Co Ltd
Priority to CN201810751982.6A priority Critical patent/CN109062538B/zh
Publication of CN109062538A publication Critical patent/CN109062538A/zh
Application granted granted Critical
Publication of CN109062538B publication Critical patent/CN109062538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory

Abstract

本发明提供一种环形先进先出缓冲器(FIFO)及数据传输接口、系统、方法,通过同步电路将写指针和读指针的比较结果同步特定数量的时钟信号周期,能够实现不同时钟域之间的数据传输,且在FIFO的深度相同的情况下,能够增大环形先进先出缓冲器的Jitter裕度,提高环形先进先出缓冲器抗噪声的能力。进一步的,所述同步电路将写指针和读指针的比较结果同步(M/2‑0.5)个时钟信号周期,使环形先进先出缓冲器在读空和读满时均有(M/2‑1.5)个时钟信号周期的Jitter裕度,其中M为FIFO的深度。当FIFO深度为4时,本发明适合DDR的应用,能在最小硬件资源消耗下获得空和满均为0.5个时钟信号周期的Jitter裕度。

Description

环形先进先出缓冲器及数据传输接口、系统、方法
技术领域
本发明涉及通信技术领域,尤其涉及一种环形先进先出缓冲器及数据传输接口、系统、方法。
背景技术
DDR(Double Data Rate,双倍数据速率)技术,即在时钟的上升沿和下降沿都传送数据,能在保持时钟速率不变的情况下将数据传送速率提高一倍,因此DDR接口广泛用于芯片之间的互连,如ASIC(专用集成电路)和DRAM(动态随机存取存储器)芯片之间的接口。如图1所示,在DDR接口中,DRAM的时钟(CK)和数据选通时钟(DQS,或称为源同步时钟、读选通时钟)之间的时序关系和DDR接口的PHY(物理层)内部时钟信号phy_clk到接口的延时、DRAM芯片外部线延时以及DRAM芯片内部延时有关,变化比较大。目前在DDR PHY内部,在读取数据时,通常采用异步FIFO(先进先出)缓冲器来解决CK和DQS之间不同步的问题,以保证数据在不同时钟域之间正确传输。
图2为传统的深度为4的异步FIFO缓冲器地址同步电路,其先将写指针(wp)同步到读时钟(phy_clk)域(即写指针经过两级触发器DFF后输出为wp_2d),然后再和读指针rp比较得到读有效信号(valid)。然而,这种异步FIFO缓冲器读空时,Jiiter(抖动)裕度太小,具体请参考图3A所示的phy_clk没有Jitter的时序图以及图3B所示的phy_clk有Jitter的时序图,对比图3A和图3B,可以明显看出,当异步FIFO缓冲器输出的valid在一个读周期内受到jitter干扰时,读有效信号valid出错,出现读空的问题。请参考图3C,传统的改进方法是对valid信号多同步一拍得到valid_d1,然后用得到的valid_d1控制异步FIFO缓冲器的读操作,以使得异步FIFO缓冲器能够不受到时钟phy_clk的jitter的影响,不会出现读空的问题。然而对于深度为4的FIFO,参考图3D,虽然采用valid_d1的方法解决了读空的问题,但是由于其对valid信号多延迟了一拍,同样考虑phy_clk可能的jitter,其会有写满的问题,也即FIFO缓存区域里面的数据还没有来得及被读出就被写入新的数据了,造成了数据丢失。目前一种解决读满问题的方法就是增加FIFO数据缓存区域的深度,但随之带来的不利因素是读操作延迟的增加以及更多硬件资源的消耗。
综上所述,传统的异步FIFO缓冲器设计在平衡FIFO深度和抗jitter干扰性能上很难达到最优化设计,有一定局限性。
发明内容
本发明的目的在于提供一种环形先进先出缓冲器及数据传输接口、系统、方法,能够有效平衡FIFO的深度和抗jitter干扰性能,同时解决先进先出缓冲器Jitter裕度太小的问题,在同等的FIFO深度情况下,实现空和满均有最优的jitter裕量。
为了实现上述目的,本发明提供一种环形先进先出缓冲器(环形FIFO),包括:读指针、写指针、数据缓存区域以及同步电路;其中,所述读指针和所述写指针分别指向所述数据缓存区域中相应的存储地址;所述同步电路接入一周期性的时钟信号,并用于比较所述写指针和所述读指针,并将所述写指针和所述读指针的比较结果同步指定个数的所述时钟信号周期,以控制所述数据缓存区域中数据的读取。
可选的,所述同步电路包括一比较器以及依次串联的多级触发器,所述比较器用于接入和比较所述读指针和写指针,所述比较器的输出端连接各级所述触发器的异步清零端,所述多级触发器中的后一级触发器的数据输入端连接前一级触发器的数据输出端,且第一级触发器的数据输入端接一高电平信号,所述第一级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第一边沿,其余各级所述触发器的时钟端接入所述时钟信号并响应所述时钟信号的第二边沿。
可选的,所述第一级触发器的时钟端通过一反相器接入所述时钟信号,以响应所述时钟信号的第一边沿。
可选的,所述时钟信号的第一边沿为所述时钟信号的下降沿,所述时钟信号的第二边沿为所述时钟信号的上升沿。
可选的,所述同步电路将所述写指针和读指针的比较结果同步(M/2-0.5)个所述时钟信号的周期,其中,M为所述环形先进先出缓冲器的深度。
可选的,所述数据缓存区域为空时,所述写指针和读指针相等。
可选的,所述环形先进先出缓冲器的深度大于等于4。
本发明还提供一种上述的环形先进先出缓冲器的数据传输方法,包括:
当处于初始状态时,所述数据缓存区域为空,所述写指针和所述读指针相等;
当向所述数据缓存区域中写入数据时,所述写指针响应对应的数据选通信号的边沿来增加指向的存储地址,以使数据写入所述数据缓存区域中指定的缓存区域,此后,所述写指针不等于所述读指针,所述同步电路比较所述写指针和所述读指针,并将所述写指针和所述读指针的比较结果同步指定个数的所述时钟信号周期,使得读使能信号有效,读指针电路响应所述时钟信号,以增加所述读指针指向的存储地址,进而读出所述数据缓存区域中的数据。
可选的,当所述数据停止写入时,所述写指针不再增加,但读取数据继续进行,直至所述读指针追上等于所述写指针,所述同步电路响应所述时钟信号,使得所述读使能信号无效,表示已读空所述数据缓存区域。
可选的,所述同步电路包括比较器以及依次串联的多级触发器,所述比较器用于接入和比较所述读指针和写指针,所述比较器的输出端连接各级所述触发器的异步清零端,所述多级触发器中的后一级触发器的数据输入端连接前一级触发器的数据输出端,且第一级触发器的数据输入端接高电平信号,所述第一级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第一边沿,所述第二级触发器及其后的多级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第二边沿;
所述数据传输方法中,当处于所述初始状态时,所述多级触发器均被清零;当向所述数据缓存区域中写入数据时,所述写指针增加,不等于所述读指针,所述比较器输出的比较结果为高电平,各级所述触发器的异步清零端均为高,所述第一级触发器响应所述时钟信号的第一边沿而输出高电平,所述第二级触发器及其后的多级触发器响应所述时钟信号的第二边沿而逐级输出高电平,直至最后一级触发器输出有效的读使能信号,以控制读出数据;当数据停止写入时,所述写指针不再增加,所述读指针继续增加直至等于所述写指针,所述比较结果变为低电平,各级所述触发器同时被异步清零,标志着已经读空所述数据缓存区域。
本发明还提供一种数据传输接口,包括本发明的环形先进先出缓冲器、提供至所述环形先进先出缓冲器的同步电路的时钟信号以及提供至所述环形先进先出缓冲器的写指针的数据选通信号。
可选的,所述数据传输接口为双倍速率同步动态随机存储器接口(DDR接口)。
可选的,所述DDR接口中的环形先进先出缓冲器的深度为4。
本发明还提供一种数据通信系统,包括本发明的数据传输接口以及与所述数据传输接口通信的动态随机存储器。
与现有技术相比,本发明的技术方案,通过同步电路先对写指针和读指针进行比较,并将写指针和读指针的比较结果(valid)同步特定数量的时钟信号(phy_clk)周期,在同等FIFO深度情况下,能够增大环形先进先出缓冲器的Jitter(抖动)裕度,提高环形先进先出缓冲器抗噪声的能力。进一步的,所述同步电路将写指针和读指针的比较结果(valid)同步(M/2-0.5)个时钟信号周期,使环形先进先出缓冲器在读空和读满时均有(M/2-1.5)个时钟信号周期的Jitter(抖动)裕度,在同等的FIFO深度情况下,实现空和满均有最优的jitter裕量。
附图说明
图1是现有的一种DDR系统的结构示意图;
图2是现有的一种深度为4的FIFO缓冲器的地址同步电路的结构示意图;
图3A是图2所示的FIFO缓冲器中phy_clk没有Jitter的时序图;
图3B是图2所示的FIFO缓冲器中phy_clk有Jitter的时序图;
图3C是图2所示的FIFO缓冲器的改进后的时序图,虽然phy_clk有jitter,但是因为读地址使能信号采用了被同步了一拍的valid_1d信号,jitter就不会造成读空的逻辑错误;
图3D是图2所示的FIFO缓冲器的改进后的时序图,解释了其存在读满的问题;
图4是本发明一实施例的环形FIFO缓冲器(深度为4)的写指针、读指针以及数据缓存区域的结构示意图;
图5是图4所示的实施例的环形FIFO缓冲器(深度为4)的同步电路的结构示意图;
图6A和图6B是图4所示的实施例的环形FIFO缓冲器(深度为4)的两种时序图;
图7是本发明另一实施例的环形FIFO缓冲器(深度为6)的写指针、读指针以及数据缓存区域的结构示意图;
图8是图7所示的实施例的环形FIFO缓冲器(深度为6)的同步电路的结构示意图;
图9A和图9B是图7所示的实施例的环形FIFO缓冲器(深度为6)的两种时序图;
图10A和图10B为在DDR接口应用中,深度为4的环形先进先出缓冲器和深度为6的环形先进先出缓冲器在间隔之后读空的jitter裕度均为0.5个时钟周期的时序图;
图11是本发明具体实施例的数据通信系统的结构示意图。
具体实施方式
为使本发明的目的、特征更明显易懂,下面结合附图对本发明的具体实施方式作进一步的说明,然而,本发明可以用不同的形式实现,不应只是局限在所述的实施例。
请参考图4,本发明一实施例提供一种深度为4的环形先进先出缓冲器(环形FIFO),包括:读指针rp、写指针wp、数据缓存区域11以及同步电路12。其中,所述数据缓存区域11具有的存储地址例如为0001、0010、0100、1000、……,能够存储的数据例如为D0、D1、D2、D3、D4、D5、D6、D7….,所述读指针rp和所述写指针wp分别指向所述数据缓存区域11中相应的存储地址,如图4中所示的rp=0001、0010、0100、1000、……,wp=0001、0010、0100、1000、……;所述同步电路12接入一周期性的时钟信号phy_clk,并用于比较所述写指针wp和所述读指针rp,并将所述写指针wp和所述读指针rp的比较结果valid同步指定个数的所述时钟信号phy_clk周期,以控制所述数据缓存区域11中数据的读取。如果环形FIFO缓冲器为空,所述写指针wp和所述读指针rp相等。如果有数据写入,写指针wp在例如DDR接口的数据选通信号DQS的下降沿增加,此时写指针wp不等于读指针rp,所述同步电路12先比较所述写指针wp和所述读指针rp,得到高电平的比较结果valid,然后再将valid同步指定个数的所述时钟信号phy_clk周期,输出有效的读使能信号valid_d2,以使能读操作,使得读指针rp在时钟信号phy_clk的上升沿增加,同时读出读指针增加前所指向的存储空间的数据。
请参考图5,本实施例中,所述同步电路12包括比较器120以及两级触发器121、122,所述比较器120用于接入和比较所述写指针wp和所述读指针rp,所述比较器120的输出端连接所述两级触发器121、122的异步清零端CDN,第二级触发器122的数据输入端连接第一级触发器121的数据输出端,第一级触发器121的数据输入端接一高电平信号Tie Hi,所述第一级触发器121的时钟端通过一反相器123接入所述时钟信号phy_clk并响应所述时钟信号phy_clk的第一边沿(例如为下降沿),所述第二级触发器122的时钟端直接接入所述时钟信号phy_clk并响应所述时钟信号phy_clk的第二边沿(例如为上升沿)。即第一级触发器121用时钟信号phy_clk下降沿,第二级触发器122用时钟信号phy_clk的上升沿,第一级触发器121和第二级触发器122可以将比较结果valid同步1.5拍,即valid经第一级触发器121处理后输出为valid_d1,再经第二级触发器122处理后输出为读使能信号valid_d2。第一级触发器121的时钟端接入的反相器123的作用是保证在相同FIFO的深度情况下,例如FIFO深度为4的情况下,本发明的jitter裕量大于传统的没采用反相器的方案(如图2所示)。
本实施例中,为了使环形FIFO缓冲器空和满时的Jitter裕度相等,所述同步电路12将所述写指针wp和所述读指针rp的比较结果valid同步1.5个所述时钟信号phy_clk的周期(先用phy_clk下降沿,再用phy_clk上升沿),即当时钟信号phy_clk有jitter时,并不会立即影响valid_d2信号,jitter的裕度为0.5个时钟信号phy_clk周期,可以参考如图6A和6B所示的两种极端情况。其中,图6A所示的是时钟信号phy_clk滞后数据选通信号DQS一点点这种相位关系,图6A中的第一个时钟信号周期(即与写入数据时所述选通信号的周期相同的周期)内的时钟信号phy_clk的第一边沿(例如为下降沿)刚好能捕捉到写指针wp的增加,读数据将在第二个时钟周期(即下一个周期或后一个周期)的时钟信号phy_clk的第二边沿(例如上升沿)被读出。图6B所示的是时钟信号phy_clk超前数据选通信号DQS一点点这种相位关系,第二个时钟周期(即相对于写入数据时所述选通信号的周期的下一个周期)内的时钟信号phy_clk的第一边沿(例如下降沿)才能捕捉到写指针wp的增加,读数据将在第三个时钟周期(即所述下一个周期的后一个周期)的时钟信号phy_clk的第二边沿(例如上升沿)读出。从图6A和6B中可以看出,本实施例的深度为4的环形先进先出缓冲器在读空(Empty)和读满(Full)时均有0.5个时钟信号周期的Jitter(抖动)裕度,即Empty_margin=0.5*Tphy_clk,Full_margin=0.5*Tphy_clk。
请参考图4和图5,本实施例还提供一种上述的深度为4的环形FIFO缓冲器的数据传输方法,包括:
当环形FIFO缓冲器处于初始状态时,所述数据缓存区域11为空,所述写指针wp和所述读指针rp相等,且所述写指针wp和所述读指针rp在上电初始化时均为零,在其他情况下不一定为零;
当向所述数据缓存区域11中写入数据时,所述写指针wp响应对应的数据选通信号DQS的第二边沿(例如为下降沿)来增加指向的所述数据缓存区域11存储地址,以写入数据,此时所述写指针wp不等于所述读指针rp,比较器120的比较结果valid为高电平,第一级触发器121和第二级触发器122的异步清零端CDN均为高电平,第一级触发器121的输出valid_d1在时钟信号phy_clk的下降沿变高电平,第二级触发器122的输出的读使能信号validi_d2在时钟信号phy_clk的上升沿(所述下降沿过了立即就是所述上升沿)变高电平,即读使能信号validi_d2有效,读指针电路响应时钟信号phy_clk,增加所述读指针rp指向的所述数据缓存区域11的存储地址,同时读出当前地址(即所述读指针rp增加前的地址)的数据;其中,所述读指针电路能够存储读指针rp的当前值并且能响应所述时钟信号phy_clk而使得所述读指针rp的值递增(例如从rp=0001递增到rp=0010),从而增加所述读指针rp指向的所述数据缓存区域11的存储地址;
当数据停止写入时,同步电路12使得读使能信号validi_d2保持有效,读数据操作继续进行(时钟信号phy_clk是连续的),直至所述读指针rp追上写指针wp,此时读指针rp又等于写指针wp,比较器120的比较结果变为低电平,第一级触发器121和第二级触发器122的异步清零端CDN同时被清零,以表示环形FIFO缓冲器已经被读空。
此外,本实施例的环形FIFO缓冲器,深度为4,可以节约功耗面积,且与传统的深度为4的FIFO缓冲器相比,Jitter(抖动)裕度增大,抗噪声的能力提高。
请参考图7,本发明另一实施例提供一种深度为6的环形先进先出缓冲器(环形FIFO),包括:读指针rp、写指针wp、数据缓存区域11以及同步电路12。其中,所述数据缓存区域11具有的存储地址例如为’h0、’h1、’h2、’h3、’h4、’h5、……,能够存储的数据例如为D0、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11、…...。所述读指针rp和所述写指针wp分别指向所述数据缓存区域11中相应的存储地址,如图7中所示的rp=’h0、’h1、’h2、’h3、’h4、’h5、……,wp=’h0、’h1、’h2、’h3、’h4、’h5、……。所述同步电路12接入一周期性的时钟信号phy_clk,并用于比较所述写指针wp和所述读指针rp,并将所述写指针wp和所述读指针rp的比较结果valid同步指定个数的所述时钟信号phy_clk周期,以控制所述数据缓存区域11中数据的读取和写入。如果环形FIFO缓冲器为空,所述写指针wp和所述读指针rp相等。如果有数据写入,写指针wp在例如DDR接口的数据选通信号DQS的下降沿增加,此时写指针wp不等于读指针rp,所述同步电路12先比较所述写指针wp和所述读指针rp,得到高电平的比较结果valid,然后在将valid同步指定个数的所述时钟信号phy_clk周期,输出有效的读使能信号valid_dN(N表示同步电路中触发器的个数,本实施例中N=3,输出的读使能信号为valid_d3),以使能读操作,使得读指针rp在时钟信号phy_clk的上升沿增加,同时读出读指针增加前所指向的存储空间的数据。
请参考图8,本实施例中,所述同步电路12包括比较器120以及依次串联的三级触发器121、122、124,所述比较器120用于接入和比较所述写指针wp和所述读指针rp,所述比较器120的输出端连接触发器121、122、124的异步清零端CDN,第二级触发器122的数据输入端连接第一级触发器121的数据输出端,第三级触发器124的数据输入端连接第二级触发器122的数据输出端,第一级触发器121的数据输入端接一高电平信号Tie Hi,所述第一级触发器121的时钟端通过反相器123接入所述时钟信号phy_clk并响应所述时钟信号phy_clk的第一边沿(例如为下降沿),所述第二级触发器122和第三级触发器124的时钟端直接接入所述时钟信号phy_clk并响应所述时钟信号phy_clk的第二边沿(例如为上升沿)。即第一级触发器121用时钟信号phy_clk下降沿,第二级触发器122和第三级触发器124用时钟信号phy_clk的上升沿,这三级触发器可以将比较器的输出valid信号同步2.5拍,即valid经第一级触发器121处理后输出为valid_d1,再经第二级触发器122处理后输出为valid_d2,后经第三级触发器124处理后输出为读使能信号valid_d3。第一级触发器121的时钟端接入的反相器123的作用是保证在相同FIFO的深度情况下,例如FIFO深度为6的情况下,空和满时有更优化(balanced)的jitter裕量,使得本发明的jitter裕量大于传统的没采用反相器的方案。
本实施例的环形FIFO缓冲器中,当时钟信号phy_clk有jitter时,并不会立即影响valid_d3信号,jitter的裕度为1.5个时钟信号phy_clk周期,可以参考如图9A和9B所示的两种极端情况。其中,图9A所示的是时钟信号phy_clk滞后数据选通信号DQS一点点这种相位关系,图9A中的第一个时钟信号周期(即与写入数据时所述选通信号的周期相同的周期)内的时钟信号phy_clk的第一边沿(例如为下降沿)刚好能捕捉到写指针wp的增加,读数据将在第三个时钟周期(即下下个周期)的时钟信号phy_clk的第二边沿(例如上升沿)被读出。图9B所示的是时钟信号phy_clk超前数据选通信号DQS一点点这种相位关系,第二个时钟周期(即相对于写入数据时所述选通信号的周期的下一个周期)内的时钟信号phy_clk的第一边沿(例如下降沿)才能捕捉到写指针wp的增加,读数据将在第四个时钟周期(即所述下一个周期的后两个周期)的时钟信号phy_clk的第二边沿(例如上升沿)读出。从图9A和9B中可以看出,本实施例的深度为6的环形先进先出缓冲器在读空(Empty)和读满(Full)时均有1.5个时钟信号周期的Jitter(抖动)裕度,即Empty_margin=1.5*Tphy_clk,Full_margin=1.5*Tphy_clk。
请参考图7和图8,本实施例还提供一种上述的深度为6的环形FIFO缓冲器的数据传输方法,包括:
当环形FIFO缓冲器处于初始状态时,所述数据缓存区域11为空,所述写指针wp和所述读指针rp相等,且所述写指针wp和所述读指针rp在上电初始化时均为零,在其他情况下不一定为零;
当向所述数据缓存区域11中写入数据时,所述写指针wp响应对应的数据选通信号DQS的第二边沿(例如为下降沿)来增加指向的所述数据缓存区域11存储地址,以写入数据,此时所述写指针wp不等于所述读指针rp,比较器120的比较结果valid为高电平,第一级触发器121、第二级触发器122、第三级触发器124的异步清零端CDN均为高电平,第一级触发器121的输出valid_d1在时钟信号phy_clk的下降沿变高电平,第二级触发器122的输出的validi_d2在时钟信号phy_clk的上升沿(所述下降沿过了立即就是所述上升沿)变高电平,第三级触发器124的输出的读使能信号validi_d3在时钟信号phy_clk的上升沿变高电平,即读使能信号validi_d3有效,读指针电路相应时钟信号号phy_clk,增加所述读指针rp指向的所述数据缓存区域11存储地址,同时读出当前地址(即所述读指针rp增加前的地址)的数据;
当数据停止写入时,同步电路12使得读使能信号validi_d3保持有效,读数据操作继续进行(时钟信号phy_clk是连续的),直至所述读指针rp追上并等于写指针wp,比较器120的比较结果变为低电平,第一级触发器121、第二级触发器122和第三级触发器124的异步清零端CDN同时被清零,以表示环形FIFO缓冲器已经被读空。
此外,本实施例的环形FIFO缓冲器,深度为6,与上一实施例的环形FIFO缓冲器相比,深度增加,其空和满时的jitter裕量更大(均为1.5个时钟信号phy_clk周期);且与传统的深度为6的FIFO缓冲器相比,Jitter(抖动)裕度增大,抗噪声的能力提高。
需要说明的是,本发明的技术方案并不仅仅限于深度为4和6的环形FIFO缓冲器的设计和应用,可以在同步电路中设置更多级数的触发器,来实现深度大于6的环形FIFO缓冲器的设计和应用。其中,这些深度更高的环形FIFO缓冲器的同步电路包括比较器以及依次串联的多级触发器,所述比较器用于接入和比较所述读指针和写指针,所述比较器的输出端连接各级所述触发器的异步清零端,所述多级触发器中的后一级触发器的数据输入端连接前一级触发器的数据输出端,且第一级触发器的数据输入端接高电平信号,所述第一级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第一边沿,所述第二级触发器及其后的多级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第二边沿。相应地,在这些深度更高的环形FIFO缓冲器的数据传输方法中,当处于所述初始状态时,所述多级触发器均被清零;当向所述数据缓存区域中写入数据时,所述写指针增加,不等于所述读指针,所述比较器输出的比较结果为高电平,各级所述触发器的异步清零端均为高,所述第一级触发器响应所述时钟信号的第一边沿而输出高电平,所述第二级触发器及其后的多级触发器响应所述时钟信号的第二边沿而逐级输出高电平,直至最后一级触发器输出有效的读使能信号valid_dN(N表示同步电路中触发器的级数),以控制读出数据;当数据停止写入时,所述写指针不再增加,所述读指针继续增加直至等于所述写指针,所述比较结果变为低电平,各级所述触发器同时被异步清零,标志着已经读空所述数据缓存区域。所述同步电路可以将写指针和读指针的比较结果(valid)同步(M/2-0.5)个时钟信号周期,使环形先进先出缓冲器在读空和读满时均有(M/2-1.5)个时钟信号周期的Jitter(抖动)裕度,其中M为环形先进先出缓冲器的深度。
综上所述,本发明的环形FIFO缓冲器及其数据传输方法,通过同步电路将写指针和读指针的比较结果(valid)同步特定数量的时钟信号(phy_clk)周期,能够实现不同时钟域之间的数据传输,且在FIFO的深度相同的情况下,能够增大环形先进先出缓冲器的Jitter(抖动)裕度,提高环形先进先出缓冲器抗噪声的能力;进一步的,所述同步电路可以将写指针和读指针的比较结果(valid)同步(M/2-0.5)个时钟信号周期,使环形先进先出缓冲器在读空和读满时均有(M/2-1.5)个时钟信号周期的Jitter(抖动)裕度,在同等的FIFO深度情况下,实现空和满均有最优的jitter裕量。
请参考图11,本发明一实施例还提供一种数据传输接口,包括本发明的环形FIFO缓冲器22、提供至所述环形FIFO缓冲器22的同步电路的时钟信号phy_clk以及提供至所述环形FIFO缓冲器22的写指针的数据选通信号DQS。
可选的,所述数据传输接口可以为双倍速率同步动态随机存储器接口(DDR接口),所述DDR接口还可以包括与所述环形FIFO缓冲器通信连接的DDR控制器21和接收单元24以及与所述DDR控制器21连接的发送单元23;其中,所述DDR控制器21用于控制DDR接口的包括数据信号(DQ,未图示)、时钟信号以及数据选通信号DQS等各种信号的内外传输;所述发送单元23用于在所述DDR控制器21的控制下将相应的数据等信号向外部器件3(例如动态随机存储器DRAM)发送;所述接收单元24用于将外部器件3(例如动态随机存储器DRAM)发来的数据选通信号DQS以及相应的数据信号传递至环形FIFO缓冲器22中。
需要说明的是,本发明的数据传输接口不只局限于DDR的应用,还可以是其他类型的设置于处理器与存储器之间的接口。
此外需要说明的是,对于DDR接口,所述环形FIFO缓冲器22的深度为4是最佳选择,这是因为DDR协议规定了突发模式(burst mode)的数据传输方式,读写非常频繁,读操作与读操作之间的间隔(gap)很短,存在各种可能的组合,例如间隔(gap)为K个时钟信号周期,K可为1,2,3,…。参考图10A,例如K=2的情况,对于深度为4的环形先进先出缓冲器,当处于读时钟信号phy_clk超前写时钟信号DQS一点点这种相位关系时,读空的jitter裕度为0.5个时钟周期的;参考图10B,例如K=2的情况,对于深度为6的环形先进先出缓冲器,当处于读时钟phy_clk滞后写时钟DQS一点,当前phy_clk的下降沿刚好可以采样到valid信号这种相位关系时,读空的jitter裕度为0.5个时钟周期。所以,对于DDR接口应用,因为读操作之间的间隔影响,深度为6的环形先进先出缓冲器并不能提供更大的读空jitter裕量,深度为4的环形先进先出缓冲器就是最佳的选择。而对于其它接口应用,只要不存在这种较短的读操作间隔,深度越大的环形先进先出缓冲器能提供更大的jitter裕量。
请继续参考图11,本发明一实施例还提供一种数据通信系统,包括本发明的数据传输接口2,以及,与所述数据传输接口2通信的动态随机存储器(DRAM)。
综上所述,本发明的数据传输接口和数据通信系统,由于采用了本发明的环形FIFO缓冲器,性能得到提高。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种环形先进先出缓冲器,其特征在于,包括:读指针、写指针、数据缓存区域以及同步电路;其中,所述读指针和所述写指针分别指向所述数据缓存区域中相应的存储地址;所述同步电路接入一周期性的时钟信号,并用于比较所述写指针和所述读指针,并将所述写指针和所述读指针的比较结果同步指定个数的所述时钟信号周期,以控制所述数据缓存区域中数据的读取。
2.如权利要求1所述的环形先进先出缓冲器,其特征在于,所述同步电路包括一比较器以及依次串联的多级触发器;所述比较器用于接入和比较所述读指针和写指针,所述比较器的输出端连接各级所述触发器的异步清零端,所述多级触发器中的后一级触发器的数据输入端连接前一级触发器的数据输出端,且第一级触发器的数据输入端接一高电平信号,所述第一级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第一边沿,其余各级所述触发器的时钟端接入所述时钟信号并响应所述时钟信号的第二边沿。
3.如权利要求2所述的环形先进先出缓冲器,其特征在于,所述第一级触发器的时钟端通过一反相器接入所述时钟信号,以响应所述时钟信号的第一边沿。
4.如权利要求2所述的环形先进先出缓冲器,其特征在于,所述时钟信号的第一边沿为所述时钟信号的下降沿,所述时钟信号的第二边沿为所述时钟信号的上升沿。
5.如权利要求1至4中任一项所述的环形先进先出缓冲器,其特征在于,所述同步电路将所述写指针和读指针的比较结果同步(M/2-0.5)个所述时钟信号的周期,其中M为环形先进先出缓冲器的深度。
6.如权利要求1所述的环形先进先出缓冲器,其特征在于,所述数据缓存区域为空时,所述写指针和读指针相等。
7.如权利要求5所述的环形先进先出缓冲器,其特征在于,所述环形先进先出缓冲器的深度大于等于4。
8.一种权利要求1至7中任一项所述的环形先进先出缓冲器的数据传输方法,其特征在于,包括:
当处于初始状态时,所述数据缓存区域为空,所述写指针和所述读指针相等;
当向所述数据缓存区域中写入数据时,所述写指针响应对应的数据选通信号的边沿来增加指向的存储地址,以使数据写入所述数据缓存区域中指定的缓存区域,此后,所述写指针不等于所述读指针,所述同步电路比较所述写指针和所述读指针,并将所述写指针和所述读指针的比较结果同步指定个数的所述时钟信号周期,使得读使能信号有效,读指针电路响应所述时钟信号,以增加所述读指针指向的存储地址,进而读出所述数据缓存区域中的数据。
9.如权利要求8所述的数据传输方法,其特征在于,当所述数据停止写入时,所述写指针不再增加,但读取数据继续进行,直至所述读指针追上等于所述写指针,所述同步电路响应所述时钟信号,使得所述读使能信号无效,表示已读空所述数据缓存区域。
10.如权利要求9所述的数据传输方法,其特征在于,所述同步电路包括比较器以及依次串联的多级触发器,所述比较器用于接入和比较所述读指针和写指针,所述比较器的输出端连接各级所述触发器的异步清零端,所述多级触发器中的后一级触发器的数据输入端连接前一级触发器的数据输出端,且第一级触发器的数据输入端接高电平信号,所述第一级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第一边沿,所述第二级触发器及其后的多级触发器的时钟端接入所述时钟信号并响应所述时钟信号的第二边沿;
所述数据传输方法中,当处于所述初始状态时,所述多级触发器均被清零;当向所述数据缓存区域中写入数据时,所述写指针增加,不等于所述读指针,所述比较器输出的比较结果为高电平,各级所述触发器的异步清零端均为高,所述第一级触发器响应所述时钟信号的第一边沿而输出高电平,所述第二级触发器及其后的多级触发器响应所述时钟信号的第二边沿而逐级输出高电平,直至最后一级触发器输出有效的读使能信号,以控制读出数据;当数据停止写入时,所述写指针不再增加,所述读指针继续增加直至等于所述写指针,所述比较结果变为低电平,各级所述触发器同时被异步清零,标志着已经读空所述数据缓存区域。
11.一种数据传输接口,其特征在于,包括权利要求1至7中任一项所述的环形先进先出缓冲器、提供至所述环形先进先出缓冲器的同步电路的时钟信号以及提供至所述环形先进先出缓冲器的写指针的数据选通信号。
12.如权利要求11所述的数据传输接口,其特征在于,所述数据传输接口为双倍速率同步动态随机存储器接口。
13.如权利要求12所述的数据传输接口,其特征在于,所述双倍速率同步动态随机存储器接口中的环形先进先出缓冲器的深度为4。
14.一种数据通信系统,其特征在于,包括权利要求11或12或13所述的数据传输接口以及与所述数据传输接口通信的动态随机存储器。
CN201810751982.6A 2018-07-10 2018-07-10 环形先进先出缓冲器及数据传输接口、系统、方法 Active CN109062538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810751982.6A CN109062538B (zh) 2018-07-10 2018-07-10 环形先进先出缓冲器及数据传输接口、系统、方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810751982.6A CN109062538B (zh) 2018-07-10 2018-07-10 环形先进先出缓冲器及数据传输接口、系统、方法

Publications (2)

Publication Number Publication Date
CN109062538A true CN109062538A (zh) 2018-12-21
CN109062538B CN109062538B (zh) 2020-11-20

Family

ID=64819439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810751982.6A Active CN109062538B (zh) 2018-07-10 2018-07-10 环形先进先出缓冲器及数据传输接口、系统、方法

Country Status (1)

Country Link
CN (1) CN109062538B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825344A (zh) * 2019-11-12 2020-02-21 天津飞腾信息技术有限公司 一种异步数据传输方法和结构
CN111049503A (zh) * 2019-12-19 2020-04-21 中国科学院计算技术研究所 一种超导触发器及其运行方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1409490A (zh) * 2001-09-30 2003-04-09 深圳市中兴通讯股份有限公司上海第二研究所 基于数字锁相环的去抖电路
CN1571329A (zh) * 2003-07-11 2005-01-26 中兴通讯股份有限公司 一种从同步数字传送体系中恢复e3/t3支路信号的装置及方法
CN1741188A (zh) * 2004-08-29 2006-03-01 华为技术有限公司 异步数据时钟域转换的系统
CN101261575A (zh) * 2008-02-26 2008-09-10 北京天碁科技有限公司 一种实现不等宽数据传输的异步先进先出存储器及方法
CN101779376A (zh) * 2007-08-09 2010-07-14 高通股份有限公司 测量时钟抖动的电路装置和方法
CN103595244A (zh) * 2013-12-01 2014-02-19 西安电子科技大学 具有频率抖动功能的驰张振荡器
CN104599227A (zh) * 2013-10-30 2015-05-06 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN106656229A (zh) * 2016-11-25 2017-05-10 硅谷数模半导体(北京)有限公司 抖动数据的注入方法和电路,及眼图监测器
CN106814231A (zh) * 2015-12-02 2017-06-09 北京航天测控技术有限公司 一种数字高捕获率方法
CN107112042A (zh) * 2014-12-11 2017-08-29 英特尔公司 数据信号的边沿感知同步
CN107577623A (zh) * 2017-07-19 2018-01-12 成都华微电子科技有限公司 跨时钟域异步fifo及数据处理方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1409490A (zh) * 2001-09-30 2003-04-09 深圳市中兴通讯股份有限公司上海第二研究所 基于数字锁相环的去抖电路
CN1571329A (zh) * 2003-07-11 2005-01-26 中兴通讯股份有限公司 一种从同步数字传送体系中恢复e3/t3支路信号的装置及方法
CN1741188A (zh) * 2004-08-29 2006-03-01 华为技术有限公司 异步数据时钟域转换的系统
CN101779376A (zh) * 2007-08-09 2010-07-14 高通股份有限公司 测量时钟抖动的电路装置和方法
CN101261575A (zh) * 2008-02-26 2008-09-10 北京天碁科技有限公司 一种实现不等宽数据传输的异步先进先出存储器及方法
CN104599227A (zh) * 2013-10-30 2015-05-06 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN103595244A (zh) * 2013-12-01 2014-02-19 西安电子科技大学 具有频率抖动功能的驰张振荡器
CN107112042A (zh) * 2014-12-11 2017-08-29 英特尔公司 数据信号的边沿感知同步
CN106814231A (zh) * 2015-12-02 2017-06-09 北京航天测控技术有限公司 一种数字高捕获率方法
CN106656229A (zh) * 2016-11-25 2017-05-10 硅谷数模半导体(北京)有限公司 抖动数据的注入方法和电路,及眼图监测器
CN107577623A (zh) * 2017-07-19 2018-01-12 成都华微电子科技有限公司 跨时钟域异步fifo及数据处理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825344A (zh) * 2019-11-12 2020-02-21 天津飞腾信息技术有限公司 一种异步数据传输方法和结构
CN111049503A (zh) * 2019-12-19 2020-04-21 中国科学院计算技术研究所 一种超导触发器及其运行方法
CN111049503B (zh) * 2019-12-19 2021-10-22 中国科学院计算技术研究所 一种超导触发器及其运行方法

Also Published As

Publication number Publication date
CN109062538B (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
KR101359453B1 (ko) 인코럽티드 스트로브 신호를 갖는 메모리 시스템
KR100888597B1 (ko) 메모리 인터페이스 제어 장치 및 제어 방법
CN101692346B (zh) 一种存储器数据采样装置及一种采样控制器
CN100376006C (zh) 具有数据选通脉冲电路的半导体内存装置
TWI602196B (zh) 記憶體元件的控制方法、記憶體元件以及記憶體系統
CN109800192B (zh) 电子设备、fpga芯片及其接口电路
US8514639B2 (en) Semiconductor memory device and method for operating the same
US11348633B2 (en) Selectively controlling clock transmission to a data (DQ) system
US8593902B2 (en) Controller and access method for DDR PSRAM and operating method thereof
JP5633297B2 (ja) 受信回路、システム装置及び半導体記憶装置
CN108899057B (zh) 读dqs信号门选通训练方法、装置以及数据传输系统
TWI722582B (zh) Ddr sdram實體層介面電路與ddr sdram控制裝置
CN109062538A (zh) 环形先进先出缓冲器及数据传输接口、系统、方法
US6256716B1 (en) Apparatus, system and method for reducing bus contention during consecutive read-write operations
US7773709B2 (en) Semiconductor memory device and method for operating the same
US11133055B1 (en) Electronic device to perform read operation and mode register read operation
US8947956B2 (en) Delay circuit and latency control circuit of memory, and signal delay method thereof
US8570817B2 (en) Data input device for semiconductor memory device
US6972998B1 (en) Double data rate memory devices including clock domain alignment circuits and methods of operation thereof
CN102280129B (zh) 闪速存储器及其读取电路
CN103970708A (zh) 一种fpga与通用处理器之间的通信方法及系统
CN101000590A (zh) 一种读取内存中数据的方法和系统
US10777243B2 (en) Semiconductor device and semiconductor system including the semiconductor device for aligning an internal data strobe signal using an offset code
CN104424984B (zh) 存储器控制电路与控制存储器模块的数据读取程序的方法
CN101110262A (zh) 一种读取内存中数据的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant