專利名稱:用以控制一非同步先進先出記憶體的裝置及其操作方法
技術(shù)領(lǐng)域:
本發(fā)明系有關(guān)于一種先進先出隨機存取記憶體(FIFO RAM),尤其是有關(guān)于一種用以控制一非同步雙端口FIFO記憶體存取的裝置及方法。
灰階碼方式是常用來解決上述問題的方式的一?;译A碼是一單位的距離碼;也就是,相鄰兩碼間只有一位元是不同的。
圖1顯示一3位元灰階碼計數(shù)器的例子?;译A碼方法可在讀取或?qū)懭胫笜吮蝗訒r,將產(chǎn)生轉(zhuǎn)換穩(wěn)定問題的位元數(shù)降至最低。每次取樣的值最多只有一位元的錯誤。這意謂著灰階碼指標只改變兩相鄰值間的其中一個位元值。計數(shù)器中的前一及目前值會被取樣并校正,用以檢查先進先出指標。圖2說明一非同步雙端口先進先出記憶體,其包含一深度為8的字組(未顯示)。使用二個3位元的灰階碼指標21、22(即前述讀取指標及寫入指標),不同的讀寫頻率RCLK、WCLK及它們相對應的同步電路210、220來架構(gòu)上述先進先出記憶體。當讀取指標及寫入指相等時,先進先出記憶體內(nèi)真的沒有任何儲存資料(以FIFO_EMPTY表示之)。當下一個寫入指標值等于讀取及寫入先進先出狀態(tài)指示器23、24所顯示的目前讀取指標值時即代表先進先出記憶體內(nèi)已存滿(以FIFO_FULL表示之)。
如上述,讀取指標21及寫入指標22有需要先利用灰階至二進制計數(shù)器25、26以轉(zhuǎn)換成二進制的讀取及寫入輸出形式,以指示在先進先出記憶體中的讀取與寫入位址,并接著在讀取及寫入二進制計數(shù)器27、28中做減法運算,以決定目前在先進先出記憶體中的剩余可用空間。
雖然上述灰階碼方法解決轉(zhuǎn)換穩(wěn)定度(metastability)的問題,然而,上述方法具有下列三個缺點。第一,當架構(gòu)一長串非同步先進先出記憶體時,這個方法很難以一具有灰階碼編碼狀態(tài)的狀態(tài)機器(statemachine)的形式來編碼計數(shù)器。第二,合并FIFO_FULL信號及復雜的灰階碼配置的偵測方式會引起時序遲緩(timing slacks)并占據(jù)大電路面積的問題。例如,須要比較8種條件,以決定若是架構(gòu)一3位元灰階碼計數(shù)器時,是否先進先出記憶體會近乎滿載的狀況。這8種條件包含如當寫入指標write_pointer中的虛擬碼(pseudo code)為“100”且讀取指標read_pointer中的虛擬碼為“000”時,則FIFO_FULL中的虛擬碼為值“1”;當寫入指標write_pointer中的虛擬碼(pseudo code)為“000”且讀取指標read_pointer中的虛擬碼為“001”時,F(xiàn)IFO_FULL中的虛擬碼為值“1”...等等。最后,使用灰階碼方法需要灰階對二進制的轉(zhuǎn)換器及減法器,以指示先進先出記憶體的各種狀態(tài),這樣會讓成本大增。例如,圖3顯示一n位元灰階對二進制轉(zhuǎn)換所需的電路及方程式,其中n是大于一的任何整數(shù)。此例中,假如各位址具有n位元寬度,則一來自灰階計數(shù)器31的n位元輸入值的每一位元擁有一輸入線,且同樣地,n位元輸入線分別對應至n位元輸出線34以形成一輸出至二進制計數(shù)器32的n位元輸出值,其中n是大于一的任何整數(shù)。利用互斥閘(XOR)35及圖中所給予的方程式Bn、Bi來完成上述n位元灰階對二進制轉(zhuǎn)換的功能,其中n是大于一的任何整數(shù)。當n值越大時,則所需的轉(zhuǎn)換電路及方程式也越復雜。成本也會隨著復雜的轉(zhuǎn)換電路及方程式顯著地增加。
本發(fā)明的另一目的系提供一種具有n位元灰階碼計數(shù)器以協(xié)調(diào)上述先進先出記憶體的讀取及寫入兩部分的非同步雙端口先進先出(FIFO)記憶體。
本發(fā)明的一種用以控制一非同步先進先出記憶體的裝置,其特征在于包括一雙端口先進先出記憶體,具有一讀取端口及一寫入端口,以在不同操作頻率下各自讀取及寫入資料、一對n位元循環(huán)式灰階碼計數(shù)器,以協(xié)調(diào)上述雙端口先進先出記憶體中的讀取及寫入操作頻率、以及一n位元滿溢二進制計數(shù)器,以累計上述該對n位元循環(huán)式灰階碼計數(shù)器的滿溢狀態(tài),其中,n是大于一的任何整數(shù)。
進一步包括一先進先出狀態(tài)計數(shù)器,將其連接至上述雙端口先進先出記憶體、該對n位元循環(huán)式灰階碼計數(shù)器及該n位元滿溢二進制計數(shù)器,以指示上述雙端口先進先出記憶體的操作位址及使用率,如此,當上述雙端口先進先出記憶體尚未存滿(not full)但該對n位元循環(huán)式灰階碼計數(shù)器卻已滿溢時,使該n位元滿溢二進制計數(shù)器繼續(xù)在途中要求信號(comingrequest)的計數(shù)工作。
上述操作位址為一讀取位址或?qū)懭胛恢贰?br>
一種用以控制一非同步先進先出記憶體的裝置,其特征在于包括一具有一寫入累積二進制計數(shù)器的寫入滿溢控制器,上述寫入累積二進制計數(shù)器含有一用以接收一外部寫入要求信號的第一輸入端、一第二輸出端、一第三輸入端及一用以輸出一寫入累積信號的輸出端;一連接至上述寫入滿溢控制器的寫入?yún)f(xié)調(diào)單元,具有一第一同步電路、一具有n位元循環(huán)式灰階碼的寫入主計數(shù)器(master counter)、一第二同步電路以及一具有n位元循環(huán)式灰階碼的讀取從屬計數(shù)器(slavecounter),其中,上述第一同步電路接收一寫入從屬信號(slave signal)并輸出一第一同步信號至上述寫入滿溢控制器的第二輸入端,上述具有n位元循環(huán)式灰階碼的寫入主計數(shù)器(master counter)接中上述第一同步信號、上述外部寫入要求信號及上述寫入累積信號并輸出一寫入主信號至上述寫入滿溢控制器的第三輸入端,以與上述寫入從屬信號做比較,上述第二同步電路接收一讀取主信號并輸出一第二同步信號以及上述具有n位元循環(huán)式灰階碼的讀取從屬計數(shù)器(slave counter)接收上述第一同步信號并輸出一讀取從屬信號;一寫入先進先出狀態(tài)指示器,包含一寫入指標及一寫入位準指標,其中,上述寫入指標具有一用以接收上述外部寫入要求信號的輸入端及一用以輸出一寫入位址信號的輸出端而上述寫入位準指標具有一用以接收來自上述寫入?yún)f(xié)調(diào)單元的第二同步信號的第一輸入端、一用以接收來自上述寫入?yún)f(xié)綢單元的讀取從屬信號以與上述讀取主信號做比較的第二輸入端、一用以接收上述外部寫入要求信號的第三輸入端及一用以輸出一先進先出記憶體已滿(full)信號至外部的輸出端;一非同步雙端口先進先出記憶體,具有一連接至上述寫入?yún)f(xié)調(diào)單元的輸入端口及一輸出端口,其中,利用上述輸入端口寫入資料并利用上述輸出端口讀取資料;一連接至上述非同步雙端口先進先出記憶體的輸出端口的讀取協(xié)調(diào)單元,具有一第三同步電路、一具有n位元循環(huán)式灰階碼的寫入從屬計數(shù)器(slave counter)、一具有n位元循環(huán)式灰階碼的讀取主計數(shù)器(mastercounter)及一第四同步電路,其中,上述第三同步電路接收來自上述寫入?yún)f(xié)調(diào)單元的寫入主信號并輸出一第三同步信號,上述具有n位元循環(huán)式灰階碼的寫入從屬計數(shù)器(slave counter)輸出上述寫入從屬信號至上述第一同步電路,上述具有n位元循環(huán)式灰階碼的讀取主計數(shù)器(mastercounter)具有一用以接收一外部讀取信號的第一輸入端、一第二輸出端一用以輸出上述讀取主信號至上述第二同步電路的第一輸出端及一第二輸出端,以及上述第四同步電路具有一用以接收來自上述寫入?yún)f(xié)調(diào)單元的讀取從屬信號的輸入端及一用以輸出一第四同步信號的輸出端;一具有一讀取累積二進制計數(shù)器的讀取滿溢控制器,上述讀取累積二進制計數(shù)器含有一用以接收一外部讀取要求信號的第一輸入端、一用以接收上述第四同步信號的第二輸出端、一用以接收來自上述讀取協(xié)調(diào)單元的讀取主信號以與來自寫入?yún)f(xié)調(diào)單元的讀取從屬信號做比較的第三輸入端及一用以輸出一讀取累積信號至上述主計數(shù)器的第二輸入端的輸出端;以及一讀取先進先出狀態(tài)指示器,包含一讀取指標及一讀取位準指標,其中,上述讀取指標具有一用以接收上述外部讀取要求信號的輸入端及一用以輸出一讀取位址信號的輸出端而上述讀取位準指標具有一用以接收來自上述讀取協(xié)調(diào)單元的第三同步信號的第一輸入端、一用以接收來自上述讀取協(xié)調(diào)單元的寫入從屬信號以與上述寫入主信號做比較的第二輸入端、一用以接收上述外部讀取要求信號的第三輸入端及一用以輸出一先進先出記憶體已空(empty)信號至外部的輸出端。
上述第一、第二、第三及第四同步電路系為一正反器(flip/flop)。
一種操作方法,適用于一用以控制一非同步先進先出記憶體的裝置,上述非同步先進先出記憶體包括一雙端口先進先出記憶體,具有一讀取端口及一寫入端口,以在不同操作頻率下各自讀取及寫入資料、一對n位元循環(huán)式灰階碼計數(shù)器,以協(xié)調(diào)上述雙端口先進先出記憶體中的讀取及寫入操作頻率、以及一n位元滿溢二進制計數(shù)器,以累計上述該對n位元循環(huán)式灰階碼計數(shù)器的滿溢狀態(tài),其中,n是大于一的任何整數(shù),上述操作方法包括下列步驟判斷上述該對n位元循環(huán)式灰階碼計數(shù)器是否具有除了零以外的相同值;判斷上述雙端口先進先出記憶體狀態(tài);及當一先進先出要求信號進入時,若誠對n位元循環(huán)式灰階碼計數(shù)器具有除了零以外的相同值且該雙端口先進先出記憶體尚未存滿,則以上述n位元滿溢二進制計數(shù)器來取代該對n位元循環(huán)式灰階碼計數(shù)器接著操作。
上述方法進一步包括步驟為若該雙端口先進先出記憶體狀態(tài)指示已滿(full),則輸出一已滿信號至外部。
上述方法進一步包括步驟為若該雙端口先進先出記憶體狀態(tài)指示已空(empty),則輸出一已空信號至外部。
上述方法進一步包括步驟為在沒對任何先進先出要求信號做服務時,若該對n位元循環(huán)式灰階碼計數(shù)器不具有相同值且該n位元滿溢二進制計數(shù)器不為零,則將該n位元滿溢二進制計數(shù)器減一。
根據(jù)本發(fā)明,循環(huán)式灰階碼計數(shù)器系用以協(xié)調(diào)先進先出記憶體讀取及寫入兩部分。額外的二進制計數(shù)器是用來累計循環(huán)式灰階碼計數(shù)器的讀取及寫入滿溢。當任何循環(huán)式灰階碼計數(shù)器發(fā)生滿溢狀態(tài)時,讀取及寫入計數(shù)工作轉(zhuǎn)移至各自的二進制計數(shù)器,以記錄先進先出記憶體的相關(guān)存取動作。
一先進先出節(jié)狀態(tài)指示器利用二進制計數(shù)器其中之一來指示先進先出記憶體中已使用的空間。同時,先進先出記憶體中的記憶體使用程度可分別利用寫入部分及讀取部分中的FIFO_FULL及FIFO_EMPTY輸出來表示先進先出記憶體的狀態(tài)。
本發(fā)明提供一不受讀取及寫入頻率限制以控制非同步先進先出記憶體的應用。而且,本發(fā)明所提供的二進制計數(shù)器及一些n位元灰階計數(shù)器具有較好的時序遲緩及較少的面積等優(yōu)點。
二個具有n位元的循環(huán)式灰階碼計數(shù)器系用來協(xié)調(diào)讀取及寫入部分的動作,其中n是大于一的任何整數(shù)。因為這二個循環(huán)式灰階碼計數(shù)器不夠用來指示讀取及寫入指標的內(nèi)含值,所以須用到額外的二進制計數(shù)器,用以累計讀取及寫入灰階碼計數(shù)器的滿溢狀態(tài)。例如,一個二位元灰階碼的寫入指標可指示四種寫入要求信號00、01、11、10。若先進先出記憶體在入部分所含的資料大于四筆時,而先進先出記憶體尚未存滿且灰階編碼的寫入計數(shù)器已滿溢時,計數(shù)會轉(zhuǎn)換至二進制計數(shù)器中進行以記錄寫入操作。寫入部分的動作也是相同的。
圖4顯示根據(jù)本發(fā)明的計數(shù)器動作范例。非同步雙端口先進先出記憶體包含16筆資料,且讀取部分及寫入部分各包含二個非附碼計數(shù)器,稱之為Wmaster及Rslave或Rmaster及Wslave。在寫入部分中,計數(shù)器Wmaster是一個二位元的灰階碼計數(shù)器,用以記錄寫入要求信號的動作。計數(shù)器Rslave是另一個2位元灰階碼計數(shù)器,用以與讀取部分取得同步。同樣地,讀取部分的計數(shù)器Rmaster及Wslave分別用來記錄讀取要求信號的動作及與寫入部分取得同步。另外,二進制計數(shù)器Wacc配合計數(shù)器Wmaster來記錄計數(shù)器Wmaster的滿溢狀態(tài)。寫入指標Wptr是一個二進制計數(shù)器。在本范例中,寫入頻率是快于讀取頻率。步驟0顯示起始狀態(tài)。從步驟0到步驟4共服務了五個寫入要求。在步驟3中,寫入部分對讀取部分的計數(shù)器Wslave取樣,取樣的結(jié)果與計數(shù)器Wmaster作比較以偵測滿溢狀態(tài)是否發(fā)生。當偵測到滿溢狀態(tài)時,計數(shù)器Wmaster停止計數(shù)且計數(shù)器Wacc加一。在步驟5中,讀取部分對計數(shù)器Wmaster取樣,并將取樣的結(jié)果與計數(shù)器Wslave做比較。因為計數(shù)器Wmaster及Wslave的比劃較結(jié)果不相同,所以將計數(shù)器Wslave加一。其間,因一個先進先出讀取要求被執(zhí)行,故將計數(shù)器Rmaster加一。在步驟6中,取消滿溢狀態(tài),以使計數(shù)器Wmaster加一及計數(shù)器Wacc減一。在步驟7中,執(zhí)行與步驟5相同的操作。在步驟8中,執(zhí)行與步驟6相同的操作。但是因為一個先進先出寫入要求信號的輸入而不將計數(shù)器Wacc減一。對稱于寫入部分(見圖5)的讀取部分具有與寫入部分一模一樣的操作。如此,在寫入及讀取二進制計數(shù)器各自的控制下,計數(shù)器Wmaster絕不會超過計數(shù)器Wslave的限制范圍而計數(shù)器Rmaster也絕不會超過計數(shù)器Rslave的限制范圍。利用灰階碼計數(shù)器及二進制計數(shù)器的相互配合,可減少各灰階碼計數(shù)器所需的位元數(shù)。因此,本發(fā)明的二進制計數(shù)器及灰階碼計數(shù)器相較于習知先進先出記憶體中需用于同尺寸大小的典型灰階碼配置,具有較好的時序遲緩及較少的面積。
圖5根據(jù)本發(fā)明說明非同步雙端口先進先出記憶體500。上述非同步雙端口先進先出記憶體500包括一雙端口隨機存取記憶體(RAM)510。輸入資料通過一輸入端口(未顯示)寫入隨機存取記憶體510,并用一寫入指標Wptr指示一寫入位址。輸出資料通過一輸出端口(未顯示)自隨機存取記憶體510讀取,并用一讀取指標Rptr、指示一讀取位址。先進先出500進一步包括一雙相對稱配置的讀取及寫入部分。各部分包含一先進先出狀態(tài)指示器501、502、一協(xié)調(diào)單元503、504及一滿溢控制器505、506。上述先進先出狀態(tài)指示器501、502指示一先進先出指標及讀取或?qū)懭胫笜酥械碾S機存取記憶體510的位準(見圖8)。先進先出指標中的隨機存取記憶體510的位準可利用FULL(見圖8)說明寫入部分中的先進先出已存滿并利用EMPTY說明讀取部分中的先進先出空著。各指標是一二進制計數(shù)器。上述協(xié)調(diào)單元503、504包含一個n位元灰階碼計數(shù)器及一個同步電路(見圖6),其中n是大于一的任何整數(shù)。上述同步電路可以是一正反器(Flip/Flop)。上述滿溢控制器505、506搭配上述協(xié)調(diào)單元,以得到圖4的操作。如上述,在讀取及寫入部分兩者的操作是一模一樣的。為了簡化,只進一步說明寫入部分,如圖6至圖8所顯示的。
圖6說明根據(jù)本發(fā)明的圖5寫入部分中的協(xié)調(diào)單元503的方塊圖。在上述協(xié)調(diào)單元503,一個n位元灰階碼計數(shù)器是Wmaster,即61,另一個是Rslave即64,其中n是大于一的任何整數(shù)。其中元件62是一同步電路,其經(jīng)由來自計數(shù)器Wslave的輸入信號,以取得與讀取部分的信號的同步。若寫入要求信號Write被致能且經(jīng)由接收來自計數(shù)器Wacc發(fā)出的信號判定沒有滿溢狀態(tài)出現(xiàn)。則如圖4所示的步驟將計數(shù)器Wmaster加一。同樣地,若沒有滿溢信號、沒有服務中的先進先出的寫入要求信號write及計數(shù)器Wacc不等于零這些條件被滿足,則將計數(shù)器Wmaster加一。若是計數(shù)器Rslave的信號與經(jīng)由元件63(另一同步電路)取樣的信號Rmaster的比較結(jié)果Cpr(未顯示)不相同,見將計數(shù)器Rslave加一。讀取部分中的協(xié)調(diào)單元504是相同于寫入部分的協(xié)調(diào)單元,只是讀取及寫入部分中的元件及信號是互換的。
圖7說明根據(jù)本發(fā)明的圖5寫入部分中的滿溢控制器505的方塊圖。上述滿溢控制器505是一個二進制計數(shù)器Wacc。若寫入要求信號write被致能并自輸入的計數(shù)器Wslave與Wmaster兩信號(未顯示)的比較結(jié)果Cpw偵測到滿溢信號,則如圖4所示的步驟4及5所示的步驟般地將計數(shù)器Wacc加一。若計數(shù)器Wmaster沒有滿溢、計數(shù)器Wacc不等于零且沒有服務著先進先出的寫入要求信號,則如圖4所示的步驟0及7所示的步驟般地將計數(shù)器Wacc減一。讀取部分中的滿溢控制器506是相同于寫入部份的滿溢控制器,只是讀取及寫入部分中的元件及信號是互換的。
圖8說明根據(jù)本發(fā)明的圖5寫入部分中的先進先出狀態(tài)指示器501的方塊圖。上述狀態(tài)指示器501包含一循環(huán)式二進制計數(shù)器Waddr,以指向?qū)懭胫笜薟ptr所示的一寫入位址,及一二進制計數(shù)器Wlevel,以指示已用掉的先進先出記憶體尺寸大小。若先進先出寫入要求信號Write被服務,則將計數(shù)器Waddr加一。若上述比較結(jié)果Cpr相等且寫入要求信號write被致能,則將計數(shù)器一Wlevel加一。若上述比較結(jié)果Cpr不同且沒有先進先出寫入要求信號write被服務,則將計數(shù)器一Wlevel減一。一樣地,讀取部分中的先進先出狀態(tài)指示器501是相同于寫入部份的先進先出狀態(tài)指示器,只是讀取及寫入部分中的元件及信號是互換的。
雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,任何熟知此技術(shù)之人士,在不脫離本發(fā)明的精神及范圍內(nèi),當可做更動與潤飾,因此本發(fā)明的保護范圍當視權(quán)利要求書所界定者為準。
權(quán)利要求
1.一種用以控制一非同步先進先出記憶體的裝置,其特征在于包括一雙端口先進先出記憶體,具有一讀取端口及一寫入端口,以在不同操作頻率下各自讀取及寫入資料、一對n位元循環(huán)式灰階碼計數(shù)器,以協(xié)調(diào)上述雙端口先進先出記憶體中的讀取及寫入操作頻率、以及一n位元滿溢二進制計數(shù)器,以累計上述該對n位元循環(huán)式灰階碼計數(shù)器的滿溢狀態(tài),其中,n是大于一的任何整數(shù)。
2.如權(quán)利要求1所述的用以控制一非同步先進先出記憶體的裝置,其特征在于進一步包括一先進先出狀態(tài)計數(shù)器,將其連接至上述雙端口先進先出記憶體、該對n位元循環(huán)式灰階碼計數(shù)器及該n位元滿溢二進制計數(shù)器,以指示上述雙端口先進先出記憶體的操作位址及使用率,如此,當上述雙端口先進先出記憶體尚未存滿(not full)但該對n位元循環(huán)式灰階碼計數(shù)器卻已滿溢時,使該n位元滿溢二進制計數(shù)器繼續(xù)在途中要求信號(coming request)的計數(shù)工作。
3.如權(quán)利要求1所述的用以控制一非同步先進先出記憶體的裝置,其特征在于上述操作位址是一讀取位址。
4.如權(quán)利要求1所述的用以控制一非同步先進先出記憶體的裝置,其特征在于上述操作位址是一寫入位址。
5.一種用以控制一非同步先進先出記憶體的裝置,其特征在于包括一具有一寫入累積二進制計數(shù)器的寫入滿溢控制器,上述寫入累積二進制計數(shù)器含有一用以接收一外部寫入要求信號的第一輸入端、一第二輸出端、一第三輸入端及一用以輸出一寫入累積信號的輸出端;一連接至上述寫入滿溢控制器的寫入?yún)f(xié)調(diào)單元,具有一第一同步電路、一具有n位元循環(huán)式灰階碼的寫入主計數(shù)器(master counter)、一第二同步電路以及一具有n位元循環(huán)式灰階碼的讀取從屬計數(shù)器(slavecounter),其中,上述第一同步電路接收一寫入從屬信號(slave signal)并輸出一第一同步信號至上述寫入滿溢控制器的第二輸入端,上述具有n位元循環(huán)式灰階碼的寫入主計數(shù)器(master counter)接中上述第一同步信號、上述外部寫入要求信號及上述寫入累積信號并輸出一寫入主信號至上述寫入滿溢控制器的第三輸入端,以與上述寫入從屬信號做比較,上述第二同步電路接收一讀取主信號并輸出一第二同步信號以及上述具有n位元循環(huán)式灰階碼的讀取從屬計數(shù)器(slave counter)接收上述第一同步信號并輸出一讀取從屬信號;一寫入先進先出狀態(tài)指示器,包含一寫入指標及一寫入位準指標,其中,上述寫入指標具有一用以接收上述外部寫入要求信號的輸入端及一用以輸出一寫入位址信號的輸出端而上述寫入位準指標具有一用以接收來自上述寫入?yún)f(xié)調(diào)單元的第二同步信號的第一輸入端、一用以接收來自上述寫入?yún)f(xié)綢單元的讀取從屬信號以與上述讀取主信號做比較的第二輸入端、一用以接收上述外部寫入要求信號的第三輸入端及一用以輸出一先進先出記憶體已滿(full)信號至外部的輸出端;一非同步雙端口先進先出記憶體,具有一連接至上述寫入?yún)f(xié)調(diào)單元的輸入端口及一輸出端口,其中,利用上述輸入端口寫入資料并利用上述輸出端口讀取資料;一連接至上述非同步雙端口先進先出記憶體的輸出端口的讀取協(xié)調(diào)單元,具有一第三同步電路、一具有n位元循環(huán)式灰階碼的寫入從屬計數(shù)器(slave counter)、一具有n位元循環(huán)式灰階碼的讀取主計數(shù)器(mastercounter)及一第四同步電路,其中,上述第三同步電路接收來自上述寫入?yún)f(xié)調(diào)單元的寫入主信號并輸出一第三同步信號,上述具有n位元循環(huán)式灰階碼的寫入從屬計數(shù)器(slave counter)輸出上述寫入從屬信號至上述第一同步電路,上述具有n位元循環(huán)式灰階碼的讀取主計數(shù)器(mastercounter)具有一用以接收一外部讀取信號的第一輸入端、一第二輸出端一用以輸出上述讀取主信號至上述第二同步電路的第一輸出端及一第二輸出端,以及上述第四同步電路具有一用以接收來自上述寫入?yún)f(xié)調(diào)單元的讀取從屬信號的輸入端及一用以輸出一第四同步信號的輸出端;一具有一讀取累積二進制計數(shù)器的讀取滿溢控制器,上述讀取累積二進制計數(shù)器含有一用以接收一外部讀取要求信號的第一輸入端、一用以接收上述第四同步信號的第二輸出端、一用以接收來自上述讀取協(xié)調(diào)單元的讀取主信號以與來自寫入?yún)f(xié)調(diào)單元的讀取從屬信號做比較的第三輸入端及一用以輸出一讀取累積信號至上述主計數(shù)器的第二輸入端的輸出端;以及一讀取先進先出狀態(tài)指示器,包含一讀取指標及一讀取位準指標,其中,上述讀取指標具有一用以接收上述外部讀取要求信號的輸入端及一用以輸出一讀取位址信號的輸出端而上述讀取位準指標具有一用以接收來自上述讀取協(xié)調(diào)單元的第三同步信號的第一輸入端、一用以接收來自上述讀取協(xié)調(diào)單元的寫入從屬信號以與上述寫入主信號做比較的第二輸入端、一用以接收上述外部讀取要求信號的第三輸入端及一用以輸出一先進先出記憶體已空(empty)信號至外部的輸出端。
6.如權(quán)利要求5所述的用以控制一非同步先進先出記憶體的裝置,其特征在于上述第一、第二、第三及第四同步電路系為一正反器(flip/flop)。
7.一種操作方法,適用于一用以控制一非同步先進先出記憶體的裝置,上述非同步先進先出記憶體包括一雙端口先進先出記憶體,具有一讀取端口及一寫入端口,以在不同操作頻率下各自讀取及寫入資料、一對n位元循環(huán)式灰階碼計數(shù)器,以協(xié)調(diào)上述雙端口先進先出記憶體中的讀取及寫入操作頻率、以及一n位元滿溢二進制計數(shù)器,以累計上述該對n位元循環(huán)式灰階碼計數(shù)器的滿溢狀態(tài),其中,n是大于一的任何整數(shù),上述操作方法包括下列步驟判斷上述該對n位元循環(huán)式灰階碼計數(shù)器是否具有除了零以外的相同值;判斷上述雙端口先進先出記憶體狀態(tài);及當一先進先出要求信號進入時,若誠對n位元循環(huán)式灰階碼計數(shù)器具有除了零以外的相同值且該雙端口先進先出記憶體尚未存滿,則以上述n位元滿溢二進制計數(shù)器來取代該對n位元循環(huán)式灰階碼計數(shù)器接著操作。
8.如權(quán)利要求7所述的操作方法,其特征在于進一步包括該步驟為若該雙端口先進先出記憶體狀態(tài)指示已滿(full),則輸出一已滿信號至外部。
9.如權(quán)利要求7所述的操作方法,其特征在于進一步包括該步驟為若該雙端口先進先出記憶體狀態(tài)指示已空(empty),則輸出一已空信號至外部。
10.如權(quán)利要求7所述的操作方法,其特征在于進一步包括該步驟為在沒對任何先進先出要求信號做服務時,若該對n位元循環(huán)式灰階碼計數(shù)器不具有相同值且該n位元滿溢二進制計數(shù)器不為零,則將該n位元滿溢二進制計數(shù)器減一。
11.如權(quán)利要求10所述的操作方法,其特征在于該先進先出要求是任一先進先出寫入要求。
12.如權(quán)利要求10所述的操作方法,其特征在于該先進先出要求是任一先進先出讀取要求。
全文摘要
本發(fā)明提供一種用以控制一非同步先進先出(FIFO)記憶體的裝置及方法。該非同步先進先出記憶體具有各自獨立運轉(zhuǎn)的讀取及寫入時脈信號。一些含n位元的循環(huán)式灰階碼計數(shù)器被用來協(xié)調(diào)該非同步先進先出記憶體中的讀取及寫入部分的操作,其中,n系大于一的任何整數(shù)。額外的二進制計數(shù)器被用來累計上述循環(huán)式灰階碼計數(shù)器的讀取及寫入的滿溢狀態(tài)(overflows)。當任一循環(huán)式灰階碼計數(shù)器系于滿溢狀態(tài)時,該讀取或?qū)懭胗嫈?shù)器被轉(zhuǎn)送至各自的二進制計數(shù)器以記錄上述先進先出記憶體的存取動作。
文檔編號G11C7/00GK1445780SQ0212645
公開日2003年10月1日 申請日期2002年7月19日 優(yōu)先權(quán)日2002年3月15日
發(fā)明者許馥疇, 葉國煒 申請人:矽統(tǒng)科技股份有限公司