CN1236450C - 用以控制一非同步先进先出存储器的装置及其操作方法 - Google Patents

用以控制一非同步先进先出存储器的装置及其操作方法 Download PDF

Info

Publication number
CN1236450C
CN1236450C CNB021264546A CN02126454A CN1236450C CN 1236450 C CN1236450 C CN 1236450C CN B021264546 A CNB021264546 A CN B021264546A CN 02126454 A CN02126454 A CN 02126454A CN 1236450 C CN1236450 C CN 1236450C
Authority
CN
China
Prior art keywords
mentioned
signal
counter
write
order
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
CNB021264546A
Other languages
English (en)
Other versions
CN1445780A (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.)
Silicon Integrated Systems Corp
Original Assignee
Silicon Integrated Systems 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 Silicon Integrated Systems Corp filed Critical Silicon Integrated Systems Corp
Publication of CN1445780A publication Critical patent/CN1445780A/zh
Application granted granted Critical
Publication of CN1236450C publication Critical patent/CN1236450C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/16Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/102Avoiding metastability, i.e. preventing hazards, e.g. by using Gray code counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明提供一种用以控制一非同步先进先出(FIFO)存储器的装置及方法。该非同步先进先出存储器具有各自独立运转的读取及写入时脉信号。一些含n位的循环式灰阶码计数器被用来协调该非同步先进先出存储器中的读取及写入部分的操作,其中,n系大于一的任何整数。额外的二进制计数器被用来累计上述循环式灰阶码计数器的读取及写入的满溢状态(overflows)。当任一循环式灰阶码计数器系于满溢状态时,该读取或写入计数器被转送至各自的二进制计数器以记录上述先进先出存储器的存取动作。

Description

用以控制一非同步先进先出存储器的装置及其操作方法
技术领域
本发明系有关于一种先进先出随机存取存储器(FIFO RAM),尤其是有关于一种用以控制一非同步双端口FIFO存储器存取的装置及方法。
背景技术
例如不稳定的暂态之类的转换稳定度(metastability)是控制一非同步双端口FIFO存储器的一个主要问题。读取及写入中的不同存取频率可能导致一读取指标及一写入指标所指的操作位址上的不确定性。例如,写入部分的先进先出控制需要取样读取指标的值,以检查一写入时脉的信号FIFO_FULL的状态是不同步于读取时脉的。同样地,读取部分的先进先出控制需要取样写入指标的值,以检查一读取时脉的信号FIFO_EMPTY的状态是不同步于写入时脉的。然而,上述可能发生于读取指标的每个位正从“1”转换至“0”或从“0”转换至“1”的情形,如此,每个信号位产生转换稳定度的问题。
灰阶码方式是常用来解决上述问题的方式的一。灰阶码是一单位的距离码;也就是,相邻两码间只有一位是不同的。图1显示一3位灰阶码计数器的例子。灰阶码方法可在读取或写入指标被取样时,将产生转换稳定问题的位数降至最低。每次取样的值最多只有一位的错误。这意谓着灰阶码指标只改变两相邻值间的其中一个位值。计数器中的前一及目前值会被取样并校正,用以检查先进先出指标。图2说明一非同步双端口先进先出存储器,其包含一深度为8的字组(未显示)。使用二个3位的灰阶码指标21、22(即前述读取指标及写入指标),不同的读写频率RCLK、WCLK及它们相对应的同步电路210、220来架构上述先进先出存储器。当读取指标及写入指相等时,先进先出存储器内真的没有任何储存资料(以FIFO_EMPTY表示之)。当下一个写入指标值等于读取及写入先进先出状态指示器23、24所显示的目前读取指标值时即代表先进先出存储器内已存满(以FIFO_FULL表示之)。
如上述,读取指标21及写入指标22有需要先利用灰阶至二进制计数器25、26以转换成二进制的读取及写入输出形式,以指示在先进先出存储器中的读取与写入位址,并接着在读取及写入二进制计数器27、28中做减法运算,以决定目前在先进先出存储器中的剩余可用空间。
虽然上述灰阶码方法解决转换稳定度(metastability)的问题,然而,上述方法具有下列三个缺点。第一,当架构一长串非同步先进先出存储器时,这个方法很难以一具有灰阶码编码状态的状态机器(state machine)的形式来编码计数器。第二,合并FIFO_FULL信号及复杂的灰阶码配置的侦测方式会引起时序迟缓(timing slacks)并占据大电路面积的问题。例如,须要比较8种条件,以决定若是架构一3位灰阶码计数器时,是否先进先出存储器会近乎满载的状况。这8种条件包含如当写入指标write_pointer中的虚拟码(pseudo code)为“100”且读取指标read_pointer中的虚拟码为“000”  时,则FIFO_FULL中的虚拟码为值“1”;当写入指标write_pointer中的虚拟码(pseudo code)为“000”且读取指标read_pointer中的虚拟码为“001”时,FIFO_FULL中的虚拟码为值“1”…等等。最后,使用灰阶码方法需要灰阶对二进制的转换器及减法器,以指示先进先出存储器的各种状态,这样会让成本大增。例如,图3显示一n位灰阶对二进制转换所需的电路及方程式,其中n是大于一的任何整数。此例中,假如各位址具有n位宽度,则一来自灰阶计数器31的n位输入值的每一位拥有一输入线,且同样地,n位输入线分别对应至n位输出线34以形成一输出至二进制计数器32的n位输出值,其中n是大于一的任何整数。利用互斥闸(XOR)35及图中所给予的方程式Bn、Bi来完成上述n位灰阶对二进制转换的功能,其中n是大于一的任何整数。当n值越大时,则所需的转换电路及方程式也越复杂。成本也会随着复杂的转换电路及方程式显著地增加。
发明内容
有鉴于此,本发明的一目的系提供一种用以有效地控制一非同步双端口先进先出(FIFO)存储器存取的方法及装置。
本发明的另一目的系提供一种具有n位灰阶码计数器以协调上述先进先出存储器的读取及写入两部分的非同步双端口先进先出(FIFO)存储器。
本发明的一种用以控制一非同步先进先出存储器的装置,其特征在于包括一双端口先进先出存储器,具有一读取端口及一写入端口,以在不同操作频率下各自读取及写入资料、一对n位循环式灰阶码计数器,以协调上述双端口先进先出存储器中的读取及写入操作频率、以及一n位满溢二进制计数器,以累计上述该对n位循环式灰阶码计数器的满溢状态,其中,n是大于一的任何整数。
进一步包括一先进先出状态计数器,将其连接至上述双端口先进先出存储器、该对n位循环式灰阶码计数器及该n位满溢二进制计数器,以指示上述双端口先进先出存储器的操作位址及使用率,如此,当上述双端口先进先出存储器尚未存满(not full)但该对n位循环式灰阶码计数器却已满溢时,使该n位满溢二进制计数器继续在途中要求信号(coming request)的计数工作。
上述操作位址为一读取位址或写入位址。
一种用以控制一非同步先进先出存储器的装置,其特征在于包括:
一具有一写入累积二进制计数器的写入满溢控制器,上述写入累积二进制计数器含有一用以接收一外部写入要求信号的第一输入端、一第二输出端、一第三输入端及一用以输出一写入累积信号的输出端;
一连接至上述写入满溢控制器的写入协调单元,具有一第一同步电路、一具有n位循环式灰阶码的写入主计数器(master counter)、一第二同步电路以及一具有n位循环式灰阶码的读取从属计数器(slave counter),其中,上述第一同步电路接收一写入从属信号(slave signal)并输出一第一同步信号至上述写入满溢控制器的第二输入端,上述具有n位循环式灰阶码的写入主计数器(master counter)接中上述第一同步信号、上述外部写入要求信号及上述写入累积信号并输出一写入主信号至上述写入满溢控制器的第三输入端,以与上述写入从属信号做比较,上述第二同步电路接收一读取主信号并输出一第二同步信号以及上述具有n位循环式灰阶码的读取从属计数器(slave counter)接收上述第一同步信号并输出一读取从属信号;
一写入先进先出状态指示器,包含一写入指标及一写入位准指标,其中,上述写入指标具有一用以接收上述外部写入要求信号的输入端及一用以输出一写入位址信号的输出端而上述写入位准指标具有一用以接收来自上述写入协调单元的第二同步信号的第一输入端、一用以接收来自上述写入协绸单元的读取从属信号以与上述读取主信号做比较的第二输入端、一用以接收上述外部写入要求信号的第三输入端及一用以输出一先进先出存储器已满(full)信号至外部的输出端;
一非同步双端口先进先出存储器,具有一连接至上述写入协调单元的输入端口及一输出端口,其中,利用上述输入端口写入资料并利用上述输出端口读取资料;
一连接至上述非同步双端口先进先出存储器的输出端口的读取协调单元,具有一第三同步电路、一具有n位循环式灰阶码的写入从属计数器(slave counter)、一具有n位循环式灰阶码的读取主计数器(mastercounter)及一第四同步电路,其中,上述第三同步电路接收来自上述写入协调单元的写入主信号并输出一第三同步信号,上述具有n位循环式灰阶码的写入从属计数器(slave counter)输出上述写入从属信号至上述第一同步电路,上述具有n位循环式灰阶码的读取主计数器(master counter)具有一用以接收一外部读取信号的第一输入端、一第二输出端一用以输出上述读取主信号至上述第二同步电路的第一输出端及一第二输出端,以及上述第四同步电路具有一用以接收来自上述写入协调单元的读取从属信号的输入端及一用以输出一第四同步信号的输出端;
一具有一读取累积二进制计数器的读取满溢控制器,上述读取累积二进制计数器含有一用以接收一外部读取要求信号的第一输入端、一用以接收上述第四同步信号的第二输出端、一用以接收来自上述读取协调单元的读取主信号以与来自写入协调单元的读取从属信号做比较的第三输入端及一用以输出一读取累积信号至上述主计数器的第二输入端的输出端;以及
一读取先进先出状态指示器,包含一读取指标及一读取位准指标,其中,上述读取指标具有一用以接收上述外部读取要求信号的输入端及一用以输出一读取位址信号的输出端而上述读取位准指标具有一用以接收来自上述读取协调单元的第三同步信号的第一输入端、一用以接收来自上述读取协调单元的写入从属信号以与上述写入主信号做比较的第二输入端、一用以接收上述外部读取要求信号的第三输入端及一用以输出一先进先出存储器已空(empty)信号至外部的输出端。
上述第一、第二、第三及第四同步电路系为一正反器(flip/flop)。
一种操作方法,适用于一用以控制一非同步先进先出存储器的装置,上述非同步先进先出存储器包括一双端口先进先出存储器,具有一读取端口及一写入端口,以在不同操作频率下各自读取及写入资料、一对n位循环式灰阶码计数器,以协调上述双端口先进先出存储器中的读取及写入操作频率、以及一n位满溢二进制计数器,以累计上述该对n位循环式灰阶码计数器的满溢状态,其中,n是大于一的任何整数,上述操作方法包括下列步骤:
判断上述该对n位循环式灰阶码计数器是否具有除了零以外的相同值;
判断上述双端口先进先出存储器状态;及
当一先进先出要求信号进入时,若诚对n位循环式灰阶码计数器具有除了零以外的相同值且该双端口先进先出存储器尚未存满,则以上述n位满溢二进制计数器来取代该对n位循环式灰阶码计数器接着操作。
上述方法进一步包括步骤为:若该双端口先进先出存储器状态指示已满(full),则输出一已满信号至外部。
上述方法进一步包括步骤为:若该双端口先进先出存储器状态指示已空(empty),则输出一已空信号至外部。
上述方法进一步包括步骤为:在没对任何先进先出要求信号做服务时,若该对n位循环式灰阶码计数器不具有相同值且该n位满溢二进制计数器不为零,则将该n位满溢二进制计数器减一。
根据本发明,循环式灰阶码计数器系用以协调先进先出存储器读取及写入两部分。额外的二进制计数器是用来累计循环式灰阶码计数器的读取及写入满溢。当任何循环式灰阶码计数器发生满溢状态时,读取及写入计数工作转移至各自的二进制计数器,以记录先进先出存储器的相关存取动作。
一先进先出节状态指示器利用二进制计数器其中之一来指示先进先出存储器中已使用的空间。同时,先进先出存储器中的存储器使用程度可分别利用写入部分及读取部分中的FIFO_FULL及FIFO_EMPTY输出来表示先进先出存储器的状态。
本发明提供一不受读取及写入频率限制以控制非同步先进先出存储器的应用。而且,本发明所提供的二进制计数器及一些n位灰阶计数器具有较好的时序迟缓及较少的面积等优点。
附图说明
图1显示一3位灰阶码计数器范例;
图2显示一使用灰阶码方法的非同步双端口先进先出存储器的方块图;
图3显示一n位灰阶对二进制转换器的范例;
图4显示一本发明计数器动作的范例;
图5显示一本发明的非同步双端口先进先出存储器;
图6显示一根据本发明图5写入部分中的协调单元的方块图;
图7显示一根据本发明图5写入部分中的满溢控制电路的方块图;
图8显示一根据本发明图5写入部分中的先进先出状态指示器的方块图。
具体实施方式
在取样读取及写入计数器时,灰阶码计数器可极小化转换稳定位。当一先进先出存储器具有深度2n时,就须架构一至少具有n位的灰阶码计数器至每一个读取及写入指标中。这个灰阶码计数器可以先进先出的深度来表示,如此,灰阶码读取指标将不会超出写入指标的限制范围,同样地,灰阶码写入指标绝不会超过读取指标的限制范围。例如,当先进先出存储器内未有任何资料时,读取指标会等于写入指标,且使接下来的读取指标失去作用以停止读取指标的计数。
二个具有n位的循环式灰阶码计数器系用来协调读取及写入部分的动作,其中n是大于一的任何整数。因为这二个循环式灰阶码计数器不够用来指示读取及写入指标的内含值,所以须用到额外的二进制计数器,用以累计读取及写入灰阶码计数器的满溢状态。例如,一个二位灰阶码的写入指标可指示四种写入要求信号:00、01、11、10。若先进先出存储器在入部分所含的资料大于四笔时,而先进先出存储器尚未存满且灰阶编码的写入计数器已满溢时,计数会转换至二进制计数器中进行以记录写入操作。写入部分的动作也是相同的。
图4显示根据本发明的计数器动作范例。非同步双端口先进先出存储器包含16笔资料,且读取部分及写入部分各包含二个非附码计数器,称之为Wmaster及Rslave或Rmaster及Wslave。在写入部分中,计数器Wmaster是一个二位的灰阶码计数器,用以记录写入要求信号的动作。计数器Rslave是另一个2位灰阶码计数器,用以与读取部分取得同步。同样地,读取部分的计数器Rmaster及Wslave分别用来记录读取要求信号的动作及与写入部分取得同步。另外,二进制计数器Wacc配合计数器Wmaster来记录计数器Wmaster的满溢状态。写入指标Wptr是一个二进制计数器。在本范例中,写入频率是快于读取频率。步骤0显示起始状态。从步骤0到步骤4共服务了五个写入要求。在步骤3中,写入部分对读取部分的计数器Wslave取样,取样的结果与计数器Wmaster作比较以侦测满溢状态是否发生。当侦测到满溢状态时,计数器Wmaster停止计数且计数器Wacc加一。在步骤5中,读取部分对计数器Wmaster取样,并将取样的结杲与计数器Wslave做比较。因为计数器Wmaster及Wslave的比划较结果不相同,所以将计数器Wslave加一。其间,因一个先进先出读取要求被执行,故将计数器Rmaster加一。在步骤6中,取消满溢状态,以使计数器Wmaster加一及计数器Wacc减一。在步骤7中,执行与步骤5相同的操作。在步骤8中,执行与步骤6相同的操作。但是因为一个先进先出写入要求信号的输入而不将计数器Wacc减一。对称于写入部分(见图5)的读取部分具有与写入部分一模一样的操作。如此,在写入及读取二进制计数器各自的控制下,计数器Wmaster绝不会超过计数器Wslave的限制范围而计数器Rmaster也绝不会超过计数器Rslave的限制范围。利用灰阶码计数器及二进制计数器的相互配合,可减少各灰阶码计数器所需的位数。因此,本发明的二进制计数器及灰阶码计数器相较于习知先进先出存储器中需用于同尺寸大小的典型灰阶码配置,具有较好的时序迟缓及较少的面积。
图5根据本发明说明非同步双端口先进先出存储器500。上述非同步双端口先进先出存储器500包括一双端口随机存取存储器(RAM)510。输入资料通过一输入端口(未显示)写入随机存取存储器510,并用一写入指标Wptr指示一写入位址。输出资料通过一输出端口(未显示)自随机存取存储器510读取,并用一读取指标Rptr、指示一读取位址。先进先出500进一步包括一双相对称配置的读取及写入部分。各部分包含一先进先出状态指示器501、502、一协调单元503、504及一满溢控制器505、506。上述先进先出状态指示器501、502指示一先进先出指标及读取或写入指标中的随机存取存储器510的位准(见图8)。先进先出指标中的随机存取存储器510的位准可利用FULL(见图8)说明写入部分中的先进先出已存满并利用EMPTY说明读取部分中的先进先出空着。各指标是一二进制计数器。上述协调单元503、504包含一个n位灰阶码计数器及一个同步电路(见图6),其中n是大于一的任何整数。上述同步电路可以是一正反器(Flip/Flop)。上述满溢控制器505、506搭配上述协调单元,以得到图4的操作。如上述,在读取及写入部分两者的操作是一模一样的。为了简化,只进一步说明写入部分,如图6至图8所显示的。
图6说明根据本发明的图5写入部分中的协调单元503的方块图。在上述协调单元503,一个n位灰阶码计数器是Wmaster,即61,另一个是Rslave即64,其中n是大于一的任何整数。其中元件62是一同步电路,其经由来自计数器Wslave的输入信号,以取得与读取部分的信号的同步。若写入要求信号Write被致能且经由接收来自计数器Wacc发出的信号判定没有满溢状态出现。则如图4所示的步骤将计数器Wmaster加一。同样地,若没有满溢信号、没有服务中的先进先出的写入要求信号write及计数器Wacc不等于零这些条件被满足,则将计数器Wmaster加一。若是计数器Rslave的信号与经由元件63(另一同步电路)取样的信号Rmaster的比较结果Cpr(未显示)不相同,见将计数器Rslave加一。读取部分中的协调单元504是相同于写入部分的协调单元,只是读取及写入部分中的元件及信号是互换的。
图7说明根据本发明的图5写入部分中的满溢控制器505的方块图。上述满溢控制器505是一个二进制计数器Wacc。若写入要求信号write被致能并自输入的计数器Wslave与Wmaster两信号(未显示)的比较结果Cpw侦测到满溢信号,则如图4所示的步骤4及5所示的步骤般地将计数器Wacc加一。若计数器Wmaster没有满溢、计数器Wacc不等于零且没有服务著先进先出的写入要求信号,则如图4所示的步骤0及7所示的步骤般地将计数器Wacc减一。读取部分中的满溢控制器506是相同于写入部份的满溢控制器,只是读取及写入部分中的元件及信号是互换的。
图8说明根据本发明的图5写入部分中的先进先出状态指示器501的方块图。上述状态指示器501包含一循环式二进制计数器Waddr,以指向写入指标Wptr所示的一写入位址,及一二进制计数器Wlevel,以指示已用掉的先进先出存储器尺寸大小。若先进先出写入要求信号Write被服务,则将计数器Waddr加一。若上述比较结果Cpr相等且写入要求信号write被致能,则将计数器一Wlevel加一。若上述比较结果Cpr不同且没有先进先出写入要求信号write被服务,则将计数器一Wlevel减一。一样地,读取部分中的先进先出状态指示器501是相同于写入部份的先进先出状态指示器,只是读取及写入部分中的元件及信号是互换的。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟知此技术之人士,在不脱离本发明的精神及范围内,当可做更动与润饰,因此本发明的保护范围当视权利要求书所界定者为准。

Claims (12)

1.一种用以控制一非同步先进先出存储器的装置,其特征在于包括一双端口先进先出存储器,具有一读取端口及一写入端口,以在不同操作频率下各自读取及写入资料、一对n位循环式灰阶码计数器,以协调上述双端口先进先出存储器中的读取及写入操作频率、以及一n位满溢二进制计数器,以累计上述该对n位循环式灰阶码计数器的满溢状态,其中,n是大于一的任何整数。
2.如权利要求1所述的用以控制一非同步先进先出存储器的装置,其特征在于:进一步包括一先进先出状态计数器,将其连接至上述双端口先进先出存储器、该对n位循环式灰阶码计数器及该n位满溢二进制计数器,以指示上述双端口先进先出存储器的操作位址及使用率,如此,当上述双端口先进先出存储器尚未存满但该对n位循环式灰阶码计数器却已满溢时,使该n位满溢二进制计数器继续在途中要求信号的计数工作。
3.如权利要求1所述的用以控制一非同步先进先出存储器的装置,其特征在于:上述操作位址是一读取位址。
4.如权利要求1所述的用以控制一非同步先进先出存储器的装置,其特征在于:上述操作位址是一写入位址。
5.一种用以控制一非同步先进先出存储器的装置,其特征在于包括:
一具有一写入累积二进制计数器的写入满溢控制器,上述写入累积二进制计数器含有一用以接收一外部写入要求信号的第一输入端、一第二输出端、一第三输入端及一用以输出一写入累积信号的输出端;
一连接至上述写入满溢控制器的写入协调单元,具有一第一同步电路、一具有n位循环式灰阶码的写入主计数器、一第二同步电路以及一具有n位循环式灰阶码的读取从属计数器,其中,上述第一同步电路接收一写入从属信号并输出一第一同步信号至上述写入满溢控制器的第二输入端,上述具有n位循环式灰阶码的写入主计数器接中上述第一同步信号、上述外部写入要求信号及上述写入累积信号并输出一写入主信号至上述写入满溢控制器的第三输入端,以与上述写入从属信号做比较,上述第二同步电路接收一读取主信号并输出一第二同步信号以及上述具有n位循环式灰阶码的读取从属计数器接收上述第一同步信号并输出一读取从属信号;
一写入先进先出状态指示器,包含一写入指标及一写入位准指标,其中,上述写入指标具有一用以接收上述外部写入要求信号的输入端及一用以输出一写入位址信号的输出端而上述写入位准指标具有一用以接收来自上述写入协调单元的第二同步信号的第一输入端、一用以接收来自上述写入协绸单元的读取从属信号以与上述读取主信号做比较的第二输入端、一用以接收上述外部写入要求信号的第三输入端及一用以输出一先进先出存储器已满信号至外部的输出端;
一非同步双端口先进先出存储器,具有一连接至上述写入协调单元的输入端口及一输出端口,其中,利用上述输入端口写入资料并利用上述输出端口读取资料;
一连接至上述非同步双端口先进先出存储器的输出端口的读取协调单元,具有一第三同步电路、一具有n位循环式灰阶码的写入从属计数器、一具有n位循环式灰阶码的读取主计数器及一第四同步电路,其中,上述第三同步电路接收来自上述写入协调单元的写入主信号并输出一第三同步信号,上述具有n位循环式灰阶码的写入从属计数器输出上述写入从属信号至上述第一同步电路,上述具有n位循环式灰阶码的读取主计数器具有一用以接收一外部读取信号的第一输入端、一第二输出端一用以输出上述读取主信号至上述第二同步电路的第一输出端及一第二输出端,以及上述第四同步电路具有一用以接收来自上述写入协调单元的读取从属信号的输入端及一用以输出一第四同步信号的输出端;
一具有一读取累积二进制计数器的读取满溢控制器,上述读取累积二进制计数器含有一用以接收一外部读取要求信号的第一输入端、一用以接收上述第四同步信号的第二输出端、一用以接收来自上述读取协调单元的读取主信号以与来自写入协调单元的读取从属信号做比较的第三输入端及一用以输出一读取累积信号至上述主计数器的第二输入端的输出端;以及
一读取先进先出状态指示器,包含一读取指标及一读取位准指标,其中,上述读取指标具有一用以接收上述外部读取要求信号的输入端及一用以输出一读取位址信号的输出端而上述读取位准指标具有一用以接收来自上述读取协调单元的第三同步信号的第一输入端、一用以接收来自上述读取协调单元的写入从属信号以与上述写入主信号做比较的第二输入端、一用以接收上述外部读取要求信号的第三输入端及一用以输出一先进先出存储器已空信号至外部的输出端。
6.如权利要求5所述的用以控制一非同步先进先出存储器的装置,其特征在于:上述第一、第二、第三及第四同步电路系为一正反器。
7.一种操作方法,适用于一用以控制一非同步先进先出存储器的装置,上述非同步先进先出存储器包括一双端口先进先出存储器,具有一读取端口及一写入端口,以在不同操作频率下各自读取及写入资料、一对n位循环式灰阶码计数器,以协调上述双端口先进先出存储器中的读取及写入操作频率、以及一n位满溢二进制计数器,以累计上述该对n位循环式灰阶码计数器的满溢状态,其中,n是大于一的任何整数,上述操作方法包括下列步骤:
判断上述该对n位循环式灰阶码计数器是否具有除了零以外的相同值;
判断上述双端口先进先出存储器状态;及
当一先进先出要求信号进入时,若诚对n位循环式灰阶码计数器具有除了零以外的相同值且该双端口先进先出存储器尚未存满,则以上述n位满溢二进制计数器来取代该对n位循环式灰阶码计数器接着操作。
8.如权利要求7所述的操作方法,其特征在于:进一步包括该步骤为若该双端口先进先出存储器状态指示已满,则输出一已满信号至外部。
9.如权利要求7所述的操作方法,其特征在于:进一步包括该步骤为若该双端口先进先出存储器状态指示已空,则输出一已空信号至外部。
10.如权利要求7所述的操作方法,其特征在于:进一步包括该步骤为在没对任何先进先出要求信号做服务时,若该对n位循环式灰阶码计数器不具有相同值且该n位满溢二进制计数器不为零,则将该n位满溢二进制计数器减一。
11.如权利要求10所述的操作方法,其特征在于:该先进先出要求是任一先进先出写入要求。
12.如权利要求10所述的操作方法,其特征在于:该先进先出要求是任一先进先出读取要求。
CNB021264546A 2002-03-15 2002-07-19 用以控制一非同步先进先出存储器的装置及其操作方法 Expired - Fee Related CN1236450C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/099,236 US6845414B2 (en) 2002-03-15 2002-03-15 Apparatus and method of asynchronous FIFO control
US10/099,236 2002-03-15

Publications (2)

Publication Number Publication Date
CN1445780A CN1445780A (zh) 2003-10-01
CN1236450C true CN1236450C (zh) 2006-01-11

Family

ID=28039544

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021264546A Expired - Fee Related CN1236450C (zh) 2002-03-15 2002-07-19 用以控制一非同步先进先出存储器的装置及其操作方法

Country Status (3)

Country Link
US (1) US6845414B2 (zh)
CN (1) CN1236450C (zh)
TW (1) TWI224790B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194500B2 (en) * 2003-07-11 2007-03-20 Sony Corporation Scalable gray code counter
US20050091470A1 (en) * 2003-10-24 2005-04-28 Anand Pande Calculation of gray codes using exhaustive combinations
US20050160215A1 (en) * 2004-01-20 2005-07-21 International Business Machines Corporation Flow through asynchronous elastic FIFO apparatus and method for implementing multi-engine parsing and authentication
CN100536020C (zh) * 2004-07-23 2009-09-02 华为技术有限公司 一种先入先出存储器及其读写地址的调整方法
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US7821548B2 (en) * 2005-06-03 2010-10-26 Nokia Corporation Temporal image buffer for image processor using compressed raw image
US8764654B2 (en) 2008-03-19 2014-07-01 Zin Technologies, Inc. Data acquisition for modular biometric monitoring system
CN100438480C (zh) * 2005-11-23 2008-11-26 华为技术有限公司 一种缓存管理系统与方法
US8131670B2 (en) * 2007-02-22 2012-03-06 Microsoft Corporation Techniques to cross-synchronize data
TWI386814B (zh) * 2007-12-31 2013-02-21 Ind Tech Res Inst 具動態工作管理能力之多處理器界面及其程式載卸方法
US8947460B2 (en) 2008-04-22 2015-02-03 Htc Corporation Method and apparatus for operating graphic menu bar and recording medium using the same
TWI424430B (zh) * 2009-01-23 2014-01-21 Realtek Semiconductor Corp 控制畫面輸入與輸出之裝置與方法
US8364290B2 (en) * 2010-03-30 2013-01-29 Kimberly-Clark Worldwide, Inc. Asynchronous control of machine motion
US8966416B2 (en) 2013-03-07 2015-02-24 Cadence Design Systems, Inc. Finite-state machine encoding during design synthesis
KR102104564B1 (ko) * 2013-11-21 2020-04-24 삼성전자주식회사 디지털 상관 이중 샘플링 회로 및 이를 포함하는 이미지 센서
KR102193468B1 (ko) * 2014-04-04 2020-12-21 삼성전자주식회사 타이밍 마진을 적응적으로 보정하는 메모리 장치 및 이를 포함하는 집적 회로
US10680957B2 (en) 2014-05-28 2020-06-09 Cavium International Method and apparatus for analytics in a network switch
US20150365339A1 (en) * 2014-06-11 2015-12-17 Xpliant, Inc. Counter with overflow fifo and a method thereof
US10438648B2 (en) * 2018-01-11 2019-10-08 Micron Technology, Inc. Apparatuses and methods for maintaining a duty cycle error counter
US11010293B1 (en) * 2018-01-23 2021-05-18 Marvell Israel (M.I.S.L) Ltd. Register-based asynchronous FIFO with asymmetric size
CN114859341B (zh) * 2021-02-03 2023-05-05 上海禾赛科技有限公司 同步电路、数据处理芯片及雷达
CN116561027A (zh) * 2022-01-27 2023-08-08 瑞昱半导体股份有限公司 异步先进先出内存的控制方法及对应的数据传输系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084841A (en) * 1989-08-14 1992-01-28 Texas Instruments Incorporated Programmable status flag generator FIFO using gray code
US5426756A (en) * 1992-08-11 1995-06-20 S3, Incorporated Memory controller and method determining empty/full status of a FIFO memory using gray code counters
US5790891A (en) * 1996-01-11 1998-08-04 Galileo Technology Ltd. Synchronizing unit having two registers serially connected to one clocked elements and a latch unit for alternately activating the registers in accordance to clock signals
US6434642B1 (en) * 1999-10-07 2002-08-13 Xilinx, Inc. FIFO memory system and method with improved determination of full and empty conditions and amount of data stored
US6337893B1 (en) * 1999-11-04 2002-01-08 Philips Electronics North America Corp. Non-power-of-two grey-code counter system having binary incrementer with counts distributed with bilateral symmetry
US6553448B1 (en) * 2001-03-01 2003-04-22 3Com Corporation Method for unit distance encoding of asynchronous pointers for non-power-of-two sized buffers
US6718449B2 (en) * 2001-07-09 2004-04-06 Sony Corporation System for data transfer between different clock domains, and for obtaining status of memory device during transfer
CA2357443A1 (en) * 2001-09-13 2003-03-13 Pmc-Sierra Ltd. Gray code sequences

Also Published As

Publication number Publication date
TWI224790B (en) 2004-12-01
US6845414B2 (en) 2005-01-18
CN1445780A (zh) 2003-10-01
US20030177295A1 (en) 2003-09-18

Similar Documents

Publication Publication Date Title
CN1236450C (zh) 用以控制一非同步先进先出存储器的装置及其操作方法
US6263410B1 (en) Apparatus and method for asynchronous dual port FIFO
CN101373424B (zh) 一种异步先进先出存储器的数据读写方法、装置及系统
US5267191A (en) FIFO memory system
US7310396B1 (en) Asynchronous FIFO buffer for synchronizing data transfers between clock domains
US5555524A (en) Semi-synchronous dual port FIFO
CN101681249B (zh) 先进先出缓冲器
US6553448B1 (en) Method for unit distance encoding of asynchronous pointers for non-power-of-two sized buffers
US6366530B1 (en) Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
US8510503B2 (en) Ring buffer circuit and control circuit for ring buffer circuit
EP0133735B1 (en) N-bit counter apparatus
EP1410509B1 (en) Non-power-of-two gray-code counter system having binary incrementer with counts distributed with bilateral symmetry
EP0484652B1 (en) First-in-first-out buffer
EP0217486B1 (en) A synchronizing system
US6857043B1 (en) Shift register implementations of first-in/first-out memories utilizing a double increment gray code counter
CN108108148B (zh) 一种数据处理方法和装置
US5491659A (en) Hazard-free circuitry for determining full and empty conditions in first-in-first-out memory
Xie et al. Analysis and comparison of asynchronous fifo and synchronous fifo
EP0579375B1 (en) Difference flag circuit with offset counter
US6996640B1 (en) Method and system for asynchronously transferring data
EP3531560B1 (en) A binary-to-gray conversion circuit, related fifo memory, integrated circuit and method
CN1741188A (zh) 异步数据时钟域转换的系统
CN209765494U (zh) 一种异步fifo装置
US7796062B1 (en) Method and apparatus for providing non-power-of-two even count gray code
EP1174790A1 (en) Method and apparatus for determining the number of empty memory locations in a FIFO memory device

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060111

Termination date: 20090819