亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

第一時(shí)鐘域和第二時(shí)鐘域之間的同步數(shù)據(jù)傳輸?shù)闹谱鞣椒?

文檔序號(hào):6361268閱讀:244來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):第一時(shí)鐘域和第二時(shí)鐘域之間的同步數(shù)據(jù)傳輸?shù)闹谱鞣椒?br> 技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),且尤其涉及在數(shù)據(jù)項(xiàng)目通道之間具有至少兩個(gè)時(shí)鐘域的數(shù)據(jù)處理系統(tǒng)。
背景技術(shù)
計(jì)算機(jī)通信網(wǎng)絡(luò)通常利用交換ASICs (專(zhuān)用集成電路)構(gòu)成。交換ASICs具有不同的類(lèi)型和規(guī)模,但是通常大型網(wǎng)絡(luò)需要大量的集中放置的交換ASICs以形成多級(jí)網(wǎng)絡(luò)??衫么罅繀?shù)測(cè)量網(wǎng)絡(luò)性能,這些包括帶寬、等待時(shí)間、尋址、標(biāo)準(zhǔn)一致性以及更多。隨著通信鏈接帶寬和微處理器性能的增加,降低信息等待時(shí)間變得非常重要。通信等待時(shí)間被認(rèn)為是發(fā)生通信的時(shí)間。對(duì)于較大量數(shù)據(jù),通信鏈接的帶寬是支配性的。對(duì)于少量信息,帶寬不重要且相反的,沿電纜運(yùn)行、穿過(guò)每個(gè)交換元件以及與終端處的計(jì)算機(jī)交界的調(diào)配器所需的時(shí)間支配最終的等待時(shí)間值。電纜延遲減小通過(guò)利用具有相對(duì)低磁導(dǎo)率介電絕緣體的高質(zhì)量銅電纜。除了降低電纜長(zhǎng)度,沒(méi)有機(jī)會(huì)改進(jìn)利用玻璃纖維光纜的。高性能串行器/串并轉(zhuǎn)換(SerDes)用于交換ASICs上的功能模塊和銅或光纖電纜之一連接。它們將ASICs上的并行數(shù)據(jù)轉(zhuǎn)換為傳輸終端處的高頻串行位流以及在線路的其他終端獲得可獲取的微弱信號(hào)并將其轉(zhuǎn)換回并行接收數(shù)據(jù)值。需要高頻局域生成時(shí)鐘執(zhí)行這個(gè)功能。所述始終用于傳輸和接收SerDes中的數(shù)據(jù),通常不同于用于執(zhí)行交換元件或與通信鏈接連接的適配器功能的主時(shí)鐘。它們通常運(yùn)行不同頻率且關(guān)于主時(shí)鐘通常可被異步完成。由于傳入數(shù)據(jù)和局域時(shí)鐘之間的相位關(guān)系,對(duì)于接收時(shí)鐘這是非常普遍的,邏輯延遲和電纜長(zhǎng)度通常是未知或無(wú)法預(yù)測(cè)的。對(duì)于傳輸時(shí)鐘通常是便利的且所述系統(tǒng)時(shí)鐘僅被松散連接,因?yàn)檫@可以顯著簡(jiǎn)化ASIC級(jí)的系統(tǒng)設(shè)計(jì)。利用如附圖1所示的取樣觸發(fā)器,時(shí)鐘域之間的同步是可能的。觸發(fā)器是寄存器狀態(tài)的單字節(jié)。好的取樣觸發(fā)器需要性質(zhì)略微不同于正常觸發(fā)器。觸發(fā)器具有時(shí)鐘輸入(CK),數(shù)據(jù)輸入(D)以及數(shù)據(jù)輸出(Q)。有時(shí)包括附加測(cè)試電路以及這通常采用附加輸入多路轉(zhuǎn)接器的形式,允許多個(gè)觸發(fā)器連接進(jìn)長(zhǎng)移位寄存器中。這簡(jiǎn)化了輸入測(cè)試數(shù)據(jù)和輸出測(cè)試數(shù)據(jù)的處理。優(yōu)化正常觸發(fā)器從而減少?gòu)妮斎隓到輸出Q的最大延遲。所述D輸入通常在時(shí)鐘CK引腳的上升邊緣取樣以及設(shè)置越緊密,窗口保持越好。觸發(fā)器I通常由圖1示出的一個(gè)布置在另一個(gè)之后的2個(gè)D型鎖存器2和3構(gòu)成。第一 D型鎖存器2是透明的當(dāng)時(shí)鐘輸入CK為低時(shí)且第二 D型鎖存器3是透明的當(dāng)時(shí)鐘輸入CK為高時(shí)。在時(shí)鐘上升邊緣,這具有取樣效果。當(dāng)D型鎖存器未取樣輸入時(shí),該電路必須具有記憶前面取樣值的方法。這通常通過(guò)向輸入反饋輸出值實(shí)現(xiàn)。有時(shí)利用弱反饋反相器實(shí)現(xiàn),因?yàn)楫?dāng)D輸入被取樣時(shí)僅需要維持負(fù)載電荷。離開(kāi)弱反相器,會(huì)泄露所述電荷且會(huì)丟失存儲(chǔ)值。圖2描述了用于在存儲(chǔ)節(jié)點(diǎn)5上具有時(shí)鐘反饋值的CMOS D型鎖存器的一個(gè)電路4。當(dāng)所述D鎖存器必須記憶已經(jīng)被加載的值時(shí),這允許使用存儲(chǔ)反相器從而有條件地將輸出加載到所述存儲(chǔ)節(jié)點(diǎn)上。取樣觸發(fā)器可以嘗試加載值,同時(shí)該值是變化的。這會(huì)導(dǎo)致利用正常觸發(fā)器的正常邏輯中的時(shí)序破壞。為了解決該問(wèn)題,正常觸發(fā)器定義設(shè)置且維持大約時(shí)鐘的上升邊緣的期限,期間D輸入信號(hào)應(yīng)固定為固態(tài)邏輯O或I值。如果設(shè)置/維持窗口較好,觸發(fā)器的行為完全是可預(yù)測(cè)的。無(wú)法預(yù)測(cè)取樣觸發(fā)器的行為,如果在時(shí)鐘的上升邊緣上改變輸出。輸出會(huì)讀取一個(gè)值以及隨后變?yōu)槠渌翟跁r(shí)鐘上升邊緣之后的某個(gè)時(shí)間。所述觸發(fā)器在這個(gè)不確定時(shí)間內(nèi)可被描述為亞穩(wěn)態(tài)。類(lèi)似于仔細(xì)的平衡倒立擺,其可向一方或另一方倒下。平衡的越仔細(xì),在倒向一個(gè)方向之前在相反位置徘徊的越久。最終會(huì)確定下來(lái),但是理論上在無(wú)限期的時(shí)間內(nèi)會(huì)不確定。不確定的可能性迅速變得微乎其微小,但是不確定通常具有有限的可能性。不可能防止亞穩(wěn)態(tài),但是可通過(guò)兩種主要方式減少其影響的可能性1、取樣觸發(fā)器通常應(yīng)具有非常強(qiáng)的條件負(fù)載反饋值。當(dāng)觸發(fā)器未取樣輸入時(shí),環(huán)路增益越高越好。通過(guò)減少具有小緩沖的輸出Q負(fù)載以及減少來(lái)自存儲(chǔ)節(jié)點(diǎn)上的負(fù)載晶體管的電容負(fù)載進(jìn)一步改進(jìn)環(huán)路增益。這會(huì)促進(jìn)觸發(fā)器快速做出決定,當(dāng)時(shí)鐘處于保持電平時(shí)。利用倒擺比喻,這等于更強(qiáng)的重力下拉。2、其他方式是增加時(shí)間觸發(fā)器的數(shù)量必須產(chǎn)生決定。失效概率包括時(shí)間指數(shù)函數(shù)。用于取樣觸發(fā)器在硅器件形成判定的可用時(shí)間通常與用在ASIC上的時(shí)鐘周期有關(guān)。通常對(duì)于失效概率這不夠長(zhǎng),該失效概率對(duì)于在很有可能的產(chǎn)物壽命期間的失效足夠小??闪魉接|發(fā)器,為添加在所述流水化中的每個(gè)觸發(fā)器的全部周期有效增加了置位時(shí)間。圖3給出了流水化同步方案的實(shí)施例,其中允許亞穩(wěn)態(tài)向正常態(tài)回落的兩個(gè)完整周期是可用的。該技術(shù)非常成功且用于多種設(shè)計(jì)中以異步內(nèi)部接口上給出可靠運(yùn)行。利用通常取樣格雷碼計(jì)數(shù)的流水線同步觸發(fā)器測(cè)量交界處的兩個(gè)時(shí)鐘的相位關(guān)系。通常數(shù)據(jù)穿過(guò)短FIFO加載于一個(gè)時(shí)鐘域以及在另一個(gè)時(shí)鐘域中讀取。圖4給出了由6個(gè)寄存器構(gòu)成的相位校準(zhǔn)FIFO 6的實(shí)施例。在該實(shí)施例中,寫(xiě)為7的數(shù)據(jù)利用時(shí)鐘A進(jìn)入FIFO 6。每個(gè)新值寫(xiě)入由“利用時(shí)鐘A寫(xiě)”箭頭所示的下一個(gè)入口。在最后一個(gè)寄存器被寫(xiě)后,寫(xiě)指針會(huì)繞回由繞回指針?biāo)镜牡谝蝗肟凇T谠搶?shí)施例中,D1-D8的8個(gè)數(shù)據(jù)值被寫(xiě)入,同時(shí)第一值Dl被寫(xiě)入。數(shù)據(jù)利用時(shí)鐘B從FIFO 6中抽出8,以寫(xiě)入的相同順序讀取數(shù)據(jù)。圖4示出的FIFO 6是半滿(mǎn)的,出自16個(gè)入口中的8個(gè)值有效。這是距離下溢最遠(yuǎn)的深度,此處讀取速度快于寫(xiě)入速度,導(dǎo)致讀指針趕上并超過(guò)讀指針以及寫(xiě)入快于讀取處溢出。為了避免下溢和溢出,寫(xiě)和讀時(shí)鐘不必具有相同的頻率。圖4描述了 FIFO 6,此處數(shù)據(jù)寫(xiě)入與數(shù)據(jù)讀取的數(shù)量相同,但是FIFO 6可構(gòu)造為允許在每個(gè)A時(shí)鐘上寫(xiě)入的數(shù)量較之在每個(gè)B時(shí)鐘上讀取的數(shù)量不同。這可以是簡(jiǎn)單復(fù)聯(lián),但是更復(fù)雜的結(jié)構(gòu)也是可能的。FIFO 6通常用于重較來(lái)自順序位流的數(shù)據(jù)且通常僅寫(xiě)入多字節(jié)以為給定的所需帶寬允許可控時(shí)鐘頻率。例如,可到達(dá)的數(shù)據(jù)16位寬且讀取33位寬。在該實(shí)施例中,F(xiàn)IFO 6表現(xiàn)為對(duì)應(yīng)寫(xiě)時(shí)鐘每16位寬33個(gè)入口,對(duì)應(yīng)讀時(shí)鐘每33位寬16個(gè)入口。在該情形中,寫(xiě)入和讀取時(shí)鐘頻率比為33 :16,如果在所述兩個(gè)時(shí)鐘的每個(gè)周期上寫(xiě)入和讀取值。具有其他管理不同時(shí)鐘頻率的方法。通信協(xié)議可包括允許時(shí)鐘頻率微變的機(jī)制。一些包括SKIP標(biāo)記且其被接收器用于刪除輸入和減少溢出的概率,如果FIFO變滿(mǎn)或無(wú)法取值,如果FIFO關(guān)閉為清空允許其獲取額外輸入。
其他所使用的常規(guī)方法是利用快速時(shí)鐘處理數(shù)據(jù)而不是傳輸或接收該數(shù)據(jù)。接收FIFO通常會(huì)刪除有效數(shù)據(jù)以及傳輸FIFO通常會(huì)確保對(duì)于所述FIFO有足夠的寫(xiě)入數(shù)據(jù),從而保證讀取時(shí)鐘具有有效數(shù)據(jù)發(fā)送。任何數(shù)據(jù)設(shè)置在FIFO中的增加信息等待時(shí)間。一些設(shè)計(jì)與等待時(shí)間值無(wú)關(guān)且這些通常選擇保持重較FIFOs接近半滿(mǎn)。然而,對(duì)于等待時(shí)間的關(guān)鍵設(shè)計(jì),F(xiàn)IFOs應(yīng)盡可能被保持為清空如圖5所示,當(dāng)FIFO仍保證未下溢時(shí)。取樣觸發(fā)器必須有穩(wěn)定時(shí)間以及它們可容易需要2,3或更多周期從而允許所述取樣觸發(fā)器有足夠時(shí)間刪除它們的亞穩(wěn)態(tài)。對(duì)于非常低的等待時(shí)間,通信利用多級(jí)交換元件,這種額外延遲會(huì)影響整個(gè)系統(tǒng)的性能。具有高性能SerDes,可在RX路徑和TX路徑上同時(shí)看到這種額外延遲加倍了損失。通常使用的電路通過(guò)如圖6所示的從異步時(shí)鐘域22進(jìn)入另一個(gè)24的FIFO 20安全移除數(shù)據(jù)。所述電路穿過(guò)讀指針28的格雷編碼復(fù)制器26進(jìn)入讀取時(shí)鐘域24,以及讀取指針32的格雷編碼復(fù)制器30進(jìn)入寫(xiě)時(shí)鐘域22。同步觸發(fā)器34必須用于傳入新時(shí)鐘域的格雷編碼指針值上以防止亞穩(wěn)態(tài)問(wèn)題。一旦同步進(jìn)入新時(shí)鐘域,格雷值轉(zhuǎn)換36,38為二進(jìn)制值且被40,42與局部指針值比較從而確定FIFO 20是滿(mǎn)還是空。在FIFO 20的讀取一側(cè),可安全讀取輸入當(dāng)所述FIFO 20未空時(shí),以及在FIFO 20的寫(xiě)入一側(cè),可安全讀取輸入當(dāng)所述FIFO 20未滿(mǎn)時(shí)。這種方法是固有安全的,因?yàn)閷?duì)于引起所述同步的從一個(gè)時(shí)鐘域至其他時(shí)鐘域指針值的通過(guò),至少有3個(gè)時(shí)鐘周期。由于通過(guò)所述同步的延遲,這種安全性的消耗是額外等待時(shí)間。在多個(gè)通信ASICs中,較之通信鏈接在更高頻率執(zhí)行主要系統(tǒng)邏輯。這允許執(zhí)行額外數(shù)據(jù)包處理操作以及負(fù)面效應(yīng)是其還準(zhǔn)許跨過(guò)所述系統(tǒng)和鏈接時(shí)鐘域之間的FIFOs的時(shí)鐘域的簡(jiǎn)化。對(duì)于從所述鏈接時(shí)鐘域進(jìn)入所述系統(tǒng)時(shí)鐘域的數(shù)據(jù)傳遞,可保證從FIFO中以較之寫(xiě)入更快的速率讀取數(shù)據(jù)。不必向所述寫(xiě)入時(shí)鐘域傳入讀取指針,因?yàn)閷?xiě)入所述FIFO的邏輯可預(yù)測(cè)出所述FIFO未滿(mǎn)。所述鏈接時(shí)鐘域中的所述寫(xiě)指針傳入所述系統(tǒng)時(shí)鐘域從而允許一旦獲取數(shù)據(jù)就進(jìn)行讀取。圖7描述這種情形。這種執(zhí)行是跨過(guò)圖6示出的FIFO的通用時(shí)鐘域的簡(jiǎn)化情形且仍遭受由同步觸發(fā)器引起的延遲問(wèn)題,使得數(shù)據(jù)在其被讀出之前在所述FIFO中停留數(shù)個(gè)周期。對(duì)于從所述系統(tǒng)時(shí)鐘域進(jìn)入鏈接時(shí)鐘域的數(shù)據(jù)傳遞,所述系統(tǒng)必須確保仍有通過(guò)所述鏈接時(shí)鐘域讀取的數(shù)據(jù),但是所述FIFO未溢出。為了實(shí)現(xiàn)這種情形,所述讀指針從所述鏈接時(shí)鐘域進(jìn)入所述系統(tǒng)時(shí)鐘域傳遞且所述系統(tǒng)時(shí)鐘域中的邏輯可寫(xiě)數(shù)據(jù)每當(dāng)所述FIFO未滿(mǎn)時(shí)。圖8描述了這種情形。另外,這是跨過(guò)圖6示出的FIFO的通用時(shí)鐘域的完全簡(jiǎn)化,且遭受過(guò)度等待時(shí)間由于所述FIFO保持為相對(duì)滿(mǎn)。對(duì)于跨過(guò)時(shí)鐘域,現(xiàn)有技術(shù)領(lǐng)域所討論的所述執(zhí)行是安全方法,但要承受過(guò)度等待時(shí)間,由于指針值傳過(guò)所述同步觸發(fā)器花費(fèi)的時(shí)間。

發(fā)明內(nèi)容
本發(fā)明的一個(gè)實(shí)施例可提供一種方法用于消除由跨過(guò)數(shù)據(jù)FIFOs的時(shí)鐘域設(shè)計(jì)中的同步觸發(fā)器引入的所述延遲且還提供一種用于校驗(yàn)未在FIFO中破壞的數(shù)據(jù)。該方法可允許在不到一個(gè)周期內(nèi)穿過(guò)異步界面的數(shù)據(jù)同步化,同時(shí)對(duì)于可預(yù)測(cè)且安全的所述界面任一側(cè)上的兩個(gè)異步時(shí)鐘之間的相位測(cè)量仍允許大量延遲。該方法允許固件動(dòng)態(tài)優(yōu)化所述延遲為最小可能,同時(shí)由于溫度處理和電壓,仍允許時(shí)鐘跳動(dòng)和相位變化。根據(jù)本發(fā)明的一方面,提供一種數(shù)據(jù)處理系統(tǒng),包括具有第一時(shí)鐘頻率的第一時(shí)鐘域、具有第二時(shí)鐘頻率的第二時(shí)鐘域,以及將數(shù)據(jù)項(xiàng)目從第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)目刹僮鲾?shù)據(jù)路徑。所述數(shù)據(jù)路徑包括緩沖器,該緩沖器具有用于從第一時(shí)鐘域接收數(shù)據(jù)項(xiàng)目的輸入,以及用于以先進(jìn)先出方式向第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的輸出端口。所述緩沖器具有用于指示緩沖器的當(dāng)前第一位置的第一指示器,以及用于指示緩沖器的當(dāng)前第二位置的第二指示器。所述系統(tǒng)進(jìn)一步包括為所述緩沖器定義讀取模式的可操作讀取控制器,獨(dú)立于該讀取模式控制來(lái)自所述緩沖器的輸出,以及獨(dú)立于用于所述緩沖器的該第一指示器的值調(diào)整改讀取模式。根據(jù)本發(fā)明的另一方面,提供一種利用將數(shù)據(jù)項(xiàng)目從第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)目刹僮鲾?shù)據(jù)路徑從具有第一時(shí)鐘頻率的第一時(shí)鐘域向具有第二時(shí)鐘頻率的第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的方法,所述數(shù)據(jù)路徑包括緩沖器,該緩沖器具有用于從第一時(shí)鐘域接收數(shù)據(jù)項(xiàng)目的輸入,以及用于以先進(jìn)先出方式向第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的輸出端口。所述緩沖器具有用于指示緩沖器的當(dāng)前第一位置的第一指示器,以及用于指示緩沖器的當(dāng)前第二位置的第二指示器。所述系統(tǒng)進(jìn)一步包括為所述緩沖器定義讀取模式的可操作讀取控制器,獨(dú)立于該讀取模式控制來(lái)自所述緩沖器的輸出,以及獨(dú)立于用于所述緩沖器的該第一指示器的值調(diào)整改讀取模式。該系統(tǒng)或方法實(shí)現(xiàn)所期望的具有減少等待時(shí)間的該數(shù)據(jù)傳輸速率。在一個(gè)實(shí)施例中,讀取模式具有與之相關(guān)的模式指針,以及讀取控制器可操作的將該模式指針與第一指針比較,且獨(dú)立于該比較調(diào)整所述模式指針。所述讀取控制器是可操作的以獨(dú)立于預(yù)定的模式長(zhǎng)度重置所述模式指針。所述數(shù)據(jù)路徑包括用于將第一指針從所述第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)闹羔槀鬏斣O(shè)備。該指針傳輸設(shè)備可包括編碼器和同步器。在一個(gè)實(shí)施例中,所述第二時(shí)鐘頻率高于第一時(shí)鐘頻率,且所述第一指針是寫(xiě)指針,第一位置是數(shù)據(jù)輸入位置,所述第二指針是讀指針,且第二位置是輸出位置??蛇x地或附加地,所述數(shù)據(jù)路徑可包括用于將第二指針從所述第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)闹羔槀鬏斣O(shè)備。該指針傳輸設(shè)備可包括編碼器和同步器。在一個(gè)實(shí)施例中,所述第二時(shí)鐘頻率高于第一時(shí)鐘頻率,且其中所述第一指針是讀指針,第一位置是數(shù)據(jù)輸出位置,所述第二指針是寫(xiě)指針,且第二位置是輸入位置。所述緩沖器可定義第三指針,其被延遲所述第二指針的一個(gè)周期版本且被升級(jí)為與所述第二指針相同的時(shí)鐘域,用于從所述緩沖器讀取數(shù)據(jù)的所述第三指針可與被延遲從利用所述第二指針的所述緩沖器中獲取的數(shù)據(jù)的一個(gè)周期版本的比較,以至于提供由通過(guò)所述緩沖器的等待時(shí)間所引起的下溢錯(cuò)誤的下溢值指示。該第三指針可用于防止下溢情況。所述下溢值可用于動(dòng)態(tài)調(diào)整所需緩沖等待時(shí)間,從而減小通過(guò)所述緩沖器的等待時(shí)間以至于實(shí)質(zhì)上未出現(xiàn)下溢錯(cuò)誤。


僅借助于實(shí)施例和參考下圖,本發(fā)明的這些和其他特征會(huì)被描述,其中
圖1描述了一個(gè)觸發(fā)器;
圖2描述了改進(jìn)取樣觸發(fā)器;
圖3描述了進(jìn)一步改進(jìn)的取樣觸發(fā)器;
圖4和5各自描述了先進(jìn)先出緩沖器的運(yùn)作;
圖6-8各自描述了用于跨過(guò)時(shí)鐘域界限的數(shù)據(jù)項(xiàng)目傳輸?shù)那懊嫠紤]的方案;
圖9-11各自描述了時(shí)鐘信號(hào)圖12描述了具有輸出數(shù)據(jù)檢查邏輯的先進(jìn)先出緩沖器;
圖13描述了體現(xiàn)本發(fā)明一方面的方案;
圖14描述了體現(xiàn)本發(fā)明另一方面的方案。
具體實(shí)施例方式考慮圖9所出的2個(gè)時(shí)鐘信號(hào)。時(shí)鐘A慢于時(shí)鐘B且對(duì)于時(shí)鐘B的每六段時(shí)間具有準(zhǔn)確的5段時(shí)間。時(shí)鐘A表示所述鏈接時(shí)鐘,且時(shí)鐘B表示所述系統(tǒng)時(shí)鐘。如果所述寫(xiě)入發(fā)生在較慢時(shí)鐘上(時(shí)鐘A),且所述讀取發(fā)生在較快時(shí)鐘上(時(shí)鐘B),且假定寫(xiě)入所述FIFO的數(shù)據(jù)寬度與從所述FIFO讀取的數(shù)據(jù)寬度相同,如果寫(xiě)出現(xiàn)在時(shí)鐘A的每個(gè)周期上,讀僅需在時(shí)鐘B的每6個(gè)周期中的5個(gè)上執(zhí)行。在沒(méi)有FIFO溢出或潛流的情形下,讀取可沿著6周期時(shí)間中5個(gè)讀的相同模式無(wú)限期的持續(xù)。從FIFO讀取的進(jìn)程不必響應(yīng)于寫(xiě)指針同步復(fù)制中的變化且因而要經(jīng)受所述同步觸發(fā)器的延遲。這僅是可能性的因?yàn)楸WC寫(xiě)會(huì)發(fā)生在較慢時(shí)鐘的每個(gè)周期上,且因此是可預(yù)測(cè)的。盡管上述方法將讀和寫(xiě)分開(kāi)且確保所述FIFO不會(huì)溢出或潛運(yùn)行,可認(rèn)識(shí)到需要控制所述讀指針和寫(xiě)指針?lè)蛛x的額外機(jī)制。所述機(jī)制確保所述讀指針和寫(xiě)指針被正確隔開(kāi),將寫(xiě)指針傳入讀時(shí)鐘域且觀測(cè)讀順序中零輸入被寫(xiě)入的點(diǎn)。如果所述指針間隔變小,那么所述讀時(shí)鐘域中的邏輯應(yīng)在讀時(shí)鐘在其第三周期時(shí)觀測(cè)具有零值的寫(xiě)指針。如果所述讀邏輯未觀測(cè)到這種情形,那么所述指針未被正確隔開(kāi),且它們必須要調(diào)整。通過(guò)沒(méi)有讀發(fā)生時(shí)跳過(guò)該周期縮短一周期的重復(fù)讀圖案,進(jìn)行指針調(diào)整。假定時(shí)鐘B的周期O中未執(zhí)行讀操作,且所述FIFO的輸入O在時(shí)鐘A的周期O中被寫(xiě)入,那么可在時(shí)鐘B的周期I中安全讀取FIFO的輸入O。還可在時(shí)鐘B的周期2,3,4,5中執(zhí)行讀從而讀出寫(xiě)入時(shí)鐘A的周期1,2,3,4的數(shù)據(jù)。這假定輸入的所述寫(xiě)和讀之間的最小時(shí)間(出現(xiàn)在時(shí)鐘A中的周期4上的寫(xiě)以及時(shí)鐘B中的周期5上的讀)未違反寄存時(shí)間。六個(gè)周期上五個(gè)讀的圖案,在周期O上沒(méi)有讀可無(wú)限次的重復(fù),一旦讀的重復(fù)圖案開(kāi)始與寫(xiě)重復(fù)圖案對(duì)準(zhǔn)。在大部分執(zhí)行中,時(shí)鐘A和時(shí)鐘B之間的關(guān)系不是如該部分所描述的實(shí)施例情形中的準(zhǔn)確倍數(shù)關(guān)系。這是因?yàn)樵O(shè)計(jì)者希望利用特定值的時(shí)鐘頻率,不是所述鏈接時(shí)鐘的簡(jiǎn)單倍數(shù)或因?yàn)樗鲦溄訁f(xié)議的指定,其可以是允許百萬(wàn)分之200的容許的時(shí)鐘頻率,因而意味著準(zhǔn)確的倍數(shù)是不可能的。對(duì)于這些情形,還可采用類(lèi)似方法且對(duì)于這些情形下述實(shí)施例給出解決方案。
考慮圖10所示出的時(shí)鐘。時(shí)鐘A表示所述鏈接時(shí)鐘且用于在FIFO中寫(xiě)數(shù)據(jù)。時(shí)鐘B表示系統(tǒng)時(shí)鐘且用于從FIFO中讀取數(shù)據(jù)。在該實(shí)施例中,時(shí)鐘A (寫(xiě)時(shí)鐘)的16周期出現(xiàn)在時(shí)鐘B (讀時(shí)鐘)的17和18周期之間的時(shí)間。注意到這是因?yàn)閮蓚€(gè)時(shí)鐘之間沒(méi)有準(zhǔn)確的倍數(shù)關(guān)系。本領(lǐng)域技術(shù)人員會(huì)意識(shí)到如果持續(xù)在17周期時(shí)間中16個(gè)讀的重復(fù)圖案施加到所述FIFO的讀一側(cè)(在時(shí)鐘域B中),那么所述FIFO會(huì)慢慢泄漏直到變空且隨后潛運(yùn)行。類(lèi)似的,如果持續(xù)在18周期時(shí)間中的16個(gè)讀重復(fù)圖案施加到所述FIFO的讀一側(cè),那么所述FIFO會(huì)慢慢變滿(mǎn)直到溢出。這個(gè)實(shí)施例的一個(gè)特征是重復(fù)安全圖案(本實(shí)施例中在18個(gè)周期上16個(gè)讀)且響應(yīng)于探測(cè)到所述讀指針和寫(xiě)指針未被最佳定位而變?yōu)檩^短版本(在17個(gè)周期上16個(gè)讀)。為了監(jiān)測(cè)所述讀和寫(xiě)指針的間隔,寫(xiě)指針的格雷編碼版本通過(guò)同步器進(jìn)入讀時(shí)鐘域。在圖11示出的理想情形中,等待時(shí)間穿過(guò)所述FIFO的減小,所述讀時(shí)鐘域中的邏輯應(yīng)為重復(fù)圖案的周期3中的同步寫(xiě)指針觀測(cè)零值。如果在重復(fù)圖案的0,I或2周期中觀測(cè)到用于寫(xiě)指針的零值,那么所述圖案必須在下一個(gè)重復(fù)中縮短一個(gè)周期。對(duì)于這種情形使用類(lèi)似方法,此處在那個(gè)讀數(shù)據(jù)的較快時(shí)鐘域中寫(xiě)數(shù)據(jù)。假定讀出現(xiàn)在較慢時(shí)鐘的每個(gè)周期上,選擇寫(xiě)重復(fù)圖案從而使得所述FIFO緩慢變滿(mǎn)。通過(guò)從所述讀時(shí)鐘域向?qū)憰r(shí)鐘域傳入讀指針,寫(xiě)控制邏輯可監(jiān)測(cè)讀指針與寫(xiě)指針相關(guān)的位置。特別地,通過(guò)監(jiān)測(cè)寫(xiě)重復(fù)圖案中的寫(xiě)邏輯觀測(cè)零輸入被寫(xiě)入的位置,圖案可延伸至未執(zhí)行寫(xiě)的偶然附加周期。這具有縮短所述寫(xiě)和讀指針之間間隔的效果且因此減小了所述等待時(shí)間。本發(fā)明的其他方面是一種校驗(yàn)未被正確配置邏輯的方法從而使得在寫(xiě)和讀輸入之間出現(xiàn)時(shí)序違例。如果讀出現(xiàn)的和寫(xiě)太近,會(huì)發(fā)生這種情形。如圖12所示,時(shí)序驗(yàn)證邏輯在FIF050上添加了附加第二讀端口 54,利用用于主讀取端口 52的讀指針延遲復(fù)制尋址。所述延遲指針延遲一個(gè)周期。利用所述延遲指針的數(shù)據(jù)讀取與前面周期中被主讀取端口 52延遲復(fù)制的數(shù)據(jù)讀取比較56。如果探測(cè)到不匹配,那么出現(xiàn)下溢錯(cuò)誤。這種機(jī)制可用于減小通過(guò)緩沖器的等待時(shí)間。固件可設(shè)置初始值為通過(guò)期望無(wú)錯(cuò)誤的緩沖器的等待時(shí)間。那么所述固件會(huì)開(kāi)始緩慢減少等待時(shí)間,每次一個(gè)延遲值。最終所述延遲讀指針不會(huì)與取自前面周期的數(shù)據(jù)復(fù)制匹配,表明下溢錯(cuò)誤已經(jīng)出現(xiàn)。所述固件可添加最終的減少的等待時(shí)間值。這應(yīng)該導(dǎo)致最小可能的通過(guò)跨過(guò)緩沖器的時(shí)鐘的等待時(shí)間,盡管仍給出錯(cuò)誤空閑操作。圖13描述了一個(gè)實(shí)施例,能夠?qū)?shù)據(jù)項(xiàng)從鏈接時(shí)鐘域72傳入更快系統(tǒng)時(shí)鐘域。這個(gè)設(shè)計(jì)有5部分。數(shù)據(jù)FIF060是具有一個(gè)寫(xiě)端口 62和一個(gè)讀端口 64的兩端口存儲(chǔ)器。本實(shí)施例示出的FIF060的深度為8輸入,但是很容易認(rèn)識(shí)到此處所描述的原則上是任意尺寸的FIFO。寫(xiě)指針邏輯66定時(shí)在鏈接時(shí)鐘域72中且由從0_15計(jì)數(shù)的空運(yùn)行四位計(jì)數(shù)器68組成。計(jì)數(shù)器68的輸出值是格雷碼70且向系統(tǒng)時(shí)鐘域74傳遞。僅需要更低三位計(jì)數(shù)器形成進(jìn)入數(shù)據(jù)FIF060中的寫(xiě)指針。在所述系統(tǒng)時(shí)鐘域74中,讀圖案邏輯76由包括所期望的讀取圖案的軟件可編程寄存器78組成。第二寄存器80包括圖案長(zhǎng)度(標(biāo)記為“Len”)??者\(yùn)行計(jì)數(shù)器82被系統(tǒng)時(shí)鐘增量定時(shí)直到其到達(dá)長(zhǎng)度寄存器80中指定的值,在此點(diǎn)其被重置。所述計(jì)數(shù)器82的輸出還被用作進(jìn)入讀圖案寄存器78的指針84以選擇用作可從FIF060中讀取的字節(jié)。
來(lái)自讀圖案邏輯76的讀取使能信號(hào)86用于使得來(lái)自FIF060的數(shù)據(jù)被讀取且在讀指針邏輯88中增加讀指針90。當(dāng)圖案指針84達(dá)到Len寄存器80所指定的最大值時(shí),重置所述讀指針90為O。最后的組件是指針間隔邏輯92,用于決定何時(shí)縮短存儲(chǔ)于圖案寄存器78中的重復(fù)讀取圖案。同步器94用于將格雷碼寫(xiě)指針帶入系統(tǒng)時(shí)鐘域74。所述格雷值在轉(zhuǎn)換器96中轉(zhuǎn)換為二進(jìn)制值且形成用于指針等于O的檢查器98。如果,當(dāng)同步寫(xiě)指針等于O時(shí),所述圖案指針84小于可編程最小值100 (標(biāo)記為“Min”),那么所述指針間隔太遠(yuǎn)且必須通過(guò)縮短圖案一個(gè)周期將其拉近。寄存器102被設(shè)置成指示應(yīng)在其下個(gè)循環(huán)被縮短的重復(fù)圖案。縮短寄存器102設(shè)置為0,當(dāng)所述圖案指針84達(dá)到其最大值。如果重設(shè)圖案指針84時(shí)設(shè)置寄存器102,那么所述圖案指針84重設(shè)為大于O的一個(gè)值。這具有將重復(fù)圖案縮短一個(gè)周期的效果。注意,所述讀圖案寄存器的字節(jié)O不能被設(shè)置為1,否則當(dāng)縮短所述圖案時(shí)無(wú)法執(zhí)行讀取。圖14描述了圖13方案的變化。圖14的方案是用于當(dāng)數(shù)據(jù)項(xiàng)從所述系統(tǒng)時(shí)鐘域116進(jìn)入更慢鏈接時(shí)鐘域118時(shí)。在該情形中,在所述鏈接時(shí)鐘域118的每個(gè)周期上執(zhí)行從FIFOl 10的讀取。在圖14實(shí)施例中,讀指針120由四位空運(yùn)行計(jì)數(shù)器122的輸出提供。底部三位用于尋址FIF0110。所述四位值是格雷編碼124且通過(guò)同步器126進(jìn)入所述系統(tǒng)時(shí)鐘域116和二進(jìn)制轉(zhuǎn)換器128。比較器130用于識(shí)別何時(shí)同步讀取指針為O。當(dāng)同步讀指針為O時(shí),檢查器132由圖案指針144與最大值134 (標(biāo)記為Max)的比較構(gòu)成。如果圖案指針144大于所述最大值,那么設(shè)置寄存器150以影響重復(fù)讀取圖案的延長(zhǎng),使FIF0110的填充變慢以及移動(dòng)讀和寫(xiě)指針120,121使其接近。當(dāng)重設(shè)圖案指針144時(shí),清除加長(zhǎng)寄存器150。由空運(yùn)行計(jì)數(shù)器145的輸出提供的所述圖案指針144重設(shè)為O以及重設(shè)為任意值,當(dāng)其達(dá)到可編程值148 (標(biāo)記為L(zhǎng)en)或當(dāng)其超過(guò)所述可編程值時(shí)。可編程寄存器142包括能夠用于重復(fù)圖案的寫(xiě)圖案。可認(rèn)識(shí)到此處描述的兩種版本(圖13和14)可結(jié)合為單個(gè)執(zhí)行,依賴(lài)于是否來(lái)自FIFO其他側(cè)的同步指針高于或低于某些可編程閾值,加長(zhǎng)或縮短重復(fù)圖案。類(lèi)似的,此處所述實(shí)施例是用于這種情形,其中在所述鏈接時(shí)鐘的每個(gè)周期上訪問(wèn)鏈接時(shí)鐘域中的FIFO,但是更復(fù)雜的圖案可被使用。一種簡(jiǎn)單替換是所述鏈接時(shí)鐘的每個(gè)其他周期中執(zhí)行讀,如果FIFO數(shù)據(jù)寬度兩倍于通信數(shù)據(jù)。還可使用更復(fù)雜圖案。例如,通信鏈接可具有20位界面,同時(shí)FIFO界面是32位。在那種情形中,讀重復(fù)圖案會(huì)發(fā)生在鏈接時(shí)鐘的每32個(gè)周期,超過(guò)對(duì)于FIFO會(huì)具有全部20個(gè)寫(xiě)。盡管本發(fā)明特征已經(jīng)參考附圖和附圖所示的實(shí)施例進(jìn)行描述,但是可理解的是本發(fā)明未限制在所示出的準(zhǔn)確實(shí)施例中且無(wú)需進(jìn)一步的發(fā)明技術(shù)和效果進(jìn)行各種變化和調(diào)

iF. O
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),包括 具有第一時(shí)鐘頻率的第一時(shí)鐘域; 具有第二時(shí)鐘頻率的第二時(shí)鐘域; 將數(shù)據(jù)項(xiàng)目從第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)目刹僮鲾?shù)據(jù)路徑,所述數(shù)據(jù)路徑包括緩沖器,該緩沖器具有用于從第一時(shí)鐘域接收數(shù)據(jù)項(xiàng)目的輸入,以及用于以先進(jìn)先出方式向第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的輸出端口,所述緩沖器具有用于指示緩沖器的當(dāng)前第一位置的第一指針,以及用于指示緩沖器的當(dāng)前第二位置的第二指針; 為所述緩沖器定義讀取模式的可操作讀取控制器,獨(dú)立于該讀取模式控制來(lái)自所述緩沖器的輸出,以及獨(dú)立于用于所述緩沖器的該第一指針的值調(diào)整改讀取模式。
2.如權(quán)利要求1所述的系統(tǒng),其中讀取模式具有與之相關(guān)的模式指針,以及讀取控制器可操作的將該模式指針與第一指針比較,且獨(dú)立于該比較調(diào)整所述模式指針。
3.如權(quán)利要求1或2所述的系統(tǒng),其中所述讀取控制器是可操作的以獨(dú)立于預(yù)定的圖案長(zhǎng)度重置所述圖案指針。
4.如權(quán)利要求1,2或3所述的系統(tǒng),其中所述數(shù)據(jù)路徑包括用于將第一指針從所述第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)闹羔槀鬏斣O(shè)備。
5.如權(quán)利要求4所述的系統(tǒng),其中該指針傳輸設(shè)備包括編碼器和同步器。
6.如權(quán)利要求4或5所述的系統(tǒng),其中所述第二時(shí)鐘頻率高于第一時(shí)鐘頻率,且其中所述第一指針是寫(xiě)指針,第一位置是數(shù)據(jù)輸入位置,所述第二指針是讀指針,且第二位置是輸出位置。
7.如前述權(quán)利要求任一項(xiàng)所述的系統(tǒng),其中所述數(shù)據(jù)路徑可包括用于將第二指針從所述第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)闹羔槀鬏斣O(shè)備。
8.如權(quán)利要求7所述的系統(tǒng),其中該指針傳輸設(shè)備包括編碼器和同步器。
9.如權(quán)利要求7或8所述的系統(tǒng),其中所述第二時(shí)鐘頻率高于第一時(shí)鐘頻率,且其中所述第一指針是讀指針,第一位置是數(shù)據(jù)輸出位置,所述第二指針是寫(xiě)指針,且第二位置是輸入位置。
10.如前述權(quán)利要求任一項(xiàng)所述的系統(tǒng),其中所述緩沖器可定義第三指針,其被延遲所述第二指針的一個(gè)周期版本且被升級(jí)為與所述第二指針相同的時(shí)鐘域,用于從所述緩沖器讀取數(shù)據(jù)的所述第三指針可與被延遲從利用所述第二指針的所述緩沖器中獲取的數(shù)據(jù)的一個(gè)周期版本的比較,以至于提供由通過(guò)所述緩沖器的等待時(shí)間所引起的下溢錯(cuò)誤的下溢值指示。
11.如權(quán)利要求10所述的系統(tǒng),其中所述下溢值用于動(dòng)態(tài)調(diào)整所需緩沖等待時(shí)間,從而減小通過(guò)所述緩沖器的等待時(shí)間以至于實(shí)質(zhì)上未出現(xiàn)下溢錯(cuò)誤。
12.一種利用將數(shù)據(jù)項(xiàng)目從第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)目刹僮鲾?shù)據(jù)路徑從具有第一時(shí)鐘頻率的第一時(shí)鐘域向具有第二時(shí)鐘頻率的第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的方法,所述數(shù)據(jù)路徑包括緩沖器,該緩沖器具有用于從第一時(shí)鐘域接收數(shù)據(jù)項(xiàng)目的輸入,以及用于以先進(jìn)先出方式向第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的輸出端口,所述緩沖器具有用于指示緩沖器的當(dāng)前第一位置的第一指針,以及用于指示緩沖器的當(dāng)前第二位置的第二指針,所述方法包括為所述緩沖器定義讀圖案; 獨(dú)立于該讀圖案控制來(lái)自所述緩沖器的輸出;以及獨(dú)立于用于所述緩沖器的該第一指針的值調(diào)整所述讀圖案。
13.如權(quán)利要求12所述的方法,其中讀取圖案具有與之相關(guān)的圖案指針,以及所述讀取控制器可操作的將該圖案指針與第一指針比較,且獨(dú)立于該比較調(diào)整所述圖案指針。
14.如權(quán)利要求12或13所述的方法,進(jìn)一步包括獨(dú)立于預(yù)定的圖案長(zhǎng)度重置所述圖案指針。
15.如權(quán)利要求12,13或14所述的方法,進(jìn)一步包括利用所述數(shù)據(jù)路徑包括從所述第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)谝恢羔槨?br> 16.如權(quán)利要求15所述的方法,進(jìn)一步包括編碼和同步化所述第一指針。
17.如權(quán)利要求15或16所述的方法,其中所述第二時(shí)鐘頻率高于第一時(shí)鐘頻率,且其中所述第一指針是寫(xiě)指針,第一位置是數(shù)據(jù)輸入位置,所述第二指針是讀指針,且第二位置是輸出位置。
18.如權(quán)利要求12-17任一項(xiàng)所述的方法,進(jìn)一步包括從所述第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)诙羔槨?br> 19.如權(quán)利要求18所述的方法,進(jìn)一步包括編碼和同步化第二指針。
20.如權(quán)利要求18或19所述的方法,其中所述第二時(shí)鐘頻率高于第一時(shí)鐘頻率,且其中所述第一指針是讀指針,第一位置是數(shù)據(jù)輸出位置,所述第二指針是寫(xiě)指針,且第二位置是輸入位置。
21.如權(quán)利要求12-20任一項(xiàng)所述的方法,進(jìn)一步包括提供第三指針,其被延遲所述第二指針的一個(gè)周期版本且被升級(jí)為與所述第二指針相同的時(shí)鐘域,用于從所述緩沖器讀取數(shù)據(jù)的所述第三指針可與被延遲從利用所述第二指針的所述緩沖器中獲取的數(shù)據(jù)的一個(gè)周期版本的比較,以至于提供由通過(guò)所述緩沖器的等待時(shí)間所引起的下溢錯(cuò)誤的下溢值指示。
22.如權(quán)利要求21所述的方法,其中所述下溢值用于動(dòng)態(tài)調(diào)整所需緩沖等待時(shí)間,從而減小通過(guò)所述緩沖器的等待時(shí)間以至于實(shí)質(zhì)上未出現(xiàn)下溢錯(cuò)誤。
全文摘要
數(shù)據(jù)處理系統(tǒng)包括具有第一時(shí)鐘頻率的第一時(shí)鐘域、具有第二時(shí)鐘頻率的第二時(shí)鐘域,以及將數(shù)據(jù)項(xiàng)目從第一時(shí)鐘域向第二時(shí)鐘域傳輸?shù)目刹僮鲾?shù)據(jù)路徑。所述數(shù)據(jù)路徑包括緩沖器,該緩沖器具有用于從第一時(shí)鐘域接收數(shù)據(jù)項(xiàng)目的輸入,以及用于以先進(jìn)先出方式向第二時(shí)鐘域傳輸數(shù)據(jù)項(xiàng)目的輸出端口。所述緩沖器具有用于指示緩沖器的當(dāng)前第一位置的第一指示器,以及用于指示緩沖器的當(dāng)前第二位置的第二指示器。所述系統(tǒng)進(jìn)一步包括為所述緩沖器定義讀取模式的可操作讀取控制器,獨(dú)立于該讀取模式控制來(lái)自所述緩沖器的輸出,以及獨(dú)立于用于所述緩沖器的該第一指示器的值調(diào)整改讀取模式。
文檔編號(hào)G06F13/40GK103003807SQ201180036577
公開(kāi)日2013年3月27日 申請(qǐng)日期2011年7月26日 優(yōu)先權(quán)日2010年7月28日
發(fā)明者愛(ài)德華·詹姆斯·特納, 喬恩·比克羅夫特 申請(qǐng)人:格諾多有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1