專利名稱:用于總線驗(yàn)證的片上電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路,更具體地說,涉及用于總線驗(yàn)證的片上
電路。
背景技術(shù):
調(diào)試、驗(yàn)證和/或訓(xùn)練集成電路之間和/或之內(nèi)的總線連接在傳統(tǒng) 上一直很困難。雖然有工具來確定是否存在與總線通路關(guān)聯(lián)的短路或 開路,但是這些工具通常是不適合實(shí)速總線驗(yàn)證的靜態(tài)工具。雖然短 路在任何速度都是短路,但是其它電氣問題可能只在極高速度出現(xiàn)。
與總線驗(yàn)證關(guān)聯(lián)的一些傳統(tǒng)工具可采用傳統(tǒng)技術(shù)、如ECC(檢錯 和糾錯)或奇偶校驗(yàn)來檢測總線錯誤。在檢測到錯誤時,這些工具可 產(chǎn)生HPMC(高優(yōu)先級機(jī)器校驗(yàn))。雖然事后故障轉(zhuǎn)儲數(shù)據(jù)可能是可得 到的,但是這種數(shù)據(jù)可能價值有限。例如,數(shù)據(jù)可能沒有與檢測它時 所在的周期關(guān)聯(lián),可能沒有標(biāo)識導(dǎo)致崩潰狀況的事件,可能不便于觸 發(fā)臨時有意義的測試事件,等等。另外,這些工具以傳統(tǒng)方式設(shè)計(jì)用 于運(yùn)行時檢錯、包容等。
傳統(tǒng)的總線驗(yàn)證工具和技術(shù)可能依靠與總線關(guān)聯(lián)的現(xiàn)有協(xié)議。但 是,采用這類協(xié)議若完全有可能、也難以產(chǎn)生感興趣的測試模式以及 在已知和/或可預(yù)測時間以已知和/或可預(yù)測序列將其發(fā)送,以便于與 例如監(jiān)測示波器之類的其它動作協(xié)調(diào)。因此,這些傳統(tǒng)工具可能受到 芯片/總線組合可能產(chǎn)生的正常代碼的制約。另外,這些傳統(tǒng)工具可 能僅依靠例如電壓、溫度和頻率之類的變化參數(shù)等的技術(shù)來驗(yàn)證總 線。同樣,雖然這可能提供某種數(shù)據(jù),但沒有取得嚴(yán)格的實(shí)速電氣驗(yàn) 證。許多傳統(tǒng)總線驗(yàn)證工具要求要由總線連接的集成電路在進(jìn)行總 線驗(yàn)證之前基本完成。這產(chǎn)生與連續(xù)發(fā)展相關(guān)的雞和蛋問題。因此, 集成電路研制、固件開發(fā)以及總線驗(yàn)證可能密切關(guān)聯(lián),產(chǎn)生前后緊接 的連續(xù)發(fā)展情況。
傳統(tǒng)工具可能還需要例如與示波器或協(xié)議分析器關(guān)聯(lián)的那些電 氣探測器的物理連接。隨著不斷增加的芯片密度和電路密度以及相應(yīng) 地不斷減小的跡線、通路和布線尺寸,這類物理連接變得更為困難。
另外,傳統(tǒng)工具可能不產(chǎn)生嚴(yán)格得足以評估與符號間干擾(ISI) 等關(guān)聯(lián)的問題的條件。作為舉例說明,驅(qū)動到總線線路上的數(shù)據(jù)的歷 史可能影響那個線路上將來數(shù)據(jù)符號的定時。但是,這些影響可能僅 出現(xiàn)在某些較高頻率上,因?yàn)檫@些影響可能取決于例如線路幾何尺 寸、線路長度、線路電阻、線路電容等等。作為進(jìn)一步舉例說明,傳 統(tǒng)工具可能無法創(chuàng)建例如飽和總線通信量情況之類的條件。另外,由 于復(fù)雜的總線協(xié)議,即使可能曾創(chuàng)建某種條件,也可能難以根據(jù)需求 可靠地重建該條件以幫助驗(yàn)證和診斷。
一些工具甚至幫助提供小的碼模式以便于邊界掃描。例如,IEEE 1149.1標(biāo)準(zhǔn)描述聯(lián)合測試行動組(JTAG)提供的邊界掃描協(xié)議。但是, 這種邊界掃描本質(zhì)上是靜態(tài)(dc)測試。另外,與這種類型的邊界掃描 關(guān)聯(lián)的串行體系結(jié)構(gòu)未推動實(shí)速電氣-驗(yàn)證。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供一種系統(tǒng),包括
第一電路,可操作地連接到要電氣驗(yàn)證的總線,所述第一電路包 括第一邏輯部件,配置成有選擇地產(chǎn)生可^皮驅(qū)動到所述總線上的電 信號的測試序列;第二邏輯部件,配置成產(chǎn)生可被驅(qū)動到所述總線上 的一個或多個總線協(xié)議信號;總線接口邏輯部件,可操作地連接到第 一邏輯部件和第二邏輯部件,所述總線接口邏輯部件配置成把所述測 試序列和所述總線協(xié)議信號驅(qū)動到所述總線上;以及測試邏輯部件,可操作地連接到第 一邏輯部件、第二邏輯部件和所述總線接口邏輯部 件中的一個或多個,所述測試邏輯部件配置成控制第 一 電路選擇把所 述總線協(xié)議信號和所述測試序列中的哪一個驅(qū)動到所述總線上;以及
第二電路,可操作地連接到所述總線,所述第二電路包括第三 邏輯部件,配置成從所述總線接收把所述測試序列驅(qū)動到所述總線上
的所述總線接口邏輯部件所產(chǎn)生的電序列的所接收序列;第四邏輯部 件,配置成產(chǎn)生與所述測試序列相關(guān)的電信號的校驗(yàn)序列;以及總線 檢驗(yàn)邏輯部件,可操作地連接到第三邏輯部件和第四邏輯部件,所述 總線檢驗(yàn)邏輯部件配置成至少部分根據(jù)比較所述所接收序列與所述 校驗(yàn)序列來確定所述總線是否正確地傳送數(shù)字?jǐn)?shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供一種操作總線驗(yàn)證系統(tǒng)的方法,包 括控制驅(qū)動器進(jìn)入就緒狀態(tài),所述驅(qū)動器在可操作地連接到要由所 述總線驗(yàn)證系統(tǒng)測試的總線的第一電路中實(shí)現(xiàn);控制接收器進(jìn)入校驗(yàn) 狀態(tài),所述接收器在可操作地連接到所述總線的第二電路中實(shí)現(xiàn),所 述接收器配置成產(chǎn)生電信號的笫一序列;控制所述驅(qū)動器進(jìn)入生成狀 態(tài),其中電信號的第二序列被驅(qū)動到所述總線上;以及至少部分根據(jù) 所述接收器比較第 一序列與響應(yīng)被驅(qū)動到所述總線上的第二序列而 接收的一個或多個電信號,電氣驗(yàn)證所述總線。
結(jié)合在說明中并且構(gòu)成其部分的
各種示例系統(tǒng)、方法 等,它們說明本發(fā)明的各方面的各種示例實(shí)施例??梢岳斫猓瑘D中所 示元件邊界(例如塊、塊組或其它形狀)表示邊界的一個實(shí)例。本領(lǐng)域 的技術(shù)人員會理解, 一個元件可祐:i殳計(jì)成多個元件,或者多個元件可 被設(shè)計(jì)成一個元件。在一些實(shí)例中,表示為另一個元件的內(nèi)部組件的 某個元件可作為外部組件來實(shí)現(xiàn),反之亦然。此外,元件可能未按比 例繪制。
圖l說明一個示例片上總線驗(yàn)證系統(tǒng)。圖2說明另 一個示例片上總線驗(yàn)證系統(tǒng)。
圖3說明配置了片上總線驗(yàn)證系統(tǒng)的一部分的集成電路。 圖4說明配置了與外部裝置交互的示例片上總線驗(yàn)證系統(tǒng)的集 成電路。
圖5說明配置了與另一個外部裝置交互的示例片上總線驗(yàn)證系
統(tǒng)的集成電路。
圖6是片上總線驗(yàn)證系統(tǒng)的一部分的簡化電路圖。
圖7是片上總線驗(yàn)證系統(tǒng)的一部分的簡化電路圖。
圖8說明與片上總線驗(yàn)證系統(tǒng)關(guān)聯(lián)的一種示例方法。
圖9說明本文所述的示例系統(tǒng)及方法在其中可工作的一個示例
計(jì)算環(huán)境。
圖10說明本文所述的示例系統(tǒng)及方法在其中可工作的一個示例 成像裝置。
具體實(shí)施例方式
驗(yàn)證的設(shè)計(jì)是頻繁受到時間和資源限制的經(jīng)常被忽略的領(lǐng)域。但 是,提供幫助與總線協(xié)議的可用性無關(guān)地檢查總線的電氣特性的自動 片上工具有助于分離芯片和總線開發(fā)。因此,本文所述的示例系統(tǒng)和 方法涉及制作成幫助在電氣上實(shí)速驗(yàn)證總線的集成電路的自動工具。 示例系統(tǒng)及方法可制作成單個集成電路和/或兩個或兩個以上集成電 路,因而可能不需要例如示波器或協(xié)議分析器之類的附加外部硬件來 電氣驗(yàn)證總線。雖然可能不需要外部硬件,但是示例系統(tǒng)及方法可幫 助向外部硬件提供信號,以便于協(xié)調(diào)驗(yàn)證活動。類似地,示例系統(tǒng)及 方法可幫助獲取與總線驗(yàn)證關(guān)聯(lián)的數(shù)據(jù),以便幫助根據(jù)需求的重復(fù) 性、外部分析等。雖然本文中描述"總線驗(yàn)證",但是要理解, 一些 示例系統(tǒng)及方法可應(yīng)用于其它領(lǐng)域,例如生產(chǎn)測試。
示例系統(tǒng)及方法可幫助產(chǎn)生影響總線線路之間的串?dāng)_、總線線路 之間的干擾、與總線關(guān)聯(lián)的電源的電流瞬變、與總線關(guān)聯(lián)的芯片中的接地跳動、總線線路中的諧振、飽和總線通信量狀況、衰減、端接失 配、PCB加工漂移等的電氣條件。這些條件可產(chǎn)生導(dǎo)致通過遭遇這些 條件的總線傳送的數(shù)據(jù)中的可觀察數(shù)字?jǐn)?shù)據(jù)錯誤的影響。訓(xùn)練這些和 /或其它電氣特性有助于端到端訓(xùn)練總線通路,在其中,通路可包括 例如焊盤、跡線、介入緩沖器和寄存器芯片等元件。這些特性和通路 可在對于組件有意義的速度(例如實(shí)際總線時鐘速度)來訓(xùn)練,而不要 求通過總線連接的電路和/或集成電路經(jīng)過測試為百分之百可工作 的。
示例系統(tǒng)及方法可采用獨(dú)立于與被驗(yàn)證總線關(guān)聯(lián)的系統(tǒng)的其余 部分或者與總線關(guān)聯(lián)的任何單個集成電路的功能性的專用電路。專用 電路幫助動態(tài)產(chǎn)生和/或檢驗(yàn)可驅(qū)動到總線上的受關(guān)注電氣模式。這 些才莫式可幫助測試和/或表征系統(tǒng)中集成電3各之間的外部連接。不同 的可能模式和/或序列可用于不同目的。例如,偽隨機(jī)序列可用來產(chǎn)
生可強(qiáng)調(diào)符號間干擾(ISI)條件的模式。類似地,步行式一或步行式零 序列可幫助執(zhí)行最快的邊緣測試。交替的全一和/或全零序列可幫助 測試最大功率、噪聲、RFI(射頻干擾)等,而具有始終為高電平或低 電平的用戶可選擇輸出的交替全一和/或全零序列幫助測試接地跳動 和/或串?dāng)_。交替AA或55序列可幫助測試最大功率。其它序列可幫 助測試與電源關(guān)聯(lián)的最大電流瞬變、測試諧波和諧振,等等。雖然這 些測試模式幫助訓(xùn)練這些特性,但示例系統(tǒng)及方法幫助觀察可構(gòu)成伴 隨所訓(xùn)練特性的問題的數(shù)字?jǐn)?shù)據(jù)錯誤。
在不同的實(shí)例中,這些不同的^^式和/或序列可施加到不同的總 線線路、總線線路集合等,以便訓(xùn)練不同的電氣特性。例如,給定具 有N條線路的總線,其中N為整數(shù),則N-l條線路可采用某個序列 以某種方式來驅(qū)動,而第N條線路則可以不同方式來驅(qū)動。這可幫 助識別N-l條線路如何影響第N條線路,反之亦然。因此,可采用 獨(dú)立于總線協(xié)議的內(nèi)置電路對出故障的線路和/或受影響的線路實(shí)速 識別、隔離和表4i。在 一 個實(shí)例中,模式和序列可采用例如線性反饋移位寄存器
(LFSR)之類的模式生成器來產(chǎn)生。雖然描述LFSR,但是要理解,可 采用其它可編程模式生成器。片上模式生成器可自動地即時產(chǎn)生測試 模式,它消除了傳統(tǒng)系統(tǒng)中提供(例如時鐘輸入)模式和/或在硅中存儲 模式的需要。這可幫助減少測試模式生成時間,同時對芯片本體消耗 產(chǎn)生最小影響(例如,僅增加模式生成器和復(fù)用器)。
在一個實(shí)例中,模式生成器可與芯片中可能存在的其它時鐘同步 地實(shí)時產(chǎn)生和/或比較模式。因此,模式生成器及關(guān)聯(lián)的驗(yàn)證工具可 以為總線設(shè)計(jì)的全速運(yùn)行。通過采用芯片中的現(xiàn)有組件,以及通過添 加例如模式生成器、復(fù)用器和比較器之類的有限附加組件,沒有附加 延遲可能被引入總線發(fā)送方和總線接收方所使用的"正常"通路。
以下包括本文所采用的所選術(shù)語的定義。這些定義包括屬于術(shù)語 的范圍并且可用于實(shí)現(xiàn)的組件的各種實(shí)例和/或形式。這些實(shí)例不用 于限制。術(shù)語的單數(shù)和復(fù)數(shù)形式可在定義的范圍內(nèi)。
"總線,,在本文中從電氣為中心的觀點(diǎn)來使用。因此,"總線" 表示連接在共享例如共同拓樸、定時方法、信令方法、阻抗、方向性、 路由選擇限制等屬性的一個或多個驅(qū)動器與一個或多個接收器之間 的電氣上相似的通路的集合。"總線"可包括其中包含不改變通路上 的數(shù)字值的有源組件的通路??偩€可連接單個集成電路內(nèi)部的組件和 /或可連接兩個不同的集成電路??偩€可具有一條或多條線路、布線、 跡線、通路等。
"總線訓(xùn)練"在本文中也從電氣為中心的觀點(diǎn)來使用。"總線訓(xùn) 練"表示操縱總線布線、跡線、線路、通路等,以便向電氣和/或定 時特性施加壓力,而不遵守應(yīng)用于正??偩€操作的協(xié)議規(guī)則。
本文所使用的"數(shù)據(jù)存儲器"表示可存儲數(shù)據(jù)的物理和/或邏輯 實(shí)體。數(shù)據(jù)存儲器可能是例如存儲器、寄存器、鎖存器等。數(shù)據(jù)存儲 器可駐留在一個邏輯和/或物理實(shí)體中,和/或可分布在兩個或兩個以 上邏輯和/或物理實(shí)體之間。本文所使用的"邏輯部件"包括但不限于硬件和固件和/或它們 每個的組合,用以執(zhí)行功能或動作,和/或引起另一個邏輯和/或系統(tǒng) 的功能或動作。邏輯部件可包括一個或多個門電路、門電路的組合或 者其它電路組件。雖然描述多個邏輯的邏輯部件,但也可能把多個邏 輯的邏輯部件結(jié)合到一個物理邏輯部件中。類似地,雖然描述單個邏 輯的邏輯部件,但也可能在多個物理邏輯部件之間分配那個單個邏輯 的邏輯部件。
"可操作連接"或者實(shí)體通過其"可操作地連接"的連接是其中 可發(fā)送和/或接收信號、物理通信和/或邏輯通信的連接。可操作連接 通常包括物理接口、電氣接口和/或數(shù)據(jù)接口,但是要注意,可操作 連接可包括足以允許可操作控制的這些或其它類型的連接的不同組 合。例如,通過能夠相互直接傳遞信號或者經(jīng)由如處理器、操作系統(tǒng)、 邏輯部件或其它實(shí)體之類的一個或多個中間實(shí)體傳遞信號,可以可才乘 作地連接兩個實(shí)體。邏輯和/或物理通信信道可用來創(chuàng)建可#:作連4妄。
本文所使用的"信號"包括但不限于一個或多個電或光信號、數(shù) 字信號或者可接收、發(fā)送和/或檢測的其它方式。
以下詳細(xì)描述的 一些部分根據(jù)對存儲器中的數(shù)據(jù)位的操作的算 法和符號表示來提供。這些算法描述和表示是本領(lǐng)域的技術(shù)人員用來 向他人傳達(dá)其工作實(shí)質(zhì)的方式。算法在此以及一般被認(rèn)為是產(chǎn)生某個 結(jié)果的操作序列。操作可包括物理量的物理處理。物理量通常但不一 定采取電或磁信號的形式,它們能夠在邏輯部件中被存儲、傳送、組 合、比較或者以其它方式處理等。
主要為了一般使用的原因,將這些信號稱作位、值、元素、符號、 字符、項(xiàng)、編號等,已經(jīng)證明有時非常便利。但應(yīng)當(dāng)記住,這些及類 似的術(shù)語均與適當(dāng)?shù)奈锢砹筷P(guān)聯(lián),并且只是應(yīng)用于這些量上的便捷標(biāo) 記。除非另外明確說明,否則應(yīng)理解,在整個描述中,例如處理、計(jì) 算、運(yùn)算、確定等術(shù)語表示處理和變換表示為物理(電子)量的數(shù)據(jù)的 計(jì)算機(jī)系統(tǒng)、邏輯部件、處理器或類似電子裝置的動作和過程。圖1說明一個示例片上總線驗(yàn)證系統(tǒng)100。系統(tǒng)ioo可幫助在電 氣上驗(yàn)證和/或表征總線110。系統(tǒng)100可包括例如生成電路120和校 驗(yàn)電路130。如上所述,與驗(yàn)證總線100關(guān)聯(lián)的邏輯部件、電路等可 制作為集成電路,而不是由例如示波器、協(xié)議分析器等外部裝置來提 供。
系統(tǒng)100促進(jìn)總線110的增強(qiáng)驗(yàn)證功能。生成電路120可產(chǎn)生確 定性模式(例如偽隨機(jī)模式),它在電路120中產(chǎn)生并被驅(qū)動到總線110 上。校驗(yàn)電路130可產(chǎn)生匹配確定性模式,它在電路130中產(chǎn)生,然 后與從總線110接收的信號進(jìn)行比較。從總線IIO接收的信號可通過 把生成電路120所產(chǎn)生的確定性模式驅(qū)動到總線110上來產(chǎn)生。在一 個實(shí)例中,如果通過總線110所接收的信號不匹配校驗(yàn)電路130所產(chǎn) 生的確定性模式,則可能存在"比較錯誤"狀態(tài)。
為了便于仔細(xì)檢查某些故障,在一個實(shí)例中,生成電路120可配 置成在預(yù)期點(diǎn)開始某一序列,和/或在序列的預(yù)期部分上循環(huán)。例如, 如果序列的某個部分已知在校驗(yàn)電路130中產(chǎn)生比較錯誤狀態(tài),則生 成電路120可配置成把序列的那個部分重復(fù)驅(qū)動到總線110上。
在一個實(shí)例中,可至少部分地通過經(jīng)由接口 (未示出)提供的信息 控制生成電路120和校驗(yàn)電路130。例如,基本掃描系統(tǒng)可用來幫助 對要生成的模式編程,開始模式生成,終止模式生成,詢問結(jié)果(例 如,讀取掃描可訪問寄存器),等等。
雖然在圖1中說明了一個總線110和一個校驗(yàn)電路130,但是要 理解,在一些實(shí)例中,生成電路120可連接到一個以上總線和/或一 個以上校驗(yàn)電路。類似地,雖然單個生成電路120表示為向總線110 提供信號,但是要理解,總線可接收來自 一個或多個生成電路的信號。
圖2說明一個示例片上總線^r證系統(tǒng)200。系統(tǒng)200可包括第一 電路210,它可操作地可連接到要電氣驗(yàn)證的總線205。系統(tǒng)200還 可包括第二電路220,它也可操作地可連接到總線205。電路210可 包括核心230,以及電路220也可包括核心240。在非驗(yàn)證操作中,在電路210與電路220之間傳送的信號可由其各自的核心來提供,并 通過總線205傳遞。系統(tǒng)200執(zhí)行電氣總線驗(yàn)證時,這些核心可能被 禁用或者阻止其信號。例如,當(dāng)電氣總線驗(yàn)證發(fā)生時,核心可保持為 復(fù)位狀態(tài)。沒有執(zhí)行電氣驗(yàn)證時,核心所提供的信號可在沒有可歸因 于測試系統(tǒng)200的元件的任何附加延遲的情況下被傳遞。雖然總線 205表示為連接電3各210和電路220,但是要理解,在一個實(shí)例中, 與總線205關(guān)聯(lián)的電氣通路可以端到端測試。端到端測試可包括測試 電氣通路,其中包括如線路、跡線、引腳之類的傳輸元件以及如焊盤、 跡線、緩沖器、寄存器之類的不改變數(shù)字值的附加元件。要理解,在 一些實(shí)例中,第一電路210和第二電路220可制作為單個集成電路, 而在另一些實(shí)例中,電路210和電路220可制作為分開的集成電路。
電路210可包括第一邏輯部件250,它配置成有選擇地產(chǎn)生可驅(qū) 動到總線205上的電信號的測試序列。在一個實(shí)例中,第一邏輯部件 250可能是線性反饋移位寄存器(LFSR)。 LFSR可配置成例如根據(jù)循 環(huán)冗余校驗(yàn)(CRC)多項(xiàng)式法來產(chǎn)生偽隨機(jī)測試序列。雖然描述LFSR, 但是要理解,可采用其它種子模式生成器。在一個實(shí)例中,第一邏輯 部件250可配置成與提供第一電路210中的定時信號的一個或多個時 鐘電路同步地實(shí)時產(chǎn)生測試序列。
在一個實(shí)例中,第一邏輯部件250可配置重裝籽數(shù)循環(huán)特征。重 裝籽數(shù)循環(huán)特征有助于讓第一邏輯部件250重復(fù)加載預(yù)期籽數(shù),并多 次產(chǎn)生與那個籽數(shù)關(guān)聯(lián)的序列。這可幫助在棘手序列上進(jìn)行組合以便 集中觀察。在另一個實(shí)例中,第一邏輯部件250可配置成首先采用原 始籽數(shù)運(yùn)行長測試。然后,在測試期間,系統(tǒng)200可獲取與受關(guān)注的 (例如導(dǎo)致比較錯誤的)序列的部分有關(guān)的信息??蔀檫@些受關(guān)注部分 確定用于第一邏輯部件250的籽數(shù),然后,第一邏輯部件250可祐L控 制為重復(fù)和/或根據(jù)需求有選擇地加載這些籽數(shù),并因而重復(fù)和/或根 據(jù)需求有選擇地產(chǎn)生序列的受關(guān)注部分。
電路210還可包括第二邏輯部件260,它配置成產(chǎn)生可驅(qū)動到總線205上的總線協(xié)議信號。這些總線協(xié)議信號可在電路210沒有以測 試模式工作時被產(chǎn)生和使用。
電路210還可包括總線接口邏輯部件270,它可操作地連接到第 一邏輯部件250和第二邏輯部件260。但是,系統(tǒng)200可按照協(xié)議無 關(guān)模式來驗(yàn)證,因而測試序列和總線協(xié)議信號不會同時被驅(qū)動到總線 205上。因此,總線接口邏輯部件270可被控制為選擇測試序列和總 線協(xié)議信號中的哪個被驅(qū)動到總線205上。在一個實(shí)例中,為了有助 于現(xiàn)實(shí)條件,總線接口邏輯部件270可按照總線205在生產(chǎn)中設(shè)計(jì)成 以其工作的時鐘速度或者接近該時鐘速度把測試序列驅(qū)動到總線205 上。例如,如果總線205將^^皮定時在1 GHz,則總線接口邏輯部件270 可按照lGHz或大約lGHz把第一邏輯部件250所提供的信號驅(qū)動到 總線205上。在一個實(shí)例中,總線接口邏輯部件270可被控制為建立 第一邏輯部件250所提供的測試信號被驅(qū)動到總線205上時所用的時 鐘速度。
電路210還可包括測試邏輯部件275,它可操作地連接到第一邏 輯部件250、第二邏輯部件260和/或總線接口邏輯部件270。測試邏 輯部件275可配置成控制電路210有選擇地控制把總線協(xié)議信號還是 測試序列驅(qū)動到總線205上。例如,測試邏輯部件275可配置成控制 總線接口邏輯部件270把來自第 一邏輯部件250的測試信號還是來自 第二邏輯部件260的總線協(xié)議信號驅(qū)動到總線205上。在一個實(shí)例中, 測試邏輯部件275可配置成控制總線接口邏輯部件270有選擇地把第 一邏輯部件250所提供的測試序列驅(qū)動到與總線205關(guān)聯(lián)的不同所選 總線線路上。作為舉例說明,在第一驗(yàn)證中,總線接口邏輯部件270 可被控制為通過總線205中的所有線路發(fā)送序列。作為另外舉例說 明,在第二驗(yàn)證中,總線接口邏輯部件270可被控制為通過總線205 中每隔一條線路或者通過除一個之外的全部線路發(fā)送序列。雖然描述 了三種可能性,但是要理解,總線接口邏輯部件270可^皮控制為通過 其它線路集來驅(qū)動序列。如上所述,系統(tǒng)200可通過4妄口與用戶交互。因此,在一個實(shí)例
中,電路210可配置成接收控制信號。控制信號可確定例如第一邏輯 部件250要產(chǎn)生的測試序列的類型、測試序列長度、初始測試序列識 別序列、開始序列生成的時間、結(jié)束序列生成的時間、把測試序列驅(qū) 動到總線205上的速度、等等。在一個實(shí)例中,接口可由聯(lián)合測試行 動組(JTAG)測試接入端口 (TAP)指令來控制。
如上所述,系統(tǒng)200還可包括第二電路220,它可操作地可連接 到總線205。第二電^各220可包括第三邏輯部件280,它配置成A/v總 線205接收當(dāng)總線接口邏輯部件270把第 一邏輯部件250產(chǎn)生的測試 序列驅(qū)動到總線205上時所產(chǎn)生的電信號序列。要理解,在非測試模 式中,第三邏輯部件280可接收來自總線205的協(xié)議信號和/或其它 信號(例如數(shù)據(jù))。
電路220還可包括第四邏輯部件290,它配置成產(chǎn)生電信號的校 驗(yàn)序列。為了有助于通過比較電信號序列來驗(yàn)證總線205,電信號的 校-瞼序列與第一邏輯部件250所產(chǎn)生的測試序列相關(guān)。在一個實(shí)例 中,第一邏輯部件250和第四邏輯部件290是相同的組件。因此,在 一個實(shí)例中,第四邏輯部件290所產(chǎn)生的^t驗(yàn)序列與第一邏輯部件 250所產(chǎn)生的測試序列相同。第一邏輯部件250和第四邏輯部件290 所產(chǎn)生的序列可包括例如偽隨機(jī)序列、步行式一序列、步行式零序列、 交替全一序列、交替全零序列、具有始終為高電平的用戶可選輸出的 交替全一序列、具有始終為低電平的用戶可選輸出的交替全一序列、 具有始終為低電平的用戶可選輸出的交替全零序列、具有始終為高電 平的用戶可選輸出的交替全零序列、交替AA序列、交替55序列、 等等。如前面所述,這些不同的序列可單獨(dú)和/或結(jié)合使用,以便訓(xùn) 練總線205的各種電氣特性。然后,可通過失配數(shù)據(jù)來檢測總線存在 的問題。
由于第一邏輯部件250和第四邏輯部件290產(chǎn)生電信號序列,因 此系統(tǒng)200可配置成幫助使兩個序列同步,以便于比較這兩個序列。同步方法可包括例如把第三邏輯部件280配置成查找從總線205所 接收的信號上的特定第一轉(zhuǎn)變,把第三邏輯部件280配置成查找從總 線205所接收的信號中的特定初始序列,把額外線路添加到總線205 以便傳送同步信號,分配總線205中的現(xiàn)有線路來傳送同步信號,等 等。這種同步有助于檢測失配數(shù)據(jù)。
電路220還可包括總線檢驗(yàn)邏輯部件295,它可操作地連接到第 三邏輯部件280和第四邏輯部件290??偩€檢驗(yàn)邏輯部件295可配置 成確定總線205是否正確地傳送數(shù)字?jǐn)?shù)據(jù)。在判定總線是否按照預(yù)期 工作(例如正確傳送數(shù)字?jǐn)?shù)據(jù))時,總線纟全驗(yàn)邏輯部件295可比較第三 邏輯部件280所接收的序列與第四邏輯部件290所產(chǎn)生的校驗(yàn)序列。 在一個實(shí)例中,如果信號不匹配,則系統(tǒng)200可報(bào)告"總線未通過測 試"狀況,而如果整個序列中的所有信號匹配,則系統(tǒng)200可報(bào)告"總 線通過測試,,狀況。在不同實(shí)例中以及在不同測試中,觀察到的數(shù)字 數(shù)據(jù)錯誤可能可歸因于例如接地跳動、串?dāng)_、干擾、電流瞬變、線路 諧振、飽和總線通信量條件、衰減、端接失配、PCB加工漂移之類的 特性所存在的問題。
與電^各210相似,電路220也可通過4妄口與用戶交互。因此,電 路220可配置成接收控制信號??刂菩盘柨纱_定例如第四邏輯部件 290要產(chǎn)生的校驗(yàn)序列的類型、校驗(yàn)序列應(yīng)該多長、第三邏輯部件280 要查找以表明應(yīng)當(dāng)開始序列比較的初始測試序列識別序列、要執(zhí)行測 試的總線線路等。另外,控制信號可確定是否要由總線檢驗(yàn)邏輯部件 295采用錯誤屏蔽。如果要采用錯誤屏蔽,則只有某些用戶可選錯誤 類型(例如串?dāng)_)將被監(jiān)測??刂菩盘栠€可碌定要獲取的比較錯誤數(shù)據(jù) (如果有的話)的類型以及在比較錯誤時是否要將信號提供給外部裝 置。比較錯誤數(shù)據(jù)可在檢測到錯誤之前(例如比較錯誤前數(shù)據(jù))、在檢 測到錯誤之后(例如比較錯誤后數(shù)據(jù))獲得。在一個實(shí)例中,接口可由 聯(lián)合測試4于動組(JTAG)測試接入端口 (TAP)指令來控制。
圖3說明配置了片上總線驗(yàn)證系統(tǒng)的一部分的集成電路300。雖然電路210(圖2)和220(圖2)包含這些元件的一部分,但是要理解, 無論是片上總線驗(yàn)證系統(tǒng)中的生成電路120(圖1)和/或校驗(yàn)電路 130(圖l)之類的集成電路可配置圖3所示的一個或多個元件。
集成電路300可包括核心310,它在非測試情況中提供可驅(qū)動到 總線上的信號或者從總線接收信號。集成電路300還可包括接收器邏 輯部件320,它配置成從總線接收當(dāng)信號被驅(qū)動到集成電路300連接 到的總線上時所產(chǎn)生的電信號序列。要理解,在非測試模式中,接收 器邏輯部件320可接收來自總線的協(xié)議信號和/或其它信號(例如數(shù) 據(jù)),而在測試模式中,接收器邏輯部件320則可接收測試序列信號。 因此,集成電路300可包括測試邏輯部件330,它有助于控制集成電 路300是以總線測試模式還是以正常模式工作。
集成電路300還可包括模式邏輯部件340,它配置成產(chǎn)生電信號 的校驗(yàn)序列。電信號的校驗(yàn)序列可與片上電氣總線測試/驗(yàn)證系統(tǒng)中 的另一個集成電路所產(chǎn)生的測試序列相關(guān)。另外,集成電路300可包 括總線檢驗(yàn)邏輯部件370,它可操作地連接到接收器邏輯部件320和 模式邏輯部件340??偩€檢驗(yàn)邏輯部件370可配置成確定連接到集成 電路300的總線是否在預(yù)定電氣標(biāo)準(zhǔn)范圍內(nèi)工作。在判定總線是否按 照預(yù)期(例如在預(yù)定電氣標(biāo)準(zhǔn)范圍內(nèi))工作時,總線檢驗(yàn)邏輯部件370 可比較接收器邏輯部件320所接收的序列與模式邏輯部件340所產(chǎn)生 的才交-瞼序列。
在一個實(shí)例中,總線檢驗(yàn)邏輯部件370可配置成在檢測到數(shù)字?jǐn)?shù) 據(jù)錯誤(例如數(shù)據(jù)失配)時有選擇地產(chǎn)生外部觸發(fā)380。外部觸發(fā)380 可能是例如電信號,并且例如可提供給例如示波器、協(xié)議分析器等的 外部裝置。因此,集成電路300有助于減輕與傳統(tǒng)工具關(guān)聯(lián)的、涉及 產(chǎn)生總線故障的臨時有意義指示的能力的問題。外部觸發(fā)380可幫助 例如確定序列的哪個部分使總線電氣特性超出預(yù)期范圍,從而導(dǎo)致例 如數(shù)據(jù)失配之類的可觀察事件。
在另 一個實(shí)例中,總線檢驗(yàn)邏輯部件370可配置成有選擇地產(chǎn)生比較錯誤數(shù)據(jù)390。比較錯誤數(shù)據(jù)390例如可配置成記錄與總線操作 參數(shù)有關(guān)的信息。具體來說,比較錯誤數(shù)據(jù)390可記錄與發(fā)生比較錯 誤的時間有關(guān)的信息。因此,比較錯誤數(shù)據(jù)可包括例如模式邏輯部件 340所采用的籽數(shù)值、自發(fā)生比較錯誤的校驗(yàn)測試序列開始的偏移、 在其中發(fā)生比較錯誤的總線線路等。雖然比較錯誤數(shù)據(jù)390表示為處 于集成電路300外部,但是要理解,比較錯誤數(shù)據(jù)390可存儲在集成 電路300中例如掃描可訪問寄存器(未示出)之類的數(shù)據(jù)存儲器中。
比較錯誤數(shù)據(jù)390可采取例如比較錯誤前數(shù)據(jù)、比較錯誤后數(shù)據(jù) 等形式。比較錯誤前數(shù)據(jù)可包括第三邏輯部件320在比較錯誤發(fā)生之 前所接收的信號。然后,當(dāng)比較錯誤發(fā)生時,比較錯誤前數(shù)據(jù)可能可 用于幫助理解所發(fā)生的導(dǎo)致比較錯誤的情況。相反,比較錯誤后數(shù)據(jù) 可包括第三邏輯部件320在比較錯誤發(fā)生之后所接收的信號。
在一個實(shí)例中,總線檢驗(yàn)邏輯部件370可包括屏蔽寄存器(未示 出),它幫助有選擇地產(chǎn)生外部觸發(fā)380、有選擇地收集比較錯誤數(shù)據(jù) 390等。屏蔽寄存器可配置成控制總線檢驗(yàn)邏輯部件370僅報(bào)告與某 些總線布線集合關(guān)聯(lián)的某些類型的比較錯誤。例如,先前測試可能已 經(jīng)揭示總線具有關(guān)于第一布線的問題??蛇M(jìn)行后續(xù)測試以便確定第二 組引腳是否有問題。因此,當(dāng)這個后續(xù)測試正在進(jìn)行時,屏蔽寄存器 可配置成防止總線檢驗(yàn)邏輯部件370根據(jù)在第一布線上所接收的信 號產(chǎn)生比較錯誤。在另 一個實(shí)例中,總線檢驗(yàn)邏輯部件370可包括校 驗(yàn)和寄存器(未示出),它幫助在某個時間周期累積與錯誤(例如比較錯 誤)有關(guān)的信息。這可幫助其目標(biāo)是理解一段時間而不是任何特定時 間點(diǎn)發(fā)生的情況的較長期測試。雖然描述了屏蔽寄存器和校驗(yàn)和寄存 器,但是要理解,屏蔽和校驗(yàn)和功能可通過其它電路、邏輯部件、門 電路等來實(shí)現(xiàn)。
圖4說明配置了與外部裝置450交互的片上總線驗(yàn)證系統(tǒng)的集成 電路400。雖然圖1和圖2描述了具有通過總線連接的兩個電路的系 統(tǒng),但是, 一些總線可能是"開端的",即設(shè)計(jì)成便于把插入卡、附加芯片等連接到計(jì)算機(jī)組件或系統(tǒng)。因此,圖4說明可操作地可連接
到要電氣^r證的總線460的集成電路400??偩€460又可連接到外部 裝置450。外部裝置450可配置成接收來自總線460的電信號。
集成電路400可包括第一邏輯部件(例如;l式生成邏輯部件440), 它配置成有選擇地產(chǎn)生可驅(qū)動到總線460上的電信號的測試序列。集 成電路400還可包括第二邏輯部件(例如協(xié)議邏輯部件430),它配置 成產(chǎn)生也可驅(qū)動到總線460上的總線協(xié)議信號。為了幫助把測試序列 或者總線協(xié)議信號驅(qū)動到總線460上,集成電路400可包括總線接口 邏輯部件420。集成電路400還可包括測試邏輯部件460,它可操作 地連接到第一邏輯部件440、第二邏輯部件430和/或總線接口邏輯部 件420。測試邏輯部件460可配置成控制第一集成電路400選擇把電 信號的總線協(xié)議信號和測試序列的哪一個驅(qū)動到總線460上并且因 而由外部測試裝置450接收。在一個實(shí)例中,外部裝置450可配置成 采用數(shù)據(jù)捕捉DIMM(雙列直插存儲模塊)接收來自總線460的信號。 外部裝置450可能是例如示波器、協(xié)議分析器、計(jì)算機(jī)等。
圖4說明把總線驗(yàn)證信號提供給外部裝置的集成電路,而圖5則 說明接收來自外部裝置580的信號的集成電路500。集成電路500可 配備例如結(jié)合圖3所述的那些元件和邏輯部件。例如,集成電路500 可包括核心510、用于接收信號的總線接口邏輯部件520、用于產(chǎn)生/ 理解協(xié)議信號的協(xié)議邏輯部件530、用于產(chǎn)生校驗(yàn)序列的模式生成邏 輯部件540、用于進(jìn)行總線檢驗(yàn)任務(wù)的比較邏輯部件550以及用于控 制集成電路500是以測試還是以非測試模式運(yùn)行的測試邏輯部件 580。類似地,集成電路500可配置成產(chǎn)生外部信號560、比較錯誤 數(shù)據(jù)570等。
如圖所示,集成電路500可操作地可連接到總線590,總線590 又可連接到外部裝置580。外部裝置580可配置成把電信號驅(qū)動到總 線590上。因此,比較邏輯550可以可操作地連接到總線接口邏輯部 件520以及模式生成邏輯部件540,以便于對所接收信號以及所產(chǎn)生校驗(yàn)序列的訪問。另外,比較邏輯部件550可配置成確定總線590是 否正確地傳送數(shù)字?jǐn)?shù)據(jù)。該確定可至少部分取決于比較從外部裝置 580接收的信號與模式生成邏輯部件540產(chǎn)生的校驗(yàn)序列。
圖6是片上總線驗(yàn)證系統(tǒng)的一部分的簡化電路圖。系統(tǒng)包括第一 電路部分600,它通過總線連接到第二電路部分602。第一電路部分 600包括第一子電路620,它配置成產(chǎn)生第一組電信號。第一組電信 號可與驗(yàn)證總線關(guān)聯(lián)。這些信號可以是例如要驅(qū)動到總線上的電信號 的測試序列。第一子電路620可以是例如配置成接受可編程籽數(shù)并產(chǎn) 生偽隨機(jī)數(shù)序列的LFSR模式生成器。在一個實(shí)例中,第一電路部分 600可制作為集成電路。
第一電路部分600還可包括第二子電路610,它配置成產(chǎn)生也可 驅(qū)動到總線上的總線協(xié)議信號。由于可能希望以協(xié)議無關(guān)方式來驗(yàn)證 總線,因此第一電路部分600可包括復(fù)用器630,它可由控制邏輯部 件632控制,以便有選擇地向下游電路(例如驅(qū)動器640)提供要驅(qū)動 到總線上的第一組電信號(例如測試序列)或者總線協(xié)議信號。
如上所述,第二電路部分602還可連接到總線,并乂人而連接到第 一電路部分600。第二電路部分602可包括第四子電路(例如接收器 650),它配置成接收來自總線的電信號。這些信號可包括例如響應(yīng)被 驅(qū)動到總線上的第一組電信號而產(chǎn)生的信號。接收器650可向核心 660提供所接收信號,并且還可向比較器670提供信號。比較器670 還可接收來自配置成產(chǎn)生與LFSR 620產(chǎn)生的第一組電信號相同的第 二組電信號、如LFSR模式生成器680之類的第五子電路的信號。由 于從總線接收的信號以及模式生成器680產(chǎn)生的信號可用,比較器 670可配置成確定總線是否正確地傳送^t字it據(jù)。該確定可至少部分 基于比較從總線接收的電信號與模式生成器680產(chǎn)生的電信號。
在一個實(shí)例中,比較器670可連接到頑固故障邏輯部件672和外 部觸發(fā)邏輯部件674。因此,第二電路部分602可配置成在確定總線 未正確傳送數(shù)字?jǐn)?shù)據(jù)時有選擇地產(chǎn)生外部觸發(fā),以及有選擇地記錄與從總線接收的電信號、模式生成器680所產(chǎn)生的電信號等有關(guān)的信 息。頑固故障邏輯部件672可包括例如掃描可訪問寄存器,它幫助獲 取與比較錯誤關(guān)聯(lián)的數(shù)據(jù)。這種數(shù)據(jù)可包括例如與自序列開始以來的 多少時鐘周期發(fā)生比較錯誤有關(guān)的數(shù)據(jù)、在比較器670上預(yù)期什么數(shù) 據(jù)、在比較器670上接收什么數(shù)據(jù)、哪條總線線路產(chǎn)生比較錯誤等。 頑固故障邏輯部件672可預(yù)先存儲到達(dá)數(shù)據(jù),以及在發(fā)生比較錯H吳 時,停止存儲數(shù)據(jù),因此導(dǎo)致比較錯誤的數(shù)據(jù)是可用的。
與第一電路部分600相似,第二電i 各部分602可制作為集成電^各。 在一個實(shí)例中,第一電路部分600、第二電路部分602以及連接它們 的總線可制作為單個集成電路。在另一個實(shí)例中,第一電路部分600 和第二電路部分602可制作為通過總線連接的兩個分開的集成電路。 雖然說明單個第二部分602,但是要理解,在一些實(shí)例中,第一電路 部分600可連接到一個或多個第二部分602。
圖7是制作為還配置了基本掃描邏輯部件714的集成電路700的 片上總線驗(yàn)證系統(tǒng)的一部分的簡化電路圖。如上所述,示例系統(tǒng)可以 至少部分通過從接口提供給系統(tǒng)的數(shù)據(jù)來控制。 一個示例接口是與 JTAG應(yīng)用關(guān)聯(lián)的基本掃描接口。接口可例如由JTAG測試接入端口 (TAP)指令來控制。在一個實(shí)例中,如圖7所示,添加例如控制邏輯 部件716和模式生成器712之類的總線-瞼證組件可能不會對通過復(fù)用 器720、焊盤730和驅(qū)動器740的非測試通路增加延遲。同樣,在集 成電路702中,例如比較器770、頑固故障邏輯部件790以及外部觸 發(fā)邏輯部件792之類的總線驗(yàn)證組件的添加不會對從接收器750通過 焊盤760到達(dá)核心762的非測試通路增加延遲。
參照圖8的流程圖,可更好地理解示例方法。雖然為了便于說明, 所述方法表示和描述為一系列塊,但是要理解,該方法不受這些塊的 順序的限制,因?yàn)橐恍K可能以不同順序出現(xiàn),和/或與所示和所述 的其它塊同時出現(xiàn)。此夕卜,可能并非需要全部所述塊來實(shí)現(xiàn)示例方法。 另外,附加和/或備選方法可采用附加的、未示出的塊。在流程圖中,塊表示可釆用邏輯部件來實(shí)現(xiàn)的"處理塊,,。處理 塊可表示方法步驟和/或用于執(zhí)行該方法步驟的設(shè)備元件。流程圖說
息。應(yīng)理解,電子應(yīng)用可涉及動態(tài)和靈活的過程,使得在一些實(shí)例中, 所述塊可能以與所示的不同的其它序列來執(zhí)行,和/或這些塊可組合 或分離為多個組件。
圖8說明操作總線驗(yàn)證系統(tǒng)的一種示例方法800。方法800可在 810包括控制驅(qū)動器進(jìn)入就緒狀態(tài)。在一個實(shí)例中,驅(qū)動器可通過可 操作地連接到要由總線驗(yàn)證系統(tǒng)檢查的總線的電路來實(shí)現(xiàn)。在一個實(shí) 例中,控制驅(qū)動器進(jìn)入就緒狀態(tài)包括控制驅(qū)動器把電氣值的良好集合 (例如全零、全一)驅(qū)動到總線上。
方法800還可在820包括控制接收器進(jìn)入校驗(yàn)狀態(tài)。與驅(qū)動器相 似,接收器可通過可操作地連接到總線的電路來實(shí)現(xiàn)。接收器可配置 成產(chǎn)生對于比較通過總線接收的測試信號有用的電信號的第 一序列。 在一個實(shí)例中,控制接收器進(jìn)入校驗(yàn)狀態(tài)可包括提供數(shù)據(jù),該數(shù)據(jù)控 制接收器所產(chǎn)生的序列長度、接收器所產(chǎn)生的序列類型、接收器應(yīng)當(dāng) 查找以便使序列校驗(yàn)同步的外部觸發(fā)的類型、要由接收器收集的錯誤 數(shù)據(jù)的類型、至少部分確定接收器所產(chǎn)生的序列的接收器模式生成器 的籽數(shù)值以及至少部分確定所檢查的總線操作標(biāo)準(zhǔn)的類型的觸發(fā)屏 蔽。
方法800還可在830包括控制驅(qū)動器進(jìn)入生成狀態(tài)。在生成狀態(tài) 中,驅(qū)動器可產(chǎn)生被驅(qū)動到總線上的電信號的第二序列。電信號的這 個第二序列對于電氣驗(yàn)證和/或表征總線可能是有用的。在 一 個實(shí)例 中,控制驅(qū)動器進(jìn)入生成狀態(tài)可包括提供數(shù)據(jù),該數(shù)據(jù)控制例如驅(qū)動 器所產(chǎn)生的序列長度、驅(qū)動器所產(chǎn)生的序列類型、應(yīng)當(dāng)把信號驅(qū)動到 總線上的速度以及至少部分確定驅(qū)動器所產(chǎn)生的電信號的序列的籽 數(shù)值。
方法800還可在840包括電氣驗(yàn)證總線。電氣驗(yàn)證總線可包括例如至少部分根據(jù)比較接收器所產(chǎn)生的信號序列與驅(qū)動器所產(chǎn)生的測 試信號序列被驅(qū)動到總線時接收器所接收的電信號來確定總線是否 正確地工作。
在確定總線是否正確工作之后,方法800可包括報(bào)告成功狀態(tài)(例 如總線合格)或報(bào)告故障狀態(tài)(例如總線出故障)。如果存在故障狀態(tài), 則方法800可包括例如通過有選擇地記錄例如與所生成序列關(guān)聯(lián)的 籽數(shù)、自所生成序列開始的偏移、與所生成序列中的電信號關(guān)聯(lián)的數(shù) 據(jù)等的數(shù)據(jù),來處理故障。
圖9說明計(jì)算機(jī)900,它包括可操作地通過總線908連接的處理 器902、存儲器904和輸入/輸出端口 910。在一個實(shí)例中,計(jì)算機(jī)900 可包括總線-瞼證邏輯部件930和932,它們配置成幫助電氣總線驗(yàn)證。 在計(jì)算機(jī)900中無論實(shí)現(xiàn)為硬件、固件和/或其組合的總線驗(yàn)證邏輯 部件930和932可提供用于產(chǎn)生以可編程方式可定義的第一總線測試 模式的部件、用于把第一總線測試模式加到總線上的部件、用于接收 與加到總線上的第一總線測試模式關(guān)聯(lián)的電信號的部件、用于產(chǎn)生以 可編程方式可定義的第二總線測試模式的部件、以及用于確定電信號 是否揭示可能可歸因于總線中不合需要的電氣特性的數(shù)據(jù)比較錯誤 的部件。要理解,所有部件都制作為可操作地通過總線連接的集成電 路。
處理器902可能是各種不同的處理器,其中包括雙微處理器和其 它多處理器體系結(jié)構(gòu)。存儲器904可包括易失性存儲器和/或非易失 性存儲器。非易失性存儲器可包括但不限于ROM、 PROM、 EPROM、 EEPROM等。易失性存儲器可包括例如RAM、同步RAM(SRAM)、 動態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍數(shù)據(jù)速率 SDRAM(DDR SDRAM)以及直接RAM總線RAM(DRRAM)。
盤906可以可搮:作地例如經(jīng)由輸入/輸出"^妄口(例如卡、裝置)918 和輸入/輸出端口 910連接到計(jì)算機(jī)900。盤906可包括但不限于例如 磁盤驅(qū)動器、固態(tài)盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、Zip驅(qū)動器、閃存卡和/或記憶棒之類的裝置。此外,盤906可包括光盤驅(qū)動器,
例如CD-ROM、 CD可記錄驅(qū)動器(CD-R驅(qū)動器)、CD可重寫驅(qū)動器 (CD-RW驅(qū)動器)和/或數(shù)字視頻ROM驅(qū)動器(DVD ROM)。例如,存 儲器904可存儲過程914和/或數(shù)據(jù)916。盤906和/或存儲器904可 存儲控制和分配計(jì)算機(jī)900的資源的操作系統(tǒng)。
總線908可能是單一內(nèi)部總線互連體系結(jié)構(gòu)和/或其它總線或網(wǎng) 狀體系結(jié)構(gòu)。雖然說明單一總線,但是要理解,計(jì)算機(jī)900可采用沒 有描述的其它總線(例如PCIE、 SATA、 Infmiband、 1394、 USB、以 太網(wǎng))與各種裝置、邏輯部件和外設(shè)進(jìn)行通信??偩€908可以是各種 類型的,包括但不限于存儲總線或存儲控制器、外圍總線或外部總線、 縱橫開關(guān)和/或本地總線。本地總線可以是各種各樣的,包括但不限 于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MSA)總線、擴(kuò)展 ISA(EISA)總線、外圍部件互連(PCI)總線、通用串行(USB)總線以及 小型計(jì)算機(jī)系統(tǒng)接口 (SCSI)總線。
計(jì)算機(jī)900可經(jīng)由I/O接口 918和輸入/輸出端口 910與輸入/輸 出裝置交互。輸入/輸出裝置可包括但不限于鍵盤、話筒、指示和選 擇裝置、照相機(jī)、視頻卡、顯示器、盤906、網(wǎng)絡(luò)裝置920等。輸入 /輸出端口 910可包括但不限于串行端口、并行端口和USB端口。
計(jì)算才幾900可在網(wǎng)絡(luò)環(huán)境中工作,因而可經(jīng)由I/CM矣口 918和/ 或I/0端口 910連接到網(wǎng)絡(luò)裝置920。通過網(wǎng)絡(luò)裝置920,計(jì)算機(jī)900 可與網(wǎng)絡(luò)交互。通過網(wǎng)絡(luò),計(jì)算機(jī)900可在邏輯上連接到遠(yuǎn)程計(jì)算機(jī)。 計(jì)算機(jī)900可與其交互的網(wǎng)絡(luò)包括但不限于局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)及其它網(wǎng)絡(luò)。網(wǎng)絡(luò)裝置920可連接到LAN技術(shù),其中包括但 不限于光纖分布數(shù)據(jù)接口(FDDI)、銅線分布數(shù)據(jù)接口(CDDI)、以太網(wǎng) (IEEE 802.3)、令牌環(huán)(IEEE 802.5)、無線計(jì)算機(jī)通信(IEEE 802.11)、 藍(lán)牙(IEEE 802.15.1)、 Zigbee(IEEE802.15.4)等。類似地,網(wǎng)絡(luò)裝置920 可連接到WAN技術(shù),其中包括但不限于點(diǎn)到點(diǎn)鏈路、例如綜合業(yè)務(wù) 數(shù)字網(wǎng)(ISDN)之類的電路交換網(wǎng)絡(luò)、分組交換網(wǎng)絡(luò)以及數(shù)字用戶線(DSL)。雖然描述各個網(wǎng)絡(luò)類型,但是要理解,經(jīng)由和/或通過網(wǎng)絡(luò)的
通信可包括若干通信的組合以及混合。
圖IO說明示例成像裝置1000,它包括與本文所述的示例系統(tǒng)相 似的總線驗(yàn)證邏輯部件1010和1012??偩€驗(yàn)證邏輯部件可配置成執(zhí) 行與本文所述的那些相似的可執(zhí)行方法。雖然示出兩個邏輯部件1010 和1012,但是要理解,成像裝置1000可包括一個以上總線驗(yàn)證邏輯 部件。
成像裝置iooo可接收要呈現(xiàn)的打印數(shù)據(jù)。因此,成像裝置iooo
還可包括存儲器1020,它配置成存儲打印數(shù)據(jù)或者更廣泛地用于圖 像處理。成像裝置1000還可包括呈現(xiàn)邏輯部件1030,它配置成/人打 印數(shù)據(jù)產(chǎn)生打印機(jī)就緒圖像。呈現(xiàn)根據(jù)所涉及的數(shù)據(jù)格式以及成像裝 置的類型而變化。 一般來說,呈現(xiàn)邏輯部件1030把高級數(shù)據(jù)轉(zhuǎn)換為 圖形圖像供顯示或打印(例如打印就緒圖像)。例如, 一種形式是光線 跟蹤,它取三維對象或畫面的數(shù)學(xué)模型,并將其轉(zhuǎn)換為位像。另 一個實(shí)例是把HTML轉(zhuǎn)換為供顯示/打印的圖像的過程。要理解,成 像裝置1000可接收不需要呈現(xiàn)的打印機(jī)就緒數(shù)據(jù),因而呈現(xiàn)邏輯部 件1030在一些成像裝置中可能不會出現(xiàn)。
成像裝置IOOO還可包括成像機(jī)構(gòu)1040,它配置成從打印就緒圖 像產(chǎn)生在打印介質(zhì)上的圖像。成像機(jī)構(gòu)1040可根據(jù)成像裝置1000的 類型而變化,并且可包括激光成像機(jī)構(gòu)、其它基于調(diào)色劑的成像機(jī)構(gòu)、 噴墨機(jī)構(gòu)、數(shù)字成像機(jī)構(gòu)或其它成像再現(xiàn)引擎??砂ㄌ幚砥?050, 它釆用控制成像裝置1000的操作的邏輯部件來實(shí)現(xiàn)。在一個實(shí)例中, 處理器1050包括能夠執(zhí)行Java指令的邏輯部件。成像裝置1000的 其它組件在本文中沒有描述,但是可包括介質(zhì)處理和存儲機(jī)構(gòu)、傳感 器、控制器和成像過程中涉及的其它組件。
雖然已經(jīng)通過描述實(shí)例來說明示例系統(tǒng)、方法等,以及雖然相當(dāng) 詳細(xì)地描述了這些實(shí)例,但是,申請人的目的不是要將所附權(quán)利要求 的范圍約束或者以任何方式限制到這種細(xì)節(jié)。為了描述本文所述的系統(tǒng)、方法等,當(dāng)然不可能描述組件或方法的每一種可想到的組合。其 它優(yōu)點(diǎn)和修改是本領(lǐng)域的技術(shù)人員十分清楚的。因此,本發(fā)明不限于 所示及所述的具體細(xì)節(jié)、典型設(shè)備以及說明性實(shí)例。因此,本申請意 在包含屬于所附權(quán)利要求的范圍的這些變更、修改及變化。此外,前 面的描述不是意在限制本發(fā)明的范圍。而是,本發(fā)明的范圍由所附權(quán) 利要求及其等效物來確定。
在術(shù)語"包括"用于詳細(xì)描述或權(quán)利要求的方面來說,意在如那 個術(shù)語在權(quán)利要求中用作過渡詞時所解釋的以類似于術(shù)語"包含,,的 方式為包含性的。此外,在術(shù)語"或"用于詳細(xì)描述或權(quán)利要求(例
如A或B)的方面來說,意在表示"A或B或者兩者"。當(dāng)申請人意 在表明"僅A或B而不是兩者"時,則采用術(shù)語"僅A或B而不是 兩者,,。因此,術(shù)語"或,,在本文中的使用是包含性的而不是排他性 的使用。參見Bryan A. Garner "A Dictionary of Modern Legal Usage" 624(2d.Ed.l995)。
權(quán)利要求
1. 一種集成電路,包括總線;以及測試電路,能夠在總線上產(chǎn)生多種不同類型的電子測試信號序列,所述多種類型是下列各項(xiàng)中的至少兩項(xiàng)偽隨機(jī)序列、步行式一序列、步行式零序列、交替全一序列、交替全零序列、交替AA序列和交替55序列。
2. 如權(quán)利要求1所述的集成電路,還包括 控制輸入裝置,與所述測試電路互連,能夠規(guī)定將由所述測試電路產(chǎn)生的序列的類型。
3. 如權(quán)利要求2所述的集成電路,其中,所述控制輸入裝置還能 夠規(guī)定下列各項(xiàng)中的至少 一項(xiàng)在測試期間始終驅(qū)動到低電平的至少 一條總線線路,在測試期間始終驅(qū)動到高電平的至少一條總線線路。
4. 如權(quán)利要求2所述的集成電路,其中,所述控制輸入裝置還能 夠規(guī)定偽隨機(jī)序列的籽數(shù)值。
5. 如權(quán)利要求2所述的集成電路,其中,所述控制輸入裝置還能 夠規(guī)定哪些總線線路將被測試。
6. 如權(quán)利要求1所述的集成電路,還包括第二測試電路,能夠在所述總線上接收信號,將所接收的信號與 預(yù)期信號進(jìn)行比較,以及產(chǎn)生錯誤信號。
7. 如權(quán)利要求6所述的集成電路,其中,所述第二測試電路還能 夠產(chǎn)生相對于發(fā)生錯誤的測試序列的起點(diǎn)的偏移量。
8. —種方法,包括以下步驟由集成電路4妾收外部控制信號,所述外部控制信號M^定將在總線 上產(chǎn)生的多個信號序列之一;以及由所述集成電路產(chǎn)生所規(guī)定的信號序列。
9. 如權(quán)利要求8所述的方法,還包括以下步驟將所述總線產(chǎn)生的信號與預(yù)期信號進(jìn)行比較,以及當(dāng)所述總線產(chǎn) 生的信號與所述預(yù)期信號不匹配時產(chǎn)生錯誤信號。
全文摘要
本發(fā)明用于總線驗(yàn)證的片上電路描述了與驗(yàn)證總線關(guān)聯(lián)的系統(tǒng)、方法、介質(zhì)及其它實(shí)施例。一個示范系統(tǒng)實(shí)施例包括可操作地可連接到總線(590)的集成電路(500),總線(590)可連接到配置成把一個或多個電信號驅(qū)動到總線(590)上的外部裝置(580)。集成電路(500)可包括配置成接收來自總線(590)的電信號的測試序列的第一邏輯部件(520)、配置成產(chǎn)生與電信號的測試序列相關(guān)的電信號的校驗(yàn)序列的第二邏輯部件(540)、以及可操作地連接到第一邏輯部件(520)和第二邏輯部件(540)的比較邏輯部件(550)。比較邏輯部件(550)可配置成至少部分根據(jù)比較測試序列與校驗(yàn)序列來確定總線(590)是否正確地傳送數(shù)據(jù)。
文檔編號G06F11/267GK101482843SQ20091000377
公開日2009年7月15日 申請日期2006年1月23日 優(yōu)先權(quán)日2005年1月24日
發(fā)明者C·J·陳, D·A·謝爾洛克, J·J·德賽 申請人:惠普開發(fā)有限公司