本發(fā)明涉及電子電路,并且更特別地涉及用于提供數(shù)據(jù)速率改變的技術(shù)。
背景技術(shù):
PCI Express(快速外圍部件互連)或PCIe是一種高速串行計算機擴展總線標(biāo)準(zhǔn)。計算機擴展總線是一種在計算機的主硬件部件(包括中央處理單元和存儲器)與外圍設(shè)備之間傳送信息的計算機總線。計算機擴展總線包括使得能夠?qū)⒂嬎銠C擴展為包括外圍設(shè)備的導(dǎo)體(例如導(dǎo)線或信號跡線)和協(xié)議的集合。
PCI Express設(shè)備經(jīng)由被稱為鏈路的連接通信。鏈路是兩個PCI Express設(shè)備的端口之間的使得兩個設(shè)備能夠發(fā)送和接收信號的點對點通信信道。在物理水平,鏈路包括一個或多個航道(lane)。PCIe鏈路中的每個航道具有兩個不同的導(dǎo)體信令對,其中一對用于接收數(shù)據(jù),而另一對用于發(fā)送數(shù)據(jù)。因此,每個航道包括四個導(dǎo)體。每個航道中的每個不同的導(dǎo)體信令對從一個設(shè)備到另一設(shè)備串行地發(fā)送差分信號。物理PCI Express鏈路可以包含1、2、4、8、12、16或32個航道。鏈路中的每個航道在端點設(shè)備之間在兩個方向上同時用8比特字節(jié)格式傳輸數(shù)據(jù)分組。
PCI Express是一種包括事務(wù)層、數(shù)據(jù)鏈路層和物理層的分層協(xié)議。物理層包括物理編碼子層(PCS)和物理介質(zhì)附接(PMA)層。物理介質(zhì)附接(PMA)層包括串行化器/去串行化器和其他模擬電路裝置。物理編碼子層(PCS)執(zhí)行數(shù)據(jù)的編碼和解碼以及其他功能。PCI Express還包括介質(zhì)訪問控制(MAC)子層,其可以是數(shù)據(jù)鏈路層的一部分。
技術(shù)實現(xiàn)要素:
根據(jù)一些實施例,一種集成電路管芯包括接口電路和適配器電路。接口電路使用第一時鐘信號與在集成電路管芯外部的外部設(shè)備交換數(shù)據(jù)。接口電路具有基于第二時鐘信號生成第一時鐘信號的時鐘信號生成電路。適配器電路與接口電路交換數(shù)據(jù)。第二時鐘信號的頻率響應(yīng)于數(shù)據(jù)的數(shù)據(jù)速率的改變的指示而改變。適配器電路引起接口電路在第二時鐘信號的頻率改變之后提供對第一時鐘信號的調(diào)節(jié)。適配器電路防止接口電路與外部設(shè)備之間的數(shù)據(jù)交換直到適配器電路接收到對第一時鐘信號的調(diào)節(jié)完成的指示。
本發(fā)明的各種目的、特征和優(yōu)點在考慮到以下詳細描述和附圖時將變得很清楚。
附圖說明
圖1圖示根據(jù)本發(fā)明的實施例的電路系統(tǒng);
圖2圖示根據(jù)本發(fā)明的實施例的圖1的第一集成電路(IC)管芯的一部分的細節(jié);
圖3圖示根據(jù)本發(fā)明的實施例的圖1的第二集成電路(IC)管芯的一部分的細節(jié);
圖4圖示根據(jù)本發(fā)明的實施例的時鐘選擇器電路的示例;
圖5A-圖5C是圖示根據(jù)本發(fā)明的實施例的能夠被執(zhí)行以使得能夠改變在圖1的電路系統(tǒng)與外部設(shè)備之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率的操作的流程圖;以及
圖6圖示根據(jù)本發(fā)明的實施例的具有主信道和多個從信道的電路系統(tǒng)的示例。
具體實施方式
在一些電路裝置中,高速數(shù)據(jù)傳輸協(xié)議、諸如PCI Express的物理層可以分布在被容置在相同封裝件中的多個集成電路管芯上。作為示例,根據(jù)2.5維(2.5D)技術(shù),兩個集成電路管芯可以耦合至相同的封裝件中的插入器。作為另一示例,根據(jù)3維(3D)技術(shù),兩個集成電路管芯可以豎直地堆疊并且耦合在一起。每個集成電路管芯中執(zhí)行高速協(xié)議的物理層的功能的電路裝置可以在不同的時鐘信號域操作。在一些高速數(shù)據(jù)傳輸協(xié)議、諸如PCI Express中,可以改變在兩個設(shè)備之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率。例如,可以將通過PCI Express鏈路傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率從每秒2.5千兆傳輸(GT/s)、5.0GT/s、8.0GT/s或16GT/s的數(shù)據(jù)速率變?yōu)檫@四個數(shù)據(jù)速率中的不同的數(shù)據(jù)速率。數(shù)據(jù)速率也可以稱為信令速率。
PMA層中的鎖相環(huán)(PLL)電路可以生成PMA時鐘信號,PMA時鐘信號用于封裝件中的每個集成電路管芯中的時鐘電路裝置。PMA層還可以包括基于所接收的數(shù)據(jù)信號的相位調(diào)節(jié)PMA時鐘信號的時鐘數(shù)據(jù)恢復(fù)(CDR)電路。如果存在改變數(shù)據(jù)的數(shù)據(jù)速率的請求,則可以將PMA時鐘信號調(diào)節(jié)為新的頻率,并且PMA層中的CDR電路基于所接收的數(shù)據(jù)信號的新的數(shù)據(jù)速率調(diào)節(jié)PMA時鐘信號的相位。還可以基于新的數(shù)據(jù)速率調(diào)節(jié)其他時鐘信號頻率。在兩個設(shè)備之間傳輸?shù)臄?shù)據(jù)的寬度(例如鏈路中傳輸數(shù)據(jù)的航道的數(shù)目)可以保持相同或者可以在數(shù)據(jù)速率改變時改變。
PMA時鐘信號在數(shù)據(jù)的數(shù)據(jù)速率的改變期間不可靠。鐘控執(zhí)行高速數(shù)據(jù)傳輸協(xié)議的物理層的功能的兩個集成電路(IC)管芯中的電路的時鐘信號在數(shù)據(jù)速率的改變期間可以具有未知的并且不可預(yù)測的相位和/或頻率。當(dāng)用于兩個IC管芯之間的同步數(shù)據(jù)傳輸?shù)臅r鐘信號具有未知的和不可預(yù)測的相位和/或頻率時,數(shù)據(jù)錯誤可能發(fā)生。
例如,每個IC管芯可以包括存儲發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的異步的先入先出(FIFO)電路。改變鐘控這些FIFO電路的時鐘信號的頻率可以引起這些FIFO電路中的一個或多個的讀指針和寫指針沖突。這一沖突是由異步的FIFO電路的讀時鐘信號和寫時鐘信號之間的延遲引起的。這一延遲可以是由引發(fā)延時的讀時鐘信號或?qū)憰r鐘信號引起的,因為時鐘信號從第一IC管芯向第二IC管芯中的FIFO電路提供。
當(dāng)數(shù)據(jù)的數(shù)據(jù)速率變?yōu)樾碌臄?shù)據(jù)速率時,MAC層電路裝置提供指示新的數(shù)據(jù)速率的一個或多個信號。根據(jù)本文中公開的一些實施例,當(dāng)MAC層電路裝置指示數(shù)據(jù)速率的改變時,每個IC管芯中的電路裝置被動態(tài)地重新配置成在數(shù)據(jù)速率的改變期間保持數(shù)據(jù)完整性。每個IC管芯中的電路裝置的重新配置可以對用戶是透明的并且符合用于PCI Express的PHY接口(PIPE)規(guī)范。
狀態(tài)機(SM)在每個IC管芯中的適配器電路中實現(xiàn)以響應(yīng)于數(shù)據(jù)速率的改變控制電路裝置的重新配置。數(shù)據(jù)和控制信號通過每個IC管芯中的接口電路在IC管芯之間傳輸。響應(yīng)于對于改變數(shù)據(jù)的數(shù)據(jù)速率的每個請求,狀態(tài)機重置接口電路中的時鐘信號占空比校準(zhǔn)和時鐘信號相位調(diào)節(jié)電路。在改變PMA時鐘信號頻率的請求被發(fā)送給PMA層電路裝置之前,狀態(tài)機重置FIFO電路和由從PMA時鐘信號得到的時鐘信號鐘控的接口電路中的電路裝置。
在數(shù)據(jù)的數(shù)據(jù)速率的改變完成之后,狀態(tài)機發(fā)起接口電路中的時鐘信號相位調(diào)節(jié)和占空比校準(zhǔn)過程,使得接口電路可以響應(yīng)于新的時鐘信號頻率傳輸數(shù)據(jù)和控制信號。狀態(tài)機還保持來自PCS電路裝置的狀態(tài)信號直到接口電路準(zhǔn)備好傳送數(shù)據(jù)。狀態(tài)機然后將狀態(tài)信號提供給MAC層電路裝置以指示數(shù)據(jù)速率改變的完成。PCS電路裝置的狀態(tài)信號生成獨立于接口電路中的時鐘信號相位調(diào)節(jié)過程。
圖1圖示根據(jù)本發(fā)明的實施例的電路系統(tǒng)100。電路系統(tǒng)100包括集成電路(IC)管芯101和集成電路(IC)管芯102。IC管芯101和102耦合在一起。IC管芯101和102可以例如通過插入器中的導(dǎo)體耦合在一起。作為另一示例,IC管芯101和102可以是通過導(dǎo)電焊料凸塊耦合在一起的豎直堆疊的管芯。IC管芯101和102例如可以容置在相同的封裝件中。
集成電路管芯101通過外部導(dǎo)體向集成電路管芯102發(fā)送數(shù)據(jù)RDATA、接收時鐘信號RCK和發(fā)送時鐘信號TCK。由RDATA指示的數(shù)據(jù)根據(jù)高速數(shù)據(jù)傳輸協(xié)議通過鏈路160從外部設(shè)備150被傳輸給集成電路管芯101。集成電路管芯102通過外部導(dǎo)體向集成電路管芯101傳輸數(shù)據(jù)TDATA。集成電路管芯101根據(jù)高速數(shù)據(jù)傳輸協(xié)議通過鏈路160將由TDATA指示的數(shù)據(jù)傳輸給外部設(shè)備150。高速數(shù)據(jù)傳輸協(xié)議可以是例如PCI Express或另一協(xié)議。
IC管芯101-102可以包括任何類型的集成電路。IC管芯101-102可以是例如現(xiàn)場可編程門陣列(FPGA)、可編程邏輯器件(PLD)、專用集成電路(ASIC)、存儲器集成電路、處理器集成電路、控制器集成電路等或者其任意組合。在一些實施例中,IC管芯101和IC管芯102可以是不同類型的集成電路。例如,IC管芯101可以是ASIC,諸如處理器,IC管芯102可以是FPGA。
圖2圖示根據(jù)本發(fā)明的實施例的集成電路(IC)管芯101的部分的細節(jié)。在圖2的實施例中,集成電路(IC)管芯101包括物理介質(zhì)附接(PMA)層電路裝置201、物理編碼子層(PCS)電路裝置202、適配器電路203和接口電路204。PMA電路裝置201包括時鐘數(shù)據(jù)恢復(fù)(CDR)電路250。CDR電路250可以包括鎖相環(huán)電路。PCS電路裝置202包括狀態(tài)機(SM)電路260。
適配器電路203包括發(fā)送器電路211和接收器電路212。發(fā)送器電路211包括時鐘選擇器電路221、重置狀態(tài)機電路222和先入先出(FIFO)電路223。接收器電路212包括時鐘選擇器電路231、重置狀態(tài)機電路232、FIFO電路233和自動速度協(xié)商(ASN)狀態(tài)機電路234。在替選實施例中,ASN狀態(tài)機電路234在發(fā)送器電路211中。接口電路204包括延遲鎖定回路(DLL)電路241、占空比校準(zhǔn)(DCC)電路242-243和采樣器電路(SC)244-245。本文中公開的FIFO電路和采樣器電路是存儲信號值的存儲電路。DLL電路是基于輸入時鐘信號生成相位已調(diào)節(jié)輸出時鐘信號的時鐘信號生成電路。DCC電路是生成相對于輸入時鐘信號具有已調(diào)節(jié)占空比的輸出時鐘信號的時鐘信號生成電路。DCC電路的輸出時鐘信號理想情況下具有50%的占空比。
圖3圖示根據(jù)本發(fā)明的實施例的集成電路(IC)管芯102的部分的細節(jié)。在圖3的實施例中,集成電路(IC)管芯102包括核心電路裝置301、適配器電路302和接口電路303。核心電路裝置301包括執(zhí)行數(shù)據(jù)傳輸協(xié)議、諸如PCI Express中MAC層的功能的電路裝置。在示例性實施例中,核心電路裝置301包括可編程邏輯電路的陣列。
適配器電路302包括發(fā)送器電路311和接收器電路312。發(fā)送器電路311包括時鐘選擇器電路321、重置狀態(tài)機電路322和先入先出(FIFO)電路323。接收器電路312包括時鐘選擇器電路331、重置狀態(tài)機電路332、FIFO電路333和自動速度協(xié)商(ASN)狀態(tài)機電路334。在替選實施例中,ASN狀態(tài)機334在發(fā)送器電路311中。接口電路303包括延遲鎖定回路(DLL)電路341、占空比校準(zhǔn)(DCC)電路342和采樣器電路(SC)343-344。在實施例中,F(xiàn)IFO電路223、233、323和333中的每個在使用寫時鐘信號向FIFO電路中的存儲裝置寫入數(shù)據(jù)并且使用不同于寫時鐘信號的讀時鐘信號從FIFO電路的存儲裝置讀取數(shù)據(jù)的異步FIFO電路中。
PMA電路裝置201中的時鐘數(shù)據(jù)恢復(fù)(CDR)電路250生成時鐘信號PMACLK,時鐘信號PMACLK通過導(dǎo)體被提供給時鐘選擇器電路221和231中的每個的輸入。時鐘信號PMACLK例如可以是PIPE規(guī)范中的PCLK。時鐘選擇器電路221基于時鐘信號PMACLK生成發(fā)送時鐘信號TCK1。時鐘信號TCK1通過導(dǎo)體被提供給DCC電路242的輸入。DCC電路242基于時鐘信號TCK1生成時鐘信號TCK2。時鐘信號TCK2通過外部導(dǎo)體被提供給IC管芯102。
參考圖3,時鐘信號TCK2通過接口電路303通過內(nèi)部導(dǎo)體被提供給時鐘選擇器電路321的輸入。時鐘選擇器電路321基于時鐘信號TCK2生成輸出時鐘信號TCK3。時鐘選擇器電路321例如可以是被配置成選擇時鐘信號TCK2的復(fù)用器電路。時鐘信號TCK3被提供給核心電路裝置301、FIFO電路323的輸入以及DCC電路342的輸入。DCC電路342基于時鐘信號TCK3生成時鐘信號TCK4。時鐘信號TCK4通過外部導(dǎo)體被提供給IC管芯101。再次參考圖2,時鐘信號TCK4被提供給DLL電路241的輸入。DLL電路241基于時鐘信號TCK4生成時鐘信號TCK5。時鐘信號TCK5通過導(dǎo)體被提供給FIFO電路223的輸入。時鐘信號TCK5還可以被提供給狀態(tài)機電路222。
時鐘選擇器電路231基于時鐘信號PMACLK生成接收時鐘信號RCK1。時鐘信號RCK1通過導(dǎo)體被提供給FIFO電路233的輸入。時鐘信號RCK1還可以被提供給狀態(tài)機232和234的輸入。時鐘信號RCK1還被提供給DCC電路243的輸入。DCC電路243基于時鐘信號RCK1生成時鐘信號RCK2。時鐘信號RCK2通過外部導(dǎo)體被提供給IC管芯102。
參考圖3,時鐘信號RCK2被提供給DLL電路341的輸入。DLL電路341基于時鐘信號RCK2生成時鐘信號RCK3。時鐘信號RCK3通過導(dǎo)體被提供給FIFO電路333的輸入和時鐘選擇器電路331的輸入。時鐘信號RCK3還可以被提供給狀態(tài)機電路332和334。時鐘選擇器電路331基于時鐘信號RCK3生成輸出時鐘信號RCK4。時鐘選擇器電路331可以是例如被配置成選擇時鐘信號RCK3的復(fù)用器電路。時鐘信號RCK4被提供給核心電路裝置301。
圖4圖示根據(jù)本發(fā)明的實施例的時鐘選擇器電路的示例。圖4所示的時鐘選擇器電路是圖2所示的時鐘選擇器電路221和231中的每個的示例。因此,在實施例中,時鐘選擇器電路221和231中的每個具有圖4所示的電路裝置的實例。圖4的時鐘選擇器電路包括2個復(fù)用器電路401-402、分頻器(FD)或倍頻器(FM)電路403、時鐘布線網(wǎng)絡(luò)404和AND邏輯門電路405。
時鐘信號PMACLK通過導(dǎo)體被提供給復(fù)用器電路401的第一復(fù)用輸入、FD/FM電路403的輸入和時鐘布線網(wǎng)絡(luò)404的輸入。FD/FM電路403通過對時鐘信號PMACLK的頻率分頻或倍頻來生成輸出時鐘信號CKX。時鐘信號CKX通過導(dǎo)體被提供給復(fù)用器電路401的第二復(fù)用輸入。第一時鐘選擇信號KS1通過導(dǎo)體從ASN狀態(tài)機234被提供給復(fù)用器電路401的選擇輸入。復(fù)用器電路401生成輸出時鐘信號CKZ。復(fù)用器電路401基于時鐘選擇信號KS1的邏輯狀態(tài)選擇時鐘信號PMACLK或時鐘信號CKX以生成時鐘信號CKZ。
時鐘信號CKZ通過導(dǎo)體被提供給復(fù)用器電路402的第一復(fù)用輸入。時鐘布線網(wǎng)絡(luò)404延遲時鐘信號PMACLK以生成延遲時鐘信號CKD。時鐘信號CKD通過導(dǎo)體被提供給復(fù)用器電路402的第二復(fù)用輸入。第二時鐘選擇信號KS2通過導(dǎo)體從ASN狀態(tài)機電路234被提供給復(fù)用器電路402的選擇輸入。復(fù)用器電路402生成輸出時鐘信號MCK。復(fù)用器電路402基于信號KS2的邏輯狀態(tài)選擇時鐘信號CKD或時鐘信號CKZ以生成時鐘信號MCK。選擇信號KS1-KS2在圖2中統(tǒng)示出為信號KS。時鐘信號MCK通過導(dǎo)體被提供給AND邏輯門電路的第一輸入。時鐘使能信號CE通過導(dǎo)體從ASN狀態(tài)機電路234被提供給AND邏輯門電路405的第二輸入。AND邏輯門電路405通過對信號MCK和CE的值執(zhí)行AND布爾邏輯函數(shù)來生成時鐘信號TCK1或RCK1。時鐘選擇器電路221和231分別生成時鐘信號TCK1和RCK1,如圖2所示。
IC管芯101接收根據(jù)數(shù)據(jù)傳輸協(xié)議、諸如PCI Express通過雙向鏈路160從外部設(shè)備150向IC管芯101傳輸?shù)臄?shù)據(jù)。雖然在PCI Express的上下文中討論本文中公開的實施例,然而應(yīng)當(dāng)理解,本文中公開的實施例可以用于其他數(shù)據(jù)傳輸標(biāo)準(zhǔn)或協(xié)議?,F(xiàn)在描述在其期間所傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率恒定的圖2-3所示的電路裝置的正常操作。從外部設(shè)備150接收的數(shù)據(jù)被提供給PMA電路裝置201。PMA電路裝置201是與在IC管芯101外部的外部設(shè)備150交換數(shù)據(jù)的接口電路。如果根據(jù)PCI Express來傳輸數(shù)據(jù),則數(shù)據(jù)被串行傳輸給IC管芯101,并且PMA電路裝置201中的去串行化器對串行數(shù)據(jù)進行去串行化(并且對數(shù)據(jù)執(zhí)行其他功能)以生成指示IC管芯101從外部設(shè)備150接收的數(shù)據(jù)的并行數(shù)據(jù)信號RDATA1。
數(shù)據(jù)信號RDATA1通過導(dǎo)體從PMA層電路裝置201被提供給PCS電路裝置202。PCS電路裝置202對由數(shù)據(jù)信號RDATA1指示的數(shù)據(jù)解碼以產(chǎn)生并行數(shù)據(jù)信號RDATA2中的已解碼接收數(shù)據(jù)。信號RDATA2在理想情況下指示由外部設(shè)備150編碼用于通過鏈路160向IC管芯101傳輸?shù)南嗤瑪?shù)據(jù)。數(shù)據(jù)信號RDATA2通過導(dǎo)體被并行提供給FIFO電路233。由數(shù)據(jù)信號RDATA2指示的接收數(shù)據(jù)存儲在FIFO電路233中。FIFO電路233中存儲的接收數(shù)據(jù)作為并行數(shù)據(jù)信號RDATA3通過導(dǎo)體被提供給接口電路204。由數(shù)據(jù)信號RDATA3指示的接收數(shù)據(jù)響應(yīng)于時鐘信號RCK2存儲在接口電路204中的采樣器電路245中。存儲在采樣器電路245中的接收數(shù)據(jù)作為并行數(shù)據(jù)信號RDATA4通過外部導(dǎo)體被傳輸給IC管芯102。
參考圖3,由數(shù)據(jù)信號RDATA4指示的接收數(shù)據(jù)響應(yīng)于時鐘信號RCK3被提供給接口電路303并且存儲在采樣器電路344中。存儲在采樣器電路344中的接收數(shù)據(jù)作為并行數(shù)據(jù)信號RDATA5通過導(dǎo)體被提供給FIFO電路333。由數(shù)據(jù)信號RDATA5指示的接收數(shù)據(jù)存儲在FIFO電路333中。FIFO電路333中存儲的接收數(shù)據(jù)作為并行數(shù)據(jù)信號RDATA6通過導(dǎo)體被提供給核心電路裝置301。
IC管芯102生成發(fā)送數(shù)據(jù)用于通過鏈路160向外部設(shè)備150傳輸。發(fā)送數(shù)據(jù)被提供給IC管芯101。IC管芯101根據(jù)數(shù)據(jù)傳輸協(xié)議(例如,PCI Express)通過雙向鏈路160向外部設(shè)備150傳輸發(fā)送數(shù)據(jù)。實現(xiàn)MAC層的功能的核心電路裝置301的部分生成指示發(fā)送數(shù)據(jù)的并行數(shù)據(jù)信號TDATA1。數(shù)據(jù)信號TDATA1通過導(dǎo)體被并行提供給FIFO電路323的輸入。由數(shù)據(jù)信號TDATA1指示的發(fā)送數(shù)據(jù)存儲在FIFO電路323中。存儲在FIFO電路323中的發(fā)送數(shù)據(jù)作為并行數(shù)據(jù)信號TDATA2通過導(dǎo)體被提供給接口電路303中的采樣器電路343。由數(shù)據(jù)信號TDATA2指示的發(fā)送數(shù)據(jù)響應(yīng)于時鐘信號TCK4存儲在采樣器電路343中。
采樣器電路343中存儲的發(fā)送數(shù)據(jù)作為并行數(shù)據(jù)信號TDATA3通過外部導(dǎo)體被傳輸給IC管芯101。參考圖2,由數(shù)據(jù)信號TDATA3指示的發(fā)送數(shù)據(jù)響應(yīng)于時鐘信號TCK5被提供給接口電路204并且存儲在采樣器電路244中。存儲在采樣器電路244中的發(fā)送數(shù)據(jù)作為并行數(shù)據(jù)信號TDATA4通過導(dǎo)體被提供給FIFO電路223。由數(shù)據(jù)信號TDATA4指示的發(fā)送數(shù)據(jù)存儲在FIFO電路223中。FIFO電路223中存儲的發(fā)送數(shù)據(jù)作為并行數(shù)據(jù)信號TDATA5通過導(dǎo)體被提供給PCS電路裝置202。PCS電路裝置202對由數(shù)據(jù)信號TDATA5指示的發(fā)送數(shù)據(jù)編碼以生成已編碼發(fā)送數(shù)據(jù)并且通過導(dǎo)體將已編碼發(fā)送數(shù)據(jù)作為并行數(shù)據(jù)信號TDATA6提供給PMA層電路裝置201。PMA層電路裝置201對由數(shù)據(jù)信號TDATA6指示的已編碼發(fā)送數(shù)據(jù)進行串行化并且根據(jù)數(shù)據(jù)傳輸協(xié)議(例如PCI Express)通過鏈路160將串行化后的已編碼發(fā)送數(shù)據(jù)提供給外部設(shè)備150。
在電路系統(tǒng)100中,核心電路裝置301中的MAC層電路裝置生成信號R1,信號R1指示通過鏈路在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率。信號R1通過導(dǎo)體被提供給FIFO電路323和ASN狀態(tài)機334,如圖3所示。由信號R1指示的數(shù)據(jù)速率存儲在FIFO電路323中。FIFO電路323中存儲的數(shù)據(jù)作為信號R2通過導(dǎo)體被提供給采樣器電路343。由信號R2指示的數(shù)據(jù)速率響應(yīng)于時鐘信號TCK4存儲在采樣器電路343中。
采樣器電路343中存儲的數(shù)據(jù)速率作為信號R3通過外部導(dǎo)體被提供給IC管芯101中的接口電路204中的采樣器電路244,如圖2所示。由信號R3指示的數(shù)據(jù)速率響應(yīng)于時鐘信號TCK5存儲在采樣器電路244中。采樣器電路244中存儲的數(shù)據(jù)速率作為信號R4通過導(dǎo)體被提供給FIFO電路223。由信號R4指示的數(shù)據(jù)速率存儲在FIFO電路223中。FIFO電路223中存儲的數(shù)據(jù)速率作為信號R5通過導(dǎo)體被提供給ASN狀態(tài)機234。由信號R5指示的數(shù)據(jù)速率存儲在ASN狀態(tài)機234中。來自信號R5的ASN狀態(tài)機234中存儲的數(shù)據(jù)速率作為信號R6通過導(dǎo)體被提供給狀態(tài)機260。
在PCI Express和其他數(shù)據(jù)傳輸協(xié)議中,可以改變在兩個設(shè)備之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率。通過鏈路160在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率的改變由核心電路裝置301中的MAC層電路裝置來發(fā)起。為了發(fā)起在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率的改變,MAC層電路裝置調(diào)節(jié)信號R1以指示新的數(shù)據(jù)速率。響應(yīng)于MAC層電路裝置通過調(diào)節(jié)信號R1指示數(shù)據(jù)的數(shù)據(jù)速率的改變,每個IC管芯101-102中的電路裝置被動態(tài)地重新配置成在數(shù)據(jù)速率的改變期間保持數(shù)據(jù)完整性,如下面關(guān)于圖5A-5C所描述的。另外,CDR電路250基于接收數(shù)據(jù)的新的數(shù)據(jù)速率調(diào)節(jié)時鐘信號PMACLK的相位。
圖5A是圖示根據(jù)本發(fā)明的實施例的能夠被執(zhí)行以使得能夠改變在電路系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率的操作的流程圖。在圖5A的實施例中,改變通過鏈路160傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率,改變時鐘信號TCK1-TCK5和RCK1-RCK4的頻率,并且還改變通過適配器電路203和302以及接口電路204和303提供的由信號TDATA1-TDATA6以及RDATA1-RDATA6指示的數(shù)據(jù)的數(shù)據(jù)速率。
在操作501中,為了發(fā)起在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率的改變,核心電路裝置301中的MAC層電路裝置調(diào)節(jié)信號R1以指示數(shù)據(jù)的新的數(shù)據(jù)速率。在操作501中,信號R1從第一值調(diào)節(jié)為第二值,第一值指示在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的當(dāng)前數(shù)據(jù)速率,第二值指示數(shù)據(jù)的新的數(shù)據(jù)速率。指示新的數(shù)據(jù)速率的信號R1的第二值作為信號R2-R6傳播至FIFO電路323、ASN狀態(tài)機電路334、采樣器電路343、采樣器電路244、FIFO電路223和ASN狀態(tài)機電路234到狀態(tài)機260,如以上所描述的。對信號R1-R6的調(diào)節(jié)指示通過鏈路160在系統(tǒng)100與外部設(shè)備150之間交換的數(shù)據(jù)的數(shù)據(jù)速率的改變。在操作501中對信號R1-R6(或一個或多個附加控制信號)的調(diào)節(jié)還指示還改變由信號TDATA1-TDATA6和RDATA1-RDATA6指示的數(shù)據(jù)的一個或多個數(shù)據(jù)速率。
在操作502中,響應(yīng)于信號R1從第一值變?yōu)橹甘緮?shù)據(jù)的新的數(shù)據(jù)速率的第二值,ASN狀態(tài)機電路334確立(assert)FIFO保持信號FH2。信號FH2被提供給FIFO電路323和333的控制輸入。響應(yīng)于FIFO保持信號FH2在操作502中被狀態(tài)機334確立,F(xiàn)IFO電路323和333中的每個被放置在保存FIFO電路323和333中存儲的信號的值的保持狀態(tài)。當(dāng)FIFO電路323和333處于保持狀態(tài)時,F(xiàn)IFO電路323和333中存儲的值被維持,并且沒有新的值被存儲在FIFO電路323和333中。
在操作502中,響應(yīng)于信號R5從第一值變?yōu)橹甘緮?shù)據(jù)的新的數(shù)據(jù)速率的第二值,ASN狀態(tài)機234確立FIFO保持信號FH1。信號FH1被提供給FIFO電路223和233的控制輸入。響應(yīng)于FIFO保持信號FH1在操作502中被狀態(tài)機234確立,F(xiàn)IFO電路223和233中的每個被放置在保存FIFO電路223和233中存儲的信號的值的保持狀態(tài)。當(dāng)FIFO電路223和233處于保持狀態(tài)時,F(xiàn)IFO電路223和233中存儲的值被維持,并且沒有新的值被存儲在FIFO電路223和233中。
在操作503中,ASN狀態(tài)機234等待一時間段以確保FIFO電路223中當(dāng)前存儲的發(fā)送數(shù)據(jù)被提供給PCS電路裝置202。另外,在操作503中,ASN狀態(tài)機334等待一時間段以確保FIFO電路333中當(dāng)前存儲的接收數(shù)據(jù)被提供給核心電路裝置301中的MAC層電路裝置。狀態(tài)機234和334在操作503中等待的時間段可以是相同或不同的時間段。在該時間段之后,ASN狀態(tài)機234和334繼續(xù)進行到操作504。在實施例中,一個或多個可編程計數(shù)器電路可以確定ASN狀態(tài)機234和334中的每個在繼續(xù)進行到操作504之前在操作503中等待的時間段。
ASN狀態(tài)機234分別通過雙向控制信號MC1和雙向控制信號MC2與重置狀態(tài)機222和232通信。在操作504中,ASN狀態(tài)機234將FIFO電路223和233置于重置狀態(tài)以防止FIFO電路223和233中的每個中的寫指針和讀指針的沖突。時鐘信號TCK5可以是FIFO電路223的寫時鐘信號,并且FIFO電路223的讀時鐘信號可以是圖2中未示出的另一時鐘信號。在操作504中,ASN狀態(tài)機234調(diào)節(jié)控制信號MC1中的一個或多個以引起重置狀態(tài)機222確立向FIFO電路223提供的FIFO重置信號FR1。響應(yīng)于信號FR1被確立,F(xiàn)IFO電路223被重置。當(dāng)FIFO電路223被重置時,F(xiàn)IFO電路223中存儲的所有值被清除為預(yù)定義的值(例如零值)。FIFO電路223在重置之后不再處于保持狀態(tài)。
時鐘信號RCK1和圖2中未示出的另一時鐘信號可以分別是FIFO電路233的讀時鐘信號和寫時鐘信號。在操作504中,ASN狀態(tài)機234還調(diào)節(jié)控制信號MC2中的一個或多個以引起重置狀態(tài)機232確立被提供給FIFO電路233的FIFO重置信號FR2。響應(yīng)于信號FR2被確立,F(xiàn)IFO電路233被重置。當(dāng)FIFO電路233被重置時,F(xiàn)IFO電路233中存儲的所有值被清除為預(yù)定義的值(例如零值)。FIFO電路233在重置之后不再處于保持狀態(tài)。ASN狀態(tài)機234將FIFO電路223和233維持在重置狀態(tài)直到操作511。FIFO電路223和233在重置狀態(tài)的同時不存儲新的值。
ASN狀態(tài)機334分別通過雙向控制信號MC3和雙向控制信號MC4與重置狀態(tài)機322和332通信。在操作504中,ASN狀態(tài)機334將FIFO電路323和333置于重置狀態(tài)以防止FIFO電路323和333中的每個中的寫指針和讀指針的沖突。時鐘信號TCK3和圖3中未示出的另一時鐘信號可以分別是FIFO電路323的讀時鐘信號和寫時鐘信號。在操作504中,ASN狀態(tài)機334調(diào)節(jié)控制信號MC3中的一個或多個以引起重置狀態(tài)機322確立被提供給FIFO電路323的FIFO重置信號FR3。響應(yīng)于信號FR3被確立,F(xiàn)IFO電路323被重置。當(dāng)FIFO電路323被重置時,F(xiàn)IFO電路323中存儲的所有值被清除為預(yù)定義的值(例如零值)。FIFO電路323在重置之后不再處于保持狀態(tài)。
時鐘信號RCK3和圖3中未示出的另一時鐘信號可以分別是FIFO電路333的讀時鐘信號和寫時鐘信號。在操作504中,ASN狀態(tài)機334還調(diào)節(jié)控制信號MC4中的一個或多個以引起重置狀態(tài)機332確立被提供給FIFO電路333的FIFO重置信號FR4。響應(yīng)于信號FR4被確立,F(xiàn)IFO電路333被重置。當(dāng)FIFO電路333被重置時,F(xiàn)IFO電路333中存儲的所有值被清除為預(yù)定義的值(例如零值)。FIFO電路333在重置之后不再處于保持狀態(tài)。ASN狀態(tài)機334將FIFO電路323和333維持在重置狀態(tài)直到操作511。FIFO電路323和333在處于重置狀態(tài)時不再存儲新的數(shù)據(jù)。
在操作505中,接口電路204和303內(nèi)的電路裝置被重置以防止在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率改變期間在時鐘信號TCK1-TCK5和RCK1-RCK4的頻率被調(diào)節(jié)時的錯誤行為。在操作505中,圖2中的ASN狀態(tài)機234調(diào)節(jié)控制信號MC1中的一個或多個以引起重置狀態(tài)機222解除確立(de-assert)信號DR1和CR1(例如將信號DR1和CR1驅(qū)動為低)。響應(yīng)于信號DR1被解除確立,DLL電路241被重置。響應(yīng)于信號CR1被解除確立,DCC電路242被重置。電路241-242可以通過將電路241-242中存儲的值清除為預(yù)定義的值(例如零值)來重置。重置狀態(tài)機222在操作505中還例如通過使用信號DR1和CR1中的一者或二者來重置采樣器電路244。
在操作505中,ASN狀態(tài)機234還調(diào)節(jié)控制信號MC2中的一個或多個以引起重置狀態(tài)機232解除確立信號CR2(例如將信號CR2驅(qū)動為低)。響應(yīng)于信號CR2被解除確立,DCC電路234被重置。電路243可以通過將電路243中存儲的值清除為預(yù)定義的值(例如零值)來重置。重置狀態(tài)機232在操作505中還例如通過使用信號CR2來重置采樣器電路245。接口電路中的采樣器電路通過將采樣器電路中存儲的值清除為預(yù)定義的值(例如零值)來重置。
在操作505中,圖3中的ASN狀態(tài)機334調(diào)節(jié)控制信號MC3中的一個或多個以引起重置狀態(tài)機322解除確立信號CR3(例如將信號CR3驅(qū)動為低)。響應(yīng)于信號CR3被解除確立,DCC電路342被重置。DCC電路342可以通過將電路342中的值清除為預(yù)定義的值(例如零值)來重置。重置狀態(tài)機322在操作505中還通過例如使用信號CR3來重置采樣器電路343。
在操作505中,ASN狀態(tài)機334調(diào)節(jié)控制信號MC4中的一個或多個以引起重置狀態(tài)機332解除確立信號DR2(例如將信號DR2驅(qū)動為低)。響應(yīng)于信號DR2被解除確立,DLL電路341被重置。DLL電路341可以通過將電路341中存儲的值清除為預(yù)定義的值(例如零值)來重置。重置狀態(tài)機332在操作505中還通過例如使用信號DR2來重置采樣器電路344。操作504-505可以同時執(zhí)行,按照圖5A中所示的順序執(zhí)行,或者替選地,操作505可以在操作504之前執(zhí)行。操作504-505的功能在操作503中的時間段之后并且響應(yīng)于改變在操作501中確立的數(shù)據(jù)的數(shù)據(jù)速率的指示來執(zhí)行。
在操作506中,ASN狀態(tài)機234將時鐘使能信號CE解除確立為邏輯低狀態(tài)以門控(gate)時鐘信號PMACLK。時鐘使能信號CE被提供給時鐘選擇器電路221和231中的每個中的AND柵極電路405,如圖4所示。時鐘選擇器電路221防止時鐘信號PMACLK中的振蕩響應(yīng)于信號CE在操作506中被解除確立傳播到時鐘信號TCK1。時鐘選擇器電路231防止時鐘信號PMACLK中的振蕩響應(yīng)于信號CE在操作506中被解除確立傳播到時鐘信號RCK1。在操作506中防止時鐘信號PMACLK中的振蕩傳播到時鐘信號TCK1和RCK1防止在數(shù)據(jù)的數(shù)據(jù)速率改變期間時鐘信號PMACLK的相位和/或頻率改變時在時鐘信號TCK1和RCK1中出現(xiàn)毛刺(glitch)。
在操作507中,狀態(tài)機234調(diào)節(jié)時鐘選擇信號KS以引起時鐘選擇器電路221和231改變圖4中的時鐘信號MCK的頻率。在操作507中,ASN狀態(tài)機引起時鐘選擇器電路221和231中的每個生成對應(yīng)于由信號R5指示的新的數(shù)據(jù)速率的時鐘信號MCK中的新的頻率。ASN狀態(tài)機234可以調(diào)節(jié)時鐘選擇信號KS1-KS2中的一者或二者以引起時鐘選擇器電路221和231中的每個中的復(fù)用器401-402中的一者或二者選擇不同時鐘信號以生成時鐘信號MCK。作為示例,ASN狀態(tài)機234可以調(diào)節(jié)時鐘選擇信號KS1以引起復(fù)用器401從直接基于時鐘信號PMACLK生成時鐘信號CKZ變?yōu)榛跁r鐘信號CKX生成時鐘信號CKZ。這一改變可以分別根據(jù)電路403是倍頻器還是分頻器而引起增加或減小時鐘信號MCK的頻率。操作506-507的功能響應(yīng)于改變通過鏈路160傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率以及在操作501中生成的由信號TDATA1-TDATA6和RDATA1-RDATA6指示的數(shù)據(jù)的數(shù)據(jù)速率的指示來執(zhí)行。在操作507中,時鐘使能信號CE仍然被解除確立,以防止時鐘信號MCK中的振蕩傳播到時鐘信號TCK1和RCK1。
在操作508中,PCS電路裝置202中的狀態(tài)機260向PMA層電路裝置201發(fā)送改變在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率的請求。具體地,狀態(tài)機260在操作508中調(diào)節(jié)信號R7以指示數(shù)據(jù)的新的數(shù)據(jù)速率。信號R7由狀態(tài)機260生成并且通過導(dǎo)體被提供給PMA層電路裝置201。響應(yīng)于接收到指示新的數(shù)據(jù)速率的信號R7的改變,PMA層電路裝置201執(zhí)行與將在系統(tǒng)100與外部設(shè)備150之間傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)速率變?yōu)樾碌臄?shù)據(jù)速率相關(guān)聯(lián)的功能。例如,CDR電路250可以基于數(shù)據(jù)的新的數(shù)據(jù)速率調(diào)節(jié)時鐘信號PMACLK的相位和/或頻率。
在PMA層電路裝置201完成與改變數(shù)據(jù)的數(shù)據(jù)速率相關(guān)聯(lián)的功能之后,PMA層電路裝置201調(diào)節(jié)信號SD以指示這些功能完成并且數(shù)據(jù)準(zhǔn)備好以新的數(shù)據(jù)速率發(fā)送和接收。信號SD的調(diào)節(jié)還指示已經(jīng)基于數(shù)據(jù)的新的數(shù)據(jù)速率成功調(diào)節(jié)時鐘信號PMACLK的相位和/或頻率。信號SD由PMA層電路裝置201生成并且通過導(dǎo)體被提供給狀態(tài)機260。響應(yīng)于接收到指示PMA層電路裝置201中的數(shù)據(jù)速率改變功能完成并且數(shù)據(jù)準(zhǔn)備好以新的數(shù)據(jù)速率發(fā)送和接收的信號SD中的值,狀態(tài)機260確立物理層狀態(tài)信號PS1。信號PS1可以是PIPE規(guī)范中的PhyStatus信號。信號PS1通過導(dǎo)體被提供給ASN狀態(tài)機電路234。
在操作509中,響應(yīng)于狀態(tài)信號PS1被確立,ASN狀態(tài)機234引起時鐘信號PMACLK被釋放為時鐘信號TCK1和RCK1。PCS電路裝置202例如可以確立信號PS1以指示時鐘信號PMACLK穩(wěn)定和/或指示PMA層電路裝置201和PCS電路裝置202已經(jīng)完成與改變數(shù)據(jù)的數(shù)據(jù)速率相關(guān)聯(lián)的功能。在操作509中,ASN狀態(tài)機234將時鐘使能信號CE確立為邏輯高狀態(tài)以引起時鐘選擇器電路221和231向時鐘信號TCK1和RCK1提供時鐘信號PMACLK和MCK中的振蕩。時鐘信號TCK1中的振蕩傳播至?xí)r鐘信號TCK2-TCK5。時鐘信號RCK1中的振蕩傳播至?xí)r鐘信號RCK2-RCK4。時鐘信號TCK1-TCK5和RCK1-RCK4在操作509之后相對于在數(shù)據(jù)的數(shù)據(jù)速率改變之前的相應(yīng)頻率具有不同頻率。
在操作510期間,ANS狀態(tài)機234響應(yīng)于信號PS1被確立而發(fā)起接口電路204內(nèi)的占空比校準(zhǔn)和DLL相位調(diào)節(jié)處理。另外,在操作510期間,ASN狀態(tài)機334發(fā)起接口電路303內(nèi)的占空比校準(zhǔn)和DLL相位調(diào)節(jié)處理。圖5B-5C是圖示操作510的進一步細節(jié)的流程圖。圖5B圖示與發(fā)送器電路211和311之間的握手序列相關(guān)聯(lián)的操作521-530。圖5C圖示與接收器電路212和312之間的握手序列相關(guān)聯(lián)的操作541-547。圖5B中的操作521-530以及圖5C中的操作541-547是圖5A中的操作510的部分。適配器電路203可以在適配器電路203開始圖5B的操作的同時開始圖5C的操作。
現(xiàn)在描述圖5B的操作。在操作521中,ANS狀態(tài)機234調(diào)節(jié)信號MC1中的一個或多個以開始發(fā)送器電路211和311之間的發(fā)送器握手序列。在操作522中,重置狀態(tài)機222響應(yīng)于在操作521中發(fā)生的對信號MC1的調(diào)節(jié)確立CR1信號(例如將信號CR1驅(qū)動為高)。響應(yīng)于信號CR1被確立,DCC電路242相對于時鐘信號TCK1的占空比調(diào)節(jié)時鐘信號TCK2的占空比以減小或消除時鐘信號TCK2中的占空比失真(DCD)。在DCC電路242的占空比校準(zhǔn)(DCC)處理完成之后,DCC電路242在操作523中確立信號CX1以指示DCC電路242的DCC處理已經(jīng)完成。信號CX1通過導(dǎo)體被提供給重置狀態(tài)機222。
重置狀態(tài)機222和322使用異步信號TSC彼此通信。信號TSC使用采用時分復(fù)用(TDM)傳送信號TSC的移位寄存器電路和邏輯電路裝置(未示出)在管芯101-102之間傳送。移位寄存器響應(yīng)于不受數(shù)據(jù)速率改變操作影響的單獨的自由運行時鐘信號操作。響應(yīng)于信號CX1在操作523中被確立,重置狀態(tài)機222在操作524中調(diào)節(jié)信號TSC中的一個或多個以向重置狀態(tài)機322指示操作522-523和DCC電路242的DCC處理完成。
在操作525中,重置狀態(tài)機322響應(yīng)于操作524中對信號TSC的調(diào)節(jié)確立信號CR3(例如將信號CR3驅(qū)動為高)。響應(yīng)于信號CR3被確立,DCC電路342相對于時鐘信號TCK3的占空比調(diào)節(jié)其輸出時鐘信號TCK4的占空比以減小或消除時鐘信號TCK4中的占空比失真。在DCC電路342的占空比校準(zhǔn)(DCC)處理完成之后,DCC電路342在操作526中確立信號CX3以指示DCC電路342的占空比校準(zhǔn)處理已經(jīng)完成。信號CX3通過導(dǎo)體被提供給重置狀態(tài)機322。響應(yīng)于信號CX3在操作526中被確立,重置狀態(tài)機322在操作527中調(diào)節(jié)信號TSC中的一個或多個以向重置狀態(tài)機222指示操作525-526以及DCC電路342的DCC處理完成。
在操作528中,重置狀態(tài)機電路222響應(yīng)于在操作527中對信號TSC的調(diào)節(jié)確立信號DR1(例如將信號DR1驅(qū)動為高)。響應(yīng)于信號DR1被確立,DLL電路241基于時鐘信號TCK4的相位調(diào)節(jié)時鐘信號TCK5的相位。在DLL電路241中的相位調(diào)節(jié)過程完成之后,DLL電路241在操作529中確立信號LX1以指示已經(jīng)基于時鐘信號TCK4的相位調(diào)節(jié)時鐘信號TCK5的相位。例如,DLL電路241可以在操作529中確立信號LX1以指示時鐘信號TCK5的相位與時鐘信號TCK4的相位對準(zhǔn)(例如被鎖定至?xí)r鐘信號TCK4的相位)。
在操作530中,重置狀態(tài)機222調(diào)節(jié)信號TSC中的一個或多個以向重置狀態(tài)機222指示操作528-529以及DLL電路241的DLL相位調(diào)節(jié)過程完成。重置狀態(tài)機222還響應(yīng)于信號LX1的確立調(diào)節(jié)信號MC1中的一個或多個以向ASN狀態(tài)234指示DLL電路241的相位調(diào)節(jié)過程以及電路242和342的DCC過程已經(jīng)完成。
現(xiàn)在描述圖5C的操作。在操作541中,ASN狀態(tài)機234調(diào)節(jié)信號MC2中的一個或多個以開始在接收器電路212和312之間的接收器握手序列。在操作542中,重置狀態(tài)機電路232響應(yīng)于在操作541中發(fā)生的對信號MC2的調(diào)節(jié)來確立信號CR2(例如將信號CR2驅(qū)動為高)。響應(yīng)于信號CR2被確立,DCC電路243相對于時鐘信號RCK1的占空比調(diào)節(jié)時鐘信號RCK2的占空比以減小或消除時鐘信號RCK2中的占空比失真。在DCC電路243的占空比校準(zhǔn)(DCC)過程完成之后,DCC電路243在操作543中確立信號CX2以指示DCC電路243的DCC過程已經(jīng)完成。信號CX2通過導(dǎo)體被提供給重置狀態(tài)機232。
重置狀態(tài)機電路232和332使用異步信號RSC彼此通信。信號RSC使用采用時分復(fù)用(TDM)傳送信號RSC的移位寄存器電路和邏輯電路裝置(未示出)在管芯101-102之間傳送。移位寄存器響應(yīng)于不受數(shù)據(jù)速率改變操作影響的單獨的自由運行時鐘信號操作。響應(yīng)于信號CX2在操作543中被確立,重置狀態(tài)機232在操作544中調(diào)節(jié)信號RSC中的一個或多個以向重置狀態(tài)機332指示電路243的DCC處理和操作542-543已經(jīng)完成。
在操作545中,重置狀態(tài)機332響應(yīng)于操作544中對信號RSC的調(diào)節(jié)確立信號DR2(例如將信號DR2驅(qū)動為高)。響應(yīng)于信號DR2被確立,DLL電路341執(zhí)行相位調(diào)節(jié)過程以基于時鐘信號RCK2的相位調(diào)節(jié)其輸出時鐘信號RCK3的相位。在DL電路341中的相位調(diào)節(jié)過程完成之后,DLL電路341在操作546中確立信號LX2以指示已經(jīng)基于時鐘信號RCK2的相位調(diào)節(jié)了時鐘信號RCK3的相位。作為示例,DLL電路341可以確立信號LX2以指示時鐘信號RCK3的相位與時鐘信號RCK2的相位對準(zhǔn)(即鎖定至?xí)r鐘信號RCK2的相位)。信號LX2通過導(dǎo)體被提供給重置狀態(tài)機322。
響應(yīng)于信號LX2被確立,重置狀態(tài)機332在操作547中調(diào)節(jié)信號RSC中的一個或多個以向重置狀態(tài)機232指示DLL電路341中的相位調(diào)節(jié)過程和操作545-546已經(jīng)完成。在操作547之后,重置狀態(tài)機232響應(yīng)于操作547中對信號RSC的調(diào)節(jié)來調(diào)節(jié)信號MC2中的一個或多個以向ASN狀態(tài)機234指示DLL電路341的相位調(diào)節(jié)過程和電路243的DCC過程已經(jīng)完成。在操作510期間,ASN狀態(tài)機234保持信號PS1直到信號MC1-MC2指示DLL電路241和341的相位調(diào)節(jié)過程以及電路242-243和342的DCC過程完成。
在操作511中,重置狀態(tài)機222響應(yīng)于信號LX1被確立通過引起FIFO電路223退出重置狀態(tài)來使能FIFO電路223的操作。在操作511中,重置狀態(tài)機222解除確立信號FR1以引起FIFO電路223退出重置狀態(tài)。另外,在操作511中,重置狀態(tài)機322響應(yīng)于操作530中對信號TSC的調(diào)節(jié)通過引起FIFO電路323退出重置狀態(tài)來使能FIFO電路323的操作。在操作511中,重置狀態(tài)機322解除確立信號FR3以引起FIFO電路323退出重置狀態(tài)。
另外,在操作511中,重置狀態(tài)機232響應(yīng)于操作547中對信號RSC的調(diào)節(jié)通過引起FIFO電路233退出重置狀態(tài)來使能FIFO電路233的操作。在操作511中,重置狀態(tài)機232解除確立信號FR2以引起FIFO電路233退出重置狀態(tài)。另外,在操作511中,重置狀態(tài)機332響應(yīng)于信號LX2被確立通過引起FIFO電路333退出重置狀態(tài)來使能FIFO電路333的操作。重置狀態(tài)機332解除確立信號FR4以引起FIFO電路333退出重置狀態(tài)。在FIFO電路223、233、323和333退出重置狀態(tài)之后,F(xiàn)IFO電路223、233、323和333可以再次存儲新的數(shù)據(jù)值和控制信號。
在操作512中,ASN狀態(tài)機234響應(yīng)于信號MC1和MC2指示以上關(guān)于操作510描述的DLL相位調(diào)節(jié)和占空比校準(zhǔn)過程的完成來確立狀態(tài)信號PS2。通過操作512,接口電路204和303準(zhǔn)備好基于時鐘信號RCK1和TCK1的新的頻率(和/或相位)重新開始數(shù)據(jù)傳動。
信號PS2通過導(dǎo)體被提供給FIFO電路233并且存儲在FIFO電路233中。FIFO電路233中存儲的信號PS2的值作為信號PS3通過導(dǎo)體被提供給采樣器電路245。信號PS3的值響應(yīng)于時鐘信號RCK2存儲在采樣器電路245中。存儲在采樣器電路245中的信號PS3的值作為信號PS4通過外部導(dǎo)體被提供給IC管芯102中的采樣器電路344。信號PS4的值響應(yīng)于時鐘信號RCK3存儲在采樣器電路344中。存儲在采樣器電路344中的信號PS4的值作為信號PS5通過導(dǎo)體被提供給FIFO電路333。信號PS5的值存儲在FIFO電路333中。存儲在FIFO電路333中的信號PS5的值作為信號PS6通過導(dǎo)體被提供給ASN狀態(tài)機334。信號PS6的值存儲在ASN狀態(tài)機電路334中。
當(dāng)ASN狀態(tài)機234在操作512中確立狀態(tài)信號PS2時,信號PS3、PS4、PS5和PS6隨后分別響應(yīng)于前一狀態(tài)信號PS2、PS3、PS4和PS5的確立而被確立。作為示例,確立PS1-PS6中的每個可以是指在相應(yīng)信號中生成邏輯高脈沖或邏輯低脈沖。
在操作513中,ASN狀態(tài)機334確立狀態(tài)信號PS7以指示數(shù)據(jù)速率改變過程的完成。ASN狀態(tài)機334在操作511-512完成之后響應(yīng)于信號PS6的確立來確立信號PS7。信號PS7被提供給核心電路裝置301中的MAC層電路裝置。當(dāng)MAC層電路裝置接收到信號PS7的確立時,MAC層電路裝置確定以上關(guān)于操作501-513描述的數(shù)據(jù)速率改變過程已經(jīng)完成。在以上關(guān)于操作501-513描述的數(shù)據(jù)速率改變過程完成之后,在操作514中以新的數(shù)據(jù)速率在電路系統(tǒng)100與外部設(shè)備150之間傳輸數(shù)據(jù)。發(fā)送數(shù)據(jù)和接收數(shù)據(jù)也在操作514中以新的數(shù)據(jù)速率通過適配器電路203和302以及接口電路204和303被提供。
以新的數(shù)據(jù)速率在電路系統(tǒng)100通過鏈路160從外部設(shè)備150接收的數(shù)據(jù)由PMA層電路裝置201和PCS電路裝置202來處理,然后在被提供給核心電路裝置301中的MAC層電路裝置之前存儲在FIFO電路233、采樣器電路245和344以及FIFO電路333中,如以上所描述的。以新的數(shù)據(jù)速率從電路系統(tǒng)100傳輸?shù)臄?shù)據(jù)從核心電路裝置301中的MAC層電路裝置來提供,然后存儲在FIFO電路323、采樣器電路343和244以及FIFO電路223中,并且然后在根據(jù)數(shù)據(jù)傳輸協(xié)議通過鏈路160被傳輸給外部設(shè)備150之前由PCS電路裝置202和PMA層電路裝置201來處理,如以上所描述的。
圖6圖示根據(jù)本發(fā)明的實施例的具有主信道和多個從信道的電路系統(tǒng)100的示例。IC管芯101和102中的一者或二者可以在相同的IC管芯中具有主信道和多個從信道,如圖6所示。圖6示出了主信道600和4個從信號601-604。然而,應(yīng)當(dāng)理解,每個IC管芯101和102可以具有任何數(shù)目的從信道。
主信道600控制與主信道在相同的IC管芯101或102中并且與主信道使用相同的通信鏈路通信的從信道601-604等中的每個。主信道600和每個從信道601-604等例如可以根據(jù)數(shù)據(jù)傳輸協(xié)議、諸如PCI Express通過通信鏈路的不同物理航道來發(fā)送和接收數(shù)據(jù)。在圖6中,信道601、602、600、603和604分別發(fā)送和接收數(shù)據(jù)DATA1、DATA2、DATA3、DATA4和DATA5。5組數(shù)據(jù)信號DATA1-DATA5中的每個指示圖6中的發(fā)送數(shù)據(jù)組和接收數(shù)據(jù)組。由數(shù)據(jù)信號DATA1-DATA5指示的數(shù)據(jù)分別在信道601、602、600、603和604與外部設(shè)備150之間在通信鏈路160的5個不同的航道上傳輸。
主信道600生成主控制信號MCS的第一子集,主控制信號MCS的第一子集通過IC管芯內(nèi)的導(dǎo)體610的第一子集被提供給相同IC管芯中與信道600使用相同通信鏈路通信的從信道601-604等中的每個。主信道600接收通過導(dǎo)體610的第二子集從從信道601-604等向主信道600提供的主控制信道MCS的第二子集。主信道600使用控制信號MCS控制以上關(guān)于圖5A-5C示出和描述的與數(shù)據(jù)的數(shù)據(jù)速率的改變相關(guān)聯(lián)的操作序列用于信道600-604等。
作為示例,控制信號MCS的第一子集可以包括由ASN狀態(tài)機在主信道600中生成的FIFO保持信號,F(xiàn)IFO保持信號保持信道600-604中的每個中的FIFO電路中存儲的值,諸如IC管芯101中的信號FH1或IC管芯102中的信號FH2,如以上關(guān)于圖2-3和操作502示出和描述的。FIFO保持信號可以在每個信道600-604中被提供給每個發(fā)送器和每個接收器中的每個FIFO電路。
控制信號MCS還可以包括例如控制每個信道600-604中的接口電路中的過程的控制信號。這些控制信號在主信道600中的重置狀態(tài)機與每個信道600-604中的接口電路之間傳輸。例如,信號MCS可以包括IC管芯101中的信號DR1、LX1、CR1、CX1、CR2和CX2或者IC管芯102中的信號CR3、CX3、DR2和LX2中的一個或多個信號。主信道600可以使用這些控制信號在信道600-604中控制接口電路的重置、接口電路中的一個或多個DLL的相位調(diào)節(jié)過程、以及接口電路中的時鐘信號的占空比校準(zhǔn),如以上關(guān)于圖2-5C所描述的。
在實施例中,從信道601-604不具有圖2-3中的每個中所示的ASN狀態(tài)機和重置狀態(tài)機。替選地,每個從信道601-604中的ASN狀態(tài)機和重置狀態(tài)機可以被去激活。在這兩個實施例中的每個中,由每個信道600-604等生成的IC管芯101中的相應(yīng)控制信號CX1和CX2或者IC管芯102中的控制信號CX3在被提供給主控制信道600中的對應(yīng)重置狀態(tài)機之前被合并(例如使用AND邏輯門電路)。例如,共享鏈路160的所有信道600-604等的信號被提供給第一AND邏輯門的輸入,并且第一AND邏輯門的輸出信號被提供給主信道600中的重置狀態(tài)機222以指示所有信道600-604等中的占空比校準(zhǔn)過程何時完成。在本示例中,共享鏈路160的所有信道600-604等的信號被提供給第二AND邏輯門的輸入,并且第二AND邏輯門的輸出信號被提供給主信道600中的重置狀態(tài)機232以指示所有信道600-604等中的占空比校準(zhǔn)過程何時完成。
在實施例中,來自每個IC管芯101和102的主信道600的狀態(tài)信號PS1-PS7被提供給核心電路裝置301中的MAC層電路裝置。核心電路裝置301中的MAC層電路裝置僅響應(yīng)于來自主信道600的PS7狀態(tài)信號以確定關(guān)于圖5A-5C描述的數(shù)據(jù)速率改變操作何時完成。核心電路裝置301中的MAC層電路裝置不響應(yīng)于源自從信道601-604等中的任何信道的任何狀態(tài)信號PS7。
已經(jīng)出于說明和描述的目的呈現(xiàn)了本發(fā)明的示例性實施例的以上描述。以上描述并非意圖排他或者將本發(fā)明限于本文中公開的示例。在一些情況下,本發(fā)明的特征可以在沒有所提出的其他特征的對應(yīng)使用的情況下來采用。鑒于以上教示,很多修改、替代和變型是可能的,而沒有偏離本發(fā)明的范圍。