專利名稱:用于高速信令的數(shù)據(jù)捕獲技術(shù)的制作方法
交叉參考本發(fā)明要求下述具有共同擁有人的、共同未決的美國臨時專利申請的權(quán)益申請序列號60/271124,申請日2001年2月24日,名稱“Massively Parallel Supercomputer(大規(guī)模并聯(lián)超級計算機)”,特此將其全部內(nèi)容如同全文敘述一樣地合并在本文中作為參考。本專利申請還與下列具有共同擁有人的、共同未決的、具有相同申請日的美國專利申請有關(guān),特此將這些美國專利申請的每個的全部內(nèi)容如同全文敘述一樣地合并在本文中作為參考美國專利申請序列號(YOR920020027US1、YOR920020044US1(15270)),發(fā)明名稱“ClassNetworking Routing(分級聯(lián)網(wǎng)傳送)”;美國專利申請序列號(YOR920020028US1(15271)),發(fā)明名稱“AGlobal Tree Network forcomputing Structures(用于計算結(jié)構(gòu)的全局樹形網(wǎng)絡(luò))”;美國專利申請序列號(YOR920020029US1(15272)),發(fā)明名稱“GlobalInterrupt and Barrier Networks(全局中斷和閉鎖網(wǎng)絡(luò))”;美國專利申請序列號(YOR920020030US1(15273)),發(fā)明名稱“OptimizedScalable Network Switch(優(yōu)化的可伸縮的網(wǎng)絡(luò)開關(guān))”;美國專利申請序列號(YOR920020032US1、YOR920020033US1(15258)),發(fā)明名稱“Arithmetic Functions in Torus and Tree Networks(環(huán)形和樹形網(wǎng)絡(luò)中的算術(shù)功能)”;美國專利申請序列號(YOR920020033US1、YOR920020034US1(15259)),發(fā)明名稱“DataCapture Technique for High Speed Signaling(用于高速信令的數(shù)據(jù)捕獲技術(shù))”;美國專利申請序列號(YOR920020035US1、(15260)),發(fā)明名稱“Managing Coherence Via Put/Get Windows(通過放置/達(dá)到窗管理相干性)”;美國專利申請序列號(YOR920020036US1、YOR920020037US1(15261)),發(fā)明名稱“LowLatency Memory Access and Synchronization(低等待時間存儲器存取和同步)”;美國專利申請序列號(YOR920020038US1(15276)),發(fā)明名稱“Twin-Tailed Fail-Over for Fileservers MaintainingFull Performance in the Presence of Failure(雙拖尾故障-出現(xiàn)故障時的文件服務(wù)器維護(hù)全性能)”;美國專利申請序列號(YOR920020039US1(15277)),發(fā)明名稱“Faultisolation ThroughNo-Overhead Link Level Checksums(通過無開銷鏈接級校驗和的故障隔離)”;美國專利申請序列號(YOR920020040US1(15278)),發(fā)明名稱“Ethernet Addressing Via Physical Location for MassivelyParallel Systems(通過大規(guī)模并聯(lián)系統(tǒng)的物理位置的以太網(wǎng)編址)”;美國專利申請序列號(YOR920020041US1(15274)),發(fā)明名稱“Fault Tolerance in a Supercomputer Through DynamicRepartitioning(通過動態(tài)重分配的超級計算機故障容限)”;美國專利申請序列號(YOR920020042US1(15279)),發(fā)明名稱“Checkpointing Filesystem(校驗指示文件系統(tǒng))”;美國專利申請序列號(YOR920020043US1(15262)),發(fā)明名稱“EfficientImplementation of Multidimensional Fast Fourier Transformationon a Distributed-Memory Parallel Multi-Node Computer(在分布存儲器并聯(lián)多節(jié)點計算機上有效地實現(xiàn)多維快速傅利葉變換)”;美國專利申請序列號(YOR920010211US1(15275)),發(fā)明名稱“A NovelMassively Parallel Supercomputer(新穎的大規(guī)模并聯(lián)計算機)”;美國專利申請序列號(YOR920020045US1(15263)),發(fā)明名稱“SmartFan Modules and Systems(智能扇形組件和系統(tǒng))”。
背景技術(shù):
1.發(fā)明領(lǐng)域本發(fā)明總體涉及用于高速信令(signaling)的數(shù)據(jù)捕獲技術(shù),更具體來說,涉及一種用于異步數(shù)據(jù)流的最佳采樣的技術(shù)。該技術(shù)允許極高的數(shù)據(jù)速率,并且不要求像在源同步系統(tǒng)中那樣要將一個時鐘隨同數(shù)據(jù)一起發(fā)送。
本發(fā)明也提供一種用于為最佳雙位并發(fā)雙向(SiBiDi--two-bitsimultaneous Bi-Directional)信令自動地調(diào)節(jié)傳輸延遲的硬件機構(gòu)。
2.背景技術(shù)大規(guī)模并行計算機系統(tǒng)能進(jìn)行類別寬廣的重要計算。這種系統(tǒng)由許多相同的計算機節(jié)點組成,每個計算機節(jié)點一般有一個或多個CPU、存儲器和一個或多個用于將該節(jié)點與其它節(jié)點連結(jié)的網(wǎng)絡(luò)接口。
在相關(guān)的美國臨時專利申請(申請序列號60/271124,申請日2001年2月24日,名稱“Massively Parallel Supercomputer(大規(guī)模并聯(lián)超級計算機)”)中描述的計算機,利用芯片上系統(tǒng)(SOC)技術(shù),建立一個具有高通過量(throughput)的、可伸縮的(scalable)、成本-效用有益的計算系統(tǒng)。SOC技術(shù)已經(jīng)使利用包括具有集成的第一級高速緩存的CPU的內(nèi)置部件庫在單一芯片上建立整個多處理器節(jié)點成為可行的。這種包裝大大地減少了節(jié)點的部件數(shù),便于建造可靠的大規(guī)模機器。
本發(fā)明涉及用于諸如生命科學(xué)領(lǐng)域中的應(yīng)用等各種應(yīng)用的大規(guī)模并行計算機系統(tǒng)的領(lǐng)域。更具體來說,本發(fā)明涉及高速信令的領(lǐng)域,涉及單向信令或并發(fā)雙向(SiBiDi)信令。
有這樣的情形要求進(jìn)行大量的數(shù)據(jù)傳輸,但是能用的連線數(shù)量有限。并發(fā)雙向信令允許用相同的連線同時傳送和接收信號。這就將連線的數(shù)量降低一半。需要進(jìn)行大量數(shù)據(jù)傳輸?shù)娎|數(shù)量受到嚴(yán)重限制的一個例子是具有數(shù)千個通過連線通信的處理器的大規(guī)模并行超級計算機。
SiBiDi信令的工作方式是在接收數(shù)據(jù)的相同連線上發(fā)送數(shù)據(jù)。因此,在接收期間,不僅接收從導(dǎo)線另一端發(fā)送的需要的數(shù)據(jù),也接收它剛剛發(fā)出的數(shù)據(jù)。這當(dāng)然破壞所需要的信號。然而,由于剛剛發(fā)出的數(shù)據(jù)是已知的,因此可以“將其減去”。這是由標(biāo)準(zhǔn)的SiBiDi電路進(jìn)行的。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的是提供一種用于高速信令的數(shù)據(jù)捕獲技術(shù),尤其是允許在不將時鐘隨數(shù)據(jù)一起發(fā)送的情況下對異步數(shù)據(jù)流最佳采樣和捕獲。捕獲數(shù)據(jù)的方法是,沿著具有一系列延遲抽頭(taps)的時鐘定時的(clocked)延遲線發(fā)送數(shù)據(jù)流的串行位,并利用一個時鐘采樣所有的延遲抽頭。將每個延遲抽頭輸出與相鄰的延遲抽頭輸出進(jìn)行比較,確定是否相同,該比較結(jié)果被用來形成一個時鐘定時的串,以生成一個數(shù)據(jù)歷史記錄,該數(shù)據(jù)歷史記錄被加以檢查,以確定最佳數(shù)據(jù)捕獲眼(capture eyes),所述確定最佳數(shù)據(jù)捕獲眼的方法是查找數(shù)據(jù)在相鄰的延遲抽頭之間不變換(transition)的地方的數(shù)據(jù)捕獲眼,把它們作為最佳數(shù)據(jù)捕獲眼。
本發(fā)明的另一個目的是提供一種硬件機構(gòu),它用于為最佳雙位SiBiDi信令自動地調(diào)節(jié)傳輸延遲,以便改善雙位SiBiDi信令的信號質(zhì)量。實行一個特殊的硬件算法,并將該兩個位中的每一位用于單向信道(channels),以允許兩個節(jié)點的硬件算法在設(shè)定序列期間安全地交換設(shè)置參數(shù)。一個相同頻率的單向信道有SiBiDi信道的帶寬的一半,但是有相當(dāng)好的信號質(zhì)量。
本領(lǐng)域的熟練人員參照以下結(jié)合附圖對若干實施例的詳細(xì)說明,能更好地理解用于高速信令的數(shù)據(jù)捕獲技術(shù)的本發(fā)明的上述目的和優(yōu)點。附圖中相同的部件用相同的標(biāo)注號指明。
圖1表示一個數(shù)據(jù)接收宏,它能捕獲2G位速率的串行數(shù)據(jù)并將其帶入本地時鐘域。
圖2表示一個數(shù)據(jù)發(fā)送宏塊,其接收500Mhz 1字節(jié)寬的數(shù)據(jù)輸入,并生成每個是2Gb/s串行數(shù)據(jù)的兩個數(shù)據(jù)流的數(shù)據(jù)輸出,該數(shù)據(jù)輸出被在SiBiDi(并發(fā)雙向)差分(differential)數(shù)據(jù)鏈路上傳送,然后數(shù)據(jù)被輸入到圖1的數(shù)據(jù)捕獲宏。
圖3表示一個級內(nèi)(instage)2位宏塊。
圖4表示一個時鐘定時的延遲線的實現(xiàn),其中串行數(shù)據(jù)經(jīng)過組合的串行反相器組,每個反相器增加一個延遲增量。
圖5表示一個歷史邏輯塊,它被表示為時鐘延遲線的延伸,并顯示一個時鐘相位(phase)。
圖6A和6B表示數(shù)據(jù)和歷史樣本MUXs,它們每個對應(yīng)于圖3底部所示的MUX,圖6A和6B分別用于先導(dǎo)邊沿時鐘相位和下降邊沿時鐘相位,圖6C的MUX接收圖5的底部的輸出信號。
圖7表示要被用作能在每個時鐘周期捕獲4個數(shù)據(jù)位的配對鏈路(paired link)的串行位組合和字節(jié)對準(zhǔn)邏輯,它含有兩個2位宏(如圖3中所示的)并在2個輸入數(shù)據(jù)流之間尋找適當(dāng)?shù)淖止?jié)對準(zhǔn)。
圖8表示一個眼檢測流程圖中的眼檢測過程。
圖9表示兩個2位宏狀態(tài)圖的第1圖,該圖表示在眼位置樣本點正被確定期間的相位的狀態(tài)流。
圖10表示兩個2位宏狀態(tài)圖的第2圖,該圖表示在正常數(shù)據(jù)捕獲操作期間的重復(fù)狀態(tài)流。
圖11表示一個第一實施例,其中兩個差分?jǐn)?shù)據(jù)線連接一對相同節(jié)點1、2,并且其中每個節(jié)點都有一個唯一的ID,每個節(jié)點與一個2位發(fā)送器CPU和一個2位接收CPU一起操作。
圖12表示一個在兩個節(jié)點1、2之間的SiBiDi電通信的第二實施例,其中一個差分通信線路連接這些節(jié)點。
圖13A和13B的狀態(tài)機表示在同步Si-Bi-Di連接的訓(xùn)練中由節(jié)點計算芯片采取的步驟。
發(fā)明詳細(xì)說明概述本發(fā)明旨在用于在大規(guī)模并行超級計算機中實現(xiàn)互連,它解決計算機產(chǎn)業(yè)中兩個長期存在的問題;(1)在處理器和存儲器之間以時鐘周期計量的日益增加的距離,和(2)由主流單處理器或?qū)ΨQ多處理器構(gòu)造的并行計算機的高能力密度。
本發(fā)明總體涉及用于高速信令的數(shù)據(jù)捕獲技術(shù),更具體來說,涉及一種用于異步數(shù)據(jù)流的最佳采樣的技術(shù)。該技術(shù)允許極高的數(shù)據(jù)速率,不要求像在源同步系統(tǒng)中的那樣要將一個時鐘隨數(shù)據(jù)一起發(fā)送。
串行鏈路勘測連接大規(guī)模并行超級計算機的串行鏈路的目標(biāo)帶寬是1.4Gb/s(每個方向)。這個帶寬必須是雙向的。這個雙向要求可以以許多方式處理。所有情況共有的限制是,它們是低功率和低成本的。選擇的實現(xiàn)將被集成到處理節(jié)點內(nèi)的ASIC中。與這種方法相關(guān)聯(lián)的一個特別問題是低功率限制。加上缺少用于鏈路傳輸?shù)南鄬ο辔?phase)信息,這消除了標(biāo)準(zhǔn)的PLL時鐘和數(shù)據(jù)恢復(fù)設(shè)計。在這種情況下,必須在不用PLL的條件下高度可靠地從數(shù)據(jù)本身抽取相位。
數(shù)字?jǐn)?shù)據(jù)捕獲概述本說明書詳細(xì)地描述一種數(shù)字?jǐn)?shù)據(jù)捕獲技術(shù)。圖1表示一個能捕獲2G位速率的串行數(shù)據(jù)并將其帶入本地時鐘域的數(shù)據(jù)接收宏。目標(biāo)是用少量的信元(cells)低功率地、可靠地實現(xiàn)這一點。圖2表示一個比數(shù)據(jù)接收宏顯著簡單的數(shù)據(jù)發(fā)送宏塊,它將在本說明書的第二部分被說明。這描述一種DDR(雙數(shù)據(jù)速率)類型的數(shù)據(jù)恢復(fù),它允許一個是位時間的頻率的一半的內(nèi)部時鐘。這能被用于SDR(單一數(shù)據(jù)速率)模式或者在需要時被擴(kuò)展到四數(shù)據(jù)速率方案。
參看圖1,至數(shù)據(jù)接收宏的數(shù)據(jù)輸入是兩個2Gb/s輸入串行數(shù)據(jù)的數(shù)據(jù)流,這代表著總共4Gb/s的數(shù)據(jù)流;數(shù)據(jù)輸出是一個500Mhz的一字節(jié)寬的(8位寬的)數(shù)據(jù)流。其它輸入信號是一個1Ghz的時鐘,一個把數(shù)據(jù)捕獲宏復(fù)位到已知狀態(tài)的復(fù)位信號,一個用于指導(dǎo)宏尋找最佳眼(沿多抽頭延遲線(見圖3、4、5)上的位置或階段—數(shù)據(jù)在該處不經(jīng)歷變換、因此是最不可能有數(shù)據(jù)錯誤的最準(zhǔn)確的數(shù)據(jù)捕獲位置)以恢復(fù)數(shù)據(jù)的訓(xùn)練信號,一個空置字節(jié)信號,它是在數(shù)據(jù)未被接收時被宏接收的預(yù)定空置數(shù)據(jù)模式(idle data pattern)的,一個指令宏在雙數(shù)據(jù)速率方式下操作的DDR方式,以及一個是尋找最佳數(shù)據(jù)或空置眼的約束參數(shù)的最小距離。其它輸出信號包括,指示空置模式的有效接收的有效空置信號,一個指示已經(jīng)檢測到最佳眼位置和參數(shù)的眼找到信號,一個指示最佳眼位置被鎖定的鎖定信號,以及一個指示最佳眼位置由于離多抽頭數(shù)字延遲線的一端太近而處于被丟失的危險中的警告信號。
參考圖3、4、5、6和7進(jìn)一步解釋圖1的宏。
接收宏中的延遲在7和12個位時間(bit times)之間,視數(shù)據(jù)的字節(jié)相位(byte phase)而定。通過跳過字節(jié)輸出,可以將延遲削減到5至6個位時間。對于數(shù)據(jù)內(nèi)容可以被忽略的信號再驅(qū)動(redriving)來說,這是一個合理的方法。
圖2是一個數(shù)據(jù)發(fā)送宏塊,其接收500Mhz 1字節(jié)寬的數(shù)據(jù)輸入,并生成每個是2Gb/s串行數(shù)據(jù)的兩個數(shù)據(jù)流的數(shù)據(jù)輸出,該數(shù)據(jù)輸出被在單向或SiBiDi(并發(fā)雙向)差分?jǐn)?shù)據(jù)鏈路上傳送,這在下面說明,然后數(shù)據(jù)被輸入到圖1的數(shù)據(jù)捕獲宏。另外的一個輸入是字節(jié)有效信號,它指示一個有效的數(shù)據(jù)信號正在被接收并要被發(fā)送,這與空置信號不同;另外的輸入是一個1GHz時鐘信號和一個把數(shù)據(jù)發(fā)送宏復(fù)位到某個已知狀態(tài)的復(fù)位信號。
圖3、4和5表示數(shù)據(jù)接收和捕獲。捕獲數(shù)據(jù)的方法是沿快速抽頭延遲線(見圖3、4和5)發(fā)送數(shù)據(jù)位,并用本地時鐘采樣所有的抽頭。將每個抽頭與其鄰居(見圖3、5)比較,看看是否相同。這些比較綜合起來形成一個時鐘定時的串,該串與以前的時鐘定時的串組合起來生成一個能被用來確定最佳采樣點的歷史??梢酝ㄟ^從歷史串中(見圖5,寄存器A、B、C、D)查找那里的數(shù)據(jù)在延遲抽頭之間不曾改變的區(qū)域而找出最佳采樣點,它們在本文中被稱為“眼”。歷史被定期地更新,例如每隔一個本地時鐘就更新。定期更新彌補了變化的參數(shù),諸如不同部件中的溫度或電壓的變化。還將有三個額外的不常被更新的“眼”流水線化的寄存器(見圖5,寄存器B、C、D)。這允許一種具有可編程的持續(xù)期間并且不受被隔離位錯誤的影響的捕獲方案。持續(xù)時間可以被設(shè)置得任意長,但是必須不短于為可靠地采樣數(shù)據(jù)邊沿所需的最大時間。為了容納快于本地時鐘周期的位采樣時間,用時鐘的兩個邊沿來捕獲DDR數(shù)據(jù)(見圖3、4)。時鐘的每個邊沿有其自己相關(guān)聯(lián)的捕獲寄存器和獨立的邏輯來尋找最佳眼。這個技術(shù)因此大大地免于本地的和發(fā)送端時鐘占空度(duty cycle)的不對稱的影響。
由于歷史寄存器將改變,最佳采樣點也將移動。這個更新應(yīng)當(dāng)在比持續(xù)時間短的時間范圍進(jìn)行。這個功能是在直方圖和采樣點確定單元中進(jìn)行的。
數(shù)據(jù)捕獲的方法牽涉到一個兩階段初始化,它或者在系統(tǒng)復(fù)位后或者在單獨的“訓(xùn)練”信號被確定后進(jìn)行。
階段1在復(fù)位或“訓(xùn)練”信號(見圖1、2)后,歷史寄存器被刷新,在所有3個“眼”寄存器中獲取一個新的歷史模式(pattern)。在獲取一個有效的“眼”寄存器集合后,通過狀態(tài)機序列(見圖9、10)確定最佳采樣點。這是按時鐘的每個相位獨立地進(jìn)行的。這些采樣點然后被使用,并在每一個系統(tǒng)時鐘將兩個位傳送到下一個階段。
階段2兩個位被接收并被插入到一個移位寄存器中,該移位寄存器與一個筒式位移器一起被用于允許適當(dāng)?shù)陌胱止?jié)(1/2字節(jié)或4位)邊界(見圖7)。這些邊界是通過在初始化序列期間使用唯一性的半字節(jié)模式而找到的。
時鐘定時的延遲線塊圖4和5表示一個時鐘定時的延遲線的實現(xiàn),其中串行數(shù)據(jù)進(jìn)入左邊的反相器I,經(jīng)過組合的反相器串,其中每個反相器增加一個延遲增量。在每個反相器輸出端有兩個寄存器鎖存器FF,見圖3-5,一個被時鐘的正邊沿定時,另一個被負(fù)邊沿定時。這允許該邏輯以兩倍的時鐘速度捕獲數(shù)據(jù)。一組鎖存器捕獲正時鐘相位的數(shù)據(jù)眼,而另一組鎖存器捕獲負(fù)時鐘相位的數(shù)據(jù)眼。兩種眼被單獨地檢測和采樣,這樣,每個時鐘相位需要一個單獨的、如圖5中所示的電路。獨立的正、負(fù)時鐘定時的邏輯電路導(dǎo)致對時鐘信號的周期工作循環(huán)、尤其是本地的和發(fā)送端時鐘工作循環(huán)的不對稱的很小依賴性。
該模塊有在輸入接收器之后的高速信號作為其輸入。該模塊的唯一的其它輸入是向所有觸發(fā)器扇出相等時間的本地時鐘。該模塊的輸出只有N+1個時鐘定時的延遲抽頭D
。每個抽頭約50ps,在上升邊沿和下降邊沿之間具有較好的匹配。下降延遲與上升延遲之間所需的匹配大約是20-30%。我們要求時鐘對所有相鄰鎖存器是約10ps內(nèi)的相等時間。這可以用抽頭的時鐘線而不是時鐘樹更好地實現(xiàn)。這些數(shù)據(jù)捕獲電路中的許多都是可以實現(xiàn)的,因此功率是關(guān)鍵。
該模塊是布局關(guān)鍵的,因此要求額外的布局考慮。
為了測試芯片的目的,將部件的數(shù)量固定在32。這給出大約1.6n秒的額定總延遲,這足以捕獲頻率下降到大約1Gb/s的DDR數(shù)據(jù)。
參看圖3和5,特別是圖5,每個寄存器FF(觸發(fā)器)被導(dǎo)向到一個異或門XOR,該異或門也接收來自延遲線中下一個寄存器FF的輸入。參看延遲線的第一和第二級,由于數(shù)據(jù)位在進(jìn)入第二寄存器之前被第二反相器倒置,如果數(shù)據(jù)位不經(jīng)過在兩個連續(xù)級之間的轉(zhuǎn)換,則第一和第二寄存器將保持相反的值,使得第一級XOR將產(chǎn)生一個1,指示沒有級與級之間的轉(zhuǎn)換。相反,如果數(shù)據(jù)位在兩個連續(xù)級之間經(jīng)過轉(zhuǎn)換,則第一和第二寄存器將保持相同的值,使得第一級XOR將產(chǎn)生一個0,指示有級與級之間的轉(zhuǎn)換。
圖5的系統(tǒng)正在沿著時鐘定時的延遲線搜尋一個穩(wěn)定位置或眼,以檢測數(shù)據(jù)不經(jīng)歷轉(zhuǎn)換處的數(shù)據(jù),這是由來自一系列的連續(xù)XORs的一系列的1輸出指示的,這樣就應(yīng)當(dāng)將數(shù)據(jù)檢測眼對準(zhǔn)到一系列1的中間。每個XOR的輸出被輸入到一個AND門,AND門的輸出被輸入到寄存器A,寄存器A是一系列FF(觸發(fā)器)歷史寄存器A、B、C和D中的第一個。第一寄存器A被以滿1Ghz時鐘速率采樣,并以較慢的時鐘速率(例如>1ms(微秒))定期地被一個“設(shè)置到高”的信號復(fù)位到高,而寄存器B、C和D則以與“設(shè)置到高”相同的時鐘邏輯速率被采樣和更新。
寄存器A被時鐘以a>1ms的時鐘速率設(shè)置或復(fù)位到高1輸出,在復(fù)位后,如果XOR的輸出是1,則AND門的輸出是1,且寄存器A的輸出是1,它隨后(被寄存器B、C和D的負(fù)載(ld)輸入端的更新信號)順序地被時鐘定時地(clocked)通過寄存器B、C和D。相反,如果XOR的輸出是0,且寄存器A的輸出被設(shè)置或復(fù)位至1,則AND門的輸出是0,且寄存器A輸出一個0,它隨后被順序地時鐘定時通過寄存器B、C和D。該安排使得一旦寄存器A的輸出是0,則它保持為0,一直到寄存器被“設(shè)置到高”信號復(fù)位,使得寄存器B、C和D的每個的輸出被順序地時鐘定時至0,并保持為0,一直到寄存器A被“設(shè)置到高”信號復(fù)位到1。
歷史寄存器B、C和D的每個的輸出是一個3之2(2 of 3)邏輯元件的輸入,3之2邏輯元件在其3個輸入的任何2個是1時產(chǎn)生一個1或高(H)輸出。3之2邏輯的目的是補償通過數(shù)字延遲線的數(shù)據(jù)流中的可能錯誤地導(dǎo)致3個輸入的其中之一為0的假信號(glitches),使得盡管有數(shù)據(jù)假信號也能產(chǎn)生準(zhǔn)確的輸出。此外,可以計算3之2邏輯檢測的出現(xiàn)次數(shù)并加以報告,作為正在被接收的數(shù)據(jù)的完整性的一個指示。H輸出(0至N-1)是圖6C中所指示的MUX的輸入。H輸出中的一個串1一般表示是數(shù)據(jù)采樣眼的一個好候選,應(yīng)當(dāng)被置于該串1之中的中心。
圖3表示一個級內(nèi)2位宏塊,其大部分已經(jīng)結(jié)合圖5作了描述。直方圖(histogram)和采樣點確定單元包括圖5的AND門、歷史寄存器和3之2邏輯以及圖6C的MUX以及圖9和10的狀態(tài)圖。宏塊也包括一個MUX,它接收數(shù)字延遲線的FF寄存器的所有輸出作為輸入,并在圖5的底部的信號H
、H[1]、H[N-1]的控制下選擇性地將這些輸入作為數(shù)據(jù)輸出而傳送出去。
歷史塊圖5表示一個歷史邏輯塊,它被表示為時鐘延遲線塊的延伸,并顯示一個時鐘相位。另一個時鐘相位需要一個相同的電路。圖5中所示的反相器串對兩個時鐘相位是共同的。
采樣點塊采樣點塊最容易用一個狀態(tài)圖來描述,狀態(tài)圖確定兩個最佳采樣點,每個時鐘相位對應(yīng)一個。由于采樣點不是被頻繁更新的(更新之間至少有50個時鐘),我們可用一個時鐘過程來尋找最佳采樣點。
圖6A和6B表示數(shù)據(jù)和歷史樣本MUXs,采樣MUXs分別具有D_even[N:0]和D_odd[N:0]的輸入,每個輸入對應(yīng)于圖3底部所示的MUX,每個分別對應(yīng)先導(dǎo)邊沿時鐘相位和下降邊沿時鐘相位,而圖6C的MUX則如前所述地接收圖5的底部的信號。
組合兩個2位宏圖7表示要被用作能在每個時鐘周期捕獲4個數(shù)據(jù)位的配對鏈路的串行位組合和字節(jié)對準(zhǔn)邏輯,它含有兩個2位宏(如圖3中所示)并在向兩個2位宏70(如圖3中所示)輸入的頻率各為2Ghz的2個輸入數(shù)據(jù)流之間尋找適當(dāng)?shù)淖止?jié)對準(zhǔn)(alignment)。這兩個輸入信號可被視為圖1的被與適當(dāng)?shù)淖止?jié)對準(zhǔn)組合的輸入信號。圖3的兩個2位宏的輸出是兩個數(shù)據(jù)流,每個速率1Ghz,它們被輸入到寄存器71,后者延遲并標(biāo)準(zhǔn)化這2個數(shù)據(jù)流,這2個數(shù)據(jù)流被輸入到一個12位的位移寄存器72,位移寄存器72被以半速Clk/2的時鐘定時,將這2個數(shù)據(jù)流轉(zhuǎn)換成500Mhz的12位寬數(shù)據(jù)流。這12位寬數(shù)據(jù)流被輸入到邏輯73和筒形位移器74,筒形位移器74具有兩個12位寬數(shù)據(jù)流的24位的輸入,實質(zhì)上在邏輯73的控制下選擇24位中被適當(dāng)對準(zhǔn)的8位,以確定筒形位移器的正確的位位移。邏輯73用一個已知的訓(xùn)練模式(train pattern)來生成兩個4位寬的、控制筒形位移器的輸出。邏輯73實質(zhì)上在軟件的控制下通過時鐘定時的延遲線不斷再發(fā)送相同的已知數(shù)據(jù)訓(xùn)練模式,直到它知道筒形位移器的正確的位位移。筒形位移器在該邏輯的控制下選擇性地挑選24位輸入中的最適當(dāng)對準(zhǔn)的8位,作為字節(jié)輸出傳送。
狀態(tài)圖眼檢測流圖8表示一個眼檢測流程圖中的眼檢測過程的總流程,從復(fù)位80開始,把系統(tǒng)初始化到已知值,緊接著在框81等待足夠數(shù)量的數(shù)據(jù)變換,以保證眼的干凈確定???2檢查偶數(shù)眼歷史寄存器中的1和0,以確定一個對應(yīng)于上升沿的時鐘定時數(shù)據(jù)的偶數(shù)眼,并選擇一個具有最小延遲的第一眼通過時鐘定時的延遲線???3對奇數(shù)眼做相同的事,檢查奇數(shù)眼歷史寄存器中的1和0,以確定一個對應(yīng)于下降沿的時鐘定時數(shù)據(jù)的奇數(shù)眼,并選擇一個具有最小延遲的奇數(shù)眼通過時鐘定時的延遲線。
可能有幾個不同的對應(yīng)于延遲線上不同位置的偶數(shù)相位和奇數(shù)相位眼,并在檢測到最小延遲眼后,流程圖從框84重新循環(huán)到框82,尋找具有下一個最大延遲的下一對眼;而邏輯控制繼續(xù)再循環(huán)到框82,一直到整個長度的延遲線被作了對應(yīng)偶數(shù)和奇數(shù)相位的眼的檢查。框84比較每個下一個檢測到的眼對與最佳的以前檢測的眼對,保留最佳眼對,這樣,它就選擇所有候選眼對的最佳眼對,這個功能由圖7的邏輯73執(zhí)行。
在這一點,邏輯73在框85等待一個“對準(zhǔn)”包,這是一個已知的訓(xùn)練模式,諸如一個已知的位序列,用于確定此時尚未知的字節(jié)邊界。在字節(jié)邊界由圖7中的邏輯73用對準(zhǔn)訓(xùn)練模式確定之后,然后框86(它也對應(yīng)于邏輯73)設(shè)置對準(zhǔn)輸入到筒形位移器,用以對準(zhǔn)筒形位移器74,選擇和傳送正確對準(zhǔn)的8位作為字節(jié)輸出,并且邏輯73也生成鎖定的輸出信號。筒形位移器于是準(zhǔn)備好在正常的數(shù)據(jù)接收期間傳送8個正確對準(zhǔn)的位作為字節(jié)輸出。
框87指示數(shù)據(jù)采樣眼是不斷被更新的。一個優(yōu)選的再對準(zhǔn)在現(xiàn)有的偶數(shù)和奇數(shù)數(shù)據(jù)采樣點處開始,然后檢查現(xiàn)有眼的左右,以確定左眼邊和右眼邊,然后在偶數(shù)和奇數(shù)相位眼的左邊和右邊之間再對準(zhǔn)偶數(shù)和奇數(shù)相位眼的中心,如結(jié)合圖9所解釋的那樣。
訓(xùn)練眼檢測的狀態(tài)9表示兩個2位宏狀態(tài)圖的第1圖,該圖表示在眼位置樣本點正被確定期間的相位的狀態(tài)流,總體對應(yīng)于圖8的框82和83。
在圖9中,對應(yīng)于圖5底部輸出的圖6C的對MUX的H[N-1:0]輸入被順序采樣并逐一檢查,作為圖6C的MUX的被傳送的輸出Hsamp。第一位H
要么是0,要么是1,0指示在眼的外部數(shù)據(jù)變換(transition),1指示眼內(nèi)不可能有數(shù)據(jù)變換;第一位H
被圖9的步驟序列檢查,其中0被顯示為Samp(樣本)=0,1被顯示為Samp=1。在第一位H
被圖9的所有步驟S0-總結(jié)檢查后,第二位H[1]通過相同的步驟序列被檢查,如此等等,直到最后一位H[N-1]被檢查。
兩個兩位宏狀態(tài)圖之一在圖9中的狀態(tài)如下所述·S0是復(fù)位狀態(tài)。在復(fù)位活動期間,控制依然在這里。
·S1是初始化狀態(tài)。在復(fù)位被釋放之后,控制在這里等待,直到一個更新計數(shù)器到時,然后,如果samp=0(表示圖5的被檢查的抽頭產(chǎn)生一個0,因此不在眼中),前進(jìn)到S2,如果samp=1(被檢查的抽頭輸出是1并且可能是某個眼的一部分),前進(jìn)到S3。
狀態(tài)S2-S3.5通過遞增搜尋整個偶數(shù)延遲線歷史而查找一個偶數(shù)眼,它相應(yīng)于上升時鐘沿定時的數(shù)據(jù)。
·S2通過從左至右遞增通過偶數(shù)延遲線歷史查找一個偶數(shù)眼(samp=1)。它尋找偶數(shù)眼的左端。如果找到或者如果它命中延遲線的右端,則前進(jìn)到狀態(tài)S3,否則停留在S2。
·S3搜尋偶數(shù)眼的右端,仍然搜尋,直到它發(fā)現(xiàn)samp=0。Samp=1期間控制留在S3中,因為它在眼內(nèi)。當(dāng)發(fā)現(xiàn)smap=0時,控制進(jìn)到S3.5,這是控制在某些情況下正確工作所必需的延遲狀態(tài)。
·S3.5立即轉(zhuǎn)換到S4。
狀態(tài)S4-S13檢索對應(yīng)于下降時鐘邊沿時鐘定時的數(shù)據(jù)的奇數(shù)眼,對奇數(shù)眼的搜尋在被檢測的偶數(shù)眼的中心開始,比對偶數(shù)眼的搜尋更加復(fù)雜。
·S4開始搜尋奇數(shù)眼。對于正常的方式,如果奇數(shù)眼samp=0,它前進(jìn)到S7,否則samp=1,它前進(jìn)到S5。Samp=0意味著奇數(shù)眼在奇數(shù)延遲線歷史中不與偶數(shù)眼對準(zhǔn),正常的策略是向左和向右搜索,挑選最接近的奇數(shù)眼。有兩個可替代方式??刂七M(jìn)到S13的,則向右搜索;控制進(jìn)到S12的,則向左搜索。
·S5意味著奇數(shù)眼與偶數(shù)眼是對準(zhǔn)的,且初始樣本點已經(jīng)在奇數(shù)眼中。因此這個狀態(tài)通過遞減一個樣本計數(shù)器(用于選擇數(shù)據(jù)點的)從初始樣本點向左搜索,一直到它找到奇數(shù)眼的左端或者延遲線的左端。然后,控制進(jìn)到S6。
·S6向右搜索,尋找奇數(shù)眼的右端。當(dāng)它找到奇數(shù)眼的右端或者延遲線的右端時,控制進(jìn)到總結(jié)狀態(tài),該狀態(tài)是步驟S13之后搜索的結(jié)束的狀態(tài),數(shù)據(jù)樣本計數(shù)器在這里被設(shè)置得對應(yīng)于偶數(shù)和奇數(shù)眼的正常處理。
·S7意味著奇數(shù)眼與偶數(shù)眼是不對準(zhǔn)的,且初始樣本點在噪聲區(qū)中任何眼之外。這個狀態(tài)通過遞減樣本計數(shù)器向左搜索一個匹配的奇數(shù)眼。當(dāng)samp=1時,它已經(jīng)找到一個奇數(shù)眼的右邊,它把該右邊記在MAX(右邊寄存器)中,然后,控制進(jìn)到S8?;蛘?,它到達(dá)延遲線的左端都沒有找到左奇數(shù)眼,在這種情況下,控制進(jìn)到S11。
·S8旨在搜索一個不對準(zhǔn)的右奇數(shù)眼。它在samp=0期間不斷搜索,一直到samp=1,這表示一個右奇數(shù)眼的左端被找到并被記在MIN(左邊寄存器)中,然后,控制進(jìn)到S9。如果到達(dá)延遲線的右端都沒有發(fā)現(xiàn)samp=1,則沒有右眼,因此控制直接進(jìn)到S10中的左眼處理。
·S9中比較MIN和MAX與右眼的距離。如果MIN較近,控制進(jìn)到S6。如果MAX較近,控制進(jìn)到S10。
·S10搜索奇數(shù)眼的左端。在samp=1期間,控制保持在S10。當(dāng)samp=0或者到達(dá)到達(dá)延遲線的左端時,控制傳送到總結(jié)。
·S11在沒有左奇數(shù)眼時搜索一個不對準(zhǔn)的右奇數(shù)眼。在samp=1期間,控制保持在S11。samp=1時,控制進(jìn)到S6。如果在發(fā)現(xiàn)samp=1之前到達(dá)延遲線的右端,則沒有奇數(shù)眼。這是一個錯誤條件,由警告指示器檢測并指示。
·S12搜索延遲線中偶數(shù)眼左邊的不對準(zhǔn)的奇數(shù)眼。在samp=0期間,控制保持在S12。samp=1時,控制進(jìn)到S10。如果在發(fā)現(xiàn)samp=1之前到達(dá)延遲線的左端,則沒有左眼,然后,除非控制是從S13進(jìn)入到S12的—此時沒有奇數(shù)眼,否則控制選擇在S13中向右查找。這是一個錯誤條件,由警告指示器檢測并指示,然后控制進(jìn)到總結(jié)。
·S13搜索延遲線中偶數(shù)眼右邊的不對準(zhǔn)的奇數(shù)眼。在samp=0期間,控制保持在S13。samp=1時,控制進(jìn)到S6。如果在發(fā)現(xiàn)samp=1之前到達(dá)延遲線的右端,則沒有右眼存在,然后,除非控制是從S13進(jìn)入到S12的—此時沒有奇數(shù)眼,否則控制選擇在S12中向左查找。這是一個錯誤條件,由警告指示器檢測并指示,然后控制進(jìn)到總結(jié)。
·總結(jié)是眼數(shù)據(jù)采樣點被確定用于正常操作時的狀態(tài)。
具有眼樣本點再對準(zhǔn)的正常操作的狀態(tài)10表示兩個2位宏狀態(tài)圖的第2圖,該圖表示在正常數(shù)據(jù)捕獲操作期間的重復(fù)的狀態(tài)流。在這個階段(phase),邏輯要捕獲串行數(shù)據(jù)并將其轉(zhuǎn)換到字節(jié)并行格式。
圖10表示正常數(shù)據(jù)捕獲運行狀態(tài)??刂埔话泷v留在RUN0。完成更新(done update)信號由一個時鐘計數(shù)器控制定期地使控制能進(jìn)入RUN1。狀態(tài)RUN1和RUN2遞增和遞減到偶數(shù)眼的兩極,它們是可以改變的。記住新的極限。類似地,狀態(tài)RUN3和RUN4遞增和遞減到奇數(shù)眼的兩極,且極限被記住。狀態(tài)RUN5使用RUN1至RUN4的發(fā)現(xiàn)來計算新的數(shù)據(jù)采樣點,新的數(shù)據(jù)采樣點被鎖存起來供使用??刂迫缓蠓祷氐絉UN0,進(jìn)入下一個更新周期。
SiBiDi本發(fā)明也提供一種硬件機構(gòu),用于為最佳雙位并發(fā)雙向信令自動地調(diào)節(jié)傳輸延遲。
在希望接收的信號不改變時如果需要被減除(subtracted)的信號改變,則所傳輸?shù)男盘柕腟iBiDi(并發(fā)雙向)IO單元“減除”(subtraction)是更成功的。這可以通過按適當(dāng)?shù)牧?時鐘周期的某個分?jǐn)?shù))延遲傳輸而實現(xiàn)。但是在一端延遲傳輸意味著數(shù)據(jù)將延遲到達(dá)另一端。于是另一端的電路將只好重新調(diào)整它的傳輸延遲,以便其自己的“減除”最優(yōu)。因此需要尋找一對延遲設(shè)置,每個對應(yīng)于連線兩端的每端的電路,以便“減除”對兩端都給出同樣好的質(zhì)量。
此外,為了實現(xiàn)這一點,這兩端需要交換關(guān)于對應(yīng)于另一端上的傳輸延遲的每個選擇的本地減除(subtraction)的質(zhì)量的信息。但是這個信息不能用正在被優(yōu)化的相同信令傳輸技術(shù)來交換。如果某延遲設(shè)置不好,它會破壞所發(fā)送的描述它如何不好的數(shù)據(jù)。本發(fā)明描述一種為最佳的雙位SiBiDi信令自動地調(diào)節(jié)傳輸延遲的硬件機構(gòu)。
圖11表示的第一實施例中,兩個差分?jǐn)?shù)據(jù)線連接一對相同節(jié)點1、2,并且其中每個節(jié)點都有一個唯一的ID,每個節(jié)點與一個2位發(fā)送器CPU和一個2位接收CPU一起操作。
該方法利用“安全通信”設(shè)置階段來傳送每個傳輸延遲集合的結(jié)果。通過使用為IO單元的單向設(shè)置(其中僅僅為了使噪聲最小而在一個方向上傳輸)并且只使用該單元的一個1位部分,將2位發(fā)送器/捕獲單元用于安全通信。
圖11表示一對結(jié)點之間的電連接,并顯示了兩個差分?jǐn)?shù)據(jù)線(每個由兩個連線組成能實現(xiàn)差分信令)。箭頭表示在安全通信設(shè)置階段的單向信號的方向。否則,在正常通信期間的電連接是雙向的。
Sel A、B框是MUX,其中Sel=0選擇從2位發(fā)送器單元到2位捕獲器單元的上路徑,Sel=0選擇下路徑。
I)將READY(準(zhǔn)備好)寄存器(未予示出)設(shè)定為0。
1)IO單元A=單向發(fā)送器方式IO單元B=單向接收器方式Sel A=1(選擇上路徑)
Sel B=1(選擇下路徑)2)設(shè)定發(fā)送器延遲方式為零延遲。
3)開始訓(xùn)練,上文關(guān)于尋找和檢測好數(shù)據(jù)捕獲眼時已經(jīng)作了描述。
4)在好的數(shù)據(jù)捕獲眼中保存安全單向設(shè)置階段通信的眼參數(shù)5)發(fā)送ID的第一位。在這個實施例中,節(jié)點1和2的每一個的獨有Ids確定哪一個節(jié)點是主節(jié)點,哪一個節(jié)點是從節(jié)點,較高的ID自動是主節(jié)點。
等到接收到另一個節(jié)點的第一ID位。
比較第一ID位。
如果相等則重復(fù)。
如果本地的小于鄰居的則設(shè)定PRIORITY(優(yōu)先級)=0如果本地的大于鄰居的則設(shè)定PRIORITY(優(yōu)先級)=16)IO單元A=SiBiDi方式IO單元B=SiBiDi方式Sel A=0Sel B=07)發(fā)送器延遲方式=0開始訓(xùn)練尋找眼保存本地眼參數(shù)8)至如步驟1的安全方式9)發(fā)送你的本地眼參數(shù)至另一個節(jié)點。
接收另一個節(jié)點的眼參數(shù)。
10)比較參數(shù)并保存最小的參數(shù)11)比較當(dāng)前最小的眼參數(shù)與以前的最小眼參數(shù)并將兩者中的最大參數(shù)與該最大參數(shù)的本地發(fā)送器延遲方式一起保存。這個方式被視為最佳方式并被記為OPT_SENDER_MODE(最佳發(fā)送器方式)。
在這個第一實施例中,假設(shè)一個8抽頭的延遲線,這樣每個節(jié)點在8個步驟中就可能有范圍從零延遲到最大延遲的8個不同延遲,因此可能的組合數(shù)是8*8=64。換言之,對應(yīng)一個節(jié)點處的8個延遲的每一個,在第二節(jié)點上有8個可能的延遲。因此必須測試64種可能的組合來選擇最佳組合。步驟12一次一個地簡單循環(huán)通過所有64個組合。
返回到步驟6),用以下的發(fā)送器延遲方式序列重復(fù)總共64次如果PRIORITY=0則鄰居首先改變方式。本地序列是0,8步1,8步2,8步3,8步4,8步5,8步6,8步7,8步如果PRIORITY=1,則本地序列是0,1步1,1步2,1步3,1步4,1步5,1步6,1步7,1步重復(fù)8次。
12)如6)中那樣轉(zhuǎn)至SiBiDi,其中發(fā)送器延遲方式=OPT_SENDER_MODE(最佳發(fā)送器方式)。
13)設(shè)定READY寄存器至1以表示系統(tǒng)被優(yōu)化并準(zhǔn)備好正常的SiBiDi通信。
如果在任何步驟有故障,以至達(dá)不到步驟14,則該節(jié)點已經(jīng)發(fā)生故障??梢酝ㄟ^READY寄存器的內(nèi)容識別故障節(jié)點。
圖12表示一個在兩個節(jié)點1、2之間的SiBiDi電通信的第二實施例,其與第一實施例的一個區(qū)別在于其中一個差分?jǐn)?shù)據(jù)線連接這些節(jié)點。第二個區(qū)別是該實施例對1位數(shù)據(jù)操作,而不是像圖11的第一實施例中那樣對2位數(shù)據(jù)操作。另一個區(qū)別是,在本實施例中,主節(jié)點和從節(jié)點是由控制軟件指定的,而不是根據(jù)所分配的Ids指定的。本實施例也假設(shè)一個16抽頭的延遲線而不是如圖11中那樣的8抽頭延遲線。
概述初始對準(zhǔn)過程(IAP)是一個步驟序列,每個端口的每個同步信號由其確定最佳傳輸延遲線設(shè)置(為其級外(outstage))。美國臨時專利申請序列號60/271124中描述了一種具有按三位晶格連接的32*32*64個節(jié)點的、每個節(jié)點連接到6個相鄰節(jié)點的大規(guī)模并行超級計算機。每個節(jié)點有6個端口,每個端口20個同步信號,使得超級計算機的一個節(jié)點處的一個節(jié)點計算機芯片上的所有120個同步信號(6個端口*20個同步信號)都能獨立地執(zhí)行個別訓(xùn)練。所有訓(xùn)練可以并行地發(fā)生,或者只是一次一個。(都在軟件的控制下)。訓(xùn)練是同時在SiBiDi鏈路的兩個方向上進(jìn)行的,這允許必要的ISI(符號干涉間)和近端噪聲(與環(huán)境噪聲)。參看圖12,IAP序列的高級流程是1.軟件動作通過寫每個節(jié)點計算機芯片的IAP控制寄存器而把同步鏈路的一端標(biāo)識為“主”,另一端標(biāo)識為“從”。
2.硬件動作主端(圖12中的A端)與從端(圖12中的B端)通信,以開始訓(xùn)練。這是有些復(fù)雜的,因為必須在一個鏈路在被完全訓(xùn)練之前跨鏈路傳送信息。(見下文的”跨未訓(xùn)練鏈路的通信”)3.硬件動作一個鏈路的每端都有一個遍歷(runs through)所有可能的延遲線設(shè)置并比較結(jié)果以發(fā)現(xiàn)最佳延遲線設(shè)置的狀態(tài)機(如圖13A和13B中所示)。改變一端上的延遲線設(shè)置影響兩端上的眼,因此系統(tǒng)需要遍歷所有16*16個組合。(注級外(數(shù)據(jù)發(fā)送)延遲線有16個設(shè)置,如前文所解釋的那樣)。對于每個延遲線訓(xùn)練循環(huán),級內(nèi)(數(shù)據(jù)捕獲)宏從另一端接收一個偽隨機數(shù)據(jù)流并尋求找到眼和表示眼大小信息供分析。
4.軟件動作讀IAP狀態(tài)寄存器以確定訓(xùn)練的成功/失敗??梢酝ㄟ^軟件可訪問的其它鏈路特定的狀態(tài)寄存器讀取精確的延遲線設(shè)置和眼大小范圍。
鏈路訓(xùn)練序列圖13A和13B的狀態(tài)機表示在同步Si-Bi-Di連接的訓(xùn)練中由節(jié)點計算芯片采取的步驟。鏈路的每端使用下列寄存器DTR-延遲抽頭寄存器-控制級外中的延遲線。(有效設(shè)置是0-15)。在IAP序列期間使用兩個額外的“工作”拷貝Mst-DTR和Slv-DTR。
LBDTR-本地最佳延遲抽頭寄存器-在訓(xùn)練期間保存對應(yīng)于最佳要看見的眼大小的DTR值。在訓(xùn)練結(jié)束時,LBDTR的內(nèi)容被永久地裝載到DTR中。
MBESR-互相最佳眼大小寄存器-在訓(xùn)練期間保存最佳要看見的眼大小(根據(jù)訓(xùn)練中給定步驟A端和B端眼大小的最小者)。
在鏈路訓(xùn)練序列期間,噪聲生成器宏能被啟動作為人工添加更多噪聲的一種方式以模擬一個非常嘈雜的環(huán)境以及保證與眼的大小有關(guān)的更多的縱向電壓范圍。軟件通過在IAP控制寄存器中寫”開始”位開始IAP序列,并確定芯片為主(端A)或從(端B)。
跨未訓(xùn)練鏈路的通信在鏈路被完全訓(xùn)練之前有必要在鏈路的兩端之間進(jìn)行通信。為確保最可靠的數(shù)據(jù)傳輸,采用下列過程1)一次只在一個方向發(fā)送數(shù)據(jù)。
2)以較低速率發(fā)送數(shù)據(jù)。可采用1∶8的比率(即為8位時間保存“1”或“0”)。
在訓(xùn)練之前,鏈路的兩端沒有可預(yù)測的相位(phase)關(guān)系。因此,如果一端發(fā)送”110011”,并且如果樣本點與交換數(shù)據(jù)對齊,則數(shù)據(jù)可能被接收為”111011”或”100011”等等。傳輸速率要低的足以檢測到連續(xù)樣本上的穩(wěn)定數(shù)據(jù),并且不與位流內(nèi)的在0->1或1->0變換期間發(fā)生的錯誤采樣相混淆。
在“主”和“從”之間發(fā)送的“命令”有一長串的前導(dǎo)“1”和后繼的8個0。命令看起來是......許多1,8個0,命令的第一位的8位時間,命令的第二位的8位時間,......命令的最后一位的8位時間。接收端檢測到1->0轉(zhuǎn)變并估計8位時間窗的中間。(實際上,這可以是8位時間窗的第3、第4、或第5位;它們?nèi)慷紤?yīng)當(dāng)穩(wěn)定且有效)。此后,對每一個第8位采樣,以解譯命令/信息。
參看圖13A和13B,所有命令都以大寫字母指示,圖13B中的框0、5、6、9、12-14中的“相同”二字表示它們分別與圖13A中對應(yīng)的框的意思相同。
參看圖13A,這是主端,在階段(0)等待一個開始軟件命令,然后復(fù)位寄存器DTRs、LBDTR、MBDTR。在階段(1),主端等待接收來自從端的BEGIN(開始)命令,如果不,則向從端發(fā)送一個BEGIN命令,并等待來自從端的BEGIN答復(fù)。如果不,則主端等待并向從端再發(fā)送BEGIN。如果主端接收到來自另一個主端的BEGIN,則中斷。
在階段(4),如果是,主端發(fā)送一個TRAIN(訓(xùn)練)命令,指示主端準(zhǔn)備開始同步,然后暫停。
在階段(5),主端傳送一個隨機數(shù)據(jù)位流,以便能捕獲眼。
在階段(6),主端等待眼的捕獲并評估關(guān)于每個眼的信息,諸如眼大小。
在階段(7),主端等待接收關(guān)于眼大小的數(shù)據(jù),如果不,等待(例如1微秒)并發(fā)送關(guān)于眼大小的數(shù)據(jù),再次等待接收關(guān)于眼大小的數(shù)據(jù)。
接收到時,主端更新MBDTR和LBDTR寄存器并遞增Mst-DTR,如果重疊(計數(shù)器溢出)則遞增SLv-DTR寄存器,對所有256個組合重復(fù)階段(4)-(9)。
如果是,在階段(10),主端發(fā)送一個END(結(jié)束)命令,以結(jié)束眼訓(xùn)練。
在階段(11),主端等待接收來自從端的END命令。
如果是,在階段(12),主端用LBDTR裝載DTR,然后復(fù)位級內(nèi),這是一個設(shè)定(set-up)節(jié)點。
在階段(13),最優(yōu)眼參數(shù)被用來傳送隨機數(shù)據(jù)。
階段(12)和(13)用最優(yōu)眼參數(shù)來傳送隨機數(shù)據(jù),然后最優(yōu)眼參數(shù)被重新評估,如果成功則被鎖定就位。
在階段(14),主端斷言一個“復(fù)位假信號”(Reset Glitch)信號,以復(fù)位并重新評估數(shù)據(jù)捕獲,對照最小眼大小數(shù)據(jù)檢查眼大小,以及更新IAP狀態(tài)寄存器。
圖13B的從端的操作從上述對主端的描述應(yīng)當(dāng)是明顯的。
盡管本文詳細(xì)描述了本發(fā)明的用于高速信令的數(shù)據(jù)捕獲技術(shù)的若干實施例及變體,顯然,對于本領(lǐng)域的那些熟練人員來說本發(fā)明的內(nèi)容和教導(dǎo)將揭示許多可替代的設(shè)計。
權(quán)利要求
1.一種允許在不隨數(shù)據(jù)流發(fā)送時鐘信號的情況下對異步數(shù)據(jù)流進(jìn)行最佳采樣和捕獲的數(shù)據(jù)捕獲方法,包含通過沿具有一系列延遲抽頭的時鐘定時的延遲線發(fā)送數(shù)據(jù)流的串行數(shù)據(jù)位來捕獲數(shù)據(jù);利用一個時鐘對所有的延遲抽頭采樣;將每個延遲抽頭輸出與相鄰的延遲抽頭輸出進(jìn)行比較,以確定是否相同;利用這些比較結(jié)果來形成一個時鐘定時串,以便生成一個數(shù)據(jù)歷史紀(jì)錄;檢查該數(shù)據(jù)歷史記錄,以便確定最佳數(shù)據(jù)捕獲眼,其方法是通過查找數(shù)據(jù)在相鄰的延遲抽頭之間不變換的地方的數(shù)據(jù)捕獲眼,把這些數(shù)據(jù)捕獲眼測定為最佳數(shù)據(jù)捕獲眼。
2.權(quán)利要求1的方法,其特征在于,包括定期地更新數(shù)據(jù)歷史記錄,以補償改變的參數(shù)。
3.權(quán)利要求1的方法,其特征在于,將時鐘定時串與以前的時鐘定時串相組合以便生成數(shù)據(jù)歷史紀(jì)錄。
4.權(quán)利要求1的方法,其特征在于,把串行數(shù)據(jù)輸入時鐘定時的延遲線,并且把串行數(shù)據(jù)時鐘定時地通過組合的反相器系列,每個所述反相器添加一個延遲增量,每個反相器輸出被導(dǎo)向歷史寄存器。
5.權(quán)利要求4的方法,其特征在于,每個反相器輸出被導(dǎo)向偶數(shù)和奇數(shù)歷史寄存器,偶數(shù)歷史寄存器被一個時鐘的正邊沿定時,奇數(shù)歷史寄存器被該時鐘的負(fù)邊沿定時,以便允許邏輯電路以兩倍時鐘速率捕獲串行數(shù)據(jù),所述偶數(shù)歷史寄存器被用來檢測正時鐘相位的偶數(shù)數(shù)據(jù)捕獲眼,所述奇數(shù)歷史寄存器被用來檢測負(fù)時鐘相位的奇數(shù)數(shù)據(jù)捕獲眼。
6.權(quán)利要求5的方法,其特征在于,一個偶數(shù)眼多路轉(zhuǎn)換器接收偶數(shù)歷史寄存器的所有輸出,一個奇數(shù)眼多路轉(zhuǎn)換器接收奇數(shù)歷史寄存器的所有輸出。
7.權(quán)利要求4的方法,其特征在于,歷史寄存器包括一個以第一時鐘速率定時的第一歷史寄存器以及順序地接收第一歷史寄存器的輸出并以第二時鐘速率定時的串行排列的第二、第三和第四數(shù)據(jù)歷史眼寄存器。
8.權(quán)利要求4的方法,其特征在于,該時鐘定時的延遲線包含位于每個反相器的輸出端的延遲線寄存器,以及每個延遲線寄存器的輸出被導(dǎo)向一個也從時鐘定時的延遲線中的下一個延遲線寄存器接收一個輸入的異或門XOR,由于數(shù)據(jù)位在進(jìn)入下一個延遲線寄存器之前被下一個延遲線反相器翻轉(zhuǎn),并且如果數(shù)據(jù)位在連續(xù)的級之間不經(jīng)歷變換,則每個寄存器和下一個寄存器將保持相反的值,使得該XOR門生成一個表示連續(xù)的級之間沒有數(shù)據(jù)變換的1,相反,如果數(shù)據(jù)位在連續(xù)的級之間經(jīng)歷一次變換,則每個寄存器和下一個寄存器將保持相同的值,使得每一級XOR門生成一個表示連續(xù)的級之間有數(shù)據(jù)變換的0。
9.權(quán)利要求8的方法,其特征在于,每個XOR門的輸出被輸入到一個AND門,該AND門的輸出被輸入到作為四個串行歷史寄存器中的第一個的第一歷史寄存器,該第一歷史寄存器被以第一時鐘速率采樣并復(fù)位到高,而第二、第三和第四歷史寄存器則以更高的第二時鐘速率被采樣并更新。
10.權(quán)利要求5的方法,其特征在于,包括通過遞增地搜索整個偶數(shù)歷史寄存器而搜索一個偶數(shù)眼,以便搜索該偶數(shù)眼的前導(dǎo)和結(jié)束邊沿,而對奇數(shù)眼的搜索在被檢測到的偶數(shù)眼的中心開始,然后搜索第二個數(shù)據(jù)眼的前導(dǎo)和結(jié)束邊沿。
11.權(quán)利要求5的方法,其特征在于在第一級中,歷史寄存器被定期地復(fù)位和刷新并獲得一個新的歷史紀(jì)錄,然后獨立地確定時鐘的每個相位的最佳數(shù)據(jù)眼,該最佳數(shù)據(jù)眼然后被用來發(fā)送和捕獲要在每一個系統(tǒng)時鐘下被轉(zhuǎn)發(fā)到下一級的數(shù)據(jù)位;和在第二級中,所述被轉(zhuǎn)發(fā)的數(shù)據(jù)位被插入到與一個筒形寄存器一起用來正確地選擇和傳送對準(zhǔn)的數(shù)據(jù)位的一個移位寄存器中。
12.權(quán)利要求5的方法,特征在于,數(shù)據(jù)采樣眼被不斷地更新和再對準(zhǔn),它在現(xiàn)有偶數(shù)和奇數(shù)數(shù)據(jù)采樣眼處開始,然后向現(xiàn)有眼的左邊和右邊查找,以確定左眼邊和右眼邊緣,然后在它們左邊緣和右邊緣之間重新對準(zhǔn)偶數(shù)眼和奇數(shù)眼的中心。
13.權(quán)利要求8的方法,其特征在于,該XOR門的輸出被順序地采樣,并且每次檢查一個該輸出,以確定每個輸出是0還是1,其中0表示在眼外部的一個數(shù)據(jù)變換,1表示不可能在眼內(nèi)部有數(shù)據(jù)變換,對于位移寄存器的每個延遲抽頭輸出,順序地重復(fù)上述順序采樣和檢查。
14.權(quán)利要求1的方法,其特征在于,延遲抽頭輸出被由時鐘的正邊沿定時的第一電路采樣,并被由時鐘的負(fù)邊沿定時的第二電路采樣,檢測對應(yīng)于正時鐘相位的偶數(shù)數(shù)據(jù)捕獲眼,以及與偶數(shù)眼的檢測相獨立地檢測對應(yīng)于負(fù)時鐘相位的奇數(shù)數(shù)據(jù)捕獲眼。
15.一種硬件機構(gòu),用于為兩個節(jié)點之間的最佳雙位并發(fā)雙向(SiBiDi)信令自動地調(diào)節(jié)傳輸延遲,以便改善通信線路上并發(fā)雙向信令的信號質(zhì)量,其中在一個設(shè)定序列期間,在通信線路上以單向通信方式發(fā)送參數(shù)設(shè)置數(shù)據(jù),以允許兩個節(jié)點在設(shè)定序列期間更準(zhǔn)確地交換參數(shù)設(shè)置數(shù)據(jù),由此單向通信有更好的信號質(zhì)量,以便更準(zhǔn)確地交換參數(shù)設(shè)置數(shù)據(jù)。
16.權(quán)利要求15的機構(gòu),其特征在于,在設(shè)定序列期間,以比在SiBiDi信令期間更低的數(shù)據(jù)速率發(fā)送數(shù)據(jù),其中使用1∶n的比率,保持“1“或“0”持續(xù)n位時間。
17.權(quán)利要求15的機構(gòu),其特征在于,每個節(jié)點在n個步驟中可能有范圍從最小或零延遲到最大延遲的n個步級的不同延遲,因此延遲的可能的組合數(shù)是n*n,以至選擇一個最佳延遲組合要測試n*n種可能的組合,該機構(gòu)每次一個地循環(huán)經(jīng)過所有n*n個組合。
18.權(quán)利要求15的機構(gòu),其特征在于,一個差分?jǐn)?shù)據(jù)線連接所述兩個節(jié)點,每個節(jié)點與一個1位發(fā)送器CPU和1位捕獲CPU一起工作。
19.權(quán)利要求15的機構(gòu),其特征在于,兩個差分?jǐn)?shù)據(jù)線連接所述兩個相同節(jié)點,每個節(jié)點與一個2位發(fā)送器CPU和2位捕獲CPU一起工作。
全文摘要
一種用于高速信令的數(shù)據(jù)捕獲技術(shù),以便于對異步數(shù)據(jù)流的最佳采樣。該技術(shù)允許極高的數(shù)據(jù)速率,不要求像在源同步系統(tǒng)中的那樣要將一個時鐘隨數(shù)據(jù)一起發(fā)送。本發(fā)明也提供一種硬件機構(gòu),用于為最佳雙位并發(fā)雙向(SiBiDi)信令自動地調(diào)節(jié)傳輸延遲(圖5)。
文檔編號G06F13/24GK1529958SQ02805440
公開日2004年9月15日 申請日期2002年2月25日 優(yōu)先權(quán)日2001年2月24日
發(fā)明者韋恩M·巴雷特, 韋恩M 巴雷特, た鋪賾人, 陳東, ぜ永, 保羅W·科特尤斯, そ蕓搜, 艾倫G·加拉, V 科普克塞, 羅里D·杰克遜, 杰勒德V·科普克塞, 諫I, に , 本J·內(nèi)桑森, 托德E·塔肯, 斯M 弗拉納斯, 帕夫羅斯M·弗拉納斯 申請人:韋恩M·巴雷特, 韋恩M 巴雷特, 陳東, 保羅W·科特尤斯