TWI759585B - 異步多時鐘域資料流接合及再同步系統及方法 - Google Patents
異步多時鐘域資料流接合及再同步系統及方法 Download PDFInfo
- Publication number
- TWI759585B TWI759585B TW108108674A TW108108674A TWI759585B TW I759585 B TWI759585 B TW I759585B TW 108108674 A TW108108674 A TW 108108674A TW 108108674 A TW108108674 A TW 108108674A TW I759585 B TWI759585 B TW I759585B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock signal
- data
- synchronous
- fifo
- synchronous fifo
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/005—Correction by an elastic buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Multi Processors (AREA)
Abstract
多個同步FIFO從對應的傳輸代理接收輸入資料流。資料是基於由該對應的傳輸代理提供的寫時鐘信號而被寫入該同步FIFO。仲裁電路基於異步本地時鐘信號從該同步FIFO讀取資料。每一個同步FIFO的最小入口數(SMIN
)由將儲存的資料與該本地時鐘信號同步所需的入口數指定。SMIN
也可以藉由下列來指定:在該輸入資料流的流通量可能超過由該本地時鐘信號賦能的讀資料流通量的臨界時段期間儲存資料所需的入口數;在流量控制回應時間期間儲存該資料所需的入口數;以及在該臨界時段以及該流量控制回應時間期間從該同步FIFO讀取的入口數。
Description
本發明與用於實施多輸入對單輸出再同步及接合(MISORC)的結構以及方法有關。
在多個代理之間傳輸資料的多時鐘域通信系統中,每一個代理可以從以與該代理擁有的頻率以及相位不同的頻率以及相位進行操作的其他代理接收資料。第1圖示出了傳統的多時鐘域通信系統100,該多時鐘域通信系統100包括傳輸代理101
、102
以及10N
,每一個傳輸代理分別基於時鐘信號CLK_1、CLK_2以及CLK_N進行操作,該時鐘信號CLK_1、CLK_2以及CLK_N可以具有不同的頻率及/或相位(即,是異步的)。
傳輸代理101
、102
以及10N
為接收代理20內的FIFO 301
、302
以及30N
提供的分別是J位元寫資料值WD_1、WD_2以及WD_N、分別是寫賦能控制信號WC_1、WC_2以及WC_N、以及分別是時鐘信號CLK_1、CLK_2以及CLK_N。FIFO 301
、302
以及30N
被控制以在接收代理20內緩衝以及再同步接收資料WD_1、WD_2以及WD_N。更具體地,下游處理單元40監視FIFO 301
、302
以及30N
的內容。作為回應,下游處理單元40分別向FIFO 301
、302
以及30N
提供讀賦能控制信號RC_1、RC_2以及RC_N(以及本地時鐘信號CLK_P),從而起始對FIFO 301
、302
以及30N
的讀存取,其中先前儲存的資料值WD_1、WD_2以及WD_N與該本地時鐘信號CLK_P(其可以具有與時鐘信號CLK_1、CLK_2以及CLK_N不同的頻率/相位)同步地被提供給下游處理單元40。作為回應,下游處理單元40提供輸出資料流DOUT
。
流通量(TP)被定義為在給定時間經由代理傳輸或處理的資料量。該接收代理20具有最大流通量T。對於預定的有限時段,每一個進入的資料流(WD_1、WD_2以及WD_N)的峰值流通量通常可以與該輸出資料流DOUT
的峰值流通量(即,T)一樣高。該接收代理20中的流量控制電路21分別控制傳輸代理101
、102
以及10N
中的流量控制電路111
、112
以及11N
,使得該傳輸代理101
、102
以及10N
的平均流通量(即,輸入資料匯流排至FIFO 301
、302
以及30N
的平均流通量)小於或等於接收代理20的最大流通量T。例如,該流量控制電路21可以使該流量控制電路111
、112
以及11N
中的每一個流量控制電路將其對應資料流的流通量限制為等於該接收代理20的最大流通量T除以進入的資料流數量N的平均流通量。儘管該進入的資料流中的每一個進入的資料流的平均流通量是受限的,但是有可能該進入的資料流中的一個或多個進入的資料流可以同時以該最大流通量T提供寫資料。此時,該進入的資料流WD_1、WD_2以及WD_N中的一個進入的資料流可以被暫時分配該下游處理單元40內的所有傳送資源,而其他進入的資料流被緩衝在該其他進入的資料流的對應的FIFO中。
每一個FIFO 301
、302
以及30N
中所需的入口(entry)數(K1
、K2
以及KN
)由若干因素決定,該因素包括:將(異步的)進入資料值與本地時鐘信號CLK_P再同步所需的入口數(A);當進入的資料流的流通量的總和超過該下游處理單元40的最大流通量(T)時,在瞬態週期期間緩衝該進入資料值所需的入口數(B);在與該下游處理單元40相關聯的最差情況等待時間(TWAIT
)的持續時間(即,資料被寫入FIFO的時間與下游處理單元40必須開始從FIFO讀取資料的時間之間允許的最大時間)緩衝該進入資料值所需的入口數(C);以及從流量控制電路21發送流量控制訊息的時間、以及該流量控制電路111
、112
以及11N
回應該流量控制訊息(例如,藉由暫時減少資料值的傳輸)的時間緩衝該進入資料值所需的入口數(D)。
入口數(A)相對小、並且取決於各種時鐘信號CLK_1、CLK_2、CLK_N及CLK_P的頻率、以及時鐘抖動及用於實施該FIFO 301
、302
以及30N
的記憶體的設置及保持時間。
入口數(B)取決於各種時鐘信號CLK_1、CLK_2、CLK_N以及CLK_P的頻率、以及由流量控制電路21實施的流量控制方法,特別是取決於暫時週期的允許的持續時間,在該暫時週期期間該進入的資料流的流通量的總和可以暫時超過該下游處理單元40的最大流通量。
入口數(C)通常相對大、並且取決於在該下游處理單元40必須開始讀取先前儲存在該FIFO 301
、302
以及30N
中的資料之前可允許的最差情況等待時間(TWAIT
)。注意,如果該FIFO 301
、302
以及30N
中的一個FIFO的最差情況等待時間(TWAIT
)過去而沒有從這個FIFO傳輸先前儲存的資料,則流量控制電路21將向相關聯的傳輸代理的該流量控制電路傳輸後退訊息,指示此傳輸代理暫時停止傳輸資料至接收代理20。最差情況等待時間TWAIT
在每一個FIFO 301
、302
以及30N
中需要額外的C = TWAIT
* T個入口。最差情況等待時間TWAIT
由該下游處理單元40的所需操作定義、並且通常在每一個FIFO 301
-30N
內需要數百或數千個入口。
入口數(D)通常小於入口數(C)、並且取決於在該流量控制電路21向傳輸代理傳輸後退訊息的時間、與該傳輸代理藉由停止資料傳輸來回應該後退訊息的時間之間經過的時間。此時段被稱為流量控制回應時間(TF
),其在每一個FIFO 301
、302
以及30N
中需要額外的D = TF
* T個入口。
取決於系統要求以及代理設計限制,FIFO 301
、302
以及30N
的FIFO深度要求(即,分別用於FIFO 301
、302
以及30N
的所需的入口數K1
、K2
以及KN
)可能非常大(例如,針對每一個FIFO,數百或數千個入口)。這是FIFO資源的無效率使用,僅用於覆蓋最差情況的可能性。因此,期望減少FIFO 301
、302
以及30N
的所需深度。
取決於系統要求以及代理設計限制,傳輸代理101
、102
以及10N
與接收代理20之間的距離可能相對地長。類似地,FIFO 301
、302
以及30N
與下游處理單元40之間可能存在長路線。上述長路線需要相關聯的匯流排(例如,傳輸代理101
、102
以及10N
與FIFO 301
、302
以及30N
之間的匯流排、以及 FIFO 301
、302
以及30N
與下游處理單元40之間的匯流排)在相關聯的積體電路晶片的多層金屬互連結構中實施。注意,FIFO 301
、302
以及30N
與下游處理單元40之間的每一個匯流排必須被設計為符合下游處理單元40的最大流通量T。這是對可用互連資源的無效率使用、並且可能導致通信系統100的設計由於性能、路由以及晶粒(die)尺寸限制而變得不能實施。因此,期望減少必須使用積體電路晶片的多層金屬互連資源而被實施的通信系統100的匯流排的數量/長度。
因此,本發明提供一種包括多個同步FIFO的通信系統,每一個同步FIFO被耦合以從對應的傳輸代理接收對應的輸入資料流以及對應的寫時鐘/賦能信號。相對於每一個其他寫入/時鐘賦能信號,每一個寫時鐘/賦能信號可以是異步的。仲裁電路讀取被儲存在該多個同步FIFO中的資料以回應於本地時鐘信號。該本地時鐘信號可以具有至少與該同步FIFO接收到的寫時鐘信號的最高頻率一樣高的頻率。
根據第一實施方式,該多個同步FIFO中的每一個同步FIFO包括由將該同步FIFO中儲存的資料與本地時鐘信號同步所需的入口數指定的最小入口數(SMIN
)。
根據第二實施方式,該多個同步FIFO中的每一個同步FIFO包括由下列所指定的最小入口數(SMIN
):將該同步FIFO中儲存的資料與本地時鐘信號同步所需的入口數;在傳輸代理的合併資料流通量被允許超過由該本地時鐘信號賦能的讀資料流通量的臨界時段期間,將資料儲存在該同步FIFO中所需的入口數;在停止資料被對應的傳輸代理提供給該同步FIFO所需的流量控制回應時間期間,將該資料儲存在該同步FIFO中所需的入口數;以及在該臨界時段以及該流量控制回應時間期間從該同步FIFO讀取的入口數。
有利地,第一實施方式以及第二實施方式都需要的最小入口數(SMIN
)顯著低於習知技術的傳統FIFO 301
-30N
所需的最小入口數。
緩衝FIFO記憶體被耦合以接收以及儲存由仲裁電路從多個同步FIFO記憶體讀取的資料,其中該緩衝FIFO回應於本地時鐘信號而進行操作。下游處理單元以最大流通量從該緩衝FIFO記憶體中擷取資料以回應於該本地時鐘信號。流量控制電路可以控制每一個輸入資料流以具有小於或等於最大流通量的流通量。在另一範例中,流量控制電路可以將該輸入資料流的平均流通量限制為小於或等於該最大流通量。
有利地,在該仲裁電路與該緩衝FIFO記憶體之間僅需要一個資料匯流排,從而有利地減少在相關聯的積體電路晶片上的路由壅塞。
本發明的通信系統可以用於各種應用,該應用包括與環狀網路相關聯的資料傳送。在第一種應用中,該多個同步FIFO記憶體的第一同步FIFO記憶體被耦合以在第一雙向環狀網路上從第一方向接收第一輸入資料流以及第一時鐘信號,以及該多個同步FIFO記憶體的第二同步FIFO記憶體被耦合以在該第一雙向環狀網路上從第二方向接收第二輸入資料流以及第二時鐘信號。
在第二種應用中,該多個同步FIFO記憶體的第一同步FIFO記憶體被耦合以從第一環狀網路接收第一輸入資料流以及第一時鐘信號,以及該多個同步FIFO記憶體的第二同步FIFO記憶體被耦合以從第二環狀網路接收第二輸入資料流以及第二時鐘信號。
根據另一實施方式,一種方法包括:從對應的多個傳輸代理接收多個輸入資料流以及對應的輸入時鐘信號;回應於該對應的輸入時鐘信號,將該多個輸入資料流中的每一個輸入資料流儲存在對應的同步FIFO記憶體中;仲裁從每一個同步FIFO記憶體讀取資料,其中從每一個同步FIFO記憶體讀取資料,以回應於本地時鐘信號,其中該本地時鐘信號相對於該輸入時鐘信號是異步的;將從每一個同步FIFO記憶體讀取的資料儲存在緩衝FIFO記憶體中,其中該緩衝FIFO回應於該本地時鐘信號而操作;以及,回應於本地時鐘信號,將來自該緩衝FIFO記憶體的資料傳送至下游處理單元。
鑑於以下描述以及圖式,將更全面地理解本發明。
本發明提供了一種用於將多時鐘域輸入資料流合併為單一輸出資料流的有效的多輸入對單輸出再同步及接合(MISORC)方法及結構。該方法可用於以減少晶載線數的方式而將多個資料匯流排聚合成單一資料匯流排,這可能減少路由壅塞、以及最小化用於再同步以及緩衝的FIFO資源量。
根據本發明,傳統接收代理20的接收FIFO 301
-30N
以多個相對小的同步FIFO以及一個較大的下游緩衝FIFO代替。在第一實施方式中,每一個同步FIFO的大小被定為僅包括處理再同步所需的入口數(A)。在第二實施方式中,每一個同步FIFO的大小被定為僅包括處理再同步所需的入口數(A);當進輸入資料流的流通量的總和超過下游處理單元的最大流通量(T)時,在瞬態期間緩衝進入資料值所需的入口數(B);以及處理流量控制回應時間所需的入口數(D)。
有利地,在第一實施方式中,每一個同步FIFO不需要包括當進入的資料流的流通量的總和超過下游處理單元的最大流通量(T)時的瞬態週期期間緩衝進入資料值所需的入口數(B)、處理最差情況等待時間(TWAIT
)所需的入口數(C)以及處理流量控制回應時間(TF
)所需的入口數(D)。類似地,在第二實施方式中,每一個同步FIFO不需要包括處理最差情況等待時間(TWAIT
)所需的入口數(C)。如上所述,入口數(C)以及入口數(D)的量通常佔傳統FIFO 301
、302
以及30N
的最大儲存要求。因此,本發明的每一個同步FIFO通常包括比傳統FIFO 301
、302
以及30N
少得多的入口數。
在該接收代理的時鐘域的每一個時鐘週期,仲裁電路從該同步FIFO的讀埠的其中之一中選擇有效入口,以上載到公共緩衝FIFO(或其他記憶體結構)中。此公共緩衝FIFO的大小被定為滿足該下游處理單元的要求(例如,包括足以覆蓋最差情況等待時間TWAIT
的入口)。在一個實施方式中,該緩衝FIFO的大小被定為能夠儲存最差情況等待時間(TW’
)所需的入口數(C’)以及流量控制回應時間(TF’
)所需的入口數(D’),其中該最差情況等待時間(TW’
)可能經歷從資料被儲存在該公共緩衝FIFO中起直到該資料必須從該公共緩衝FIFO被讀取的時間,以及該流量控制回應時間(TF’
)可能經歷從該接收代理的流量控制電路傳輸後退訊息的時間起到對應的傳輸代理回應後退訊息而停止傳輸資料的時間。
該仲裁電路被設計為滿足該系統的要求。例如,該仲裁電路可以使用以下選擇機制中的一個或組合以將資料從該接收FIFO上載到該下游處理單元:該FIFO的資料流順序、轉向以及滿度。其他仲裁策略可以用於其他實施方式中。注意,該仲裁策略可以被設計為在該系統的操作期間可被修改。該仲裁電路以最大傳送速率從同步FIFO中每週期選擇一個入口,以被載入至到較大的緩衝FIFO中。有利地,在該仲裁電路與該公共緩衝FIFO之間僅需要具有最大流通量(T)的一個資料匯流排,從而最小化該系統的路由壅塞。現在將更詳細地描述根據本發明的MISORC結構以及方法。
第2A圖是示出根據本發明一個實施方式的包括多個傳輸代理101
、102
及10N
以及多時鐘域接收代理200的通信系統250的方塊圖。在所示的範例中,接收代理200被耦合到該傳輸代理101
、102
以及10N
,如上面已經描述的。接收代理200包括MISORC電路205、下游處理單元230以及流量控制單元240。流量控制單元240控制傳輸代理101
、102
以及10N
的流量控制單元111
、112
以及11N
,以將這些傳輸代理的平均資料流限制到預定臨界值(即,下游處理單元230的最大流通量T)。儘管示出了將流量控制單元240連接到流量控制單元111
、112
以及11N
的單線,但是應理解,可以從該流量控制單元240向該流量控制單元111
、112
以及11N
中的每一個提供單獨的線。
MISORC電路205包括N個同步FIFO 2011
、2012
以及201N
、仲裁電路210以及K-入口緩衝FIFO 220。同步FIFO 2011
、2012
以及201N
中的每一個分別在寫資料匯流排上接收進入的J位元寫資料值WD_1、WD_2以及WD_N。在一個實施方式中,這些寫資料匯流排中的每一個具有不大於T的最大流通量,其中T是該下游處理單元230所呈現的最大流通量。在一個替代實施方式中,只要每一個寫資料匯流排的平均流通量、以及所有該寫資料匯流排的流通量總和的平均值小於T,這些寫資料匯流排中的每一個的峰值流通量可以在有限的持續時間大於該下游處理單元230的最大流通量T。在此實施方式中,該同步FIFO 2011
、2012
以及201N
中的每一個的大小被定為相對於該最大流通量T而能夠緩衝該峰值流通量的最大持續時間的寫資料。寫資料匯流排可以在不同的時鐘頻率以及相位下以上述的方式操作。儘管在所描述的範例中該寫資料匯流排具有相同的寬度(J),但是應理解,該寫資料匯流排可以具有不同的寬度(只要這些寫資料匯流排上的流通量以本文所述的方式被控制)。在一個實施方式中,該寫時鐘信號CLK_1、CLK_2以及CLK_N中的每一個具有相同的頻率,但是這些寫時鐘信號CLK_1、CLK_2以及CLK_N彼此之間沒有被確定的相位關係(即,是異步的)。在其他實施方式中,該寫時鐘信號CLK_1、CLK_2以及CLK_N可以具有不同的頻率(只要這些寫資料匯流排上的流通量以這裡描述的方式被控制)。仲裁電路210控制J位元寫資料值W_1、W_2以及W_N分別從同步FIFO 2011
、2012
以及201N
至K-入口緩衝FIFO 220的傳送(作為J位元輸入寫資料WI)。更具體地,仲裁電路210分別向同步FIFO 2011
、2012
以及201N
提供讀賦能信號RC_1、RC_2以及RC_N,從而使該資料值W_1、W_2以及W_N 被讀取。在第2A圖的實施方式中,該讀賦能信號RC_1、RC_2以及RC_N由該本地時鐘信號CLK_P時控。由仲裁電路210提供的輸入寫資料值WI以等於T的最大流通量而被寫入K-入口緩衝FIFO 220。隨後,由下游處理單元230以等於T的最大流通量而從K-入口 FIFO 220讀取該寫資料值(例如,作為J位元輸出寫資料值WO)。仲裁電路210還以下面更詳細描述的方式向流量控制電路240提供後退訊息。流量控制電路240以下面更詳細描述的方式將該後退訊息轉發到適當的流量控制電路111
、112
及/或11N
,其中該流量控制電路111
、112
及/或11N
暫時停止傳輸來自對應的傳輸代理101
、102
及/或10N
的資料,以回應所接收的一個或多個後退訊息。
同步FIFO 2011
、2012
以及201N
分別包括S1
、S2
以及SN
個入口。在第一實施方式中,針對該進入的寫資料流WD_1、WD_2以及WD_N而於該同步FIFO 2011
、2012
以及201N
中使用的入口數(即,S1
、S2
以及SN
)被計算,以使這些同步FIFO 2011
、2012
以及201N
僅支援該進入的(寫)時鐘信號CLK_1、CLK_2以及CLK_N分別與接收代理200/下游處理單元230的本地時鐘信號(CLK_P)之間的資料的再同步。在此實施方式中,同步FIFO 2011
、2012
以及201N
包括S1
、S2
以及SN
入口,該S1
、S2
以及SN
入口通常包括於上結合第1圖的該接收代理20所述的再同步所需的入口數(A)。
在第二實施方式中,在該同步FIFO 2011
、2012
及201N
中使用的入口數(即,S1
、S2
及SN
)另外包括用於支援下列情況的入口:當該進入的資料流的流通量總和暫時超過該下游處理單元230的最大流通量(T)(根據實施的流量控制)時,在瞬態週期期間緩衝進入的寫資料值;以及,在與流量控制電路240以及111
-11N
相關聯的該流量控制回應時間期間,緩衝進入的寫資料值。在此實施方式中,同步FIFO 2011
、2012
及201N
包括S1
、S2
及SN
入口,該S1
、S2
及SN
入口通常包括於上結合第1圖的該接收代理20描述的(A)、(B)以及(D)類型入口。
與傳統的接收代理20(第1圖)不同,同步FIFO 2011
、2012
及201N
的入口數S1
、S2
及SN
不需要包括處理與該下游處理單元230相關聯的最差情況等待時間(TWAIT
)所需的入口數(C)(並且可能不需要包括處理於其中該寫資料速率超過該讀資料速率的週期所需的入口數(B)、以及處理流量控制回應時間(TF
)所需的入口數(D))。因此,同步FIFO 2011
、2012
及201N
的入口數S1
、S2
及SN
遠小於傳統FIFO 301
-30N
(第1圖)所需的入口數K1
、K2
以及KN
。注意,該同步FIFO 2011
、2012
及201N
的每一個中的入口數S1
、S2
及SN
不需要相同。
根據一個實施方式,藉由以下等式保守地定義該同步FIFO 2011
、2012
及201N
中的每一個的最小入口數SMIN
。
SMIN
= round_up((RCLK_PERIOD + Tnv
)/WCLK_PERIOD) + round_up(Ed
) + round_up(Et
) + round_Up(Ef
) -round_down(Ec
)
其中,round_up表示對最接近的整數的捨進運算; round_down表示向最接近的整數的捨去運算; RCLK_PERIOD是用於從該同步FIFO讀取資料的該讀賦能信號的週期(例如,讀賦能信號RC_1、RC_2或RC_N的週期)(由在頻率CLK_P操作的該仲裁電路210確定); WCLK_PERIOD是用於將資料寫入該同步FIFO的該寫賦能信號的週期(例如,寫賦能控制信號WC_1、WC_2或WC_N的週期);Tnv
是用於將資料儲存在該同步FIFO中的正反器的設置時間(Tsu
)、用於將資料儲存在該同步FIFO中的正反器的保持時間(Thold
)以及用於從該同步FIFO寫入以及讀取資料的時鐘信號的時鐘抖動(TJ
)的總和;Ed
等於(L *(CLK_P PERIOD/WCLK_PERIOD)),其中L是偵測到要讀取的下一個可用FIFO入口與所偵測到的入口實際從該FIFO被讀取的時間之間經過的CLK_P週期數(其中L通常為1或2(最多)); Et
等於Twgr
/WCLK_PERIOD,其中Twgr
是在流量控制週期期間被寫入該同步FIFO的資料值的流通量可能超過該同步FIFO的讀取流通量的時間量(基於由流量控制電路240所實施的流量控制方法);Ef
等於TF
/WCLK_PERIOD,其中TF
被定義為在該仲裁電路210傳輸後退訊息(BACK-OFF)的時間與對應的同步FIFO回應於該後退訊息而停止接收寫資料的時間之間經過的流量控制回應時間;以及Ec
等於(Twgr
+ TF
)/RCLK_PERIOD。
通常,[round_up((RCLK_PERIOD + Tnv
)/WCLK_PERIOD) + round_up(Ed
)]的值表示將異步寫資料再同步至該本地時鐘信號CLK_P所需的入口數。round_up(Et
)的值表示在合併的寫資料流通量被允許超過讀資料流通量的時間週期Twgr
期間儲存資料值所需的入口數。round_up(Ef
)的值表示在該流量控制回應時間期間儲存資料值所需的入口數。round_down(Ec
)的值表示在該時間週期Twgr
以及TF
期間從該同步FIFO讀取的入口數。
注意,同步FIFO讀取機制由該仲裁電路210指定,而不是直接由該本地時鐘信號CLK_P指定。該仲裁電路210由該本地時鐘信號CLK_P驅動。因為該仲裁電路210由該本地時鐘信號CLK_P時控,任何特定同步FIFO的最佳情況(暫時)的讀取頻率是該本地時鐘信號CLK_P的頻率。任何特定同步FIFO的最差情況的讀取(暫時)頻率是0或非常低的頻率,由仲裁電路210確定。因此,讀取同步FIFO的頻率可以小於該本地時鐘信號CLK_P的頻率。
如果該讀賦能信號的週期(RCLK_PERIOD)小於該寫賦能信號的週期(WCLK_PERIOD)減去同步FIFO的Tnv
值,則Twgr
以及TF
的值等於零(因為該寫資料流通量將不會超過該讀資料流通量,並且該仲裁電路210將不需要傳輸後退訊息)。假設L = 1,則在這些條件下,該同步FIFO的最小入口要求SMIN
等於2個入口(即,根據上面提供的等式,SMIN
= 1 + 1 + 0 + 0-0 = 2)。
對於同步FIFO,如果該讀賦能信號的週期(RCLK_PERIOD)等於該寫賦能信號的週期(WCLK_PERIOD),則Twgr
以及Tf
等於零(因為該寫資料流通量將不會超過該讀資料流通量,並且該仲裁電路210將不需要傳輸後退訊息)。假設Tnv
的值明顯小於該讀時鐘週期以及該寫時鐘週期,並且L = 1,則在這些條件下,最小入口要求SMIN
等於3個入口(即,根據上面提供的等式,SMIN
= 2 + 1 + 0 + 0 - 0 = 3)。
針對同步FIFO,如果該讀賦能信號的週期(RCLK_PERIOD)大於該寫賦能信號的週期(WCLK_PERIOD),若此條件不是瞬態的,則該同步FIFO的入口要求可以是無限的。因此,最小入口要求SMIN
是根據上述等式而被確定,該等式考慮了允許寫入流通量被允許超過讀取流通量的時間量(Twgr
)以及流量回應時間(TF
)。下面提供了幾個範例。
根據第一實施方式,假設該寫時鐘CLK_1、CLK_2以及CLK_N分別具有1 GHz、1 GHz以及2 GHz的頻率,該本地時鐘信號CLK_P具有2 GHz的頻率,以及該同步FIFO 2011
、2012
以及201N
的Tnv
值(TSU
+ THOLD
+ Tj
)為50皮秒(ps)。進一步假設流量控制電路240控制進入的資料流,使得該傳輸代理101
以及102
中的每一個被允許該本地時鐘信號CLK_P的每四個週期傳輸一個資料值,並且該傳輸代理10N
被允許該本地時鐘信號CLK_P的每四個週期傳輸兩個資料值,且因此該仲裁電路210回應導致了該CLK_P信號的每四個週期從該同步FIFO 2011
以及2012
的每一個進行一次讀操作、以及該CLK_P信號的每四個週期從該同步FIFO 201N
進行兩次讀操作,使得用於FIFO 2011
以及2012
的RCLK_PERIOD = 2000 ps,用於FIFO 201N
的RCLK_PERIOD = 1000 ps,用於FIFO 2011
以及2012
的WCLK_PERIOD = 2000 ps,用於FIFO 201N
的WCLK_PERIOD = 1000 ps,CLK_P週期= 500 ps,Twgr
= 0(即,被寫入同步FIFO 2011
、2012
以及201N
的資料值的流通量的總和從不超過該仲裁器210以及該下游處理單元230的最大流通量T)以及TF = 0(即,該仲裁電路210不需要傳輸後退訊息)。在此範例中,該同步FIFO 2011
、2012
以及201N
中的每一個可以包括3個入口。更具體地,根據上面提供的等式(假設L = 1),同步FIFO 2011
以及2012
的最小所需入口數是:round_up((2000ps+50ps)/2000ps) + round_up(1*(500ps/2000ps)) + round_up(0ps/2000ps) + round_up(0ps/2000ps) - round_down(0ps/2000ps) = 2 + 1 + 0 + 0 - 0 = 3。類似地,同步FIFO 201N
的最小所需入口數是:round_up((1000ps + 50ps)/1000ps) + round_up(1*(500ps/1000ps)) + round_up(0ps/1000ps) + round_up(0ps/1000ps) - round_down(0ps/1000ps) = 2 + 1 + 0 + 0 - 0 = 3。
根據第一實施方式的另一範例,假設該寫時鐘CLK_1、CLK_2以及CLK_N分別具有2 GHz、2 GHz以及2 GHz的頻率,該本地時鐘信號CLK_P具有2 GHz的頻率,並且該同步FIFO 2011
、2012
以及201N
的Tnv
值(TSU
+ THOLD
+ Tj
)為50 ps。進一步假設流量控制電路240控制該進入的資料流,使得該傳輸代理101
-10N
中的每一個被允許該本地時鐘CLK_P信號的每三個週期發送一個資料值,並且因此該仲裁電路210回應導致了該CLK_P信號的每三個週期從該同步FIFO 2011
、2012
以及201N
的每一個進行一次讀操作,使得RCLK_PERIOD = 1500 ps,WCLK_PERIOD = 1500 ps,CLK_P PERIOD = 500 ps,Twgr
= 0(即,寫入同步FIFO 2011
、2012
以及201N
的資料值的流通量的總和從不超過該仲裁器210以及該下游處理單元230的最大流通量T),並且TF
= 0(即,該仲裁電路210不需要發送後退訊息)。在此範例中,該同步FIFO 2011
、2012
以及201N
中的每一個可以包括3個入口。更具體地,根據上面提供的等式(假設L = 1),同步FIFO 2011
、2012
以及201N
的最小所需入口數是:round_up((1500ps + 50ps)/1500ps) + round_up(1*(500ps/1500ps)) + round_up(0ps/1500ps) + round_up(0ps/1500ps) - round_down(0ps/1500ps) = 2 + 1 + 0 + 0 - 0 = 3。
根據第二實施方式,假設該寫時鐘CLK_1、CLK_2以及CLK_N分別具有1 GHz、1 GHz以及2 GHz的頻率,該本地時鐘信號CLK_P具有2 GHz的頻率,以及該同步FIFO 2011
、2012
以及201N
的Tnv
值(TSU
+ THOLD
+ Tj )
為50 ps。進一步假設流量控制電路240控制該進入的資料流,使得該傳輸代理101
以及102
中的每一個被允許以該本地時鐘信號CLK_P的每四個週期一個資料值的平均流通量來傳輸資料,且該傳輸代理10N
被允許以該本地時鐘信號CLK_P的每四個週期兩個資料值的平均流通量來傳輸資料。進一步假設該傳輸代理101
、102
以及10N
的合併流通量被允許超過該下游處理單元230的最大流通量T達Tgwr
= 20000 ps的持續時間、並且該流量控制回應時間TF
是5000 ps。請注意,在此範例中,同步FIFO 2011
以及2012
的最小寫時鐘週期(WCLK_PERIOD)為1000 ps(針對有限的持續時間),同步FIFO 201N
的最小寫時鐘週期(WCLK_PERIOD)為500 ps(針對有限的持續時間)。平均而言,該仲裁電路210回應導致了該CLK_P信號的每四個週期(針對RCLK_PERIOD = 2000 ps)從該同步FIFO 2011
以及2012
的每一個進行一次讀操作、以及CLK_P信號的每四個週期(針對RCLK_PERIOD = 1000 ps)從同步FIFO 201N
進行兩次讀操作。在此範例中,該同步FIFO 2011
以及2012
中的每一個可以包括17個入口,且同步FIFO 201N
可以包括29個入口。更具體地,根據上面提供的等式(假設L = 1),同步FIFO 2011
以及2012
的最小所需入口數是:round_up((2000ps + 50ps)/1000ps) + round_up(1*(500ps/1000ps)) + round_up(20000ps/1000ps) + round_up(5000ps/1000ps) - round_down(25000ps/2000ps) = 3 + 1 + 20 + 5 - 12 = 17。類似地,同步FIFO 201N
的最小所需入口數是:round_up((1000ps + 50ps)/500ps) + round_up(1*(500ps/500ps)) + round_up(20000ps/500ps) + round_up(5000ps/500ps) - round_down(25000ps/1000ps) = 3 + 1 + 40 + 10 - 25 = 29。
在根據第二實施方式的又一範例中,假設該寫時鐘CLK_1、CLK_2以及CLK_N中的每一個具有2 GHz的頻率,該本地時鐘信號CLK_P具有2 GHz的頻率,並且該同步FIFO 2011
、2012
以及201N
的Tnv
值(TSU
+ THOLD
+ Tj
)為50 ps。進一步假設,該流量控制電路240控制該進入的資料流,使得該傳輸代理101
、102
以及10N
中的每一個被允許以該本地時鐘信號CLK_P的每三個週期一個資料值的平均流通量來傳輸資料。進一步假設,該傳輸代理101
、102
以及10N
的合併流通量被允許超過該下游處理單元230的最大流通量T達Tgwr
= 20000 ps的持續時間並且該流量控制回應時間TF
是5000 ps。注意,在此範例中,同步FIFO 2011
、2012
以及201N
的最小寫時鐘週期(WCLK_PERIOD)為500 ps(針對有限的持續時間)。平均而言,該仲裁電路210回應導致了該CLK_P信號的每三個週期(針對RCLK_PERIOD = 1500 ps)從該同步FIFO 2011
、2012
以及201N
進行一次讀操作。在此範例中,該同步FIFO 2011
、2012
以及201N
中的每一個可以包括39個入口。更具體地,根據上面提供的等式(假設L = 1),每一個同步FIFO 2011
、2012
以及201N
的最小所需入口數是:round_up((1500ps + 50ps)/500ps) + round_up(1*(500ps/500ps)) + round_up(20000ps/500ps) + round_up(5000ps/500ps) - round_down(25000ps/1500ps) = 4 + 1 + 40 + 10 - 16 = 39。
在上述方式中,Tgwr
的值有效地定義了對應的同步FIFO中的臨界入口數(ETH
),其中當同步FIFO被填充到其臨界值入口數時,該仲裁電路210宣告被傳輸至流量控制電路240的後退訊息(BACK-OFF)。作為回應,流量控制電路240將該後退訊息傳輸至與被填充到該臨界值入口數的該同步FIFO相關聯的該流量控制電路111
、112
及/或11N
。作為回應,此流量控制電路111
、112
或11N
(暫時)停止將資料傳輸到其對應的同步FIFO,以允許用於從該同步FIFO讀取資料的時間。以這種方式,流量控制方案允許該輸入資料流WD_1、WD_2以及WD_N以這些輸入資料流各自的時鐘速率CLK_1、CLK_2以及CLK_N不受管制地被傳輸,直到各自的同步FIFO 2011
、2012
以及201N
被填充到預定數量的臨界入口(ETH
)。預定數量的臨界入口被選擇以允許該傳輸代理101
、102
或10N
以其對應的時鐘信號CLK_1、CLK2以及CLK_N所允許的全資料速率暫時地傳輸資料。在一個實施方式中,該預定數量的臨界入口大約為10個入口或較少。在另一個實施方式中,該預定數量的臨界入口是64或較少。在又一個實施方式中,該預定數量的臨界入口是128個入口或較少。在每一個實施方式中,該同步FIFO 2011
-201N
的最小入口數明顯小於傳統緩衝FIFO 301
-30N
所需的最小入口數。以這裡描述的方式將該多個輸入資料流合併為單一輸入資料流WI確保了該同步FIFO 2011
-201N
的最小入口數明顯小於傳統緩衝FIFO 301
-30N
所需的最小入口數。
在特定實施方式中,該下游處理單元230的頻率(CLK_P)等於或大於該進入的寫時鐘(WC_1、WC_2、WC_N)的最大時鐘頻率,以提供最小數量的同步FIFO入口、並維持沿該資料路徑使用統一的資料寬度,從而減少電路複雜性。
仲裁電路210將從N個同步FIFO 2011
-201N
中的一個同步FIFO選擇該本地時鐘信號CLK_P的每一個週期一個有效資料值、並將此有效資料值寫入K-入口緩衝FIFO 220。注意,從該同步FIFO 2011
、2012
以及201N
中的每一個至仲裁電路210的資料傳送可以具有等於T的最大流通量,並且從仲裁電路210到緩衝FIFO 220(WI)的資料傳送也具有等於T的最大流通量。從緩衝FIFO 220至下游處理單元230的資料傳送也具有等於T的最大流通量。
雖然緩衝FIFO 220被示為在該MISORC電路205內的單獨的記憶體裝置,但是應理解,在其他實施方式中,緩衝FIFO 220可以在下游處理單元230中實施、或者與該處理單元中的其他記憶體結構合併。
根據一個實施方式,緩衝FIFO 220所需的入口數(K)由若干因素確定,該因素包括:該下游處理單元230的等待時間、以及該流量控制電路240發送流量控制訊息的時間與該流量控制電路111
、112
以及11N
回應該流量控制訊息(例如,藉由暫時縮減資料值的傳輸)的時間之間存在的延遲。
例如,假設路由器或開關包括多個輸入埠,這些輸入埠將資料傳輸到相同的輸出埠,然後該輸出埠將該資料轉發到其他埠。因為並非來自該輸入埠的所有資料都可以同時被重定向,從該輸入埠接收的資料必須被緩衝。此資料將佔用該緩衝FIFO 220入口的一部分。當該緩衝FIFO 220填充到某一點時,流量控制電路240必須傳輸後退訊息以減慢或停止來自傳輸代理101
、102
以及10N
的資料傳輸。緩衝FIFO 220必須具有儲存由該傳輸代理101
、102
以及10N
傳輸的所有資料的能力,直到這些傳輸代理回應於接收到該後退訊息而減慢或停止傳輸。取決於該傳輸代理接收該後退訊息所花費的時間、以及操作頻率,入口數可以大或小。例如,如果傳輸頻率高並且該傳輸代理位於晶片外,則該回應可能需要數百個週期。如果該傳輸代理位於晶片上,則流量控制回應可能需要幾個到幾十個週期。
更具體地,該緩衝FIFO 220必須包括(C’個入口的)深度,該深度考慮了在該緩衝FIFO 220必須開始讀取先前儲存的資料值之前可允許的最差情況等待時間(TW’
)。注意,如果在沒有先前儲存的資料從此緩衝FIFO被傳輸下該緩衝FIFO 220的最差情況等待時間(TW’
)過去,則流量控制電路240將傳輸後退訊息至該傳輸代理101
、102
以及10N
的流量控制電路,指示這些傳輸代理暫時停止向接收代理200傳輸資料。最差情況等待時間TW’
需要緩衝FIFO 220中的C’ = TW
’ * T個入口。此外,緩衝FIFO 220必須具有(D’個入口的)額外深度,該額外深度允許資料在該流量控制電路240向該傳輸代理傳輸後退訊息的時間與該傳輸代理藉由停止資料傳輸來回應該後退訊息的時間之間經過的時間期間被儲存。此時段被稱為需要該緩衝FIFO 220中的額外的D’ = TF
’ * T個入口的流量控制回應時間(TF
’)。
有利地,僅一個FIFO(例如,緩衝FIFO 220)必須具有相對大的深度(K個入口)以實施從N個進入的資料流接收的資料值的緩衝。注意,傳統的接收代理20需要三個這樣大的入口FIFO 301
-30N
。類似地,僅需要具有最大流通量T的一個資料匯流排(WO)來供應該下游處理單元230。相較之下,傳統的接收代理20需要N個資料匯流排WD_1、WD_2、WD_N,每一個資料匯流排具有最大流通量T,以供應相關聯的下游處理單元40。因此,本發明的MISORC電路205提高了資料匯流排使用的效率(從而減少路由壅塞)並減少執行相同功能所需的記憶體數量。
在上述範例中,用於操作該仲裁電路210的時鐘信號(CLK_P)的頻率等於該輸入時鐘信號CLK_1、CLK_2以及CLK_N的最大頻率。例如,如果該輸入時鐘信號CLK_1、CLK_2以及CLK_N分別具有1 GHz、1 GHz以及2 GHz的頻率,則該本地時鐘信號CLK_P將具有2 GHz的頻率。在替代實施方式中,用於操作該仲裁電路210的時鐘信號的頻率大於該輸入時鐘信號CLK_1、CLK_2以及CLK_N的最大頻率。在特定實施方式中,用於操作該仲裁電路210的時鐘信號的頻率等於該輸入時鐘信號CLK_1、CLK_2以及CLK_N的頻率的總和。例如,如果該輸入時鐘信號CLK_1、CLK_2以及CLK_N分別具有1 GHz、1 GHz以及2 GHz的頻率,則用於操作該仲裁電路的時鐘信號將具有4 GHz的頻率。回應於具有較高頻率的時鐘信號而操作該仲裁電路210有利地減少了該同步FIFO 2011
、2012
以及201N
中所需的入口數,從而將一些入口需求有效地傳送到該緩衝FIFO 220。
第2B圖是示出根據本發明的這種替代實施方式的通信系統260的方塊圖。第2A圖以及第2B圖中類似的元件以類似的元件符號標示。因此,通信系統260包括傳輸代理101
、102
以及10N
(其包括流量控制電路111
、112
以及11N
)以及包括MISORC電路270、下游處理單元230以及流量控制單元240的多時鐘域接收代理265。MISORC電路270包括以上述方式操作的同步FIFO 2011
、2012
以及201N
、仲裁電路210以及緩衝FIFO 220。此外,MISORC電路270包括解多工器280以及資料緩衝器281。時鐘分頻器電路275接收輸入時鐘信號CLK_Q、並且提供用於以上述方式控制該K-入口緩衝FIFO 220以及下游處理單元230的該輸出時鐘信號CLK_P以作為回應。時鐘分頻器電路275可以從該接收代理265外部的源接收該輸入時鐘信號CLK_Q。時鐘分頻器電路275接收該輸入時鐘信號CLK_Q、並且產生具有的頻率低於該輸入時鐘信號CLK_Q的頻率的輸出時鐘信號CLK_P以作為回應。在一個實施方式中,時鐘分頻器電路275將該輸入時鐘信號除以整數值M,其中該輸出時鐘信號CLK_P的頻率是該本地時鐘信號CLK_P的頻率的1/M倍。在這裡描述的範例中,M = 2,使得CLK_P的頻率是CLK_Q的頻率的一半。M的其他值是可能的。
仲裁電路 210、解多工器280、以及資料緩衝器281的寫埠回應於該CLK_Q信號而操作。假設有效資料被儲存在同步FIFO 2011
、2012
及/或201N
中,仲裁電路210在該CLK_Q信號的每一個週期從該同步FIFO提供J位元資料值WI給解多工器280。有利地,仲裁電路210被允許以比該本地時鐘信號CLK_P的頻率快的時鐘頻率進行操作。如上所述,這可以減少該同步FIFO 2011
、2012
以及201N
所需的入口數。在該CLK_Q信號的連續週期期間,解多工器280連續地路由接收的資料值WI作為J位元資料值WI1並且作為J位元資料值WI2。在該CLK_Q信號的兩個連續週期期間,這兩個J位元資料值WI1以及WI2被寫入資料緩衝器281的J*2-位元寬的入口。回應於該CLK_P信號,此J*2-位元寬的資料入口(其包括該兩個J位元資料值WI1以及WI2)從緩衝器281被讀取作為資料值WI’。緩衝FIFO 220儲存由資料緩衝器281提供的該J*2-位元資料值WI’以回應該CLK_P信號。隨後,這些J*2-位元資料值從該緩衝FIFO 220中被讀出、並且回應於該CLK_P信號而作為J*2-位元資料值WO’被提供給該下游處理單元230。
注意,通信系統260(第2B圖)的本地時鐘信號CLK_P可以是通信系統250的本地時鐘信號CLK_P的頻率的一半,同時維持相同的最大流通量T,這是因為被提供給通信系統260中的下游處理單元230的該資料值的寬度是兩倍大。
第3圖是示出根據本發明一個實施方式的第2A圖的接收代理200的更多細節的方塊圖。如第3圖所示,同步FIFO 2011
、2012
以及201N
分別包括同步FIFO記憶體3001
、3002
以及300N
,該同步FIFO記憶體3001
、3002
以及300N
被耦合以分別接收J位元輸入資料流WD_1、WD_2以及WD_N。同步FIFO 2011
、2012
以及201N
還分別包括寫控制電路3101
、3102
以及310N
,該寫控制電路3101
、3102
以及310N
被耦合以分別接收分別由傳輸代理101
、102
以及10N
提供的寫時鐘信號CLK_1、CLK_2以及CLK_3、以及寫賦能控制信號WC_1、WC_2以及WC_N。同步FIFO 2011
、2012
以及201N
還分別包括讀控制電路3201
、3202
以及320N
、以及分別包括狀態指示器電路3301
、3302
以及330N
。該狀態指示器電路3301
、3302
以及330N
提供分別識別同步FIFO記憶體3001
、3002
以及300N
的滿量狀態/空狀態的資訊。在一個實施方式中,該狀態指示器電路3301
、3302
以及330N
提供與對應的FIFO記憶體3001
、3002
以及300N
的入口相關聯的讀/寫指針位址及/或有效位元。如上所述,該同步FIFO記憶體3001
、3002
以及300N
分別具有S1
、S2
以及SN
入口。以上述方式,在確定該同步FIFO 3001
-300N
中的任一個已被填充到其預定臨界入口數(ETH
)時,控制邏輯341向流量控制電路240宣告後退訊息(BACK-OFF)。
寫控制電路3101
、狀態指示器電路3301
以及同步FIFO記憶體3001
的輸入埠在與連接的傳輸代理101
相同的時鐘域(CLK_1)中操作。類似地,寫控制電路3102
、狀態指示器電路3302
以及同步FIFO記憶體3002
的輸入埠在與連接的傳輸代理102
相同的時鐘域(CLK_2)中操作。寫控制電路310N
、狀態指示器電路330N
以及同步FIFO記憶體300N
的輸入埠在與連接的傳輸代理10N
相同的時鐘域(CLK_N)中操作。因此,在各自的FIFO的寫賦能控制信號/時鐘信號的控制下,進入的資料被寫入該接收FIFO。
仲裁電路210包括選擇器電路340、控制邏輯電路341以及仲裁器342。選擇器電路340路由分別由同步FIFO記憶體3001
、3002
以及300N
提供的N個資料流W_1、W_2或W_N中的一個資料流以回應仲裁器342提供的控制信號(1_OF_N)。仲裁器342產生該控制信號(1_OF_N)以回應從狀態指示器電路3301
、3302
以及330N
接收的FIFO狀態信號。每一個時鐘週期,仲裁器342將從N個同步FIFO記憶體3001
、3002
以及300N
的一個同步FIFO記憶體中選擇入口(如果任一個有效)。選擇策略可以基於優先級組合的排名,如以下結合第4圖更詳細地描述的。
控制邏輯電路341接收由狀態指示器電路3301
、3302
以及330N
提供的狀態資訊;並且,作為回應而藉由分別向讀控制電路3201
、3202
以及320N
發出讀取命令以啟動對同步FIFO記憶體3001
、3002
以及300N
的讀取存取。這些讀操作在該接收代理200的本地時鐘域(CLK_P)中被執行。更具體地,控制邏輯341提供讀賦能信號RC_1、RC_2以及RC_N,以分別賦能關於讀控制電路3201
、3202
以及320N
的讀操作。讀控制電路3201
、3202
、320N
還接收該本地時鐘信號CLK_P以控制這些讀操作的時序。
由選擇器電路340路由的J位元寫資料值(WI)被提供給K-入口 FIFO 220,該K-入口 FIFO 220包括K-入口 FIFO 220緩衝FIFO記憶體350、寫控制電路351以及讀控制電路352。在選擇要經由選擇器電路340傳送的有效入口之後,控制邏輯電路341就向寫控制電路351發出寫命令,這使由選擇器電路340路由的該寫資料值WI被寫入該緩衝FIFO記憶體350。注意,讀控制電路3201
、3202
及320N
、選擇器電路340、控制邏輯341、仲裁器342以及寫控制電路351都在該接收代理200的時鐘域(CLK_P)中操作。
在將有效入口寫入緩衝FIFO記憶體350時,控制邏輯電路341存取相關聯的同步FIFO 3001
、3002
或300N
的讀控制電路3201
、3202
或320N
,以使此同步FIFO的讀指針前進一個位置。如果相關聯的狀態指示器電路3301
、3302
或330N
使用了有效位元,則與該寫入的入口相關聯的有效位元無效。
下游處理單元230向讀控制電路352發出讀命令,從而使資料值(WO)從緩衝FIFO記憶體350被讀取並被提供給下游處理單元230以用於進一步處理。注意,在所示出的實施方式中,下游處理單元230以及讀控制電路352在相同的時鐘域(CLK_P)中操作。然而,在其他實施方式中,該下游處理單元230以及讀控制電路352的時鐘速率可以與仲裁單元210以及寫控制電路351的時鐘速率不同,只要進入的流通量的總平均值不大於下游處理單元230的最大流通量T。
第4圖是示出根據本發明一個實施方式的用於操作仲裁電路210的方法的流程圖400。控制邏輯341監視狀態指示器電路3301
、3302
以及330N
,以確定同步FIFO記憶體3001
、3002
以及300N
是否儲存要傳送的任何有效資料值(步驟401)。若否(步驟401,“否”分支),則不執行操作(NOP)(步驟411)。如果是,(步驟401,“是”分支),則控制邏輯341確定同步FIFO記憶體3001
、3002
以及300N
中的任一個是否儲存‘X’個或更多有效入口,其中X是表示預定的‘滿量’等級的整數(步驟402)。在一個實施方式中,'X'等於1。如果該同步FIFO記憶體3001
、3002
以及300N
其中之一儲存'X'個或更多有效入口(步驟402,“是”分支),則控制邏輯342暫時忽略儲存少於'X'個有效入口的該同步FIFO記憶體3001
、3002
以及300N
(步驟403),並且處理繼續到步驟404。若否(步驟402,“否”分支),則處理直接繼續到步驟404。在步驟404,控制邏輯341確定是否賦能循環仲裁。如果是(步驟404,“是”分支),則控制邏輯341使仲裁器342能使用一組預定的循環規則來選擇該未被忽略的同步FIFO記憶體3001
、3002
或300N
中的一個(步驟405)。更具體地,仲裁器342提供控制信號(1_OF_N),該控制信號(1_OF_N)使選擇器電路340路由由所選擇的同步FIFO記憶體提供的資料。然後,控制邏輯341向所選擇的同步FIFO記憶體3001
、3002
或300N
的讀控制電路3201
、3202
或320N
提供讀控制(賦能)信號,從而使資料值從所選擇的同步FIFO記憶體被讀取(步驟408)。此讀取的資料值是經由選擇器電路340被路由至緩衝FIFO 350。控制邏輯341還向寫控制電路351提供寫控制(賦能)信號,從而使該讀取的資料值被寫入緩衝FIFO 350(步驟409)。控制邏輯341還更新與該讀操作相關聯的狀態指示器電路3301
、3302
或330N
,以正確地表明該資料值已從相關聯的同步FIFO記憶體3001
、3002
或300N
被傳送(步驟410)。
如果循環選擇未被賦能(步驟404,“否”分支),則控制邏輯341賦能仲裁器342內的流優先級編碼器(步驟406)。作為回應,仲裁器342基於被指派給該同步FIFO記憶體3001
、3002
以及300N
的優先級以選擇未被忽略的同步FIFO記憶體3001
、3002
或300N
中的一個(步驟407)。這些優先級可以基於將資料發送到同步FIFO 3001
、3002
以及300N
的傳輸代理的特性而被指派。例如,以較高頻率進行傳輸的傳輸代理可以被指派較高的優先級。在仲裁器342已選擇了要讀取的同步FIFO記憶體之後,控制邏輯341使所選擇的同步FIFO記憶體被讀取(例如,藉由啟動對應的讀控制信號RC_1、RC2或RC_N)(步驟408)、使所讀取的資料值被寫入緩衝FIFO 350(例如,藉由啟動該FIFO寫控制信號)(步驟409)以及使相關的狀態指示器電路被更新(步驟410)。
儘管第4圖的實施方式描述了基於循環選擇以及流優先級的仲裁,但是應當理解,在其他實施方式中可以使用其他/附加仲裁類型。
在第2A圖至第2B圖以及第3圖所示的實施方式中,該同步FIFO 2011
-201N
位於緩衝FIFO 220以及下游處理單元230附近。因此,在這些電路元件之間的連接不太可能阻礙與該MISORC電路205無關的其他電路的連接(即,不同的電路元件之間的連接可以用矽實施、並且在上覆的多層金屬互連結構中不需要大量的匯流排結構)。
第5圖示出了根據替代實施方式的多時鐘域通信系統550。第2A圖以及第5圖中的類似元件以類似的元件符號標示。在第5圖的通信系統550中,傳輸代理101
-10N
彼此非常接近、並且也與同步FIFO 2011
-201N
以及仲裁電路210非常接近,使得資料流WD_1、WD_2以及WD_N在接近該傳輸代理101
-10N
的位置處合併為單一資料流WI。因此,該傳輸代理101
-10N
與資料匯流排WI之間的連接可以主要以矽實施,從而需要多層金屬互連結構的最小資源來合併該資料流WD_1、WD_2以及WD_N以形成資料流WI。
在第5圖的通信系統550中,該MISORC電路205的緩衝FIFO 220位於與該下游處理單元230非常接近的位置(即,在該接收代理500內)。這有效地將該MISORC電路205分成位於傳輸代理101
-10N
附近並包括同步FIFO 2011
-201N
以及仲裁電路210的第一部分、以及位於下游處理單元230附近並包括緩衝FIFO記憶體220的第二部分。
在此實施方式中,該接收代理200(包括該K-入口緩衝FIFO 220以及下游處理單元230)位於距該傳輸代理101
-10N
相對長的距離處。因此,在該仲裁電路210與該緩衝FIFO記憶體220之間存在相當長的距離。儘管從該仲裁電路210到該緩衝FIFO 220存在長路徑,但是在該多層金屬互連結構中實施的匯流排數量減少到一個(即,仲裁電路210與緩衝FIFO 220之間的WI匯流排),導致通信系統550的路由壅塞減少以及較小的潛在的晶粒尺寸。
第6圖示出了根據另一實施方式的多時鐘域通信系統650。第2A圖以及第6圖中的類似元件以類似的元件符號標示。在第6圖的通信系統650中,除去了通信系統250的緩衝FIFO 220,並且緩衝FIFO 220的功能由接收代理600的該下游處理單元630內包括的記憶體631實施。因此,得到的MISORC 605的一部分在該下游處理單元630內實施。
第7圖是根據本發明的各種實施方式的可以實施多輸入對單輸出再同步及接合(MISORC)系統的置換環狀網路700的方塊圖。在所示實施方式中,置換環狀網路700包括八個通信節點N0-N7以及三個雙向源同步環狀網路701、702以及703,每一個都被製造在同一積體電路晶片上。環狀網路701-703中的每一個環狀網路用作通信通道。
該通信通道701-703中的每一個包括藉由雙向鏈路(互連)連接的多個資料傳送站。更具體地,通信通道701包括資料傳送站A0-A7、通信通道702包括資料傳送站B0-B7、以及通信通道703包括資料傳送站C0-C7。通信通道701的雙向鏈路以實線顯示,該雙向鏈路連接環中的該資料傳送站A0-A7。通信通道702的雙向鏈路以虛線顯示,該雙向鏈路連接環中的該資料傳送站B0-B7。通信通道703的雙向鏈路以點虛線顯示,該雙向鏈路連接環中的該資料傳送站C0-C7。雙向鏈路允許在順時針以及逆時針方向中的資料/時鐘信號的同時傳輸。
通常,該資料傳送站A0-A7、B0-B7以及C0-C7中的每一個提供賦能了該通信節點N0-N7與該通信通道701-703之間的傳輸資料的介面。
該通信通道701-703中的每一個基於對應的主時鐘信號來傳輸資料。因此,通信通道701、702以及703分別回應於主時鐘信號CKA、CKB以及CKC而操作。該主時鐘信號CKA、CKB以及CKC中的每一個可以具有相同的頻率或不同的頻率。
該通信節點N0-N7中的每一個被耦合至該三個通信通道701-703的每一個通信通道中的該資料傳送站A0-A7、B0-B7以及C0-C7中的唯一一個資料傳送站。例如,通信節點N0被連接到通信通道701中的資料傳送站A1、通信通道702中的資料傳送站B0以及通信通道703中的資料傳送站C0。注意,為清楚起見,在第7圖中未明確示出該通信節點N1-N7與該資料傳送站A0-A7、B0-B7以及C0-C7之間的實體連接。
在所示實施方式中,通信節點N0從資料傳送站A1、B0以及C0接收輸入資料(以及輸入時鐘信號CKA、CKB以及CKC)。在一個實施方式中,通信節點N0包括於上結合第2圖以及第3圖描述的MISORC電路205,其中,分別回應於該輸入時鐘信號CKA、CKB以及CKC,資料傳送站A1、B0以及C0提供的輸入資料分別被讀入同步FIFO 2011
、2012
以及201N
。仲裁電路210控制此輸入資料至緩衝FIFO 220的路由,該緩衝FIFO 220然後將該輸入資料提供給通信節點N0內的下游處理單元230。以這種方式,本發明的MISORC 205使該通信節點N0-N7中的每一個能從該三個雙向環狀網路701-703接收輸入資料。
根據本發明的另一個實施方式,該資料傳送站A0-A7、B0-B7以及C0-C7中的每一個包括類似於MISORC電路205的MISORC電路,從而在資料傳送站內於順時針方向中接收到的資料被讀入該MISORC電路的一個同步FIFO中,並且在資料傳送站內於逆時針方向中接收到的資料被讀入該MISORC電路的另一個同步FIFO。例如,回應於該輸入時鐘信號CKB的順時針行進版本,資料傳送站B0從資料傳送站B1於順時針方向接收的資料可以被讀入同步FIFO 2011
。類似地,回應於該輸入時鐘信號CKB的逆時針行進版本(其中該輸入時鐘信號CKB的順時針行進版本以及逆時針行進版本是異步的),資料傳送站B0從資料傳送站B7於逆時針方向接收到的資料可以被讀入同步FIFO 2012
中。注意,在此實施方式中,該同步FIFO 201N
不被使用。
在共同擁有、同時申請中的美國專利申請案序號15/816,374中更詳細地描述了置換環狀網路700,該申請案藉由引用整體併入本文。
儘管已經結合若干實施方式描述了本發明,但是應該理解,本發明不限於所揭露的實施方式,而是能夠進行各種修飾,這對於本領域中具有通常知識者是顯而易見的。因此,本發明僅由以下申請專利範圍限制。
A0-A7、B0-B7、C0-C7‧‧‧資料傳送站
CLK_1、CLK_2、CLK_N‧‧‧時鐘信號
CLK_P‧‧‧本地時鐘信號
CKA、CKB、CKC‧‧‧主時鐘信號
DOUT‧‧‧輸出資料流
FIFO、301、302、30N‧‧‧先進先出
K1、K2、KN‧‧‧入口(entry)數
MISORC‧‧‧多輸入對單輸出再同步及接合
N1-N7‧‧‧通信節點
NOP‧‧‧不執行操作
RC_1、RC_2、RC_N‧‧‧讀賦能信號
WC_1、WC_2、WC_N‧‧‧寫賦能控制信號
WD_1、WD_2、WD_N‧‧‧資料流
WI‧‧‧J位元資料值
WI’、 WO’‧‧‧J*2-位元資料值
WO‧‧‧資料匯流排
101、102、10N‧‧‧傳輸代理
111、112、11N‧‧‧流量控制電路
20、265、500、600‧‧‧接收代理
40、230、630‧‧‧下游處理單元
100、550、650‧‧‧多時鐘域通信系統
205、270、605‧‧‧多輸入對單輸出再同步及接合(MISORC)電路
2011、2012、201N‧‧‧同步FIFO
210‧‧‧仲裁電路
220‧‧‧K-入口緩衝FIFO
240‧‧‧流量控制單元
260‧‧‧通信系統
275‧‧‧時鐘分頻器電路
280‧‧‧解多工器
281‧‧‧資料緩衝器
3001、3002、300N‧‧‧FIFO記憶體
3101、3102、310N、351‧‧‧寫控制電路
3201、3202、320N、352‧‧‧讀控制電路
3301、3302、330N‧‧‧狀態指示器電路
340‧‧‧選擇器電路
341‧‧‧控制邏輯電路
342‧‧‧仲裁器
350‧‧‧K-入口 FIFO緩衝FIFO記憶體
631‧‧‧記憶體
700‧‧‧置換環狀網路
701、702、703‧‧‧雙向源同步環狀網路
第1圖是傳統的多時鐘域通信系統的方塊圖,該多時鐘域通信系統包括多個傳輸代理、以及具有多個深FIFO記憶體的接收代理。
第2A圖是示出根據本發明的一個實施方式的多時鐘域通信系統的方塊圖,該多時鐘域通信系統包括多個傳輸代理以及多時鐘域接收代理。
第2B圖是示出根據本發明的替代實施方式的多時鐘域通信系統的方塊圖,該多時鐘域通信系統包括多個傳輸代理以及多時鐘域接收代理。
第3圖是示出根據本發明一個實施方式的第2A圖的接收代理的更多細節的方塊圖。
第4圖是示出根據本發明的一個實施方式的用於操作第2A圖以及第3圖的仲裁電路的方法的流程圖。
第5圖是根據本發明的一個實施方式的多時鐘通信系統的方塊圖,該多時鐘通信系統包括彼此非常鄰近的多個傳輸代理、以及位於與該多個傳輸代理相距相當長距離的接收代理(以及下游處理單元)。
第6圖是根據本發明的另一個實施方式的多時鐘通信系統的方塊圖,該多時鐘通信系統類似於第2A圖的多時鐘通信系統,其中除去了第3圖的緩衝FIFO,並且該緩衝FIFO的功能在下游處理單元內被實施。
第7圖是根據各種實施方式的置換環狀網路的方塊圖,該置換環狀網路實施了本發明的多輸入對單輸出再同步及接合(MISORC)電路。
CLK_1、CLK_2、CLK_N‧‧‧時鐘信號
CLK_P‧‧‧本地時鐘信號
FIFO‧‧‧先進先出
WC_1、WC_2、WC_N‧‧‧寫賦能控制信號
WD_1、WD_2、WD_N‧‧‧寫資料流
WO‧‧‧資料匯流排
101、102、10N‧‧‧傳輸代理
111、112、11N‧‧‧流量控制電路
200‧‧‧接收代理
205‧‧‧多輸入對單輸出再同步及接合(MISORC)電路
2011、2012、201N‧‧‧同步FIFO
210‧‧‧仲裁電路
220‧‧‧K-入口緩衝FIFO
230‧‧‧下游處理單元
240‧‧‧流量控制單元
Claims (23)
- 一種通信系統,包括:多個同步先進先出(FIFO)記憶體,每一個同步FIFO記憶體被耦合以從一對應的傳輸代理接收一對應的輸入資料流以及一對應的時鐘信號,其中每一個時鐘信號相對於每一個其他時鐘信號是異步的;一仲裁電路,該仲裁電路回應於一本地時鐘信號而從該多個同步FIFO記憶體讀取一資料,其中該多個同步FIFO記憶體中的每一個同步FIFO記憶體包括恰好足夠的入口以將其對應的輸入資料流的該資料與該本地時鐘信號進行同步;以及一緩衝FIFO記憶體,被耦合以儲存由該仲裁電路從該多個同步FIFO記憶體讀取的該資料,其中該緩衝FIFO回應於該本地時鐘信號而進行操作。
- 如申請專利範圍第1項所述的通信系統,更包括一處理單元,該處理單元回應於該本地時鐘信號而以一最大流通量從該緩衝FIFO記憶體擷取資料。
- 如申請專利範圍第2項所述的通信系統,其中每一個輸入資料流具有小於或等於該最大流通量的一流通量。
- 如申請專利範圍第2項所述的通信系統,更包括一流量控制電路,該流量控制電路控制從該些傳輸代理接收的多個輸入資料流。
- 如申請專利範圍第4項所述的通信系統,其中該流量控制電路將該多個輸入資料流的一平均流通量限制為該最大流通量。
- 如申請專利範圍第1項所述的通信系統,其中每一個時鐘信號具有相同的頻率。
- 如申請專利範圍第1項所述的通信系統,其中該多個同步FIFO記憶體中的一第一同步FIFO記憶體被耦合以在一第一雙向環狀網路上從一第一方向接收一第一輸入資料流以及一第一時鐘信號,且其中該多個同步FIFO記憶體的一 第二同步FIFO記憶體被耦合以在該第一雙向環狀網路上從一第二方向接收一第二輸入資料流以及一第二時鐘信號。
- 如申請專利範圍第1項所述的通信系統,其中該多個同步FIFO記憶體中的一第一同步FIFO記憶體被耦合以從一第一環狀網路接收一第一輸入資料流以及一第一時鐘信號,且其中該多個同步FIFO記憶體的一第二同步FIFO記憶體被耦合以從一第二環狀網路接收一第二輸入資料流以及一第二時鐘信號。
- 如申請專利範圍第1項所述的通信系統,其中該本地時鐘信號具有至少與由該同步FIFO記憶體接收的該時鐘信號的一最高頻率一樣高的一頻率。
- 一種通信系統,包括:多個同步先進先出(FIFO)記憶體,每一個同步FIFO記憶體被耦合以接收以及儲存由一對應的傳輸代理提供的一資料;一仲裁電路,該仲裁電路回應於一本地時鐘信號而從該多個同步FIFO記憶體讀取一資料,其中該多個同步FIFO記憶體中的每一個同步FIFO記憶體包括由下列所指定的一最小入口數:將該同步FIFO中儲存的該資料與該本地時鐘信號同步所需的一入口數;在該些傳輸代理的一合併資料流通量被允許超過由該本地時鐘信號賦能的一讀資料流通量的一臨界時段期間,將該資料儲存在該同步FIFO中所需的一入口數;在停止資料被該對應的傳輸代理提供給該同步FIFO所需的一流量控制回應時間期間,將該資料儲存在該同步FIFO中所需的一入口數;以及在該臨界時段以及該流量控制回應時間期間,從該同步FIFO讀取的一入口數,以及 一緩衝FIFO記憶體,被耦合以儲存該仲裁電路從該多個同步FIFO記憶體讀取的該資料。
- 如申請專利範圍第10項所述的通信系統,更包括一處理單元,該處理單元回應於該本地時鐘信號而以一最大流通量從該緩衝FIFO記憶體擷取一資料。
- 如申請專利範圍第11項所述的通信系統,其中每一個輸入資料流具有小於或等於該最大流通量的一流通量。
- 如申請專利範圍第11項所述的通信系統,更包括一流量控制電路,該流量控制電路控制由該同步FIFO從該傳輸代理接收的該資料。
- 如申請專利範圍第13項所述的通信系統,其中該流量控制電路將由該同步FIFO接收的該資料的一平均流通量限制為該最大流通量。
- 如申請專利範圍第10項所述的通信系統,其中該多個同步FIFO記憶體中的一第一同步FIFO記憶體被耦合以在一第一雙向環狀網路上從一第一方向接收一第一輸入資料流以及一第一時鐘信號,且其中該多個同步FIFO記憶體的一第二同步FIFO記憶體被耦合以在該第一雙向環狀網路上從一第二方向接收一第二輸入資料流以及一第二時鐘信號。
- 如申請專利範圍第10項所述的通信系統,其中該多個同步FIFO記憶體中的一第一同步FIFO記憶體被耦合以從一第一環狀網路接收一第一輸入資料流以及一第一時鐘信號,且其中該多個同步FIFO記憶體中的一第二同步FIFO記憶體被耦合以從一第二環狀網路接收一第二輸入資料流以及一第二時鐘信號。
- 一種通信方法,包括:從一對應的多個傳輸代理接收多(N)個輸入資料流以及對應的輸入時鐘信號; 回應於該對應的輸入時鐘信號,將該多個輸入資料流中的每一個輸入資料流儲存在一對應的同步FIFO記憶體中;對從每一個同步FIFO記憶體讀取一資料進行仲裁,其中,回應於一本地時鐘信號,從每一個同步FIFO記憶體讀取資料,其中該本地時鐘信號相對於該輸入時鐘信號是異步的;將從每一個同步FIFO記憶體讀取的該資料儲存在一緩衝FIFO記憶體中,其中該緩衝FIFO回應於該本地時鐘信號而進行操作;以及回應該本地時鐘信號將資料從該緩衝FIFO記憶體傳送到一下游處理單元。
- 如申請專利範圍第17項所述的方法,更包括以一最大流通量將資料從該緩衝FIFO記憶體傳送到該下游處理單元,其中該多個輸入資料流中的每一個輸入資料流具有小於或等於該最大流通量的一流通量。
- 如申請專利範圍第18項所述的方法,更包括控制該多個輸入資料流的該流通量。
- 如申請專利範圍第19項所述的方法,更包括將該多個輸入資料流的一平均流通量限制為該最大流通量。
- 如申請專利範圍第17項所述的方法,其中該多個輸入時鐘信號中的每一個輸入時鐘信號具有相同的頻率。
- 如申請專利範圍第17項所述的方法,其中一第一同步FIFO記憶體在一第一雙向環狀網路上從一第一方向接收一第一輸入資料流以及一第一時鐘信號,且其中一第二同步FIFO記憶體在該第一雙向環狀網路上從一第二方向接收一第二輸入資料流以及一第二時鐘信號。
- 如申請專利範圍第17項所述的方法,其中一第一同步FIFO記憶體從一第一環狀網路接收一第一輸入資料流以及一第一時鐘信號,且其中一第二同步FIFO記憶體從一第二環狀網路接收一第二輸入資料流以及一第二時鐘信號。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/953,237 US10476656B2 (en) | 2018-04-13 | 2018-04-13 | System and method for asynchronous, multiple clock domain data streams coalescing and resynchronization |
| US15/953,237 | 2018-04-13 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201944258A TW201944258A (zh) | 2019-11-16 |
| TWI759585B true TWI759585B (zh) | 2022-04-01 |
Family
ID=68162190
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108108674A TWI759585B (zh) | 2018-04-13 | 2019-03-14 | 異步多時鐘域資料流接合及再同步系統及方法 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US10476656B2 (zh) |
| EP (1) | EP3776176B1 (zh) |
| CN (1) | CN111971648B (zh) |
| CA (1) | CA3096371A1 (zh) |
| ES (1) | ES2969971T3 (zh) |
| TW (1) | TWI759585B (zh) |
| WO (1) | WO2019199490A1 (zh) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112540642B (zh) * | 2020-11-27 | 2023-09-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多时钟域处理方法、装置、设备和介质 |
| CN112965689B (zh) * | 2021-02-26 | 2023-05-09 | 西安微电子技术研究所 | 一种基于源同步的分布式异步fifo数据交互方法及fifo结构 |
| CN113360189B (zh) * | 2021-06-04 | 2022-09-30 | 上海天旦网络科技发展有限公司 | 适用于流处理的异步优化方法、系统、装置和可读介质 |
| CN113612700B (zh) * | 2021-08-12 | 2023-11-14 | 北京邮电大学 | 一种低时延零抖动的混合时间敏感流量调度方法及装置 |
| CN113794849B (zh) * | 2021-11-12 | 2022-02-08 | 深圳比特微电子科技有限公司 | 用于图像数据同步的装置、方法及图像采集系统 |
| CN114448917B (zh) * | 2022-04-07 | 2022-06-10 | 沐曦科技(北京)有限公司 | 基于多维仲裁器的数据处理系统和芯片 |
| CN115080468B (zh) * | 2022-05-12 | 2024-06-14 | 珠海全志科技股份有限公司 | 一种非阻塞的信息传输方法和装置 |
| CN115174927A (zh) * | 2022-07-08 | 2022-10-11 | 西京学院 | 一种在vlsi中对多分量数据流进行混流和解混流的方法 |
| CN115834602A (zh) * | 2022-11-18 | 2023-03-21 | 中电科申泰信息科技有限公司 | 一种异步数据流通信交互系统 |
| JP2024174363A (ja) * | 2023-06-05 | 2024-12-17 | ルネサスエレクトロニクス株式会社 | A/d変換制御回路 |
| US20250013259A1 (en) * | 2023-07-05 | 2025-01-09 | Expedera, Inc. | Methods and Devices for Clock Forwarding and Realignment |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102253916A (zh) * | 2010-05-21 | 2011-11-23 | 淮阴工学院 | 同异步转换的双端双通道fifo |
| CN102822810A (zh) * | 2010-06-01 | 2012-12-12 | 苹果公司 | 具有自适应预测的关键字转送 |
| US20150081934A1 (en) * | 2013-09-16 | 2015-03-19 | Vinay Gupta | System and method for data synchronization across digital device interfaces |
| US20180059183A1 (en) * | 2015-04-16 | 2018-03-01 | Renesas Electronics Corporation | Semiconductor device and scan test method |
Family Cites Families (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4501021A (en) | 1982-05-03 | 1985-02-19 | General Signal Corporation | Fiber optic data highway |
| JP2001511971A (ja) | 1997-02-17 | 2001-08-14 | コミュニケイション アンド コントロール エレクトロニクス リミテッド | ローカル通信システム |
| JP4107716B2 (ja) * | 1998-06-16 | 2008-06-25 | 株式会社ルネサステクノロジ | Fifo型記憶装置 |
| US6657969B1 (en) | 1999-06-29 | 2003-12-02 | Cisco Technology, Inc. | Generation of synchronous transport signal data used for network protection operation |
| US6539488B1 (en) | 1999-11-30 | 2003-03-25 | Agere Systems Inc. | System with a plurality of media access control circuits with a shared memory for storing data and synchronizing data from a clock domain to a host clock domain |
| US6992975B1 (en) | 2000-08-15 | 2006-01-31 | Cisco Technology, Inc. | Multiple ring support within a single network element |
| US7509403B1 (en) | 2000-09-28 | 2009-03-24 | Alcatel-Lucent Usa Inc. | Method and apparatus for SONET/SDH ring load balancing |
| US7356030B2 (en) * | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
| US7212490B1 (en) | 2001-07-06 | 2007-05-01 | Cisco Technology, Inc. | Dynamic load balancing for dual ring topology networks |
| US7085950B2 (en) * | 2001-09-28 | 2006-08-01 | Koninklijke Philips Electronics N.V. | Parallel data communication realignment of data sent in multiple groups |
| ITMI20012088A1 (it) | 2001-10-10 | 2003-04-10 | Cit Alcatel | Metodo per propagare l'informazione di guasto in una rete rpr e relativo tipo di pacchetto rpr |
| IL162008A0 (en) | 2001-11-15 | 2005-11-20 | Visto Corp | System and methods for asychronous synchronization |
| US7149186B1 (en) | 2001-12-20 | 2006-12-12 | Cisco Technology, Inc. | Apparatus and method for rate adaptation control |
| JP2004193686A (ja) * | 2002-12-06 | 2004-07-08 | Nec Access Technica Ltd | カメラ付き携帯端末 |
| US7710878B1 (en) | 2003-01-10 | 2010-05-04 | Verizon Laboratories Inc. | Method and system for allocating traffic demands in a ring network |
| KR100723496B1 (ko) | 2005-08-11 | 2007-06-04 | 삼성전자주식회사 | 통합 fifo 메모리를 사용하는 다중-레이트 입력데이터의 동기화기 및 방법 |
| US20070255874A1 (en) * | 2006-04-28 | 2007-11-01 | Jennings Kevin F | System and method for target device access arbitration using queuing devices |
| US8179787B2 (en) | 2009-01-27 | 2012-05-15 | Smsc Holding S.A.R.L. | Fault tolerant network utilizing bi-directional point-to-point communications links between nodes |
| CN101373424B (zh) * | 2008-09-19 | 2011-10-12 | 北京中星微电子有限公司 | 一种异步先进先出存储器的数据读写方法、装置及系统 |
| CN101403962A (zh) * | 2008-11-13 | 2009-04-08 | 山东大学 | 基于fpga的异步双fifo的数据缓存方法 |
| US20100268977A1 (en) * | 2009-04-17 | 2010-10-21 | Himax Media Solutions, Inc. | Method and apparatus for accessing memory units |
| US8352774B2 (en) | 2010-06-23 | 2013-01-08 | King Fahd University Of Petroleum And Minerals | Inter-clock domain data transfer FIFO circuit |
| WO2012007799A1 (en) * | 2010-07-16 | 2012-01-19 | M.S. Ramaiah School Of Advanced Studies | Data interface circuit |
| US8713221B1 (en) * | 2010-12-01 | 2014-04-29 | Juniper Networks, Inc. | Rate controlled first in first out (FIFO) queues for clock domain crossing |
| US9552619B2 (en) * | 2012-08-08 | 2017-01-24 | Megachips Corporation | Image processing apparatus and image processing interface circuit |
| CN103019645B (zh) * | 2013-01-08 | 2016-02-24 | 江苏涛源电子科技有限公司 | Ccd信号处理电路高速数据流仲裁控制方法 |
| US9142272B2 (en) * | 2013-03-15 | 2015-09-22 | International Business Machines Corporation | Dual asynchronous and synchronous memory system |
| US9275704B2 (en) * | 2014-07-31 | 2016-03-01 | Texas Instruments Incorporated | Method and apparatus for asynchronous FIFO circuit |
| CN104484011A (zh) * | 2014-11-25 | 2015-04-01 | 上海高性能集成电路设计中心 | 一种分布控制双时钟异步发送、接收模块及fifo装置 |
-
2018
- 2018-04-13 US US15/953,237 patent/US10476656B2/en active Active
-
2019
- 2019-03-14 TW TW108108674A patent/TWI759585B/zh active
- 2019-03-29 CA CA3096371A patent/CA3096371A1/en active Pending
- 2019-03-29 CN CN201980025662.5A patent/CN111971648B/zh active Active
- 2019-03-29 ES ES19786204T patent/ES2969971T3/es active Active
- 2019-03-29 EP EP19786204.8A patent/EP3776176B1/en active Active
- 2019-03-29 WO PCT/US2019/024793 patent/WO2019199490A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102253916A (zh) * | 2010-05-21 | 2011-11-23 | 淮阴工学院 | 同异步转换的双端双通道fifo |
| CN102822810A (zh) * | 2010-06-01 | 2012-12-12 | 苹果公司 | 具有自适应预测的关键字转送 |
| US20150081934A1 (en) * | 2013-09-16 | 2015-03-19 | Vinay Gupta | System and method for data synchronization across digital device interfaces |
| US20180059183A1 (en) * | 2015-04-16 | 2018-03-01 | Renesas Electronics Corporation | Semiconductor device and scan test method |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111971648A (zh) | 2020-11-20 |
| EP3776176A4 (en) | 2021-12-29 |
| CN111971648B (zh) | 2024-06-18 |
| EP3776176B1 (en) | 2023-11-08 |
| US20190319775A1 (en) | 2019-10-17 |
| ES2969971T3 (es) | 2024-05-23 |
| CA3096371A1 (en) | 2019-10-17 |
| US10476656B2 (en) | 2019-11-12 |
| EP3776176A1 (en) | 2021-02-17 |
| WO2019199490A1 (en) | 2019-10-17 |
| TW201944258A (zh) | 2019-11-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI759585B (zh) | 異步多時鐘域資料流接合及再同步系統及方法 | |
| JP4808513B2 (ja) | システムオンチップの大域的非同期通信アーキテクチャ | |
| US4922244A (en) | Queueing protocol | |
| US10355851B2 (en) | Methods and systems for synchronization between multiple clock domains | |
| US20080232387A1 (en) | Electronic Device and Method of Communication Resource Allocation | |
| KR102214874B1 (ko) | 분산 제어 동기화된 링 네트워크 아키텍처 | |
| JP2004525449A (ja) | 相互接続システム | |
| US7643477B2 (en) | Buffering data packets according to multiple flow control schemes | |
| US8503482B2 (en) | Interconnects using self-timed time-division multiplexed bus | |
| CN114679423B (zh) | 一种面向流控机制的无死锁可扩展互连裸芯架构 | |
| JP4756158B2 (ja) | 通信リソース割り当て電子デバイスおよび方法 | |
| US8086800B2 (en) | Integrated circuit and method for buffering to optimize burst length in networks on chips | |
| CN101180842B (zh) | 具有内部通信网络的集成电路 | |
| US20080123666A1 (en) | Electronic Device And Method Of Communication Resource Allocation | |
| CN100545822C (zh) | 用于互连结构的时钟分布 | |
| Najvirt et al. | Classifying virtual channel access control schemes for asynchronous nocs | |
| Sathe et al. | Design of a guaranteed throughput router for on-chip networks | |
| JP2006114028A (ja) | 複数のデバイスを同期デバイスに相互接続する装置 | |
| US7076680B1 (en) | Method and apparatus for providing skew compensation using a self-timed source-synchronous network | |
| EP1936857A1 (en) | System for transmitting data between transmitter and receiver modules on a channel provided with a flow control link |