專利名稱:調(diào)節(jié)選通信號與數(shù)據(jù)信號之間的定時的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及調(diào)節(jié)選通信號與數(shù)據(jù)信號之間的定時。
背景技術(shù):
在總線操作中,為了通過信源(用于提供數(shù)據(jù))與接收器(用于接收 數(shù)據(jù))之間的總線來傳輸數(shù)據(jù),信源典型地將用于指示數(shù)據(jù)比特的數(shù) 據(jù)比特信號以及選通信號都供給總線。選通信號具有明顯的定時邊緣 (例如,上升邊緣),接收器使用該定時邊緣來對從數(shù)據(jù)比特信號捕獲
數(shù)據(jù)進行同步;并且,每個數(shù)據(jù)比特信號具有"數(shù)據(jù)眼",數(shù)據(jù)比特 信號以數(shù)據(jù)眼來指示數(shù)據(jù)比特。因此,在總線操作期間,接收器響應(yīng) 于選通信號的每個上升邊緣,對數(shù)據(jù)眼內(nèi)部的數(shù)據(jù)比特信號進行理想 抽樣,以從總線捕獲一組比特。
圖1和IO是根據(jù)本發(fā)明的不同實施例的計算機系統(tǒng)的示意圖。
圖2是根據(jù)本發(fā)明的實施例在初始鏈路訓(xùn)練模式期間,圖1的輸 入/輸出電路應(yīng)用于選通信號上的延時范圍的圖。
圖3是描述了根據(jù)本發(fā)明的實施例在初始鏈路訓(xùn)練模式中,用于 在選通信號和數(shù)據(jù)比特信號之間建立定時的技術(shù)的流程圖。
圖4和圖5是描述了根據(jù)本發(fā)明的實施例在活動鏈路訓(xùn)練模式 中,用于調(diào)節(jié)選通信號與數(shù)據(jù)比特信號之間的定時的技術(shù)的流程圖。
圖6是描述了根據(jù)本發(fā)明的實施例在選通信號的鏈路訓(xùn)練中所 使用的測試矢量的示例性狀態(tài)的表。
圖7是示出了根據(jù)本發(fā)明的實施例的圖1的計算機系統(tǒng)的輸入/ 輸出電路的示意圖。
圖8是描述了根據(jù)本發(fā)明的實施例的圖7的時鐘延時電路的示意圖。
圖9是根據(jù)本發(fā)明的實施例的圖8的延時調(diào)整電路的示意圖。
具體實施例方式
參考圖1,根據(jù)本發(fā)明的計算機系統(tǒng)的實施例10使用鏈路訓(xùn)練 (link tmining)來對從前端總線(FSB)16所接收的選通信號和數(shù)據(jù)比特 信號之間的定時關(guān)系進行確定和調(diào)整。更具體地,F(xiàn)SB 16在處理器 12(例如,中央處理單元(CPU))與連接到FSB 16的其它總線代理(例 如,北橋或稱存儲器集線器)之間提供通信鏈路。FSB16包括用于傳 輸數(shù)據(jù)比特信號的數(shù)據(jù)比特線17,以及用于傳輸選通信號的選通信 號線19(圖1中稱為"BCLK")。
根據(jù)本發(fā)明的一些實施例,每個連接到FSB 16的代理,例如處 理器12和存儲器集線器14,都包括輸入/輸出(I/0)電路20。例如, 處理器12包括I/O電路20a,存儲器集線器14包括I/O電路20b,每 個1/0電路具有用標號"20"來表示的共同設(shè)計。
I/O電路20調(diào)整選通信號和數(shù)據(jù)比特信號之間的定時關(guān)系。更具 體地,根據(jù)本發(fā)明的一些實施例,I/O電路20生成內(nèi)部延時的選通信 號,每個該選通信號與不同的數(shù)據(jù)比特信號相關(guān)聯(lián),并且用于對從相 關(guān)聯(lián)的數(shù)據(jù)比特信號捕獲數(shù)據(jù)進行觸發(fā)。對于每個數(shù)據(jù)比特信號,I/O 電路20使用鏈路訓(xùn)練來確定選通延時,以應(yīng)用到選通信號上從而生 成對應(yīng)的延時選通信號。從而,例如,如果FSB 16包括64個數(shù)據(jù)比 特線17,那么I/O電路20對選通信號與由線17所提供的64個數(shù)據(jù) 比特信號中的每一個之間的定時進行估計,并且I/O電路20響應(yīng)于 這個估計,建立64個選通延時。
根據(jù)本發(fā)明的一些實施例,可以將I/O電路20置于初始鏈路訓(xùn) 練模式和第二活動鏈路訓(xùn)練模式這兩個訓(xùn)練模式中的一個,其中在 初始鏈路訓(xùn)練模式中,I/O電路20初步確定選通延時;并且在第二活 動鏈路訓(xùn)練模式中,I/O電路20為了適應(yīng)諸如電壓和溫度變化之類的 變化,連續(xù)地對選通延時進行估計并且調(diào)整,其中所述選通延時反映 了選通信號和數(shù)據(jù)比特信號之間的定時關(guān)系。
除了計算機系統(tǒng)10的其它特征之外,在本發(fā)明的一些實施例中,
計算機系統(tǒng)10包括諸如存儲器總線60、外圍設(shè)備互連(PCI)總線64 以及圖形加速端口(AGP)總線30之類的特征,它們?nèi)窟B接到存儲 器集線器14??梢詮亩砝諏莶ㄌ靥m97214的PCI特別興趣組獲得 PCI規(guī)范。在由加利福尼亞州圣克拉拉的英特爾(Intd)公司于1996年 7月31日所公布的圖形加速端口接口規(guī)范修訂本1.0中詳細描述了 AGP。
存儲器總線60將系統(tǒng)存儲器62(例如,如圖1中所示的動態(tài)隨機 訪問存儲器(DRAM))連接到存儲器集線器14;并且PCI總線64例如 可以將網(wǎng)絡(luò)接口卡(NIC)28連接到PCI總線64。此外,可以經(jīng)由顯示 控制接口 32,將顯示器34連接到AGP總線30。
在本發(fā)明的一些實施例中,計算機系統(tǒng)IO還可以包括通過集線 器鏈路36來與存儲器集線器14進行通信的南橋,或稱I/O集線器40。 I/O集線器40例如可以為一個或者多個諸如硬盤驅(qū)動器52之類的硬 盤驅(qū)動器提供接口,以及為CD-ROM驅(qū)動器50提供接口。此外,在 本發(fā)明的一些實施例中,可以將I/O集線器40連接到擴展總線42。 為了將鍵盤46和鼠標48連接到計算機系統(tǒng)10,可以將I/O控制器 44連接到擴展總線42。
注意,僅對于本發(fā)明的多個可能的實施例中的一個實例示出了計 算機系統(tǒng)10;并且從而,其它實施例也是可能的,并且在所附權(quán)利 要求的范圍內(nèi)。
參考圖2,根據(jù)本發(fā)明的一些實施例,對于每個數(shù)據(jù)比特線17, I/O電路20應(yīng)用落入可能的選通延時范圍90之內(nèi)的選通延時。因此, 在本發(fā)明的一些實施例中,在范圍90的開始,延時可以是零,但是 在本發(fā)明的其它實施例中可以使用范圍90的其它開始延時。在以下 實施例中通常假設(shè)范圍90對于數(shù)據(jù)捕獲定義了三個不同的區(qū)域位 于范圍90的開始的區(qū)域IOO(稱為"失敗區(qū)域100"),其是選通延時 沒有使得延時的選通信號排列在相關(guān)的數(shù)據(jù)比特信號的眼中(并且從 而導(dǎo)致數(shù)據(jù)捕獲失敗)的區(qū)域;范圍90的中間區(qū)域(稱為"通過區(qū)域 102"),其是選通延時使得延時的選通信號排列在相關(guān)的數(shù)據(jù)比特信
號的數(shù)據(jù)眼中(并且從而導(dǎo)致數(shù)據(jù)捕獲成功)的區(qū)域;以及位于區(qū)域90 的末端的區(qū)域(稱為"失敗區(qū)域104"),其是選通延時沒有使得延時 的選通信號排列在相關(guān)的數(shù)據(jù)比特信號的數(shù)據(jù)眼中的另一個區(qū)域。
在本發(fā)明的一些實施例中,選通延時理想地落在通過區(qū)域102的 中點或中點附近。在本發(fā)明的一些實施例中,為了定位通過區(qū)域102 的中點,這里所述的技術(shù)找到左邊界IOI,或稱通過區(qū)域102的最小 延時,以及右邊界103,或稱通過區(qū)域102的最大延時。因此,I/O 電路20通過確定左邊界101和右邊界103的平均值來確定通過區(qū)域 102的中點。
在本發(fā)明的一些實施例中,圖2中所描述的范圍90可以對應(yīng)于 離散延時值的范圍。在以下所述的作為更具體的實例的本發(fā)明的實施 例中,對于選通延時并且因此對范圍90假設(shè)了十六個可能的值。根 據(jù)本發(fā)明的特定實施例,延時可以在時間上規(guī)則地間隔開,但是在本 發(fā)明的其它實施例中,延時之間可以存在其它關(guān)系。然而,不考慮范 圍內(nèi)的延時之間的關(guān)系,延時從最小延時到最大延時遞增。這里所述 的鏈路訓(xùn)練的目的是為了定義通過區(qū)域102的中間,或稱延時的中 點,以便將數(shù)據(jù)選通信號的定時邊緣放在數(shù)據(jù)比特信號的數(shù)據(jù)眼的中 心。
如上所述,根據(jù)本發(fā)明的一些實施例,I/O電路20具有兩個鏈路 訓(xùn)練操作模式。第一個操作模式是初始鏈路訓(xùn)練模式,在該模式中I/O 電路20對于每個數(shù)據(jù)比特線找到通過區(qū)域102的中點的中心。因此, 參考圖3,根據(jù)本發(fā)明的一些實施例,1/O電路20所用的技術(shù)120包 括為了生成測試矢量,對延時范圍90內(nèi)(見圖2)的所有延時進行測 試(方框122)。例如,如以下進一步所述,在本發(fā)明的一些實施例中, I/O電路20測試范圍90的每個延時;并且分配用于指示測試結(jié)果的 二進制值。例如,為了測試范圍內(nèi)的特定延時,經(jīng)過FSB 16的相關(guān) 的數(shù)據(jù)比特線17來傳輸一個或者多個預(yù)定的數(shù)據(jù)比特信號(即,測試 圖案)。如果由比特線所捕獲和讀取的數(shù)據(jù)有效(即,如果捕獲的數(shù)據(jù) 與數(shù)據(jù)的測試圖案匹配),那么I/O電路使用標志(例如"0")來指出 測試的延時通過。反之,如果捕獲的數(shù)據(jù)與測試圖案不匹配,那么I/O
電路20使用另一個標志(例如二進制值"1")來指出失敗。這個技術(shù) 的結(jié)果是生成了測試矢量,艮P, 二進制的"1"和"0"的串。
例如,在測試了特定范圍90的十六個(作為實例)延時值之后,I/O 電路20可以生成十六個比特的測試矢量,例如如下(作為實例) "1111100000111111"。因此,比特位置零到四指示失敗的延時,或 稱失敗區(qū)域100;比特位置五到九指示成功的延時,或稱通過區(qū)域 102(圖2);并且比特位置十到十五指示失敗區(qū)域104,或稱延時成功 的值。
注意,如以下進一步所述,特定的測試矢量可能無效。例如,測 試矢量可能不包含通過區(qū)域。如果按照技術(shù)120, I/O電路20確定(菱 形124)測試矢量無效,那么I/O電路20使用(方框128)相關(guān)的數(shù)據(jù)比 特線17的選通延時的默認延時。如以下進一步所述,這個默認延時 可以是例如出廠默認延時。然而,如果1/0電路20確定(菱形124)測 試矢量有效,那么I/O電路20提取(方框130)通過區(qū)域102的邊界, 并且接下來將相關(guān)的數(shù)據(jù)比特線17的選通延吋設(shè)置(方框134)在通過 區(qū)域102的中心附近。
在每個數(shù)據(jù)比特線的選通延時的初始設(shè)置之后,I/O電路20進入 活動鏈路訓(xùn)練模式,在該模式中,I/O電路20檢查(例如,周期性地 檢査)通過區(qū)域102的邊界。換句話說,在活動鏈路訓(xùn)練模式中,I/O 電路20并不連續(xù)地測試全部十六個可能的延時以使得應(yīng)用于選通信 號的延時最佳化。而是,根據(jù)本發(fā)明的一些實施例,1/O電路20執(zhí)行 圖4中所示的技術(shù)150。
根據(jù)技術(shù)150, I/O電路20測試(方框152)通過區(qū)域102的邊界 處的延時。從而,1/O電路20用以前收集的鏈路訓(xùn)練數(shù)據(jù),來測試左 邊界101和右邊界103處的延時。如方框154中所示,基于這些測試 結(jié)果,I/O電路20選擇性地改變通過區(qū)域102的邊界。接下來,I/O 電路20將應(yīng)用于選通信號的延時設(shè)置(方框156)在通過區(qū)域102的中 點附近。
作為更具體的實例,參考圖5,根據(jù)本發(fā)明的一些實施例,I/O 電路20可以在活動鏈路訓(xùn)練模式中使用技術(shù)180。根據(jù)技術(shù)180, I/O
電路20測試(方框182)通過區(qū)域102的左邊界101處的延時。如果成 功地接收了測試圖案數(shù)據(jù),并且因此I/O電路20確定(菱形184)延時 通過了,那么I/O電路20將邊界101向左移動(方框186)。換句話說, 根據(jù)本發(fā)明的一些實施例,響應(yīng)于在左邊界101處延吋通過,1/0電 路20可以對于左邊界101使用下一個更小延時。然而,根據(jù)方框188, 如果左邊界101處延時沒有通過,那么I/O電路20將左邊界向右移 動。因此,如果延時測試失敗,則I/O電路對于左邊界101使用下一 個更大的延時。
接下來,I/O電路測試(方框190)右邊界103處的延時。如果這個 延時的測試通過了(菱形192),那么I/O電路20將右邊界103向右移 動(方框194)。否則,I/O電路20將右邊界103向左移動(方框196)。
圖6描述了用于示出示例性的可能邊界線情況的表200,其中, 測試矢量不像,或者至少看起來不是非常像圖2中所示的示例性范圍 90的失敗區(qū)域100、通過區(qū)域102和失敗區(qū)域104。因此,圖6中所 示的測試矢量可以出現(xiàn)在初始鏈路訓(xùn)練模式期間,當I/O電路20通 過對范圍100的每個延時進行測試來生成測試矢量時。表200包括滿 足通過情況的三個行202以及發(fā)生失敗情況并且導(dǎo)致I/O電路20使 用出廠默認延時的兩個行204。
更具體地說,在表200的第一行(參考表200的頂端)中,測試矢 量"1000111111111111"使得1/0電路20在測試矢量的位置號一處檢 測到左邊界101,并且在輸入矢量的位置號四處檢測到右邊界103。 這個測試矢量產(chǎn)生通過情況。換句話說,左邊界和右邊界用來確定位 于左邊界和右邊界之間的中點延時。
表200的第二行包括全部為零的測試矢量。對于這個測試矢量, 在比特位置零處檢測到左邊界。盡管I/O電路20無法檢測到右邊界 (即,在表200的第二行的測試矢量中不存在"01"),但是I/0電路 仍然將其指定為通過情況,并且隨著所有延時測試通過,將該延時分 配在位置號八。
表200的第3行描述了測試矢量"0111111111111111"。對于這個 測試矢量,1/O電路20在比特位置零處檢測到左邊界,并且在比特位
置一處檢測到右邊界。因此,這是通過狀態(tài)。
表200的第4行描述了測試矢量"1111111111111110"。對于這個 測試矢量,1/O電路20在比特位置十五處檢測到左邊界,并且無法檢 測到右邊界。然而,仍然將這個矢量確定為通過,并且使用對應(yīng)于比 特位置十五的選通延時。
表200的行204描述了測試矢量沒有產(chǎn)生可以用于確定選通延時 的結(jié)果的失敗情況。對于行204中所示的任意測試矢量,1/0電路20 分配出廠默認延時。更具體地說,表200的行5描述了測試矢量 "11100101111111U"。這個矢量失敗是因為檢測到了兩個左邊界第 一個左邊界在比特位置三處,第二個左邊界在比特位置六處。因此。 圖2中所示的單個通過區(qū)域102在這個矢量中不存在。
表200的第6行描述了測試矢量"1111111111111111"。對于這個 測試這個矢量,I/O電路20(沒有檢測到通過邊界)既檢測不到左邊界, 又檢測不到右邊界。
參考圖7,根據(jù)本發(fā)明的一些實施例,1/O電路20可以包括多個 時鐘延時電路400(如實例所示,N個時鐘延時電路400Q、 400,、…… 400N),每個時鐘延時電路400與稱為"I/0[]"的特定的數(shù)據(jù)輸入線 相關(guān)聯(lián)。作為更具體的實例,時鐘延時電路400o與數(shù)據(jù)比特信號I/0
相關(guān)聯(lián);時鐘延時電路400,與數(shù)據(jù)比特信號I/O[l]相關(guān)聯(lián);并且時鐘 延時電路400n與數(shù)據(jù)比特信號1/0[N]相關(guān)聯(lián)。
對于每個數(shù)據(jù)比特信號1/0[],每個時鐘延時電路400估計恰當 的延時,并且將其應(yīng)用于來自FSB 16(見圖l)的BCLK信號(即,選 通信號),以產(chǎn)生稱為"BCLK—ADJ[]"的延時BCLK信號。因此, 例如,時鐘延時電路400,估計延時,并且將其應(yīng)用于BCLKj言號, 以產(chǎn)生BCLK—ADJ[1]信號。而將BCLK—ADJ[1]信號用來從1/0[1]數(shù) 據(jù)比特信號捕獲數(shù)據(jù)。
根據(jù)初始鏈路訓(xùn)練模式來操作每個時鐘延時電路400,在該初始 鏈路訓(xùn)練模式中,時鐘延時電路400確定左邊界和右邊界,并且從而 建立初始延時以將其應(yīng)用于BCLK信號。接下來,在活動鏈路訓(xùn)練 模式中,時鐘延時電路400測試通過區(qū)域邊界,以便將應(yīng)用于BCLK
信號的延時最優(yōu)化。
參考圖8,在本發(fā)明的一些實施例中,時鐘延時電路400包括延 時線402,其具有用于接收BCLK信號的輸入端404。延時線402根 據(jù)延時線402的輸入線411上所接收的數(shù)據(jù)信號來應(yīng)用選通延時。而 這個數(shù)據(jù)信號是延時調(diào)整電路410所提供的。延時調(diào)整電路410接收 稱為"V,"的信號,其是用于指示特定的延時是通過還是失敗的信號。 換句話說,在本發(fā)明的一些實施例中,用V,來形成測試矢量的"1" 和"0"。如圖8中所示,在本發(fā)明的一些實施例中,延吋線402將 BCLK—ADJ信號提供給數(shù)據(jù)比特緩沖器600的時鐘輸入端,數(shù)據(jù)比 特緩沖器600還接收相關(guān)的1/0[]數(shù)據(jù)比特信號。
如果估計電路605(其連接到數(shù)據(jù)比特緩沖器600)確定緩沖器沒 有捕獲數(shù)據(jù)的鏈路訓(xùn)練圖案,那么估計電路605斷言(例如升高)V,信 號。否則,如果估計電路605確定緩沖器600確實接收了訓(xùn)練圖案, 那么估計電路605對V,信號去斷言(例如降低V,信號)。
延時調(diào)整電路410使用V,信號所提供的測試矢量,以便在初始 鏈路訓(xùn)練模式中對于延時線402建立延時。延時調(diào)整電路410在活動 訓(xùn)練鏈路模式期間響應(yīng)于V,信號,以便最優(yōu)化延時。在本發(fā)明的一 些實施例中,用稱為"INIT-TRAIN"的信號的斷言來指示初始訓(xùn)練 模式,并且用稱為"ACT—TRAIN"的信號的斷言來指示活動訓(xùn)練鏈 路模式。
作為更具體的實例,圖9描述了根據(jù)本發(fā)明的實施例的延時調(diào)整 電路410的實施例。延時調(diào)整電路410包括多個復(fù)用器422,復(fù)用器 422響應(yīng)于選擇信號(稱為"SEL[1:0]"),以對在延時線402(見圖8) 的輸入線411上所出現(xiàn)的數(shù)字延時值進行選擇。如圖9中所示,取決 于SEL[1:0]信號的比特值,復(fù)用器422提供以下值中的任意一個
"1111 "(例如,與表200(圖6)的第4行中所示的測試矢量一起使用 的值)、稱為"FD[3:0]"的信號(用于指示出廠默認的值)、稱為
"TEST[3:0]"的信號(在初始或者活動訓(xùn)練鏈路模式期間所使用的當 前延時),或者稱為"MR[3:0]"的數(shù)字信號(用于指示通過區(qū)域102(圖 2)的中點的信號)。
當置于活動鏈路訓(xùn)練模式中時,延時調(diào)整電路410使得復(fù)用器 422選擇TEST[3:0]信號,該信號由延時值生成器電路426所提供。 延時值生成器426連接到用于在FSB 16上計數(shù)十六個訓(xùn)練循環(huán)的計 數(shù)器430。因此,例如,計數(shù)器430在第一訓(xùn)練循環(huán)期間指示值"0000", 在第二訓(xùn)練循環(huán)期間指示值"0001"等等。延時值生成器426響應(yīng)于 由計數(shù)器430所生成的每個值,以生成將要由延時線402(圖8)所應(yīng) 用的選通延時的數(shù)字指示(經(jīng)由TEST[3力])。因此,通過計數(shù)器430、 延時值生成器426和延時線402(見圖8),延時線402在初始鏈路訓(xùn) 練模式期間對于每個訓(xùn)練循環(huán)應(yīng)用不同的延時。
對于每個訓(xùn)練循環(huán),估計電路605(見圖8)設(shè)置V,的狀態(tài),從而 指示延時是通過還是失敗。延時調(diào)整電路410的左邊界檢測電路440 接收V,信號,以便檢測測試矢量中的左邊界。換句話說,在本發(fā)明 的一些實施例中,左邊界檢測電路440對Vj言號何時從邏輯一狀態(tài) 轉(zhuǎn)換到邏輯零狀態(tài)進行檢測。而將左邊界檢測電路440的輸出端連接 到左寄存器422的使能輸入。而將左寄存器442的數(shù)據(jù)輸入端連接到 計數(shù)器430的輸出端。因此,當左邊界檢測電路440檢測到測試矢量 的左邊界時,左寄存器442存儲從計數(shù)器430輸出的用于指示左邊界 發(fā)生位置的輸出值。
類似地,延時調(diào)整電路410包括右邊界檢測電路450,右邊界檢 測電路450是用于檢測測試矢量中從邏輯零到邏輯一的轉(zhuǎn)換的電路。 一旦檢測到右邊界,右邊界檢測電路450就對將要提供給右寄存器 460的信號進行斷言。類似于左寄存器442,右寄存器460具有連接 到計數(shù)器430的輸出端的數(shù)據(jù)輸入端。因此, 一旦檢測到右邊界,右 寄存器460就存儲一個指示測試矢量中的右邊界的比特位置的值。
因此,在初始鏈路訓(xùn)練模式中的十六個測試循環(huán)的結(jié)束處,左寄 存器422包含用于指示左邊界IOI(見圖2)的數(shù)據(jù),并且右寄存器460 包含用于指示右邊界103(見圖2)的數(shù)據(jù)。左寄存器422的輸出端提 供用于指示左邊界的數(shù)字信號(稱為"L[3:0]"),并且右寄存器460 的輸出端提供用于指示右邊界103的位置的數(shù)字信號(稱為"R[3:0]")。
延時調(diào)整電路410的多比特加法器490接收L[3:0]和R[3:0]信號,
并且將左邊界和右邊界相加,以產(chǎn)生指示左邊界和右邊界的和的輸出 信號。將該輸出信號右移一位,以便將和除以二。將結(jié)果存儲在中間
寄存器494中。因此中間寄存器494存儲了左邊界和右邊界的近似平 均值,即通過區(qū)域的近似中點。利用MR[3:0]信號來指示這個值。因 此,在初始鏈路訓(xùn)練模式的結(jié)束處,延時線402的輸入端4U指示通 過區(qū)域的中間。
延時調(diào)整電路410還包括用于檢測測試矢量中的多個左或右邊 界的電路。更具體地說,在本發(fā)明的一些實施例中,延時調(diào)整電路 410包括左邊界錯誤檢測電路470,如其名稱所暗示的,其在測試矢 量中檢測到兩個左邊界時斷言其輸出信號。類似地,延時調(diào)整電路 410包括右邊界錯誤檢測電路472,其響應(yīng)于檢測到多于一個右邊界 來斷言其輸出信號。OR門480接收來自邊界錯誤檢測電路470和472 的輸出信號,并且當檢測到多于一個左邊界或者多于一個右邊界時, 警告控制邏輯420。當沒有測試矢量延時通過時(例如當測試矢量等于 "1111111111111111"時),OR門480也警告控制邏輯420。
在活動鏈路訓(xùn)練模式期間,控制邏輯420對延時調(diào)整電路410的 模式進行控制,并且對延時的調(diào)整進行控制。更具體地說,在本發(fā)明 的一些實施例中,在活動鏈路訓(xùn)練模式中,控制邏輯420以如下方式 (經(jīng)由控制線491)來控制計數(shù)器430,并且(經(jīng)由控制線493)來控制延 時值生成器426??刂七壿?20首先使延時值生成器426產(chǎn)生由L[3:0] 信號(即,左寄存器422的內(nèi)容)所指向的延時。因此,響應(yīng)于訓(xùn)練循 環(huán),VI信號指示左邊界處的延時是否通過的結(jié)果。如果延時沒有通 過,則控制邏輯420斷言一個信號(稱為"LI"),以使得左寄存器442 將其所存儲的值增加一,以便將左邊界向右移。然而,如果測試成功, 那么控制邏輯420斷言一個信號(稱為"LD"),以使得左寄存器442 將其所存儲的值減少一,以便將左邊界向左移。
接下來,控制邏輯420使得延時值生成器426裝載信號R[3:0], 即右寄存器460的內(nèi)容,從而另一個測試循環(huán)開始測試對應(yīng)于右邊界 的延時。如果,如VI信號所示,在右邊界處的延時通過,則控制邏 輯420通過信號(稱為"RI")的斷言,增加右寄存器460的內(nèi)容,以
便將右邊界向右移一。然而,如果測試失敗,則控制邏輯420斷言一 個信號(稱為"RD"),使得右寄存器460減少其存儲的值,以便將右 邊界向左移一。
注意,延時調(diào)整電路410是本發(fā)明的多個可能的實施例中的一 個。因此,可以在所附權(quán)利要求的范圍內(nèi)做出變化。例如,在本發(fā)明 的一些實施例中,可以用軟件代替硬件來應(yīng)用這里所述的技術(shù)。作為 更具體的實例,圖IO描述了根據(jù)本發(fā)明的另一個實施例的計算機系 統(tǒng)500。
計算機系統(tǒng)500包括連接到前端總線(FSB)506的處理器502、總 線代理504和北橋,或稱存儲器集線器520。代替包含上述的I/O電 路,每個連接到FSB 506的代理都包括一組寄存器510b,并且存儲 器集線器520包括寄存器510c。每組寄存器510對用于指示將要應(yīng) 用于對應(yīng)的總線代理所接收的數(shù)據(jù)比特信號的延時的數(shù)據(jù)進行存儲。 為了建立這些寄存器510的延時,根據(jù)本發(fā)明的一些實施例,處理器 502執(zhí)行存儲器系統(tǒng)524中存儲的程序526,以實現(xiàn)上述技術(shù)120(圖 3)、 150(圖4)和180(圖5)中的一個或者多個。因此多種變化是有可能 的,并且都在所附權(quán)利要求的范圍內(nèi)。
盡管針對有限數(shù)量的實施例公幵了本發(fā)明,但是受益于本公開的 本領(lǐng)域技術(shù)人員將會了解由此產(chǎn)生的多種修改和變化。所附權(quán)利要求 旨在覆蓋在本發(fā)明的精神和范圍內(nèi)的所有這種修改和變化。
權(quán)利要求
1、一種方法,包括響應(yīng)于訓(xùn)練模式,通過總線的數(shù)據(jù)比特線在計算機系統(tǒng)的設(shè)備和處理器之間進行通信;以及基于所述通信,調(diào)節(jié)選通信號與通過所述數(shù)據(jù)比特線傳播的信號之間的定時。
2、 如權(quán)利要求1所述的方法,進一步包括基于所述通信,調(diào)節(jié)所述選通信號與通過所述總線的其它數(shù)據(jù)比 特線傳播的另外的信號之間的定時。
3、 如權(quán)利要求1所述的方法,進一步包括基于所述通信,確定延時范圍內(nèi)的延時子集,所述延時子集可以 應(yīng)用于選通信號以使得所述選通信號與所述數(shù)據(jù)比特信號的數(shù)據(jù)眼 相同步;以及將所述范圍內(nèi)的延時應(yīng)用于所述選通信號,以生成延時的選通信號。
4、 如權(quán)利要求3所述的方法,進一步包括響應(yīng)于所述延時的選通信號,對從所述數(shù)據(jù)比特信號捕獲數(shù)據(jù)進 行同步。
5、 如權(quán)利要求3所述的方法,進一步包括-確定所述范圍的邊界;以及響應(yīng)于確定所述范圍的邊界,選擇所述范圍內(nèi)的所述延時。
6、 如權(quán)利要求3所述的方法,其中,所述范圍內(nèi)的所述延時包 括靠近所述邊界之間的中點的延時。
7、 如權(quán)利要求3所述的方法,進一步包括 響應(yīng)于所述訓(xùn)練模式,估計所述范圍的邊界;以及 基于所述估計,選擇性地移動所述邊界。
8、 如權(quán)利要求7所述的方法,進一步包括 響應(yīng)于所述邊界中的至少一個的移動,調(diào)整所述延時。
9、 如權(quán)利要求7所述的方法,其中所述估計包括 選擇靠近所述邊界中的一個的延時;將所述延時應(yīng)用于時鐘信號,以產(chǎn)生延時的時鐘信號; 確定所述延時的時鐘信號是否與來自所述數(shù)據(jù)比特線的另一個數(shù)據(jù)比特信號相同步;以及基于所述延時的時鐘信號是否同步,移動所述邊界中的所述一個,并且至少部分地基于所述邊界中的所述移動的一個,確定所述延時。
10、 如權(quán)利要求1所述的方法,其中時鐘線和數(shù)據(jù)比特線是前端 總線的一部分。
11、 如權(quán)利要求l所述的方法,其中所述處理器包括中央控制單元。
12、 一種系統(tǒng),包括 包括數(shù)據(jù)比特線和時鐘線的總線; 連接到所述總線的動態(tài)隨機訪問存儲器; 連接到所述總線的處理器; 連接到所述總線的代理;以及在訓(xùn)練模式中基于所述處理器和所述代理之間的通信,調(diào)節(jié)選通 信號與通過所述數(shù)據(jù)比特線所傳播的信號之間的定時的電路。
13、 如權(quán)利要求12所述的系統(tǒng),其中,基于所述通信,所述電 路對所述選通信號與通過所述總線的其它數(shù)據(jù)比特線所傳播的另外 的信號之間的定時進行調(diào)節(jié)。
14、 如權(quán)利要求12所述的系統(tǒng),其中,基于所述通信,所述電 路確定延時范圍內(nèi)的延時子集,所述延時子集可以應(yīng)用于選通信號以 使得所述選通信號與所述數(shù)據(jù)比特信號的數(shù)據(jù)眼相同步;以及所述電路將所述范圍內(nèi)的延時應(yīng)用于所述選通信號,以生成延時 的選通信號。
15、 如權(quán)利要求14所述的系統(tǒng),其中,所述電路響應(yīng)于所述延 時的選通信號,對從所述數(shù)據(jù)比特信號捕獲數(shù)據(jù)進行同步。
16、 如權(quán)利要求14所述的系統(tǒng),其中,所述電路確定所述范圍 的邊界,并且響應(yīng)于確定所述范圍的邊界,選擇所述范圍內(nèi)的延時。
17、 一種總線接口,包括多個延時電路,每個所述延時電路對選通信號進行延時,以產(chǎn)生 與總線的不同的數(shù)據(jù)比特線相關(guān)的延時的選通信號;多個緩沖器電路,每個所述緩沖器電路與所述延時的選通信號中 不同的一個相關(guān)聯(lián),并且所述緩沖器電路響應(yīng)于所述相關(guān)的延時的選 通信號,從所述數(shù)據(jù)比特線中不同的一個捕獲數(shù)據(jù);以及連接到所述延時電路的電路,用于在訓(xùn)練模式中基于所述總線上 的通信,調(diào)節(jié)所述延時的選通信號的定時。
18、 如權(quán)利要求17所述的總線接口,對于所述延時的選通信號 中的至少一個,所述電路基于所述通信,確定延時范圍內(nèi)的延時子集, 所述延時子集可以用于生成所述延時的選通信號中的所述至少一個, 以及所述電路應(yīng)用所述子集內(nèi)的延時,以生成所述選通信號中的所述至少一個。
19、 如權(quán)利要求18所述的總線接口,其中,所述電路確定所述 范圍的邊界,并且響應(yīng)于確定所述范圍的邊界,選擇所述范圍內(nèi)的延 時。
20、 一種包括存儲有指令的計算機可訪問存儲介質(zhì)的產(chǎn)品,當執(zhí) 行所述指令時,使得計算機在訓(xùn)練模式中基于總線代理之間的通信,調(diào)節(jié)選通信號與通過總 線的數(shù)據(jù)比特線所傳播的信號之間的定時。
21、 如權(quán)利要求20所述的產(chǎn)品,所述存儲介質(zhì)存儲有指令,當 執(zhí)行所述指令時,使得所述計算機調(diào)節(jié)所述選通信號與通過所述總線 的其它數(shù)據(jù)比特線所傳播的另外的信號之間的定時。
22、 如權(quán)利要求20所述的產(chǎn)品,所述存儲介質(zhì)存儲有指令,當 執(zhí)行所述指令時,使得所述計算機基于所述通信確定延時范圍內(nèi)的延時子集,所述延時子集可以應(yīng)用于選通信號 以使得所述選通信號與所述數(shù)據(jù)比特信號的數(shù)據(jù)眼相同步;以及 將所述范圍內(nèi)的延時應(yīng)用于所述選通信號,以生成延時的選通信號。
23、 如權(quán)利要求22所述的產(chǎn)品,所述存儲介質(zhì)存儲有指令,當 執(zhí)行所述指令時,使得所述計算機確定所述范圍的邊界,并且響應(yīng)于 確定所述范圍的邊界,選擇所述范圍內(nèi)的延時。
全文摘要
一種技術(shù),包括響應(yīng)于訓(xùn)練模式,通過總線的數(shù)據(jù)比特線在計算機系統(tǒng)的設(shè)備和處理器之間進行通信。該技術(shù)包括基于該通信,調(diào)節(jié)選通信號與通過該數(shù)據(jù)比特線所傳播的信號之間的定時。
文檔編號H04L7/00GK101171788SQ200680015469
公開日2008年4月30日 申請日期2006年4月28日 優(yōu)先權(quán)日2005年5月6日
發(fā)明者A·坎, B·奎爾巴赫, M·侯賽因, M·阿卜杜拉, S·薩卡爾 申請人:英特爾公司