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