先进先出缓冲器制造技术

技术编号:4589510 阅读:194 留言:0更新日期:2012-04-11 18:40
一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路。该电路包括:FIFO存储器(10);写入指针电路(16),由第一时钟域的时钟进行时钟控制,所述写入指针电路(16)控制被写入数据的存储单元;以及读取指针电路,由第二时钟域的时钟进行时钟控制,所述读取指针电路控制从其中读取数据的存储单元。读取指针电路和写入指针电路都使用格雷编码。存储器电路还包括复制写入指针电路(30),其写入指针地址与写入指针电路(16)同步地加1,并且其起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于FIFO存储器(10)大小的多个地址存储单元。比较器(34)将读取指针电路地址与复制写入指针电路地址进行比较以确定FIFO存储器的满状态。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及设计用于在不同时钟域之间进行接口的FIFO (先进 先出)缓冲器。
技术介绍
现有的片上系统(SoC)具有多个时钟域,其中实现了数字逻辑 电路。这些时钟域可以具有独立的频率和/或相位。当在这些时钟域 之间进行通信时,会出现半稳态电路会暂时进入介于0和l之间的状态。为了安全地在这些时钟域之间进行通信,通常与握手机制结合 地使用同步触发器。为了跨过时钟域交叉来进行大数据量的通信,众所周知的是使用先进先出硬件缓冲器(FIFO) 。 FIFO的写入端位于第一时钟域内, 而FIFO的读取端位于第二时钟域内。FIFO包括存储元件(存储器、触发器或锁存器)和控制逻辑电 路。控制逻辑电路产生用于访问存储器的写入地址和读取地址,并用 于控制时钟域之间的同步。这些写入地址和读取地址通过读取指针和 写入指针来确定。写入指针指向将被写入的下一个字。在FIF0写入操作(由第一 时钟域进行时钟控制)过程中,对由写入指针指向的存储单元进行写 入,然后使写入指针加1以指向将被写入的下一存储单元。类似的,读取指针指向将被读取的当前FIFO字。在复位时,读取指针和写入指针都被设置为零。于是,FTF0为 空,并使用空标记对此进行指示。在将第一个数据字写入F1F0后, 写入指针加1、清除空标记、以及读取指针寻址第一个FIFO存储器 字的内容。该第一个字被推向FIF0数据输出端口。写入指针总是指 向将被读取的下一个FIFO字,从而接收器逻辑电路不必使用两个时钟周期来读取数据字。在读取指针和写入指针两者相等时,FIF0为空。这种情况发生 在复位操作过程中将读取指针和写入指针都设置为零的时候、或发生 在读取指针已经从FIFO中读取了最后一个字而赶上写入指针的时候。FIFO被用作循环存储器件。FIFO可以变满(例如,在写入时钟 频率高于读取时钟频率的情况下),因此存在最大数据传输容量。当 写入指针和读取指针再次相等时,FIFO为满,不过此时写入指针已 经回转并已赶上读取指针。为了避免将数据写入存储器从而导致对未 读取数据的存储单元进行重写,需要检测在先的写入指针状态。这样 做可以有很多方法,其中之一是引入符号位。于是在写入指针和读取 指针相等但是符号位不相等时,FIF0为满。为了有效地在各时钟域之间进行同步,典型地使用格雷编码来 实现地址指针。对于每次时钟跳变,格雷码允许有一个位变化,这样 避免在一个时钟沿有多个变化的信号。在如上概述的读取格雷码指针 等于写入格雷码指针的情况下,FIF0将为空。在添加了附加MSB符 号位的情况下,如果读取格雷码指针的两个高位与写入格雷码指针的 两个高位相反,而其余位都相等,则FIF0将为满。这是因为格雷码 的反射性质造成的。第一半个序列中的格雷码的低U-2)位序列在 第二半个序列中被重复,但是将头两位反相。FIFO存储器大小对应 于(n-1)位,g卩,全格雷码循环的一半,并且可以基于两个MSB的 反相来检测一半的格雷码。图1示出了已知的包括存储元件和控制格雷码计数器逻辑电路 的FIFO电路,其中控制格雷码计数器逻辑电路包括格雷码状态寄存 器、同步寄存器和满/空检测逻辑电路。FIF0电路包括存储器10;多路复用器结构12,用于基于格雷 码编码的地址信号对存储器进行写入寻址;以及多路复用结构14, 用于基于格雷码编码的地址信号对存储器进行读取寻址。利用单元18在每个写入时钟域周期处使格雷码编码的写入地址 指针16加1,并且写入地址指针输出被提供给多路复用器结构12。利用单元22在每个读取时钟域周期处使格雷码编码的读取地址指针20加1,并且读取地址指针输出被提供给多路复用器结构14。FIFO满状态基于写入指针地址和再同步的读取指针地址的比较 结果。基于如上所述所使用的附加MSB符号位,通过使用反相器24使 再同步的读取指针地址的两个MSB反相,使该值与写入指针地址之间 的相等性被用来指示FIFO的满状态。FIFO空状态基于读取指针地址 和再同步的写入指针地址之间的比较结果,利用相等性来指示FIFO 空状态。格雷编码的性质防止了格雷码序列成为任意长度。事实上,格 雷码序列长度将总是为4的倍数。实际上,这意味着只使用一个读取 指针和一个写入指针的时钟域交叉FIFO将具有偶数个项(深度)。格雷编码或二进制编码地址的使用还引入了用于对FIFO进行读 取的长路径。需要选择这些寄存器中的一个寄存器用于进行读取,从 而造成了多路复用器12、 14的树形结构,这就引入了相当大的延迟。
技术实现思路
根据本专利技术的第一方面,提供了一种用于在具有不同时钟域的 电路之间进行接口的FIFO存储器电路,包括 FIF0存储器;写入指针电路,由第一时钟域的时钟进行时钟控制,该写入指针电路控制被写入数据的存储单元;以及读取指针电路,由第二时钟域的时钟进行时钟控制,该读取指 针电路控制从其中读取数据的存储单元,其中,读取指针电路和写入指针电路都使用格雷编码;以及其 中,存储器电路还包括复制格雷编码写入指针电路,其写入指针地址 与写入指针电路同步地加1,并且其起始写入地址被选择为使得复制 写入指针地址比写入指针电路地址落后对应于FIFO存储器大小的多 个地址存储单元;以及其中,该存储器电路还包括比较器,用于将读 取指针电路地址与复制写入指针电路地址进行比较以确定FIF0存储6器的满状态。该配置还使用其他的写入指针(除了传统的读取格雷码指针和 写入格雷码指针以外),该其他的写入指针被看作是阴影指针。其起 始于负的FIFO大小(格雷编码)处。该阴影指针用于确定FIFO的满 状态。使用该阴影指针,可以实现任意大小的FIFO,包括偶数和奇 数大小。如果两个指针(包括任何符号位)相等,则FIF0将为满。优选的,比较器包括用于检测复制写入指针地址和读取指针地 址的相等性的电路。这使得无需复杂的技术来确定FIFO的满状态。比较器还可以用于将读取指针电路地址和写入指针电路地址进 行比较,以确定FIFO存储器的空状态。于是比较器包括用于检测写 入指针地址和读取指针地址的相等性的电路。根据本专利技术的第二方面,提供了一种用于在具有不同时钟域的 电路之间进行接口的FIFO存储器电路,包括FIF0存储器;写入指针电路,由第一时钟域的时钟进行时钟控制,该写入指 针电路控制被写入数据的存储单元;以及读取指针电路,由第二时钟域的时钟进行时钟控制,该读取指 针电路控制从其中读取数据的存储单元,其中,读取指针电路和写入指针电路都使用格雷编码;以及其 中,该存储器电路还包括第一转换电路,用于将读取指针电路地址转 换成一位热码(one-hot)信号,并用于控制FIFO存储器的读取地址; 以及其中,读取指针电路格雷编码值和写入指针电路格雷编码值被用 于获取FIFO存储器的空状态信息和满状态信息。本专利技术的该方面通过提供以一位热码编码值存储读取地址的附 加阴影寄存器,使得能够加快FIFO读取处理的速度。于是可以使用AND代替传统的读取结构的多路复用器层级,减 小了 0R树,并减少了从地址寄存器到数据输出端的延迟。可以在写入端口处实现相同的指针逻辑电路以改善定时。在这 种情况下,该电路还包括第二转换电路,用于将写入指针电路地址 转换为一位热码信号,并用于控制FIF0存储器的写入地址。F本文档来自技高网
...

【技术保护点】
一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路,包括: FIFO存储器(10); 写入指针电路(16),由第一时钟域的时钟进行时钟控制,所述写入指针电路(16)控制被写入数据的存储单元;以及 读取指针电路, 由第二时钟域的时钟进行时钟控制,所述读取指针电路控制从其中读取数据的存储单元, 其中,所述读取指针电路和写入指针电路都使用格雷编码;以及其中,所述存储器电路还包括复制写入指针电路(30),其写入指针地址与所述写入指针电路(16)同步地 加1,并且其起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于所述FIFO存储器(10)大小的多个地址存储单元;以及其中,所述存储器电路还包括比较器(34),用于将所述读取指针电路地址与所述复制写入指针电路地址进行比较以确定所述FIFO存储器的满状态。

【技术特征摘要】
【国外来华专利技术】EP 2007-5-16 07108299.41.一种用于在具有不同时钟域的电路之间进行接口的FIFO存储器电路,包括FIFO存储器(10);写入指针电路(16),由第一时钟域的时钟进行时钟控制,所述写入指针电路(16)控制被写入数据的存储单元;以及读取指针电路,由第二时钟域的时钟进行时钟控制,所述读取指针电路控制从其中读取数据的存储单元,其中,所述读取指针电路和写入指针电路都使用格雷编码;以及其中,所述存储器电路还包括复制写入指针电路(30),其写入指针地址与所述写入指针电路(16)同步地加1,并且其起始写入地址被选择为使得复制写入指针地址比写入指针电路地址落后对应于所述FIFO存储器(10)大小的多个地址存储单元;以及其中,所述存储器电路还包括比较器(34),用于将所述读取指针电路地址与所述复制写入指针电路地址进行比较以确定所述FIFO存储器的满状态。2. 根据权利要求1所述的存储器电路,还包括再同步器,用于 将读取指针与所述第一时钟域的时钟再同步,以及其中,所述比较器(34)用于将再同步的读取指针电路地址与复制写入指针电路(30) 地址进行比较。3. 根据权利要求1或2所述的存储器电路,其中,所述比较器 (34)包括用于检测所述复制写入指针地址和读取指针地址的相等性的电路。4. 根据前述任一权利要求所述的存储器电路,其中,还包括第 二比较器,用于将所述读取指针电路地址与所述写入指针...

【专利技术属性】
技术研发人员:约翰内斯布恩斯特拉森达拉瓦拉丹兰加拉让拉金德拉库马尔
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL[荷兰]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1