專利名稱::具有內建自測和調試特征的并行編碼校驗器和硬件高效高速i/o的制作方法
技術領域:
:本發明通常涉及用于測試高速數據傳輸錯誤的系統、設備和方法,且更特別地,涉及使用并行編碼校驗器檢測數據流的錯誤的系統、設備和方法,并涉及最優的并行編碼校驗器邏輯電路。背景在先的相關技術的舉例以及隨后相關的限定是為了進行說明,而不是為了排除。當閱讀了本說明書和研究了附圖后,其他的對相關技術的限定對本領域技術人員來說將是顯而易見的。通常大部分用于高速輸入/輸出(HSIO)的內建測試使用兩個相同的偽隨機二進制序列(PRBS)發生器,一個位于發射機(TX)中,另一個在接收機(RX)中。兩個PRBS必須同步,以允許RX精確地復制出TX所產生的。所述RX將所接收的數據傳輸與所期望的進行比較,且如果在所接收的數據傳輸與在測試數據集中所產生的傳輸之間有差異則識別出發生了失敗。由PRBS所產生或檢測的測試模型受到所使用的LFSR多項式的限制。在PRBS中所使用的LFSR通常可以提供單獨的偽隨機模型序列。如果需要另外的模型,則通過增加額外的硬件來實現。很多高速輸入/輸出(HSIO)系統還對數據編碼以進行傳輸,例如使用10-比特DC-平衡嵌入式時鐘編碼方案方案。IBM8B/10B編碼方案是這種方案的一個例子,其將8比特值編碼為10比特碼字。每個8比特值被分配兩個碼字,以允許對數據流中的1和0的數量進行平衡。當在特定數量的碼字中的1和0的數量相等或基本相等時,該信號提高DC電壓電平以在該特定數量的碼字中進行平衡。在1和0數量之間的差異可以被定義為偏差值或DC值。DC-平衡是為了減少碼間干擾(ISI)的問題和使AC耦合更加適用。如果,例如在碼字序列中的1或0的數量被偏置為1(或0),則很難發送0(或1)符號,因為這需要更多的能量來克服信道的偏置狀態。從而所發送的相反狀態的符號可能會被錯誤地恢復。如果,假設通過信道發送三個連續的碼字(0000000000,0000000010,0000000000),則符號可能會由于ISI問題而丟失。許多高速I/O(HSIO)系統使用AC耦合,該AC耦合在發射機和接收機之間使用電容器來阻擋來自電源和地面的低頻電壓噪聲。低頻數據流,例如上面舉例所示,可能會被阻擋并且可能會引起接收信號電壓失真和錯誤。為了將接收數據的錯誤維持在特定的目標之內,在傳輸中確定了碼字的最大允許的偏差值。該傳輸中碼字的最大允許的偏差值被定義為DC-平衡。IBM8B/10B編碼方案是本領域中公知的,并在A.X.Widmer和P.A.Franaszek的文章中描述,其題目為“ADC-Balance,Partitioned-Block,8B/10BTransmissionCode”,IBMJ.Res.Develop,Vol.27,No.5,PP.440-451,Sept1983;該文章在此引入作為參考。傳統的PRBS發生器、系統和方法的一個缺點是其通常缺乏為硅芯片進行測試的特征,例如芯片的在線和/或離線測試和/或調試。在線和離線調試或測試分別涉及當現場使用時測試運行和試驗。正常模式涉及在正常使用環境下使用芯片,而測試模式涉及在測試環境中使用芯片。同時具有在線和離線可能是有利的,因為可以在現場測試和確定通信信道的質量。傳統的PRBS系統和方法的另一個缺點是必須要使TXPRBS和RXPRBS同步,從而已知的所發送的測試數據可以與所接收的數據進行合適的比較,并識別出任何錯誤或失敗。當使用TXPRBS和RXPRBS系統時,如果在測試中出現發送錯誤引起同步失敗,則該系統不能恢復。則在這種同步失敗之后的測試結果可能沒有意義。因此,需要系統和方法來克服傳統PRBS的問題和限制。概述在一個方面,本發明提供具有內建自測和調試特征的并行編碼校驗器和硬件高效高速輸入/輸出。在另一方面,本發明提供接收機,包括并行轉換器,設計用于將輸入的串行編碼數據并行轉換為編碼數據包;密碼本,設計用于確定該數據包是否是無效的;規范邏輯,設計用于檢查該數據包是否違背了用于對該數據包進行編碼的編碼方案的規范而無效;和數據包錯誤邏輯,用于在操作中,如果該編碼數據包是無效的,則登記該傳輸錯誤。在另一方面,本發明提供用于驗證數據整體性的方法,所述方法包括接收輸入的串行編碼數據包;并行化轉換所輸入的串行編碼數據包;檢查數據包是否有效;產生編碼數據包的DC(或RD)值;確定所述的DC(或RD)值是有效的還是無效的DC(或RD)值;和如果所述DC(或RD)值是無效的,則隨后將所輸入的并行化轉換后的編碼數據包標記為失敗。仍然在另一方面,本發明提供錯誤檢測電路,包括并行編碼校驗器(C3)邏輯,設計用于確定數據流中的編碼數據包的DC值;和有限狀態機(FSM),設計用于追蹤該數據流的狀態;其中,在操作中,所述C3邏輯向FSM發送編碼數據包的DC值,所述FSM使用該DC值來確定在給定的數據流的當前狀態中是否發生了錯誤。而在另一實施方式中,本發明提供了存儲在計算機可讀介質上的計算機程序,該計算機程序包括用于控制計算設備的操作的指令,所述指令包括使計算設備通過執行以下步驟而驗證數據完整性的指令接收輸入的串行編碼數據包;并行化轉換所輸入的串行編碼數據包;檢查數據包是否有效;產生編碼數據包的DC(或RD)值;確定所述的DC(或RD)值是有效的還是無效的DC(或RD)值;如果所述并行轉化后的編碼數據包不具有有效的DC(或RD)值,則隨后將所輸入的并行化轉換后的編碼數據包標記為失敗。由于DC值和RD值都是典型的測試響應,則所述DC和/或RD值可以被統稱為測試響應。仍然在另一實施方式中,本發明提供了用于測試在系統中并行編碼校驗器(C3)邏輯對數據流的性能的方法,所述方法包括在所述并行編碼校驗器(C3)邏輯中至少編寫一個寄存器以設計該系統進入測試模式;監測碼字并確定所檢測的有效碼字的數量;如果檢測到了預定數量的有效碼字,則CDD中的測試控制電路使能運行偏差值有限狀態機(RDFSM),以檢測數據流的有效性;當RDFSM被使能,使用REFSM來監測數據流并合適地同步至該數據流;在同步之后,所述C3繼續追蹤該測試規范直至結束;和當完成了測試時,禁止C3邏輯。而在另一實施方式中,本發明提供了最佳化硬件電路設計的方法,用于通過在邏輯真值表定義中識別和制定更多的不考慮狀態而減少用于實現并行編碼校驗器的邏輯部件的數量。還在另一方面,本發明提供了當作為半導體設備執行時,具有減少的邏輯電路部件和更小的區域的電路和設備。本發明的上述和其他方面將根據下面的描述和附圖更加清楚。附圖的簡要說明本發明的實施方式在附圖中進行舉例說明。但是,所述實施方式和附圖是用于舉例而不是用于限定的;其提供了本發明的示例。圖1描述了設計用于檢測編碼數據的傳輸錯誤的高速輸入/輸出(HSIO)的典型的實施方式。圖2描述了包括設計用于檢測編碼數據的傳輸錯誤的并行編碼校驗器的HSIO電路的典型實施方式。圖3描述了在密碼本密碼本的典型實施方式中的內部值的舉例表示。圖4描述了并行編碼校驗器的典型實施方式的內部結構。圖5描述了編碼定界符檢測器(CDD)的典型實施方式的內部結構。圖6a描述了在自同步DC校驗器的典型實施方式中所使用的用于DC規范的有限狀態機的示例。圖6b描述了在自同步運行偏差值(RD)校驗器的典型實施方式中所使用的用于RD規范的有限狀態機的典型實施方式。圖7描述了錯誤檢測電路的實施的典型實施方式。圖8描述了并行編碼校驗器邏輯的實施的典型實施方式。圖9描述了DC邏輯的實施的典型實施方式,該DC邏輯校驗碼字的DC規范和數據流的DC規范。圖10描述了并行編碼校驗器邏輯的實施的典型實施方式。圖11描述了DC/RD邏輯的實施的典型實施方式,該DC/RD邏輯校驗碼字和數據流的DC和RD規范。圖12描述了并行編碼校驗器邏輯的實施的典型實施方式。圖13描述了在數據的測試模型中用于錯誤檢測的電路的典型實施方式。圖14描述了在數據的測試模型中用于錯誤檢測的電路的可替換的典型實施方式。圖15描述了對編碼數據進行錯誤檢查的過程的典型實施方式的流程圖。圖16描述了與設計最佳化相關的典型表格,該設計最佳化使用了不考慮的信號狀態來減少在并行編碼校驗器電路中的邏輯和半導體區域。典型實施方式詳述在以下的描述中,詳細描述了幾個本發明的特定實施方式,以提供對本發明的不同方面的全面理解。但是,相關領域技術人員應當意識到,根據這里所提供的描述,然而,本發明可以脫離一個或多個特定的細節或特征來實施,或與其它的組件結合,或者其他等。在其他示例中,沒有詳細示出或描述公知的實施、操作或電路組件,以避免模糊本發明的多個實施方式的各方面。一個典型的實施方式包括高速I/O系統。數據傳輸是串行的,并以編碼數據包被發送至接收機。該接收機對數據包進行并行轉換,并使用并行編碼校驗器來檢查編碼數據包和數據流的有效性,該并行編碼校驗器包括邏輯方程式密碼本密碼本和DC/RD規范。在一些典型實施方式中,使用了編碼數據包的靜態屬性和數據流的動態屬性。在一些典型實施方式中,可以使用有限狀態機來追蹤動態屬性。集成電路(ICs)一直具有花費和尺寸的壓力。高速輸入/輸出(HSIO)設備尤其成問題,因為測試HSIO設備可能更困難,并且需要特別的高端自動測試設備(ATE)。至少在一些實施方式中,所發明的測試是在在線模式中所執行的。在線測試有利地是在系統以正常功能模式運行時執行。其通常在與該系統的其它組件操作的同時現場進行運行,這樣該測試在更接近正常功能模式的環境中完成。應當了解,傳統的PRBS內建自測(BIST)不能執行在線測試。傳統的PRBSBIST只能在測試時起動,而不能在功能模式中啟動。一個優點是,可以通過測量現場的BER來測量信道質量。該現場的BER測量結果可能比測量時的測量結果更實用,因為測量時的操作狀態可能至少在某些方面與實際應用中的操作狀態不同。也就是說,測試可能不能完全建模與該進行測試的設備或系統的所有各種應用相同的功能性。現場的BER測量結果可能是考慮到應用的信道質量的更精確的測量結果,或者至少提供了一些可靠性,表明該測試已經在盡可能幾乎等同的狀態下執行。所提出的系統、方法和設備在其它的優點中提供了改進的集成電路(IC)產品和用于HSIO設備的減少的測試花費。與其他方式相比,這可以以有效的和可靠的方式來完成。有利地,所提出的系統、方法和設備檢查編碼數據流的有效性。當閱讀了所附的包括多個附圖的詳細說明,,本發明的上述和其他優點對本領域技術人員來說將是顯而易見的。圖1描述了設計用于檢測編碼數據的傳輸錯誤的高速輸入/輸出或I/O(HSIO)設備的示例。通常,錯誤可能在傳輸中出現在任何地方(ifatall),在發射(TX)端,或在接收(RX)端,或位置的結合。在一個非限制性的實施方式中,接收機100包括并行轉換器102、并行編碼校驗器(C3)104和解碼器106。在一些非限制性的典型實施方式中,例如如圖1所示的HSIO設備可以可選地但是有利地被安裝于相同的芯片上,以向接受測試的設備(DUT)提供內建測試能力。所述并行轉換器102用于接收串行編碼高速數據傳輸。該并行轉換器與所述解碼器106和所述C3104耦合。該并行轉換器102用于將所接收的串行數據包轉換為并行,并將所產生的并行轉換后的數據轉發至所述解碼器106和所述C3104。在所述并行轉換器102和所述解碼器106之間,和在所述并行轉換器102和C3104之間的耦合方式可以以任何已知的或方便的方式來完成。例如,并行轉換器和解碼器可以使用數據總線系統來耦合。所述解碼器106用于對從所耦合的并行轉換器102所接收的編碼數據包進行解碼。所述解碼器106可以向任何已知的或方便的設備和/或系統發送解碼后的數據。所述編碼數據包可以以任何已知的或方便的方式編碼。在一些典型實施方式中,編碼數據包可以以平衡所發送的1和0的數量的方式來編碼。在一些實施方式中所使用的數據包編碼方案的非限制性的示例包括本領域中已知的IBM8B/10B,5B/6B,4B/6B和/或其他已知的或可能在未來所發展的編碼或編碼方案。在一些典型實施方式中,所發送的數據可以使用10比特DC-平衡嵌入式時鐘編碼方案來編碼。所述并行編碼校驗器(C3)204包括密碼本密碼本212和DC/RD規范214。所述密碼本密碼本212可以以組合邏輯電路或只讀存儲器(ROM)或其它的方式來實現。所述DC和/或RD規范可以例如是以有限狀態機或其他已知或方便的方式來實現。所述C3204從所耦合的并行轉換器202接收編碼數據包。隨后使用所述密碼本密碼本212中的邏輯等式和DC/RD規范214,在所述編碼數據包仍然是編碼時,檢查其無效性的有效性。所述密碼本密碼本212中的邏輯等式可以通常取決于所使用的編碼方案,所述邏輯等式可以通過將包含在密碼本中的有效碼字合并來獲得,所述密碼本認為碼字是輸入和有效的或無效的輸出。在一些典型實施方式中,密碼本將包括或包含不同編碼的狀態值。例如,在一個非限制性的典型實施方式中,密碼本密碼本可能包括RD-和RD+的編碼數據值用于每個未編碼數據包。RD-編碼數據值可能例如是二進制數據值,其中1比0多。相似地,RD+數據值可能是二進制數據值,其中0比1多。在一些典型實施方式中,密碼本密碼本可能會向編碼數據包分配DC值,該DC值由編碼方案中所使用的碼字而產生。該DC值可以被密碼本用于識別無效的(或有效的)數據包。根據此處提供的描述,應當理解,通常的目的是識別出無效的數據以提供錯誤或失敗狀態的指示。也可替換地識別出所有有效的數據,但是這樣可能會效率較低,因為在預期只有較少錯誤的時候識別出所有有效的數據,比識別出所預期的較少的無效數據或錯誤或失敗狀況的效率低。因此,此處描述關注于識別出無效的數據,同時應當理解,可以使用相反的識別有效數據的做法。在一些典型實施方式中,C3可以檢查單獨的編碼數據包的無效性,也可以檢查數據流中的編碼數據包的無效性。在一些典型實施方式中,C3被耦合至誤碼率(BER)系統,所述系統用于收集速率,在所述系統處產生數據包中的無效數據包或無效比特。在一些典型實施方式中,C3用于設備和/或系統中以檢測引起比特錯誤的缺陷。所述設備和/或系統可以用于檢測軟錯誤和/或硬錯誤。在一些典型實施方式中,C3通過檢查數據流中的0和1的平衡來操作,以檢測無效的碼字和/或傳輸錯誤。C3能夠確定是否編碼數據包是無效的,因為在一些典型實施方式中,使用了編碼方案,將數據編碼為DC-平衡碼字,該DC-平衡碼字具有相同數量的0和1。但是,在一些典型實施方式中,使用了編碼方案,其中在有效的碼字中的1和0的數量不完全平衡,但是將被限制在確定的DC值,并允許C3在該限制內檢測數據包的有效性。該限制可以由數據包的DC值來確定,該數據包的DC值可以通過估計用于數據包中的碼字Ci的DC值的表達式來確定,該表達式為DC(ci)=N1-N0,其中N1是1的數量,N0是0的數量。在用于使用了IBM8B/10B編碼方案的非限制性的典型實施方式的DC規范中,碼字Ci的DC值可以是DC(ci)∈{-2,0,2)。數據包的其他DC值則違反該DC規范。但是,并不是所有沒有違反編碼方案的DC規范的碼字都一定是有效碼字。DC規范對很多編碼方案是無效性的充分條件,但不是必要條件。例如,在一個非限制性的IBM8B/10B編碼方案的示例中,有442個有效的碼字和582個無效的,但是無效的碼字中有230個都符合DC規范。如果在測試中使用了DC規范來檢測錯誤,則未使用的符合該DC規范的碼字可以被用作測試激勵來提高測試性能。在一些典型實施方式中,C3在數據流中檢測錯誤,因為編碼方案DC平衡了碼字的數據流。在一些典型實施方式中,數據流的DC平衡可以通過追蹤該數據流的運行偏差值(RD)而進行驗證。所述運行偏差值(RD)追蹤至此在數據流中是否發送了過量的0或1。在所發送的數據流中的過剩的0或1有關于數據流的運行偏差值。在一些典型實施方式中,所述RD用于追蹤是否在數據流中向接收機發送了過量的0或1,從而指示發生了傳輸錯誤。例如,如果在數據流中發送了過量的1,則所述RD將為正,而過量的0將產生負的RD。當接收了數據流中的單獨數據包時,數據包的值可能改變數據流的當前RD。例如,具有更多的1或0的數據包將向正值的方向改變所述RD,而具有相等的0和1數量的平衡的數據包將不改變RD。在一些典型實施方式中,由于C3可以獨立于PRBS多項式,但是由基本的編碼方案所產生,因此C3可以適應所有的有效碼字和一些符合測試規范(例如DC或RD規范)的無效碼字。所述C3硬件可以是50%的傳統的PRBS(SIMG的實驗),并且可以在測試中處理更大的測試模型。另外,PRBS可以產生C3所能夠處理的多個序列之外的一個偽隨機模型序列。在非限制性的IBM8B/10B編碼方案的示例中,類型為C-2和C+2的碼字在數據流Si中交織,以產生DC-平衡的數據流,并且被稱為數據流的DC(測試)規范。這里,類型為C-2和C+2的碼字分別指的是0比1多兩個和1比0多兩個的碼字。所述IBM8B/10B編碼方案受到限制,要求在任何有效的碼字中1和0的數量相等,0比1多兩個或者1比0多兩個。在IBM8B/10B的示例中,每個可能要發送的8比特值可以被分配兩個可能的10比特碼字,一個正的10比特碼字值(相等或1多于0)和一個負的10比特碼字值(相等或0多于1)。IBM8B/10B編碼方案不要求數據流的DC在給定時間內嚴格平衡,但是限制該DC值。在一些典型實施方式中,運行偏差值(RD)的值由并行編碼校驗器(C3)來追蹤。所述C3可以通過將數據建模為有限狀態機來追蹤編碼數據包的數據流,以允許檢查數據流的無效性。在非限制性的IBM8B/10B編碼方案的示例中,有兩個有效的RD狀態,負的運行偏差值或“RD-”,和正的運行偏差值或“RD+”。因為在IBM8B/10B編碼方案中所編碼的每個8比特值都具有兩個可能的10比特碼字,所以數據流可以被維持為基本DC-平衡,并且從而無效的RD值指示出可以由C3檢測到的錯誤。例如,在IBM8B/10B編碼方案中,如果發送了兩個負的C-2類型的碼字,而沒有將其與正的C+2類型交織,則所發送的數據流具有不允許的多于1的0,這將違反編碼方案。在一些典型實施方式中,在碼字中的奇數個比特錯誤將該碼字的值改變為無效碼字。可以通過特定碼字的DC值或通過數據流的RD值,由編碼錯誤校驗器(CEC)來檢測到比特改變。在一些典型實施方式中,偶數個比特錯誤可以通過在數據流的DC值中和長的碼字流中的DC值的改變而檢測出。不可檢測的錯誤經常重復而沒有與可檢測出的錯誤交織的機率是較低的。在一些典型實施方式中,對錯誤的檢測是基于假設數據源產生關于所考慮的測試規范來說有效的碼字流。在一些典型實施方式中,所述測試規范將是RD規范或DC規范。在一些實施方式中,所述測試規范可以是RD規范和DC規范或一些兩者結合的其它規范。類似地,“測試響應”可用作DC值、RD值和其他響應或類似如“無效”和RD類型的狀況的通用名稱。密碼本112通常可以通過將有效碼字合成至邏輯等式中來實現,所述邏輯等式可以應用于編碼數據包中以檢查數據包的無效性。在一些典型實施方式中,所述邏輯等式將取決于所使用的編碼方案。在一些典型實施方式中,可以使用10比特DC-平衡嵌入式時鐘編碼方案。在使用了IBM8B/10B編碼方案的非限制性的示例中,所述密碼本可以使用11個一組的邏輯等式來檢查數據流的無效性和/或傳輸錯誤。所述11個等式組的一個示例在結合在此處作為參考的A.X.Widmer和P.A.Franaszek的參考文獻(“ADC-Balance,Partitioned-Block,8B/10BTransmissioncode”,IBMJ.Res.Develop,Vol.27,No.5,pp.440-451,Sept.1983)中描述,并在下文中提出。應當清楚,盡管所述編碼組在此具有特定的適應性,但是本發明并不僅僅局限于所述的特定的編碼組。進一步地,應當清楚,本發明和本發明的特定實施方式都不局限于11個等式或所述的特定組或所述等式的方程式,且所述等式可以被重新改寫為等價的數字和/或邏輯組,并可以使用在或實現于所述的修改后的形式中。在另一方面,至少一個本發明的實施方式可以有利地使用典型的11個等式和8B/10B一起用于與前述組相同形式的組中。在典型實施方式中,當下述等式中的任何一個成立時,產生無效的碼字。對于10-比特碼字,比特9=j,比特8=h,比特7=g,比特6=f,比特5=I,比特4=e,比特3=d,比特2=c,比特1=b,比特0=a。P13表明4比特abcd或3個是“0”,且其余的是“1”,也就是0001。P31表明4比特abcd中的3個為“1”,且其余的是“0”,也就是1110。表1表示在IBM8B/10B編碼方案中所使用的典型等式。表1中所示的典型等式用于實現IBM8/10密碼本。所述等式可以在邏輯門網絡中實現,所述邏輯門形成了編碼錯誤校驗器(CEC)電路塊。所述CEC電路接收10-比特碼字輸入,并判斷所述碼字是否包含在密碼本中。如果所考慮的碼字不在密碼本中,則所述CEC電路標記為無效(invalCW=1),以表明該碼字是無效的碼字。根據在此所提供的描述應當理解,可以在不同的編碼方案中使用不同的等式數量和/或等式組,所述編碼方案例如是IBM5B/6B,4B/6B或其他編碼方案。表1典型的IBM8B/10B等式在一些典型實施方式中,并行編碼校驗器(C3)可以與BER計數器和/或多輸入簽名寄存器(MISR)相耦合。當在數據流中發生錯誤時,所述C3增加BER計數器的值。所述BER計數器的值可以用于確定數據率的錯誤率。在一些典型實施方式中,MISR可以結合數據流并在測試結束時提供簽名。所述簽名可以表明在數據流中的可能錯誤。與傳統的基于循環冗余校驗(CRC)的校驗和方法相比,MISR可以使用更少的硬件來實現,并且使用明顯更加簡單的同步機制。所述對多輸入簽名寄存器(MISR)的典型的描述可以在下述書目中找到DigitalSystemsTestingandTestableDesign,M.Abramovici,M.Breuer,A,Friedman,Wiley-IEEEPress,1994,其在此引入作為參考。循環冗余校驗(CRC)典型地可以是一類哈希函數,用于對數據塊產生校驗和(通常是小的固定數量的比特),例如網絡流量包或計算機文件塊。所述校驗和可以用于在傳輸或存儲后檢測錯誤。CRC是在傳輸或存儲前計算和添加,并在被接收之后被驗證以確認在傳輸中沒有產生變化。CRC很普遍,因為其很容易在二進制硬件中實現,并容易進行數學分析,且在檢測通常由傳輸信道中的噪聲所引起的錯誤時尤其出色。但是,所述基于校驗和方法的傳統CRC是高度設計的,其需要格式化和進行設計以識別出二進制數據和校驗和。與PRBS相似,校驗和需要在TX和RX都被計算,且在TX和RX處的校驗和需要被同步,這限制了靈活性。在基于校驗和的CRC中錯誤檢測不是實時的。錯誤檢測的時間取決于CRC的計算時間。但是,所述MISR結合任何的數據流并在結束時產生簽名。在MISR中的錯誤檢測是實時的,且所述簽名(或檢測結果)可以在任何時間被下載。在一些典型實施方式中,C3可選地與檢測時鐘控制結構(TCCS)相耦合。所述TCCS隨后可以用于暫停控制時鐘,并允許進行調試。在一些典型實施方式中,TCCS暫停控制時鐘來調節數據流的傳輸。在一些典型實施方式中,當發生錯誤時,C3可以用于暫停接收機的操作,從而允許進行錯誤調試,例如,檢查寄存器的內部值。在2006年6月27日所提交的美國專利申請No.11/476,457,發明名稱為“使用可編程的測試時鐘控制器產生用于電子電路的基于掃描的測試的可設計測試時鐘的測試時鐘控制結構”,發明者為ChinosongSul,該申請提供了關于可以與本發明結合使用的特定測試時鐘控制結構的額外信息,該申請在此引入作為參考。圖2描述了包括用于檢測編碼數據的傳輸錯誤的并行編碼校驗器(C3)的典型HSIO電路。所述HSIO電路200包括并行轉換器202和并行編碼校驗器(C3)204。所述并行轉換器202用于接收串行的數據傳輸。所述并行轉換器202與C3204相耦合,并將所接收的數據包發送至C3204。所述并行轉換器202和C3204的耦合可以以任何已知的或方便的方式。在非限制性的實施方式中,所述耦合或連接是用數據總線來實現的。所述C3204包括密碼本212和DC/RD規范214。在一些典型實施方式中,所述C3可以使用電路來實現,所述電路例如是組合邏輯或只讀存儲器(ROM)。所述C3204接收來自并行轉換器202的數據包。所述數據包可以在編碼時被檢查其無效性,并且可以通過使用密碼本212中的邏輯等式來確定其無效性。在一個非限制性的實施方式中,使用所述密碼本212中的邏輯等式的確定是通過將數據包的二進制數據值應用于硬件所實現的邏輯等式來完成的,其結果值表明是否使用了無效的數據包。在一些典型實施方式中,由密碼本產生數據包的DC值。DC/RD規范214是該編碼方案所符合的規則和/或狀態,兩者都作為碼字和作為數據流中的碼字。在一些典型實施方式中,DC/RD規范或說明由編碼方案所產生,并可以與錯誤模型相關。在一些典型實施方式中,所述DC規范可以是(DC(ck)∈{-2,0,2})∧(-2≤DC(si)≤2),其中數據流的DC被定義為DC(si)=DC(si-1)+DC(ci),其中i>0,其中DC(s0)∈{-2,0,2}。在一些典型實施方式中,所述碼字和數據流的靜態和動態屬性分別通過使用組合邏輯和狀態機(FSM)來實現。在一些典型實施方式中,檢測有效碼字的DC值通過使用組合電路來實現,所述組合電路例如是5-比特加法器。在一些典型實施方式中,有效數據流的RD情況可以使用邏輯等式來確定,并且在一些典型實施方式中,通過使用有限狀態機來實現,所述有限狀態機檢查所述數據流是否符合RD規范。所述并行編碼校驗器可以與誤比特率(BER)計數器206相耦合,當在數據包中檢測到無效的數據包或無效比特時,增加該計數器。所述BER計數器206可以由任何已知的或方便的方法實現。在一些典型實施方式中,可以在BER計數器以外或代替BER計數器使用多輸入簽名寄存器(MISR)來收集錯誤信息。在一些典型實施方式中,MISR用于同時觀測多個并行編碼校驗器(C3s)的輸出,并可以用于獲取大量的錯誤(如果出現的話)而不溢出。所述可選擇的測試時鐘控制結構(TCCS)208可以用于暫停時鐘,來檢查內部寄存器以查找錯誤或失敗的原因。所述TCCS208可以由任何已知的或方便的方式實現。在一些典型實施方式中,TCCS用于控制數據總線時鐘。圖3描述了在一個典型的密碼本中的值的采樣表示。該第一列表示8-比特碼字的采樣,其可以被編碼為10-比特碼字。該第二列表示與所述8-比特碼字相對應的碼字的采樣,并被編碼為負的運行偏差值或RD-。該第三列表示與所述8-比特碼字相對應的碼字的采樣,并被編碼為正的運行偏差值RD+。在一些典型實施方式中,所述RD-和RD+值可以被解釋為類型。在所述典型實施方式中的碼字的任何DC值都應當分別符合下述關系DC(ci)∈{0,2}和DC(ci)∈{-2,0}。基于RD對數據包和數據流的區分可以可選地用于改進DC規范,并允許識別出更多數量的傳輸錯誤。在一些典型實施方式中,可以進一步地定義碼字和數據流的RD功能。使RDu=RD-∪RD+,RD0=RD-∩RD+,RD-’=RD--RD0,和RD’+=RD+-RD0。所述碼字ci的RD類型(RDT)函數可以被定義為RDT(ci)=-1和1,分別當ci∈RD-’和RD+’時。碼字ci∈RD0的RD類型還可以被定義為RDT(ci)=0,且無效的RD類型為RDT(ci)=F。因此,在一些典型實施方式中,有效碼字ci應當符合下述規范RDT(ci)∈{-1,0,1}。在一些使用了IBM8B/10B編碼方案的非限制性的典型實施方式中,可以使用一組11個等式來檢查特定碼字是否無效。其它的編碼方案可以使用或需要不同數量或類型的邏輯等式。在一些典型實施方式中,所述RD’-和RD’+組可以進一步根據有效碼字的DC值進行區分。區分涉及基于無效性或被檢測到的錯誤將碼字劃分為組。使RD-dc=RD’∩Cdc和RD+dc=RD’+∩C-dc,其中dc∈{0,2}。注意,RD+dcC-dc和RD-dcC+dc。相似地,在一些典型實施方式中,流si的RD函數可以被定義為RD(si)=RD(si-1)+DC(ci),其中RD(s0)∈{-1,1}。所述RD函數表明有效碼字的DC是怎樣與RD相關的。也就是,有效碼字的DC可以被表示為數據流的RD的形式,為DC(ci)=RD(si)-RD(si-1)。使用流的RD函數,則有效碼字流的DC可以被寫作DC(si)=RD(si)+RD(s0),其中i≥0。在一些典型實施方式中,為了方便起見稱為規范1,所述RD(測試)規范可以相似地被定義為RD(ci^si-1)=-RD(si-1),其中ci∈RD-2∪RD+2。在一些典型實施方式中,數據流將等價于DC規范的副本,其區別是所述有效碼字的RD規范可能排除了符合DC規范的未使用的碼字。在一些典型實施方式中,為方便起見稱為規范2,數據流的RD(測試)規范可以被定義為P1∨P2,其中P1={(RD(ci^si-1)=RD(si-1))^(ci∈RDu∩C0)}和P2={(RD(ci^si-1)=-RD(si-1))^(ci∈RDu∩Cdc)},其中k>0,其中^表示數據流的串聯,且其中dc=-2RD(si-1)。在一些典型實施方式中,P2包括所述RD規范1。在一些典型實施方式中,所述RD規范1和2用于改進DC規范,并允許檢測更多數量的錯誤。圖4描述了示例并行編碼校驗器400的內部結構。所述并行編碼校驗器400包括編碼定界符檢測器(CDD)402、并行編碼校驗器(C3)邏輯404、運行偏差值有限狀態機(RDFSM)406、MISR/計數器408和時鐘暫停電路410。所述C3邏輯404接收所進入的碼字作為輸入。所述C3可以檢查碼字的無效性,并為要發送至DC/RDFSM406的碼字生成DC和/或RD值。在一些典型實施方式中,C3邏輯可以向CDD402提供碼字有效性和DC值,以同步輸入數據流的開始。在一些典型實施方式中,C3邏輯可以向DC/RDFSM提供DC和/或RD值,以檢測DC/RD同步。在一些典型實施方式中,當CDD檢測到有效的碼字定界符時,所述CDD可以起動DC/RDFSM,BER計數器和/或時鐘暫停電路。所述CDD402可以使用來自C3的專門的控制符號和有效信號來同步有效碼字定界符。在一些非限制性的典型實施方式中,可以使用控制符號,例如K28.3控制符號。K28.3控制符號在本領域是公知的,并且在“SerialATAStorageArchitectureandApplications”中描述,K.Girmsrud和M.Smith,IntelPress,2003(P130),該文章在此引入作為參考。當檢測到控制符號時,所述CDD402可以產生使能信號以啟動DC/RD檢測。在一些典型實施方式中,下載控制觸發器允許使能所需要的同步結構。在一些典型實施方式中,CDD可以產生有效信號,以允許移除任何專門的符號檢測電路。在一些典型實施方式中,CDD是可選的,因此該系統將已經包括了CDD,且該系統的CDD可以被重新使用,以允許從電路中移除專門的CDD。在一些典型實施方式中,如果接收了一個或多個有效碼字,則DC/RDFSM可以被使能以檢測數據流的有效性,并且,在一些典型實施方式中,允許通過有效的(或無效的)碼字信號或DC值來同步。當檢測到碼字定界符時,所述RDFSM406可以被使能,并檢測DC/RD的正確序列。所述碼字的DC和/或RD值由C3邏輯404來計算,該C3邏輯可以向DC/RDFSM提供結果值,以確定碼字的有效性。在一些典型實施方式中,所述與RD類型相耦合的DC可以被應用于計算RD。在一些典型實施方式中,RDFSM是自同步FSM。在一些典型實施方式中,由編碼錯誤校驗器(CEC)所產生的無效信號可用于自同步。如果檢測到有效碼字或一些連續的有效碼字,則測試控制單元504可以使能DC/RDFSM以啟動錯誤檢測。所述DC/RDFSM可以在狀態S啟動,并當遇到可以確定數據流的DC或RD狀態的碼字時,轉換為有效DC或RD狀態。例如,如果遇到類型為C+2或RD-0的碼字,則所述DC/RDFSM可以使用碼字的位置來獲得數據流的DC或RD值。這樣,則建立了所需的同步。如果數據包被錯誤地改變為控制符號,則當其登記錯誤了之后,可以重新獲得同步。所述C3邏輯404基于所獲得的DC/RD規范而實現。所述C3邏輯404判斷有效碼字和數據流的DC/RD規范。所述數據流的DC值被C3邏輯404提供給RDFSM406。如果所述碼字的DC值是無效的,則所述C3邏輯可以向RDFSM406提供無效信號,所述RDFSM406判定(assert)無效的信號。在一些典型實施方式中,所述C3邏輯可以通過使用5-比特加法器和一個或多個DC映射電路來實現C3邏輯塊而實現。所述D觸發器412表示控制觸發器,其可以使時鐘暫停信號激活和無效。在一些典型實施方式中,控制觸發器可以通過IC內部總線(I2C)從外部訪問或可以從內部控制。圖5描述了示例的編碼定界符檢測器(CDD)500的內部結構的典型實施方式。所述CDD500包括K28.3檢測器502、檢測控制電路504、有效DC檢測器506和來自C3邏輯的有效碼字信號(val_cw)。所述K28.3檢測器502能夠檢測K28.3控制符號,并啟動DC/RD檢測。所述有效DC506檢測有效的DC值,并當檢測到有效的DC值時輸出有效的DC(valDC=1)。當檢測到K28.3時,所述檢測控制電路使能DC/RDFSM以檢測碼字和數據流的有效性。在典型實施方式中,所述有效的碼字(val_cw)或有效DC(valDC)用于檢測數據流的開始。在一些典型實施方式中,如果遇到一個或預定個數量的有效碼字或DC值,則檢測控制電路使能C3。可以提供可替換的禁止信號以禁止檢測控制504,所述檢測控制504禁止由其使能的DC/RDFSM和其他電路。可以利用其他可替換的檢測器來執行上述或等價的功能。在一些典型實施方式中,使用CDD來同步C3。圖6a描述了用于DC規范的典型自同步DC校驗器的典型有限狀態機(FSM)600。當確定碼字有效后,所述FSM600產生碼字的DC。所述典型的有限狀態機表示了當碼字有效時和當檢測到無效碼字時將系統轉換為失敗狀態的兩種狀態。表2表示了示例的DC值和相應的2-比特表示。表3表示了RD值的例子和相應的2-比特表示。在一些典型實施方式中,所述FSM600允許確定無效的DC值和無效的RD值的子集。如果到達了無效值,則FSM600進入“失敗”狀態。所述“同步”狀態表明FSM600的狀態并用作等待狀態,以當接收到新的數據流時或當所述FSM從錯誤(失敗)狀態中恢復時,同步為正確的DC或RD狀態。圖6b描述了用于實現典型的RD規范的自同步有限狀態機(FSM)650的示例。當RDFSM接收到使能信號時,該RDFSM等待合適的RD類型以同步用于RD監測的起始點。當輸入轉變為“失敗”狀態時,圖6b中的有限狀態機的執行允許所述RDFSM檢測與RD-0和RD+0類型的碼字相關的錯誤。在一些典型實施方式中,第二有限狀態機FSM650與第一有限狀態機FSM600一起使用,以檢測數據流中的更多數量的可能錯誤。當與所使用的FSM650一起使用的FSM600成為“失敗”狀態,則每個FSM都會指示錯誤。如果RDT被掩蓋(即,RDT=0),則FSM650簡化為FSM600。圖7描述了錯誤檢測電路700的示例實現。所述錯誤檢測電路包括C3邏輯702和DCFSM704。所述C3邏輯702產生DC值,所述DC值被輸出和傳送至或另外被傳遞至DCFSM704,并被DCFSM704用來更新狀態。表4表示使用了10-比特碼字并由C3邏輯映射為2-比特輸出的典型實施方式。表2典型DC值表3典型RD值表4典型10-比特碼字DC映射表5典型DC映射圖8描述了并行編碼校驗器(C3)邏輯800的執行的典型實施方式。所述C3邏輯包括加法器802和DC映射器804。所述加法器802可以由任何已知的或方便的用于編碼方案所使用的加法器來實現。例如,在使用IBM8B/10B編碼方案的非限制性的實施方式中,可以使用5-比特加法器來實現所述C3邏輯塊。所述DC映射器804將DC值映射為映射后的DC值。在使用IBM8B/10B編碼方案的非限制性的實施方式中,DC映射器將DC值映射為相應的2-比特編碼DC值,DC[1:0]。表5表示將5-比特加法器的值被映射為DC[1:0]的典型實施方式。在一些實施方式中,未使用的碼字可以在真值表中被輸入為有效。例如,在IBM8B/10B編碼的非限制性的示例中,未使用的碼字可以具有有效的DC值,-2、0和2。一些在具有有效的DC值的IBM8B/10B編碼中未使用的無效碼字的例子是碼字4160,5051和4061,其中碼字“M1N0”或“N0M1”表示該10-比特碼字由M個1和N個0所組成。在一些典型實施方式中,所述有效碼字的RD規范可以用于檢測符合DC規范的未使用的碼字。在多數情況中,為了完成RD規范,必須執行完整的密碼本。在使用IBM8B/10B編碼方案的非限制性的實施方式中,編碼錯誤校驗器可用于使用11個邏輯等式的IBM8B/10B編碼方案,以將有效碼字與無效的分開。圖9描述了DC/RD邏輯900的典型執行方式,所述DC/RD邏輯適用于驗證碼字和數據流的有效性。所述DC/RD邏輯900包括C3邏輯902和FSM904。圖10是描述了典型的C3邏輯1000的示例。所述C3邏輯1000包括編碼錯誤校驗器(CEC)1002和DC計算邏輯1004。在一些典型實施方式中,如圖10所示的所述C3邏輯1000可以用作圖9的C3邏輯902。所述編碼錯誤校驗器(CEC)1002驗證傳送至FSM904的碼字的有效性,從而允許FSM904能夠在假設只接收到了有效的輸入碼字的情況下工作。在一些典型實施方式中,在碼字中可能會發生錯誤,但是當不考慮數據流的上下文時,修正后的碼字技術上仍然是有效的,并且將被錯誤校驗器驗證并被發送至FSM以確定所述碼字在該數據流的上下文中是否是無效的。在典型實施方式中,當所述碼字是無效的時,所述編碼錯誤校驗器1002將判定“無效”信號,以強制FMS904進入失敗或錯誤狀態。這樣,在某些實施方式中,當編碼錯誤校驗器信號判定無效信號時,所述DC或RD計算電路的輸出為“不考慮”狀態。在某些典型實施方式中,當遇到無效碼字時,使用不理會信號可以用于最小化DC/RD計算電路中的邏輯(或硬件)。在一些典型實施方式中,可以通過減少所需狀態的數量而進行簡化,在所述的所需狀態中DC計算電路、RD計算電路和/或一些其它的DC/RD結合的計算電路必須產生有效的輸出。圖11描述了DC/RD邏輯1100的典型實現方式,所述DC/RD邏輯驗證碼字的DC規范和數據流的RD規范。所述DC/RD邏輯1100包括C3邏輯1102和FSM1104。所述FSM1104根據所使用的編碼方案使用一個或多個有限狀態機建模了數據流的狀態。例如,所述數據流的RD可以根據IBM8B/10B編碼方案被建模,并如之前在圖6a和圖6b中所描述的FSM模型。所述FSM1104的狀態由從C3邏輯1102所接收的值來更新。可以加入控制信號DC/RD來提供對所需要檢測的DC規范或RD規范的選擇。在一些示例的實施方式中,可以加入控制信號CEC_en來使能或禁止編碼錯誤校驗器。表6提供了一些可能的控制信號的典型實施例。圖12描述了并行編碼校驗器(C3)邏輯1200的實現的典型實施方式。所述C3邏輯1200包括編碼錯誤校驗器(CEC)1202,RD類型(RDT)邏輯1204和DC邏輯1206。在一些實施方式中,可以使用在圖12中所示的用于圖11中的C3邏輯1102。表3典型C3規范選擇所述CEC1202可以設計用于當接收到無效碼字時,輸出“無效”信號。在一些典型實施方式中,所述CEC1202還可以用于輸出互補的信號(即,“有效的”)。在一些典型實施方式中,所述碼字將從數據總線接收。在一些典型實施方式中,所述無效信號取決于所期望的實現而可以是高電壓信號(二進制1)或低電壓信號(二進制0)。所述CEC1202可以以任何已知的或方便的方式實施,例如邏輯電路或只讀存儲器(ROM)。所述RD類型邏輯1204可以用于確定碼字的“RD類型”,該RD類型將被應用于建模數據流RD的FSM。所述碼字的RD類型取決于在實現中所使用的編碼方案。例如,使用在上述規范2中所定義的IBM8B/10B。所述DC邏輯1206可以設計用于確定碼字的DC值。例如,如果所述碼字的0比1多2個,則所述DC值為-2。所述DC邏輯1206和RD類型邏輯1204可以與映射邏輯1208相耦合。所述映射邏輯1208可以映射由DC邏輯1206和RD類型邏輯1204所產生的值,并將所述結果映射為二進制值以被FSM用于建模數據流的狀態。在一些典型實施方式中,當測試需要在測試模型中包括未使用的碼字,并在其他模型中考慮為有效時,所述C31200設計使有利地DC和RD規范都可以實現。可以通過使用兩個控制信號,CEC使能(CEC_en)控制信號和DC/RD控制信號來實現所述RD規范而設計C3。所述CEC使能控制信號可以用于確定測試中是否包括CEC,而DC/RD控制信號可以用于選擇DC或RD規范。在一些典型實施方式中,在CEC的控制下可以使能或禁止,通過映射電路設計所述DC/RD來實現DC,RD規范1和2。在一些典型實施方式中,所述CEC的輸出可以有條件的由CEC使能信號來使能,所述使能信號可以根據需要由外部或內部來提供。在一些典型實施方式中,所述CEC使能信號可以在測試或使用中被用于掩蓋或過濾無效的信號,以允許更多多樣化的碼字(或測試輸入)。在一些典型實施方式中,所述C3邏輯可以使用只讀存儲器(ROM)來實現。在一些實施方式中,碼字的有效性,包括RD和DC值,都可以編寫至ROM的每個區域,且所述碼字可以被用作到ROM的地址輸入。所述ROM可以為在測試中的任何碼字實現無效或有效狀態,而不論所述碼字在相應的編碼方案中的實際的有效性,從而允許測試選擇的更加多樣化。圖13描述了在數據的測試模型中用于錯誤檢測電路或邏輯的典型電路1300。所述用于錯誤檢測的電路1300包括第一并行轉換器1302、并行編碼校驗器(C3)1304、MISR/計數器1306、測試時鐘控制結構(TCCS)1308、鎖相環(PLL)1310、先進先出(FIFO)緩沖器,如FIFO1312、第二并行轉換器1314、第一D寄存器1316和第二D寄存器。所述錯誤檢測電路1300表示所述C3邏輯1304怎樣共用并設計用于監測任何并行轉換總線。不同的程序可以通過對D寄存器1316和1318的編程來實現。在一些典型實施方式中,定制的測試模型或數據設置可以用于找出引起錯誤的缺陷。在一些典型實施方式中,在正常的功能或操作模式中,所述C3可以被使能用于監測在所希望的位置上或來自該位置的流量。在一些典型實施方式中,數據的測試模式可以通過偽隨機二進制序列(PRBS)來產生。在一些典型實施方式中,所述第一和第二D寄存器1316和1318是控制觸發器,其可以由電路或相關電路從內部或者外部進行控制。圖14描述了在數據的測試模式中用于錯誤檢測的可替換的典型電路1400。所述用于錯誤檢測的電路1400包括自動測試設備(ATE)1402、發射機/PBRS1404、第一并行轉換器1406、第二并行轉換器1408、第一并行編碼校驗器(C3)1410、第二并行編碼校驗器1402、BER計數器1414、第一FIFO1416、第二FIFO1418和MISR1420。所述第一并行轉換器1406和第二并行轉換器1408可以設計用于同時接收數據流。所述第一和第二并行轉換器1406和1408分別與第一和第二FIFO1420和1422相耦合。所述第一和第二FIFO1420和1422依次與第一和第二并行編碼校驗器(C3)1410和1412相耦合。所述C31410和1412檢查所接收的分別從相耦合的FIFO所發送的數據包的有效性,以確定是否發生了傳輸錯誤。在一些典型實施方式中,所述C3將驗證所接收的各別數據包和該數據包是其一部分的各個數據流上下文的有效性。所述BER計數器1414可以與第一C31410和第二C31412都耦合,并可以設計用于當第一C31410和第二C31412中的任一個遇到傳輸錯誤時增加內部計數值。所述用于錯誤檢測的電路1400表示了例如BER計數器和TCCS的外圍硬件是怎樣共用的。在一些典型實施方式中,測試模型的不同數據源可以并行地應用于第一和第二并行轉換器1406和1408,從而更接近地建模在現場時的功能操作,例如當接收機被用來接收實際環境中的數據而不是測試數據時。在一些典型實施方式中,誤比特率(BER)計數器還可以在正常工作中被使能以從多個C3中收集BER。在一些典型實施方式中,數據的測試模型可以由PRBS來產生。在一些典型實施方式中,可以使用靈活的FIFO用作FIFO1416和/或FIFO1418。在一些典型實施方式中,分別在圖11和圖12中的C31102和C31200是在圖9和圖10中的C3902和C31000的父集,而圖9和圖10中的C3902和C31000可以是圖7和圖8中的C3702和C3800的父集。在一些典型實施方式中,如果圖12中的RDT被禁止了(輸出RDT=0),則電路1200可以等價于圖9和圖10中的C3。在一些典型實施方式中,如果CEC和RDT都被禁止了,則電路1200可以等價于圖7和圖8。圖15描述了錯誤檢測編碼數據的方法的典型實施方式的流程圖1500。所述方法包括步驟接收輸入的串行編碼數據包1502,并行轉換進入的串行編碼數據包1504,檢查數據包的有效性,產生并行轉換后的編碼數據包的DC值1506,確定DC或RD值是否無效1508,并且如果并行轉換后的編碼數據包沒有有效的DC或RD值,則標記所輸入的數據為失敗1510。注意本發明的進一步的實施方式,可以理解,本發明包括檢測系統中并行編碼校驗器(C3)邏輯對數據流的性能的方法的實施方式。在一個實施方式中,所述方法包括對并行編碼校驗器(C3)邏輯中的至少一個寄存器進行編程以設定該系統為測試模式。所述方法還可以包括監測碼字,并確定在該監測中所檢測到的有效碼字的數量。所述方法可以進一步包括確定是否檢測到了預定數量的有效碼字,在編碼定界符檢測器CDD中的測試控制電路使能運行偏差值有限狀態機(RDFSM)來檢查數據流的有效性。其可以進一步包括,當使能RDFSM時,使用REFSM來監測數據流并合適地同步至該數據流。本方法的實施方式可以進一步包括在同步之后,所述C3繼續追蹤該測試規范直到結束為止。本方法的實施方式還可以包括當測試結束時,禁止該并行編碼校驗器(C3)邏輯。本發法的至少一個用于測試系統中的并行編碼校驗器(C3)邏輯對數據流的性能的實施方式,可以進一步提供將該系統設計為測試模式,包括將該系統設計為在線測試模式。在一個實施方式中,所述在線測試模式可以進一步包括在編碼定界符檢測器(CDD)中使能有效碼字(valCW)以同步數據流的起始;設計用于使能CEC和DC/RD控制信號(DC或RD規則檢測)的編碼錯誤校驗控制信號(CEC_en),來從可選的測試規范中選擇測試規范。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供可用的測試規范,包含DC規范、RD規范和DC和RD規范的結合。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供本方法進一步包括最先開始正常系統操作;并隨后設計該系統進入在線測試模式。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供當該系統正在運行時,對C3邏輯中的內部IC總線(I2C)進行編程以設計該系統進入測試模式。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供所述測試模式包含在線測試模式。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供至少一個寄存器包含至少一個內部IC總線(I2C)寄存器。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供至少一個寄存器包含至少多個內部IC總線(I2C)寄存器。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供禁止C3的步驟由禁止測試控制單元來實現。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供禁止或測試控制單元通過由I2C編寫禁止信號來實現。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供在同步后繼續追蹤測試規范直到結束為止的步驟,進一步包括步驟如果遇到錯誤,則增加誤比特率(BER)計數器。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供所述方法進一步包括觀測BER計數器的記錄或數值,以確定錯誤的數量,用作現場信道質量的指示。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供所述測試規范從測試規范組中所選擇,所述測試規范組包括DC規則、RD規則和上述規則的結合。在用于測試并行編碼校驗器(C3)邏輯性能的本方法的另一實施方式中,本方法可以提供當系統正在運行時,執行編程。本發明的實施方式還可以提供電路邏輯最佳化。用于減少硬件的邏輯最佳化通常由商用的電子設計自動化(EDA)邏輯合成工具來實現。事實是,在真值表中為邏輯電路或邏輯電路陣列或組所規定的不需要考慮的狀況越多,則該邏輯電路或邏輯電路陣列或組的實現硬件就越簡單和簡潔。例如,通過從一個特定的邏輯輸入向實際的物理與門邏輯電路制定邏輯真值表所產生的電路,可以當上述邏輯真值表的狀態被指定為“不考慮”的狀態時被簡化為連線或連接,其中例如該不考慮狀態可以是邏輯“0”或邏輯“1”或其相應的信號電壓值。因此,在所提出的方法中,不考慮是基于所存在的碼字錯誤校驗器和/或碼字類型的無效輸出信號而建立的。圖16是典型的邏輯真值表1600。左欄1602表明真值表的輸入(10-比特編碼“編碼[9:0]”),而右欄表示將要被合成的輸出函數。目標輸出函數是碼字的DC值1608、無效碼字(invalCW)1610和碼字ci的RD類型(RDT)函數1612。在此再次重復別處的描述RDT(ci)∈{-1,0,1}和DC(ci)∈{-2,0,2}。表中的符號“X”表示不考慮的狀態。在一些典型實施方式中,可以使用11個檢測無效碼字的等式來完成所需的無效碼字(invalCW)功能。其他的實施方式也可以使用不同的邏輯或數學等式或不同數量的等式來完成所需要的無效碼字(invalCW)功能。當一個碼字是無效的時(invalCW),該情況可以由invalCW輸出函數來識別,所述輸出函數在此通過使用在別處所描述的等式組來實現。所述用于invalCW的等式可以以簡單的邏輯來實現,不需要消耗大量的半導體區域。使用已經存在的invalCW輸出功能和嵌入在RDT功能中的碼字類型,可以顯著地減少所需要的或特定的輸入的數量,并在用于DC和RDT輸出函數的真值表中增加相同數量的不考慮的輸出。在一些實施方式中,通過使用增加了數量的不考慮情況而獲得的對邏輯和相應電路區域的減少,與不使用本發明的不考慮最佳化的邏輯電路相比,至少為50%。在其他的實施方式中,邏輯電路和區域的減少可以至少為60%,在另一些中為70%,而在其他的中至少為80%,或更多。根據現在所要描述的特定示例,這將更加清楚地被理解。回想在具有有效的DC值的IBM8B/10B編碼的典型未使用無效碼字,是4160、5051和4061,其中碼字“M1N0”或“N0M1”表示10-比特碼字由M個1和N個0所組成。由于RD-2和RD+2類型的碼字可以僅由在第1621和1625行所示的DC值來識別,因此RDT對所有的4160和4061碼字都可以為不考慮。從DC值可推出的RD類型可以產生總數為234(2乘以117)的不考慮情況。使用不考慮策略的方法導致消除了117個特定的輸入,如在1606欄的第1621行和第1626行的RDT輸出函數的由附帶的“(117)”所指出的數目。所述DC值和RD類型可以不需要為無效碼字考慮,因為其可以由碼字錯誤校驗器檢測出,所述碼字錯誤校驗器完成invalCW輸出功能。因此,DC和RDT的輸出可以為1624、1627、和1628行作為不考慮情況,分別產生44、186和356個不考慮情況。作為本發明所提出的應用于C3電路的不考慮策略的結果,從總數為1024中分別為RDT和DC輸出函數產生數量為816(117+44+117+186+352)和582(44+186+352)個不考慮情況。因此,所提出的策略為RDT功能減少了特定的輸入數量的816/1024=0.7968,或接近80%,并為DC輸出功能減少了接近57%。應當理解,上述是一個特定典型設計的數量,而完全不考慮情況的有些不同的數量可能代表該可替換設計的總數。在任何情況下,對結果邏輯和在半導體實現中的相應半導體區域的減少是顯著的。如上面所使用的,用語“實施方式”的意思是用于以示例而不是限制的方式表現本發明的實施方式。本領域技術人員應當理解,前述的示例和實施方式是舉例,而不是對本發明范圍的限制。應當明確,當閱讀了說明書和研究了附圖后,對本領域技術人員來說顯而易見的是,所有改變、改進、替換和提高都包括在本發明的真實精神和范圍之內。因此,應當明確,下面所附的權利要求包括了所有上述的修改、改變和替換,其全都落入本發明的真實精神和范圍之內。權利要求1.一種接收機,包括并行轉換器,設計用于將輸入的串行編碼數據并行轉換為編碼數據包;密碼本,設計用于確定該數據包是否是無效的;規范邏輯,設計用于檢查該數據包是否違背了用于對該數據包進行編碼的編碼方案的規范而無效;和數據包錯誤邏輯,用于在操作中,如果該編碼數據包是無效的,則登記該傳輸錯誤。2.根據權利要求1的接收機,其中,在操作中,規范邏輯使用數據包的靜態屬性和包括數據包的數據流的動態屬性來檢測數據包的無效性。3.根據權利要求1的接收機,其中所述數據包是使用DC-平衡嵌入式時鐘編碼方案編碼的10-比特碼字。4.根據權利要求3的接收機,其中所述密碼本包括多個值,所述值能夠被用于確定所述10-比特碼字是否與在對數據包的編碼中所使用的編碼方案相違背。5.根據權利要求1的接收機,其中所述規范邏輯包括11個邏輯等式,所述等式能夠用于確定所述10-比特碼字是否無效。6.根據權利要求1的接收機,其中輸入的數據是10-比特碼字的數據流,且其中,在操作中,所述規范邏輯確定在所述10-比特碼字的數據流中的1和0的數量是否平衡。7.根據權利要求1的接收機,其中輸入的數據是10-比特碼字的數據流,且其中,在操作中,所述規范邏輯確定所述10-比特碼字的數據流的運行偏差值(RD)是否違反了編碼方案。8.根據權利要求7的接收機,其中所述規范邏輯包括11個邏輯等式,所述等式能夠用于確定所述10-比特碼字是否無效。9.根據權利要求1的接收機,進一步包括誤比特率計數器,其中如果數據包無效,則所述誤比特率計數器增加。10.根據權利要求1的接收機,進一步包括多輸入簽名寄存器(MISR),其中,在操作中,如果所述數據包無效,則所述MISR登記錯誤。11.根據權利要求1的接收機,進一步包括檢測時鐘控制結構,用于如果數據包無效,則暫停時鐘以檢查內部寄存器。12.根據權利要求1的接收機,其中所述規范邏輯包括具有四個狀態的有限狀態機(FSM),其中,在操作中,所述FSM追蹤所述數據包是其一部分的數據流。13.根據權利要求12的接收機,其中所述FSM通過從數據流中獲取起始點而自同步。14.根據權利要求12的接收機,其中,在操作中,所述FSM設計用于從錯誤中恢復,從而可以執行連續的誤比特率(BER)測量而不中斷。15.根據權利要求1的接收機,進一步包括多輸入簽名寄存器(MISR),設計用于進行自同步。16.根據權利要求15的接收機,其中,在操作中,所述MISR獨立于所使用的編碼方案。17.根據權利要求1的接收機,其中所述規范邏輯包括多個有限狀態機(FSM),其中,在操作中,第一FSM追蹤包括編碼數據包的數據流的DC平衡,第二FSM追蹤數據流的運行偏差(RD)值。18.根據權利要求1的接收機,其中密碼本通過使用只讀存儲器來實現,其中,在操作中,通過允許對編碼數據包的定制的RD值而允許可配置的測試。19.根據權利要求1的接收機,其中所述規范邏輯包括,錯誤檢測電路,包括并行編碼校驗器(C3)邏輯,涉及用于確定數據流中的編碼數據包的DC值;和有限狀態機(FSM),設計用于追蹤數據流的狀態;其中,在操作中,所述C3向FSM發送編碼數據包的DC值,所述FSM使用所述DC值來確定給定的數據流的當前狀態是否產生了錯誤。20.一種用于驗證數據整體性的方法,所述方法包括接收輸入的串行編碼數據包;并行化轉換所輸入的串行編碼數據包;檢查數據包的有效性;產生編碼數據包的測試響應值;確定所述的測試響應值是有效的還是無效的測試響應值;和如果所述測試響應值是無效的,則隨后將所輸入的并行化轉換后的編碼數據包標記為失敗。21.根據權利要求20的方法,其中測試響應值包括DC值。22.根據權利要求20的方法,其中所述測試響應值包括運行偏差(RD)值。23.根據權利要求20的方法,其中所述測試響應值包括直流(DC)值、運行偏差(RD)值、或DC和RD值兩者的結合。24.根據權利要求20的方法,其中所輸入的數據包是使用DC-平衡嵌入式時鐘編碼方案編碼的10-比特碼字。25.根據權利要求24的方法,其中確定并行轉換后的編碼數據包的DC值涉及在所述10-比特碼字中的1和0的比率。26.根據權利要求20的方法,其中使用有限狀態機對包括編碼數據包的數據流的RD值進行建模來確定測試響應值是否無效。27.根據權利要求20的方法,進一步包括如果數據包被標記為失敗,則增加誤比特率計數器。28.根據權利要求20的方法,進一步包括使用多輸入簽名寄存器(MISR)來登記錯誤。29.根據權利要求20的方法,進一步包括如果數據包被標記為失敗則暫停時鐘;和檢查內部寄存器以確定是否發生了錯誤。30.一種錯誤檢測電路,包括并行編碼校驗器(C3)邏輯,設計用于確定數據流中的編碼數據包的DC值;和有限狀態機(FSM),設計用于追蹤該數據流的狀態;其中,在操作中,所述C3邏輯向FSM發送編碼數據包的DC值,所述FSM使用該DC值來確定在給定的數據流的當前狀態中是否發生了錯誤。31.根據權利要求30的錯誤檢測電路,其中所述FSM追蹤數據流的DC值以確定是否發生了錯誤。32.根據權利要求30的錯誤檢測電路,其中所述FSM追蹤數據流的運行偏差(RD)值來確定是否發生了錯誤。33.根據權利要求30的錯誤檢測電路,其中所述FSM追蹤數據流的DC狀態和RD狀態來確定是否發生了錯誤。34.根據權利要求30的錯誤檢測電路,其中所述C3邏輯包括加法器和DC映射器。35.根據權利要求30的錯誤檢測電路,其中所述C3邏輯包括編碼錯誤校驗器(CEC)和DC計算器.36.根據權利要求35的錯誤檢測電路,其中所述CEC用于在對數據包進行編碼中為編碼方案確定所述數據包是否是有效碼字。37.根據權利要求35的錯誤檢測電路,其中所述DC計算器設計用于判定與編碼數據包的DC值相對應的信號,其中,在操作中,所判定的信號由FSM用于確定是否發生了錯誤。38.根據權利要求30的錯誤檢測電路,其中所述C3邏輯包括編碼錯誤校驗器(CEC)、RD類型電路和DC電路。39.根據權利要求38的錯誤檢測電路,其中所述RD類型電路設計用于判定產生于編碼數據包的RD類型的信號,所述DC電路設計用于向數據包分配DC值,所述映射電路設計用于將所分配的DC值判定為映射信號,其中,在操作中,所述RD類型信號和映射信號由FSM用來確定是否發生了錯誤。40.根據權利要求35的錯誤檢測電路,其中當產生了無效碼字時,所述CEC產生無效信號,其中,在操作中,所述無效信號取代DC/RD計算的輸出信號,以通過減少需要正確輸出的狀態的數量而允許FSM和DC/RD計算電路的最佳化。41.一種存儲在計算機可讀介質上的計算機程序,該計算機程序包括用于控制計算設備的操作的指令,所述指令包括使計算設備通過執行以下步驟而驗證數據完整性的指令接收輸入的串行編碼數據包;并行化轉換所輸入的串行編碼數據包;檢查數據包的有效性;產生編碼數據包的測試響應值;確定所述的測試響應值是有效的還是無效的(通稱)值;和如果所述測試響應值是無效的,則隨后將所輸入的并行化轉換后的編碼數據包標記為失敗。42.根據權利要求41的方法,其中所述測試響應值包括DC值。43.根據權利要求41的方法,其中所述測試響應值包括運行偏差(RD)值。44.根據權利要求41的方法,其中所述測試響應值包括直流(DC)值、偏差(RD)值、或DC和RD值兩者的結合。45.一種用于測試在系統中并行編碼校驗器(C3)邏輯對數據流的性能的方法,所述方法包括在所述并行編碼校驗器(C3)邏輯中至少編寫一個寄存器以設計該系統進入測試模式;監測碼字并確定所檢測的有效碼字的數量;如果檢測到了預定數量的有效碼字,則編碼定界符檢測器(CDD)中的測試控制電路使能運行偏差值有限狀態機(RDFSM),以檢測數據流的有效性;當RDFSM被使能,使用REFSM來監測數據流并合適地同步至所述數據流;在同步之后,所述C3繼續追蹤測試規范直至結束;和當完成了測試時,禁止C3邏輯。46.根據權利要求45的方法,其中將系統設計為進入測試模式包括將系統設計為在線測試模式,該在線測試模式進一步包括使能編碼定界符檢測器(CDD)中的有效碼字(valCW)以同步數據流的起始;和設計編碼錯誤檢測器控制信號(CEC_en)以使能CEC和DC/RD控制信號(DC或RD規范檢測),用于從可選的測試規范中選擇測試規范。47.根據權利要求46的方法,其中所述可用的測試規范包括DC規范、RD規范、或DC和RD規范兩者的結合。48.根據權利要求45的用于測試的方法,其中所述方法進一步包括最先開始正常的系統操作;和隨后設計系統進入在線測試模式。49.根據權利要求48的用于測試的方法,進一步包括當系統正在運行時,在C3邏輯中編寫內部IC總線(I2C)寄存器,以設計系統進入測試模式。50.根據權利要求49的用于測試的方法,其中所述測試模式包括在線測試模式。51.根據權利要求45的方法,其中至少一個寄存器包含至少一個內部IC總線(I2C)寄存器。52.根據權利要求45的方法,其中至少一個寄存器包含多個內部IC總線(I2C)寄存器。53.根據權利要求45的方法,其中禁止C3的步驟通過禁止測試控制單元來實現。54.根據權利要求53的方法,其中所述禁止或測試控制單元通過經由I2C編寫禁止信號來實現。55.根據權利要求45的方法,其中在同步后繼續追蹤測試規范直到結束的步驟進一步包括步驟如果遇到錯誤,則增加誤比特率(BER)計數器。56.根據權利要求55的方法,其中所述方法進一步包括觀察BER計數器的內容或數值以確定錯誤的數量,作為現場信道質量的指示。57.根據權利要求45的方法,其中所述測試規范從測試規范組中選擇,所述測試規范組包括DC測試規范、RD測試規范和兩者的結合。58.根據權利要求45的方法,其中當系統正在運行時執行所述編程。59.一種用于最佳化并行編碼校驗器邏輯電路的方法,以減少在硬件設備上實現并行編碼校驗器所需要的邏輯部件的數量和半導體區域,所述方法包括基于所存在的碼字錯誤校驗器和/或碼字類型的無效輸出信號來識別真值表輸入,所述輸入代表不考慮的邏輯級別輸入狀態;識別真值表輸出,所述輸出代表與真值表輸入相對應的合成輸出函數;和使用具有標記了不考慮的真值表輸入和標記了的真值表輸出的真值表來產生用于并行編碼校驗器邏輯電路的設計。60.根據權利要求59的方法,其中真值表中的不考慮項是不考慮并行編碼校驗器DC輸出函數、RDT輸出函數或DC輸出函數和RDT輸出函數兩者結合。61.根據權利要求59的方法,其中所述真值表被應用于10-比特碼字。62.根據權利要求59的方法,其中所述方法與不標記不考慮輸入的設計相比至少減少了百分之七十的特定輸入的數量。63.根據權利要求59的方法,進一步包括使用最佳化的設計在半導體材料上制造所述并行編碼校驗器邏輯電路。64.根據根據權利要求59所述的方法所制造的并行編碼校驗器邏輯電路。全文摘要用于檢測高速輸入/輸出系統中的錯誤的方法、設備和系統。系統和設備可以包括并行編碼校驗器,用于通過包含數據包的數據流的數據包靜態屬性和動態屬性來檢測編碼數據包中的錯誤。方法可以包括使用包括所述數據包的數據流的數據包靜態屬性和動態屬性來檢測無效編碼數據包。用于最佳化并行編碼校驗器邏輯的設計的方法使用不考慮狀態,和并行編碼校驗器電路具有減少的邏輯部件和半導體區域需求。文檔編號H04L1/24GK101079684SQ20071010169公開日2007年11月28日申請日期2007年1月19日優先權日2006年1月20日發明者C·蘇,H·崔,G·安申請人:晶像股份有限公司