專利名稱:用于器件的多協(xié)議多數(shù)據(jù)速率自動(dòng)速度協(xié)商架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可以在不同數(shù)據(jù)速率操作的尤其在可編程集成電路器件(比如可編程邏輯器件(PLD))中的高速串行接ロ。
背景技術(shù):
可編程器件并入高速串行接ロ以適應(yīng)高速(即,大于IGbps)串行I/O標(biāo)準(zhǔn)已經(jīng)變得常見。這樣的標(biāo)準(zhǔn)的早期示例是XAUI (擴(kuò)展附著單元接ロ )標(biāo)準(zhǔn)。例如,根據(jù)XAUI標(biāo)準(zhǔn),高速串行接ロ包括稱為“四エ(quad) ”的收發(fā)器組,每組包括四個(gè)收發(fā)器和ー些中央邏輯。在一個(gè)實(shí)現(xiàn)方式中,每個(gè)收發(fā)器劃分成與外界設(shè)備通信的物理介質(zhì)附著(PMA)部 分或者模塊,以及執(zhí)行用于向那些外界設(shè)備發(fā)送的或者從那些外界設(shè)備接收的數(shù)據(jù)的串行處理的物理編碼子層(PCS)部分或者模塊。即使當(dāng)在相同標(biāo)準(zhǔn)之下操作時(shí),特定串行接ロ仍然可以例如根據(jù)線路條件在不同速度操作。因此,已知串行接ロ的PCS與它的對應(yīng)方協(xié)商將支持在兩端的可靠傳輸和接收的最高速度。原先,在可編程器件實(shí)現(xiàn)方式中,在串行接ロ本身以外用軟件或者用可編程器件的可編程邏輯芯實(shí)現(xiàn)這樣的協(xié)商。更后期的串行協(xié)議(比如PCI快速2代(“PCIe2”)、3Gbps光纖信道(“4GFC”)和SGbps光纖信道(“8GFC”))具有更短速度協(xié)商窗ロ。那些窗ロー般對于相對慢的軟件或者可編程邏輯而言太短。因而,第7,684,477號(hào)共同轉(zhuǎn)讓美國專利公開了描述的該類型的可以并入于可編程器件中的高速串行接ロ(該接ロ具有用于自動(dòng)速度協(xié)商以選擇兩個(gè)數(shù)據(jù)速率之一的內(nèi)置硬件模塊)。更加新的串行協(xié)議(比如PCI快速3代("PCIe gen 3”)和40/100千兆比特以太網(wǎng))可能需要從三個(gè)數(shù)據(jù)速率之中選擇。另外,此類協(xié)議可能要求速率協(xié)商在明顯更慢的第四數(shù)據(jù)速率出現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明提供描述的該類型的在可編程器件(比如PLD)中的高速串行接ロ(該接ロ具有用于自動(dòng)速度協(xié)商的內(nèi)置硬件模塊)。自動(dòng)速度協(xié)商優(yōu)選地在器件可以與另一器件建立有效連接時(shí)的最高可能速度在有限時(shí)間間隔內(nèi)收斂以最大化性能。優(yōu)選地,器件可以在最高或者最低可能數(shù)據(jù)速率開始并且分別向下或者向上步進(jìn)以向由兩個(gè)設(shè)備及其互連機(jī)制可果支持的最聞速度收斂。當(dāng)器件在高數(shù)據(jù)速率開始并且向下步進(jìn)時(shí),在姆個(gè)步進(jìn)校驗(yàn)連接。如果在特定步進(jìn)未超過最大可接受誤碼率(例如,在約10_15與約10_12之間——即在IO15位中的約ー個(gè)誤差與IO12位中的約ー個(gè)誤差之間),則數(shù)據(jù)速率保持不變。如果在特定步進(jìn)超過最大可接受誤碼率,則再次向下步進(jìn)數(shù)據(jù)速率。這繼續(xù)直至達(dá)到未超過到最大可接受誤碼率時(shí)的數(shù)據(jù)速率。
當(dāng)器件在低數(shù)據(jù)速率開始并且向上步進(jìn)時(shí),也在每個(gè)步進(jìn)校驗(yàn)連接。然而,由于從更低數(shù)據(jù)速率接近每個(gè)步進(jìn),所以在特定步進(jìn)尚未超過最大可接受誤碼率的事實(shí)并非已經(jīng)達(dá)到最大可能數(shù)據(jù)速率的確證。因此,只要尚未超過最大可接受誤碼率,就(根據(jù)協(xié)議)由另一步進(jìn)增加數(shù)據(jù)速率,直至達(dá)到超過最大可接受誤碼率時(shí)的數(shù)據(jù)速率。這是數(shù)據(jù)速率已經(jīng)變成太高的指示,并且因而如上文在器件從高開始的情況下那樣,按步進(jìn)減少數(shù)據(jù)速率直至達(dá)到未超過最大可接受誤碼率時(shí)的數(shù)據(jù)速率。由于已經(jīng)從更低數(shù)據(jù)速率增加數(shù)據(jù)速率直至超過最大可接受誤碼率,所以通常一旦數(shù)據(jù)速率的減少已經(jīng)開始,除非條件已經(jīng)在過渡期間改變,否則數(shù)據(jù)速率就將必須被減少僅一個(gè)步進(jìn)。根據(jù)特定實(shí)現(xiàn)方式,在實(shí)現(xiàn)速率改變之前,可以向數(shù)據(jù)流中插入定界符圖案以讓另一器件知道速率改變即將到來??梢越粨Q其它參數(shù)以指示速率改變的方向和量值。在一個(gè)優(yōu)選實(shí)施例中,一旦通過剛剛描述的方法之一建立了初始最佳數(shù)據(jù)速率,如果誤碼率超過最大可接受值,數(shù)據(jù)速率就將減少。然而,優(yōu)選地,也存在用于提高數(shù)據(jù)速率的定期嘗試。 根據(jù)本發(fā)明,通過優(yōu)選地在收發(fā)器的PCS部分中提供硬件以執(zhí)行協(xié)商過程的至少部分來加速自動(dòng)協(xié)商過程。在一個(gè)優(yōu)選實(shí)施例中,每個(gè)信道——即每個(gè)PCS發(fā)射器/接收器對一存在一個(gè)這樣的硬件模塊,并且另一這樣的硬件模塊用于每組綁定信道(例如,用于上文描述的“四工”之一,或者用于任何數(shù)目的信道的綁定)如下文討論的那樣,在檢測到數(shù)據(jù)速率改變要求時(shí),自動(dòng)速度協(xié)商模塊改變信道速度或者數(shù)據(jù)速率。這可以用多種方式來實(shí)現(xiàn)。例如,可以改變信道中的數(shù)據(jù)路徑的寬度,其中更寬數(shù)據(jù)路徑允許更多數(shù)據(jù)流動(dòng),由此增加信道的數(shù)據(jù)速率,而更窄數(shù)據(jù)路徑限制可以流動(dòng)的數(shù)據(jù)量,從而減少信道的數(shù)據(jù)速率。備選地,可以通過改變或者縮放數(shù)據(jù)路徑的操作頻率來改變數(shù)據(jù)速率。作為另一備選,數(shù)據(jù)路徑寬度調(diào)整與數(shù)據(jù)路徑頻率縮放的組合可以用來調(diào)整數(shù)據(jù)速率。作為又一備選,每個(gè)信道可以包括多個(gè)PCS模塊(每個(gè)PCS模塊與不同協(xié)議和數(shù)據(jù)速率范圍相適),并且數(shù)據(jù)速率調(diào)整可以包括選擇適合的PCS模塊。在一個(gè)實(shí)施例中,可以從PCS以外提供數(shù)據(jù)速率改變要求的指示。例如,該指示可以完全在收發(fā)器以外由在器件上的別處(比如,如果器件是PLD則在可編程邏輯部分中)的邏輯發(fā)起。在另一實(shí)施例中,自動(dòng)速度協(xié)商模塊可以包括用于自行確定是否需要數(shù)據(jù)速率改變的電路。例如,模塊可以包括用于監(jiān)視接收的數(shù)據(jù)的誤碼率監(jiān)視器(顯然的是,由于太高的信道速度而產(chǎn)生的在傳輸?shù)臄?shù)據(jù)中的誤差將僅在數(shù)據(jù)離開發(fā)射器之后才出現(xiàn),從而使得此類誤差將不可由收發(fā)器檢測)。如上文所言,當(dāng)數(shù)據(jù)速率改變即將到來時(shí),討論的協(xié)議可以要求向數(shù)據(jù)流中插入在實(shí)施數(shù)據(jù)速率改變之前必須用相似定界符圖案應(yīng)答的定界符圖案。因此,在一個(gè)優(yōu)選實(shí)施例中,自動(dòng)速度協(xié)商模塊優(yōu)選地包括定界符圖案生成器以允許它向傳輸路徑中插入定界符圖案。優(yōu)選地,模塊也包括定界符圖案識(shí)別電路,該電路可以包括定界符圖案生成器和比較器,該比較器比較接收路徑中的數(shù)據(jù)與生成的定界符圖案。因此,當(dāng)使用需要用于數(shù)據(jù)速率改變的定界符圖案的協(xié)議時(shí),如果自動(dòng)速度協(xié)商模塊無論是由于它從PCS以外接收速率改變信號(hào)或者命令還是由于它自己的誤碼率監(jiān)視器指示需要數(shù)據(jù)速率改變而發(fā)起數(shù)據(jù)速率改變,則它可以在傳輸?shù)臄?shù)據(jù)中插入速率改變定界符圖案,該圖案將由遠(yuǎn)程設(shè)備檢測,從而使得遠(yuǎn)程設(shè)備可以相應(yīng)地做出反應(yīng)(例如,通過改變它自己的數(shù)據(jù)速率)。類似地,如果自動(dòng)速度協(xié)商模塊檢測到接收的數(shù)據(jù)中的速率改變定界符圖案,則它可以相應(yīng)地做出反應(yīng)(例如,通過改變它自己的數(shù)據(jù)速率)。在一些協(xié)議之下,在已經(jīng)在每端傳輸和接收定界圖案之后,數(shù)據(jù)速率改變同時(shí)出現(xiàn)于兩端。這意味著如果在一端的接收器在該端的發(fā)射器已經(jīng)發(fā)送它自己的定界圖案之后接收定界圖案,則數(shù)據(jù)速率改變過程可以在該端開始。它也將在另一端(該端將已經(jīng)接收和發(fā)送了定界圖案)開始。另ー方面,如果在一端的接收器接收定界圖案并且在該端的發(fā)射器尚未發(fā)送定界圖案,則另一端發(fā)起針對數(shù)據(jù)速率改變的請求并且在一端的發(fā)射器必須在數(shù)據(jù)速率改變在該一端(該端將現(xiàn)在已經(jīng)接收和傳輸了定界圖案)開始之前向另一端發(fā)送回定界圖案。在此類協(xié)議之下,在兩端的發(fā)射器可以在速率改變時(shí)段期間被三態(tài)化持續(xù)預(yù)定持續(xù)時(shí)間。優(yōu)選地,在PCS中提供計(jì)時(shí)器以對三態(tài)時(shí)段計(jì)時(shí)。某些協(xié)議可以包括自動(dòng)協(xié)商過程本身在比信道速率本身低得多的數(shù)據(jù)速率出現(xiàn)這樣的要求。例如,在40/100千兆比特以太網(wǎng)協(xié)議之下,將在156. 25Mbps (這是在該協(xié)議之下的最低數(shù)據(jù)速率I. 25Gbps的八分之一(以及中間速率3. 125Gbps的二十分之ー和最高速率10.3125Gbps的六十六分之一))實(shí)現(xiàn)自動(dòng)協(xié)商階段。為了適應(yīng)這ー低頻信令要求, 根據(jù)本發(fā)明的自動(dòng)速度協(xié)商模塊可以生成過采樣使能信號(hào)。通過按照某一因子過采樣每個(gè)數(shù)據(jù)脈沖,將按照該因子減少有效數(shù)據(jù)速率。因此,為了例如在40/100千兆比特以太網(wǎng)協(xié)議之下實(shí)現(xiàn)用于自動(dòng)協(xié)商的前述156. 25Mbps數(shù)據(jù)速率,可以將信道設(shè)置成I. 25Gbps的數(shù)據(jù)速率并且繼而按照因子八來過采樣(即,將為每個(gè)數(shù)據(jù)脈沖發(fā)送八個(gè)相同數(shù)據(jù)脈沖,從而將數(shù)據(jù)速率有效減緩至它的實(shí)際值的八分之一)。因此,根據(jù)本發(fā)明,提供一種用于在本地設(shè)備中使用的接ロ。該接ロ包括發(fā)射器部分,可編程地可配置成至少三個(gè)數(shù)據(jù)速率;接收器部分,可編程地可配置成該至少三個(gè)數(shù)據(jù)速率;以及自動(dòng)速度協(xié)商模塊,操作地連接到發(fā)射器部分和接收器部分以配置發(fā)射器部分和接收器部分以用于在單個(gè)數(shù)據(jù)速率與遠(yuǎn)程設(shè)備通信,該單個(gè)數(shù)據(jù)速率是該至少三個(gè)數(shù)據(jù)速率中的最佳可用數(shù)據(jù)速率。也提供一種在這樣的可編程器件串行接口中協(xié)商和實(shí)現(xiàn)數(shù)據(jù)速率改變的方法。
在考慮與附圖結(jié)合的下文具體描述時(shí),本發(fā)明的上述和其它優(yōu)點(diǎn)將變得明顯,在附圖中相似標(biāo)號(hào)全篇指代相似部分,并且在附圖中圖I是本發(fā)明可以運(yùn)用于其中的可編程邏輯器件的一個(gè)優(yōu)選實(shí)施例的框圖;圖2是本發(fā)明可以并入于其中的串行接ロ的示意圖;圖3是根據(jù)本發(fā)明的示例性自動(dòng)速度協(xié)商模塊的ー個(gè)優(yōu)選實(shí)施例的示意圖;圖4A和圖4B(下文統(tǒng)稱為圖4)是圖3的實(shí)施例的自動(dòng)速度協(xié)商模塊的操作的流程圖;以及圖5是根據(jù)本發(fā)明的運(yùn)用可編程邏輯器件的例示性系統(tǒng)的簡化框圖,該可編程邏輯器件并入串行接ロ。
具體實(shí)施例方式第7,684,477號(hào)共同轉(zhuǎn)讓美國專利描述ー種并入硬件自動(dòng)速度協(xié)商模塊的高速串行接口,該模塊允許在串行接口信道上的兩個(gè)數(shù)據(jù)速率之間協(xié)商以及通過調(diào)整數(shù)據(jù)路徑的寬度來調(diào)整數(shù)據(jù)速率?,F(xiàn)在將參照圖I-圖4描述允許本發(fā)明,本發(fā)明允許在多個(gè)(即三個(gè)或者更多)數(shù)據(jù)速率之間協(xié)商以及不僅通過數(shù)據(jù)路徑寬度調(diào)整而且還通過頻率調(diào)整或者縮放來調(diào)整數(shù)據(jù)速率。在圖I中示意地示出了的PLD 10是可編程器件的一個(gè)示例,該器件包括并入本發(fā)明的串行接口 20。PLD 10具有可編程邏輯芯,該可編程邏輯芯包括可由可編程互連結(jié)構(gòu)12訪問的可編程邏輯區(qū)域11。如圖I中所示,區(qū)域11和互連結(jié)構(gòu)12的布局旨在于僅為示意,因?yàn)楸绢I(lǐng)域普通技術(shù)人員已知或者可以創(chuàng)建許多實(shí)際布置。PLD 10也包括多個(gè)其它輸入/輸出(“I/O”)區(qū)域13。I/O區(qū)域13優(yōu)選地可編程從而允許選擇多個(gè)可能I/O信令方案(這些方案可以包括差分和/或非差分信令方案) 之一。備選地,I/o區(qū)域13可以是固定的(每個(gè)區(qū)域僅允許特定信令方案)。在一些實(shí)施例中,可以提供多個(gè)不同類型的固定的I/O區(qū)域13,從而使得盡管個(gè)別區(qū)域13不允許選擇信令方案,但是PLD 10作為整體確實(shí)允許這樣的選擇。例如,如圖2中所示,每個(gè)I/O區(qū)域20優(yōu)選地是如上文描述的高速串行接口,優(yōu)選地包括多個(gè)(例如,四個(gè))信道21,但是僅示出了一個(gè)信道21。每個(gè)信道21包括它自己的PMA模塊26,并且可以包括用于支持多個(gè)不同協(xié)議的多個(gè)不同PCS模塊。在所示示例中,信道21包括三個(gè)不同PCS模塊22、23、24,其中之一在data_path_select (數(shù)據(jù)_路徑_選擇)信號(hào)250的控制之下由復(fù)用器25連接到PMA模塊26)。在這一示例中,PCS模塊22是用于支持更慢協(xié)議(比如使用8B/10B編碼的協(xié)議)的更低數(shù)據(jù)速率PCS。PCS模塊23可以是能夠支持使用128B/130B編碼的PCIe Gen 3協(xié)議的PCIe Gen 3 PCS,并且優(yōu)選地與PCI快速協(xié)議的更早幾代向后兼容。PCS模塊24可以是能夠支持其它協(xié)議(比如使用64B/65B編碼、64B/66B編碼、64B/67B編碼或者其它編碼方案的協(xié)議)的更高數(shù)據(jù)速率PCS。中央邏輯27可以由多個(gè)(N個(gè))信道21共享并且可以包括用于在所有信道21與相同協(xié)議一起使用的情形中使用的自動(dòng)速度協(xié)商模塊270。每個(gè)信道21優(yōu)選地也具有它自己的用于在信道21與不同協(xié)議一起使用的情形中使用的自動(dòng)速度協(xié)商模塊271。優(yōu)選地,自動(dòng)速度協(xié)商模塊271與自動(dòng)速度協(xié)商模塊270相同,但是這并非必需。在PCS模塊22、23、24的與PMA模塊26相反的末端,PCS模塊22、23、24中的每個(gè)PCS模塊可以連接到物理MAC調(diào)和子層(PHY/MAC) 28或者與遠(yuǎn)程通信結(jié)構(gòu)的其它連接。圖3示出了根據(jù)本發(fā)明的自動(dòng)速度協(xié)商可31的一個(gè)實(shí)施例31,該模塊可以充當(dāng)自動(dòng)速度協(xié)商模塊270、271之一或者兩者。相對于PCS接收器部分350和PCS發(fā)射器部分351示出了自動(dòng)速度協(xié)商模塊31,但是自動(dòng)速度協(xié)商模塊31相對于任何PCS或者其部分的實(shí)際物理布置可以不同。自動(dòng)速度協(xié)商模塊31優(yōu)選地包括速率改變信號(hào)生成器311、接收速率定界符生成器312、傳輸速率定界符生成器313、誤碼率監(jiān)視器314(在模塊31以外示出、是視為其部件)和自動(dòng)速度協(xié)商控制器310。自動(dòng)速度協(xié)商控制器310優(yōu)選地包括接收速率定界符比較器315、接收速率定界符接收信號(hào)生成器316、傳輸速率定界符插入單元317、傳輸速率定界符傳輸信號(hào)生成器318和計(jì)時(shí)器319。由于在接收的數(shù)據(jù)中檢測到過量誤碼率,或者由于設(shè)備的在收發(fā)器外部的根據(jù)相關(guān)協(xié)議操作的一些部分發(fā)出速率改變信號(hào)(升高或者下降),或者由于遠(yuǎn)程設(shè)備已經(jīng)改變了它的數(shù)據(jù)速率(因?yàn)檫h(yuǎn)程設(shè)備檢測到過量誤碼率或者出于另一原因)并且在由PCS接收器部分350接收的數(shù)據(jù)中包括速率改變定界符圖案,所以自動(dòng)速度協(xié)商模塊31可能需要改變數(shù)據(jù)速率。如果在接收的數(shù)據(jù)中檢測到過量誤碼率,則它可以由誤碼率監(jiān)視器314檢測,該監(jiān)視器經(jīng)由線路300向器件邏輯或者經(jīng)由線路301直接向速率改變信號(hào)生成器311發(fā)送指示。如果向器件邏輯發(fā)送指示,則器件邏輯將處理指示并且經(jīng)由線路302向速率改變信號(hào)生成器311發(fā)送信號(hào)。無論那種方式,速率改變信號(hào)生成器311將生成速率改變信號(hào)320——該信號(hào)可以是速度改變信號(hào)或者過采樣生成信號(hào)——并且向自動(dòng)速度協(xié)商控制器310發(fā)送該信號(hào)。自動(dòng)速度協(xié)商控制器310繼而將根據(jù)速率改變信號(hào)改變數(shù)據(jù)速率。根據(jù)速率改變信號(hào)的性質(zhì),改變數(shù)據(jù)速率的方法可以是(a)生成和發(fā)出信號(hào),該信號(hào)使各種復(fù)用器選擇分別具有減少或者増加串行數(shù)據(jù)速率的效果的更窄或者更寬數(shù)據(jù)路徑;(b)指示器件上的PLL改變它的數(shù)據(jù)速率(或者選擇具有不同數(shù)據(jù)速率的PLL);或者(c)使按照某一因子的過采樣能夠按照該因子減緩數(shù)據(jù)速率。此外,自動(dòng)速度協(xié)商控制器310可以生成data_path_Select (數(shù)據(jù)_路徑_選擇)信號(hào)250以選擇PCS模塊22、23、24中的與新數(shù)據(jù)速率 相適的PCS模塊。也可以根據(jù)新數(shù)據(jù)速率啟用或者禁用字節(jié)序列化或者去序列化以變更數(shù)據(jù)的寬度以用于向和/或從可編程器件的其余部分傳送。如上文討論的那樣,涉及到的協(xié)議可以在數(shù)據(jù)速率改變即將到來時(shí)預(yù)期或者至少允許在數(shù)據(jù)中插入速率改變定界符圖案,從而使得遠(yuǎn)程設(shè)備可以預(yù)備數(shù)據(jù)速率改變。因此,在圖3的實(shí)施例中,接收速率定界符生成器312和傳輸速率定界符生成器313生成那些定界符信號(hào)。由于將預(yù)期每個(gè)收發(fā)器能夠與每個(gè)其它收發(fā)器通信,所以通常將預(yù)期接收速率定界符圖案和傳輸速率定界符圖案相同,從而使得ー個(gè)定界符生成器應(yīng)當(dāng)是足夠的。然而,可以存在接收速率定界符圖案和傳輸速率定界符圖案不同的情況,因而優(yōu)選地,為了最大靈活性,提供接收速率定界符生成器312和傳輸速率定界符生成器313兩者。因此,如果誤差信號(hào)由誤碼率監(jiān)視器314生成或者速率改變信號(hào)由器件邏輯生成,從而造成數(shù)據(jù)速率改變,則優(yōu)選地在速率改變信號(hào)生成器311向自動(dòng)速度協(xié)商控制器310發(fā)送所得速率改變命令吋,它使傳輸速率定界符插入單元317指示傳輸速率定界符生成器313經(jīng)由線路333向傳輸?shù)臄?shù)據(jù)流中插入傳輸速率定界符圖案。此外,傳輸速率定界符插入單兀317優(yōu)選地使傳輸速率定界符傳輸信號(hào)生成器318向計(jì)時(shí)器19發(fā)送信號(hào),該信號(hào)指示傳輸速率定界符圖案已經(jīng)被傳輸,從而使得計(jì)時(shí)器19開始倒計(jì)時(shí)上文討論的延遲時(shí)段(在該時(shí)段期間禁止數(shù)據(jù)傳輸(優(yōu)選地通過三態(tài)化發(fā)射器)),而又發(fā)送適當(dāng)控制信號(hào)以改變速率。類似地,如果接收定界符信號(hào),則它可以在343由接收速率定界符比較器315檢測,該比較器優(yōu)選地連續(xù)比較在343的接收的數(shù)據(jù)與由接收速率定界符生成器312生成的定界符圖案。接收速率定界符比較器315優(yōu)選地使接收速率定界符接收信號(hào)生成器316向計(jì)時(shí)器19發(fā)送信號(hào),該信號(hào)指示接收速率定界符圖案已經(jīng)被接收,從而使得計(jì)時(shí)器19開始倒計(jì)時(shí)上文討論的延遲時(shí)段(在該時(shí)段期間禁止數(shù)據(jù)傳輸(優(yōu)選地通過三態(tài)化發(fā)射器)),而又發(fā)送適當(dāng)控制信號(hào)以改變速率。在一些協(xié)議之下,可以設(shè)想在信道上的速率可以改變之前,優(yōu)選地,在引發(fā)改變的一端的接收器和在另一端的接收器兩者必須發(fā)送和接收定界圖案,并且繼而優(yōu)選地等待由計(jì)時(shí)器19計(jì)時(shí)的延遲時(shí)段流逝。因此,引發(fā)端優(yōu)選地發(fā)送定界符圖案并且接收定界符圖案,并且繼而優(yōu)選地等待延遲時(shí)段流逝。類似地,非引發(fā)端優(yōu)選地接收定界符圖案并且發(fā)送定界符圖案并且繼而優(yōu)選地等待由計(jì)時(shí)器19計(jì)時(shí)的延遲時(shí)段流逝。然而,可以存在其它協(xié)議或者操作模式,在這些協(xié)議或者操作模式之下,在本發(fā)明內(nèi)的操作期間,計(jì)時(shí)器19是可選的。在此類實(shí)施例中,兩端一旦已經(jīng)發(fā)送和接收了定界符圖案,速率就可以改變。類似地,可以存在其它協(xié)議或者操作模式,在這些協(xié)議或者操作模式之下,成對定界符信號(hào)的使用可以是可選的,并且引發(fā)端可以在傳輸定界符圖案之后發(fā)起速率改變,繼而延遲時(shí)段流逝(引發(fā)端將在傳輸定界符圖案時(shí)開始對延遲計(jì)時(shí),而非引發(fā)端將在接收定界符圖案時(shí)開始對延遲計(jì)時(shí))。甚至可設(shè)想在一些實(shí)施例中,引發(fā)端將在傳輸定界符圖案之后立即改變它的速率,并且非引發(fā)端將在接收定界符圖案時(shí)立即改變它的速率。圖4示出了在其中可以增加或者減少數(shù)據(jù)速率并且定界符圖案的使用是可選的一個(gè)實(shí)施例中的自動(dòng)速度協(xié)商模塊31的優(yōu)選操作模式400。該過程始于步驟401,其中PCS 上電并且被配置成由它被用于的應(yīng)用所確定的初始數(shù)據(jù)速率。接著,在測試451,PCS(即,PCS的自動(dòng)速度協(xié)商模塊31)確定是否已經(jīng)(例如,從軟件或者從其它協(xié)議層)接收了對開始自動(dòng)協(xié)商的請求。如果尚未接收到請求,則在452,監(jiān)視繼續(xù)直至已經(jīng)接收了對開始自動(dòng)協(xié)商的請求。對開始自動(dòng)協(xié)商的任何請求可以指定自動(dòng)協(xié)商將出現(xiàn)時(shí)的數(shù)據(jù)速率,并且一旦已經(jīng)接收了自動(dòng)協(xié)商請求,就在步驟453確定當(dāng)前數(shù)據(jù)速率是否與自動(dòng)協(xié)商將出現(xiàn)的任何指定數(shù)據(jù)速率匹配。如果當(dāng)前數(shù)據(jù)速率未與自動(dòng)協(xié)商將出現(xiàn)時(shí)的指定數(shù)據(jù)速率匹配,則在測試454確定自動(dòng)協(xié)商將出現(xiàn)時(shí)的指定數(shù)據(jù)速率是否如此低以至于需要過采樣。如果自動(dòng)協(xié)商將出現(xiàn)時(shí)的指定數(shù)據(jù)速率如此低以至于需要過采樣,則在步驟455啟用過采樣(例如,通過確立oversampling_enable (過采樣_啟用)信號(hào)351)并且自動(dòng)速度協(xié)商模塊31繼續(xù)至步驟456。如果在測試454確定自動(dòng)協(xié)商將出現(xiàn)時(shí)的指定數(shù)據(jù)速率未如此低以至于需要過采樣,則略過步驟455并且自動(dòng)速度協(xié)商方法繼續(xù)至步驟456。如果在測試453確定當(dāng)前數(shù)據(jù)速率與自動(dòng)協(xié)商將出現(xiàn)時(shí)的任何指定數(shù)據(jù)速率匹配,則自動(dòng)速度協(xié)商方法繼續(xù)至步驟456。在步驟456,PHY/MAC 28和PCS 22/23/24與遠(yuǎn)程設(shè)備交換數(shù)據(jù)速率能力并且確定最高可行數(shù)據(jù)速率。在那時(shí),在步驟457,完成自動(dòng)協(xié)商握手。如果已經(jīng)在步驟455啟用了過采樣,則禁用過采樣(例如,通過去確立oversampling_enable (過采樣_啟用)信號(hào)351)。無論哪種方式,自動(dòng)速度協(xié)商方法繼續(xù)至步驟402,并且針對速率改變信號(hào)監(jiān)視PHY/MAC接口 28速率改變信號(hào)。在測試403,如果不存在速率改變信號(hào),則該方法循環(huán)回到步驟402直至在步驟403存在速率改變信號(hào)。一旦在測試403存在速率改變信號(hào),則在步驟404,可選地傳輸定界符圖案,在步驟405可選地等待接收定界符圖案,并且繼而在步驟406可選地等待延遲時(shí)段(計(jì)時(shí)器319)經(jīng)過以允許PMA或者其它遠(yuǎn)程設(shè)備修改它自己的數(shù)據(jù)速率,此后,在步驟407,通過縮放數(shù)據(jù)寬度或者通過縮放頻率或者時(shí)鐘(例如,通過調(diào)整PLL或者選擇不同PLL)來調(diào)整PCS數(shù)據(jù)速率。也可以調(diào)整其它有關(guān)參數(shù)(比如時(shí)鐘復(fù)用器控制輸入),并且旁路/啟用所選PCS模塊22/23/24內(nèi)的塊(例如,如在前述美國專利7,684,477中描述的那樣)。此外,可以根據(jù)新數(shù)據(jù)速率啟用或者禁用字節(jié)序列化或者去序列化以變更數(shù)據(jù)的寬度,以用于向/從可編程器件的其余部分傳送。接著,在測試408,該方法測試以查看新數(shù)據(jù)速率是否高于先前數(shù)據(jù)速率——即,查看是否已經(jīng)增加了數(shù)據(jù)速率。如果不是,則該方法返回到步驟451并且等待自動(dòng)協(xié)商發(fā)起請求。如果在測試408已經(jīng)增加了數(shù)據(jù)速率,則在步驟409和測試410,針對達(dá)到不可接受水平的誤差率増加(在已經(jīng)減少了數(shù)據(jù)速率時(shí)通常未考慮這一點(diǎn))監(jiān)視誤碼率監(jiān)視器314,并且如果在預(yù)定間隔(該間隔可以隨實(shí)現(xiàn)方式變化)之后無增加,則該方法返回到步驟402并且等待速率改變信號(hào)。如果在該間隔內(nèi)存在達(dá)到不可接受水平的誤碼率増加,則在步驟411誤碼率監(jiān)視器314本身可以引起生成速率改變信號(hào)。如果測試412確定在步驟411尚未生成速率改變信號(hào),則該方法返回到步驟402并且等待速率改變信號(hào)。如果測試412確定在步驟411已經(jīng)生成了速率改變信號(hào),則該方法返回到步驟404以處理速率改變。因此可見已經(jīng)提供ー種具有硬件速度協(xié)商模塊的串行接ロ,該接ロ允許響應(yīng)于誤差信號(hào)更快地處理數(shù)據(jù)速率改變。在每個(gè)信道的基礎(chǔ)上實(shí)施這ー特征優(yōu)化系統(tǒng)性能,從而 使每個(gè)個(gè)別信道在它自己的最高可靠數(shù)據(jù)速率工作。備選地,在綁定信道的情況下,可以共享自動(dòng)協(xié)商模塊。作為根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)路徑與頻率縮放的組合示例,可以在125MHz (PCIe Gen I)或者在 250MHz (PCIe Gen 2)或者在 500MHz (PCIe Gen 3)傳輸 16X8位。作為另ー示例,在PCIe Gen I之下在250MHz傳輸?shù)?X8位可以縮放成在PCIe Gen 2之下在500MHz的8X8位和在PCIe Gen 3之下在500MHz的16X8位。作為本發(fā)明的實(shí)施例中的字節(jié)去序列化的使用的示例,在PCIe Gen 3之下在250MHz傳輸?shù)?2 X 8位可以使用在PCS接ロ的字節(jié)去序列化來變成在PCIe Gen 2之下在250MHz的16 X 8位,或者使用在PCS接ロ的字節(jié)去序列化來變成在PCIe Gen 2之下在125MHz的16X8位。在可編程器件中,這允許重用為更早幾代開發(fā)的編程。并入根據(jù)本發(fā)明的接ロ 20的PLD 10可以使用于許多種類的電子器件中。ー種可能的使用是在圖5中所示數(shù)據(jù)處理系統(tǒng)900中。數(shù)據(jù)處理系統(tǒng)900可以包括以下部件中的一個(gè)或者多個(gè)部件處理器901 ;存儲(chǔ)器902 ;1/0電路903 ;以及外圍設(shè)備904。這些部件由系統(tǒng)總線905耦合在一起并且填充于終端用戶系統(tǒng)907中包含的電路板906上。系統(tǒng)900可以使用于廣泛多種應(yīng)用(比如計(jì)算機(jī)聯(lián)網(wǎng)、數(shù)據(jù)聯(lián)網(wǎng)、儀表、視頻處理、數(shù)字信號(hào)處理或者任何其它應(yīng)用(在該應(yīng)用中希望有使用可編程或者可重編程邏輯的優(yōu)點(diǎn)))中。PLD 10可以用來執(zhí)行多種不同邏輯功能。例如,PLD 10可以配置為與處理器901配合工作的處理器或者控制器。也可以使用PLD 10作為用于仲裁對系統(tǒng)900中的共享資源的訪問的仲裁器。在又一示例中,PLD 10可以配置為在處理器901與系統(tǒng)900中的其它部件之一之間的接ロ。應(yīng)當(dāng)注意,系統(tǒng)900僅為示例性,并且本發(fā)明的真實(shí)范圍和精神實(shí)質(zhì)應(yīng)當(dāng)由所附權(quán)利要求指示。各種技術(shù)可以用來實(shí)施如上文描述的并且并入本發(fā)明的PLD 10。將理解,前文僅舉例說明本發(fā)明的原理,并且各種修改可以由本領(lǐng)域技術(shù)人員做出而不脫離本發(fā)明的范圍和精神實(shí)質(zhì),而且本發(fā)明僅由所附權(quán)利要求限制。
權(quán)利要求
1.一種用于在本地設(shè)備中使用的接口,所述接口包括 發(fā)射器部分,可編程地可配置成至少三個(gè)數(shù)據(jù)速率; 接收器部分,可編程地可配置成所述至少三個(gè)數(shù)據(jù)速率;以及自動(dòng)速度協(xié)商模塊,操作地連接到所述發(fā)射器部分和所述接收器部分以配置所述發(fā)射器部分和所述接收器部分以用于在單個(gè)數(shù)據(jù)速率與遠(yuǎn)程設(shè)備通信,所述單個(gè)數(shù)據(jù)速率是所述至少三個(gè)數(shù)據(jù)速率中的最佳可用數(shù)據(jù)速率。
2.根據(jù)權(quán)利要求I所述的接口,其中所述自動(dòng)速度協(xié)商模塊通過以下操作中的至少一個(gè)操作將所述發(fā)射器部分和所述接收器部分配置成所述至少三個(gè)數(shù)據(jù)速率中的所述最佳可用數(shù)據(jù)速率 調(diào)整發(fā)射器數(shù)據(jù)路徑寬度和接收器數(shù)據(jù)路徑寬度; 調(diào)整所述發(fā)射器數(shù)據(jù)路徑和所述接收器數(shù)據(jù)路徑的頻率;以及 過采樣。
3.根據(jù)權(quán)利要求2所述的接口,其中所述自動(dòng)速度協(xié)商模塊通過啟用/禁用字節(jié)序列化/去序列化以變更用于向/從所述本地設(shè)備的除了所述接口之外的部分傳送的數(shù)據(jù)寬度以來配置所述發(fā)射器部分和所述接收器部分。
4.根據(jù)權(quán)利要求I所述的接口,還包括用于相應(yīng)數(shù)據(jù)速率范圍的相應(yīng)PCS模塊,其中 所述自動(dòng)速度協(xié)商模塊通過選擇所述相應(yīng)PCS模塊之一將所述發(fā)射器部分和所述接收器部分配置成所述至少三個(gè)數(shù)據(jù)速率中的所述最佳可用數(shù)據(jù)速率。
5.根據(jù)權(quán)利要求I所述的接口,其中所述自動(dòng)速度協(xié)商模塊響應(yīng)于來自所述本地設(shè)備的另一部分的信號(hào)配置所述發(fā)射器部分和所述接收器部分。
6.根據(jù)權(quán)利要求5所述的接口,其中所述信號(hào)是誤差信號(hào),所述誤差信號(hào)指示所述發(fā)射器部分和所述接收器部分中的至少一個(gè)部分中的數(shù)據(jù)誤差。
7.根據(jù)權(quán)利要求5所述的接口,其中 所述自動(dòng)速度協(xié)商模塊包括用于監(jiān)視所述接收器部分中的數(shù)據(jù)的誤碼率監(jiān)視器;并且所述本地設(shè)備的所述另一部分從所述誤碼率監(jiān)視器接收輸出并且基于所述輸出生成所述信號(hào)。
8.根據(jù)權(quán)利要求5所述的接口,其中 在配置所述發(fā)射器部分和所述接收器部分期間三態(tài)化所述發(fā)射器部分達(dá)預(yù)定持續(xù)時(shí)間;并且 所述自動(dòng)速度協(xié)商模塊包括用于對所述預(yù)定持續(xù)時(shí)間計(jì)時(shí)的計(jì)時(shí)器。
9.根據(jù)權(quán)利要求I所述的接口,其中所述自動(dòng)速度協(xié)商模塊監(jiān)視所述接收器部分并且響應(yīng)于所述監(jiān)視的結(jié)果配置所述發(fā)射器部分和所述接收器部分。
10.根據(jù)權(quán)利要求9所述的接口,其中 所述自動(dòng)速度協(xié)商模塊包括用于監(jiān)視所述接收器部分中的數(shù)據(jù)的誤碼率監(jiān)視器;并且所述自動(dòng)速度協(xié)商模塊響應(yīng)于來自所述誤碼率監(jiān)視器的信號(hào)配置所述發(fā)射器部分和所述接收器部分。
11.根據(jù)權(quán)利要求9所述的接口,其中 所述自動(dòng)速度協(xié)商模塊監(jiān)視所述接收器部分中的所述數(shù)據(jù)中的定界符圖案的出現(xiàn);并且所述自動(dòng)速度協(xié)商模塊響應(yīng)于所述定界符圖案的所述出現(xiàn)來配置所述發(fā)射器部分和所述接收器部分。
12.根據(jù)權(quán)利要求11所述的接ロ,其中所述自動(dòng)速度協(xié)商模塊包括 圖案生成器,用于生成所述定界符圖案;以及 比較器,用于比較所述接收器部分中的數(shù)據(jù)與所述定界符圖案。
13.根據(jù)權(quán)利要求9所述的接ロ,其中所述自動(dòng)速度協(xié)商模塊包括用于在接收所述信號(hào)之后延遲配置所述發(fā)射器部分和接收器部分的計(jì)時(shí)器。
14.根據(jù)權(quán)利要求I所述的接ロ,其中 所述自動(dòng)速度協(xié)商模塊包括用于生成定界符圖案的圖案生成器;并且 所述自動(dòng)速度協(xié)商模塊在配置所述發(fā)射器部分和所述接收器部分之前向所述發(fā)射器部分中的數(shù)據(jù)中插入所述定界符圖案。
15.ー種用于協(xié)商集成電路器件接口中的數(shù)據(jù)速率的方法,所述方法包括 監(jiān)視所述接口中的(a)速率改變信號(hào),以及(b)速率改變引發(fā)定界符圖案之一的出現(xiàn); 在檢測到所述速率改變信號(hào)時(shí),傳輸所述速率改變引發(fā)定界符圖案,并且等待接收速率改變確認(rèn)定界符圖案;并且 在檢測到所述速率改變弓I發(fā)定界符圖案吋,傳輸所述速率改變確認(rèn)定界符圖案; 在出現(xiàn)(a)接收,以及(b)傳輸所述速率改變確認(rèn)定界符圖案之ー時(shí),通過以下操作中的至少ー個(gè)操作來改變所述數(shù)據(jù)速率 調(diào)整發(fā)射器數(shù)據(jù)路徑頻率和接收器數(shù)據(jù)路徑頻率;以及 過采樣。
16.根據(jù)權(quán)利要求15所述的方法,還包括啟用/禁用字節(jié)序列化/去序列化以變更用于向/從除了所述接ロ之外的集成電路部分傳送的數(shù)據(jù)寬度。
17.根據(jù)權(quán)利要求15所述的方法,其中所述改變所述數(shù)據(jù)速率還包括調(diào)整發(fā)射器數(shù)據(jù)路徑寬度和接收器數(shù)據(jù)路徑寬度。
18.根據(jù)權(quán)利要求15所述的方法,其中所述改變所述數(shù)據(jù)速率還包括選擇多個(gè)相應(yīng)PCS模塊之一。
19.根據(jù)權(quán)利要求15所述的方法,還包括在所述出現(xiàn)(a)接收和(b)發(fā)送所述速率改變確認(rèn)定界符圖案之一之后,并且在所述改變所述數(shù)據(jù)速率之前,等待預(yù)定時(shí)間間隔流逝。
20.根據(jù)權(quán)利要求15所述的方法,其中所述監(jiān)視速率改變信號(hào)的出現(xiàn)包括監(jiān)視來自所述集成電路器件的在所述接ロ以外的部分的速率改變信號(hào)。
21.根據(jù)權(quán)利要求15所述的方法,其中所述監(jiān)視速率改變信號(hào)的出現(xiàn)包括監(jiān)視來自所述接ロ的部件的速率改變信號(hào)。
22.根據(jù)權(quán)利要求21所述的方法,其中所述監(jiān)視速率改變信號(hào)的出現(xiàn)包括監(jiān)視來自所述接口中的誤碼率監(jiān)視器的速率改變信號(hào)。
全文摘要
一種用于在本地設(shè)備中使用的接口包括發(fā)射器部分,可編程地可配置成至少三個(gè)數(shù)據(jù)速率;接收器部分,可編程地可配置成該至少三個(gè)數(shù)據(jù)速率;以及自動(dòng)速度協(xié)商模塊,操作地連接到發(fā)射器部分和接收器部分以配置發(fā)射器部分和接收器部分以用于在單個(gè)數(shù)據(jù)速率與遠(yuǎn)程設(shè)備通信,該單個(gè)數(shù)據(jù)速率是該至少三個(gè)數(shù)據(jù)速率中的最佳可用數(shù)據(jù)速率??梢酝ㄟ^調(diào)整發(fā)射器數(shù)據(jù)路徑寬度和接收器數(shù)據(jù)路徑寬度、調(diào)整所述發(fā)射器數(shù)據(jù)路徑和所述接收器數(shù)據(jù)路徑的頻率以及過采樣來調(diào)整數(shù)據(jù)速率??梢詥⒂没蛘呓米止?jié)序列化或者去序列化以根據(jù)數(shù)據(jù)速率變更用于向/從本地設(shè)備的其余部分傳送的數(shù)據(jù)的寬度。
文檔編號(hào)H04L1/00GK102812448SQ201180014871
公開日2012年12月5日 申請日期2011年2月15日 優(yōu)先權(quán)日2010年2月17日
發(fā)明者D·維佳雅拉格哈萬, C·H·李 申請人:阿爾特拉公司