專利名稱:具有多個同構ip核的片上系統芯片測試裝置和方法
技術領域:
本發明涉及集成電路測試領域,特別是涉及含有同構IP核的片上系統芯片(soc
芯片)的測試,尤其是涉及需要降低測試開銷和測試成本的多核處理器的掃描測試激勵施 加裝置和方法,以及測試響應片上比較裝置和方法。
背景技術:
當前,絕大部分集成電路都采用掃描設計并通過掃描鏈進行測試。這種通過掃描 鏈來進行測試的結構測試方法能大大降低自動測試向量生成(Automatic Test Pattern Genaration, ATPG)的復雜度,并極大地提高故障的測試覆蓋率。 通過掃描鏈進行掃描測試的基本步驟是1)通過掃描輸入端口沿著掃描鏈將測 試向量施加到芯片上;2)切換到功能狀態,并運行一拍或幾拍;3)切換到移位狀態,將保存 在掃描觸發器中的測試響應通過掃描輸出端口一位一位的移出來觀測,并與期望值進行比 較,來判定芯片是否存在故障。 由上面的步驟,可以看出,掃描測試是需要占用輸入輸出端口的,即需要一定的10 資源。在芯片規模一定的情況下,較少的輸入輸出端口會導致較長的掃描鏈,因而使得移位 周期變長,測試時間和測試成本也隨之增加。 制造工藝的不斷進步使得電路規模按照摩爾定律指數增長,而可利用的10資源增
長卻緩慢得多。采用傳統的測試技術來測試大規模電路會使得測試時間和成本難以接受。 為了緩解這一 問題,測試壓縮技術被廣泛采用。但是,盡管如此,對于含有幾億個
晶體管的多核處理器來說,測試成本仍然在芯片總成本中占有較大比重。 而現有技術中的多核處理器的一個顯著特征是含有多個同構的處理器核,同構處
理器核對相同的測試激勵會產生相同的響應,這個特征可以被用來顯著地減少測試數據
量,進而減少測試成本。 現有技術中,在多核處理器UltraSPARCTM(相關內容請參考文獻1 :I.Parulkar, T.Ziaja, R.Pendurkar, A. D' Souza and A. Majumdar,"A Scalable, LowCost Design-for-Test Architecture for UltraSPARC Chip Multi_Processors,,, Proc. IEEE International Test Conference,October 2002)中,同構IP核就共用了一組測試向量,并 且只輸出了一個IP核的測試響應。在含有16個IP核的UltraSPARCTM第三代多線程處理器 (參考文獻2 :1. Parulkar, S. Anandakumar, G. Agarwal, G. Liu, K. Rajan and F. Chiu, "DFX of a 3rd Generation,16_core/32_thread UltraSPARC CMT Microprocessor",Proc. IEEE InternationalTest Conference, Paper 2. 2, October 2008)中,掃描輸入數據也是廣播到 四個簇群(cluster),每個簇群(cluster)有自己獨立的掃描輸出端口 。
但是,在UltraSPARCTM系列處理器中,掃描輸入數據沒有經過緩存而是直接廣播 到每個核,這樣不僅大大增加了掃描輸入的負載,對時序也有較高要求,不利于核的擴展; 另一方面,同構IP核的測試響應進行比較時,相關文獻也沒有給出對X位的處理方法。
在多處理器芯片Vega2 (參考文獻3 :S. Makar, T. Altinis, N. Patkar and J. Wu,
4"Testing of Vega2, a Chip Multi-Processor with Spare Processors", Proc. IEEE International Test Conference, P即er 9. 1, October 2007)中,也提供了一禾中模式進行 多核同時測試和片上比較,但其基準測試響應是從測試儀上直接輸入的,這就需要額外的 掃描輸入通道,同時掃描輸入也是直接廣播,不利于核的擴展。 G. Giles等學者在2008年提出了一種針對多個同構IP核的測試訪問機制(參 考 文 獻4:G. Giles, J. Wang, A. Sehgal, K. J. Balakrishnan, and J. Wingf ield, "Test Access Mechanism for Multiple Identical Cores,,, Proc. IEEE InternationalTest Conference, Paper 2. 3, October 2008),其給出了三種測試模式來支持多核同時測試和片 上比較,其中核間比較模式(inter-core compare mode)已在一款AMD四核處理器中進行 了應用。雖然該方法有很好的可擴展性和靈活性,但由于每個核的運行狀態不一致,需要額 外的命令對每個核的狀態進行控制,使得控制復雜,另外向量的轉換和對X位的處理也不 直觀,對X位的處理需占用額外的移位時間。
發明內容
本發明的目的在于提供一種具有多個同構IP核的片上系統(S0C)芯片測試裝置
和方法,其利用同構IP核的特性,用有限的io資源和簡單的控制邏輯降低了測試數據量,
減少了測試成本;與現有技術相比,不僅具有良好的可擴展性和靈活性,而且實現復雜度 低,控制簡單。 為實現本發明目的而提供的一種具有多個同構IP核的片上系統芯片測試裝置, 包括 —種具有多個同構IP核的片上系統芯片測試裝置,包含在具有多個同構IP核的
片上系統芯片中,包括控制器,多個相應于所述同構IP核的條件比較器,其中 所述控制器,具有連接到相應每個同構IP核的多個控制信號接口,用于向每個同
構IP核輸入測試控制信號,控制對其中一個或者多個同構IP核進行測試,測試激勵數據廣
播到這些IP核,同時控制輸出某一 IP核的測試響應,該測試響應作為基準測試響應與其他
IP核的測試響應進行比較; 較佳地,為了減輕對時序的要求,測試激勵數據是通過流水方式廣播到每個同構 IP核的;同樣地,為了減輕對時序的要求,作為基準的測試響應數據也是通過流水方式進 行廣播。 進一步地,如果作為基準的測試響應數據通過流水進行廣播,控制器需根據同構
IP核的連接順序控制輸出所測IP核中離掃描輸入端口最近的IP核的測試響應。 所述條件比較器,用于根據屏蔽數據選擇性地將相應IP核的測試響應與基準測
試響應進行比較,并對比較結果進行處理產生1位的錯誤標識信號,所述錯誤標識信號用
于指示比較是否一致。 較優地,所述片上系統芯片測試裝置還包括測試輸入同步寄存器(TISR),測試輸 出同步寄存器(TOSR),流水寄存器,以及屏蔽數據輸入端口,其中 所述TISR,用于同步每個同構IP核接收到的掃描測試激勵,保證每個IP核在同樣 的時刻接收到相同的測試激勵或測試向量; 所述TOSR,用于同步基準測試響應數據和自身的測試響應數據,并保證任一同構
5IP核的測試響應直接輸出到掃描輸出端口的時間一致; 所述流水寄存器,用于對掃描輸入數據和屏蔽數據進行緩存,通過流水寄存器進 行廣播減輕了對時序的要求; 所述屏蔽數據輸入端口,用于向條件比較器輸入屏蔽數據,來屏蔽掉對X的比較, 保證比較結果的正確性。 較佳地,所述片上系統芯片測試裝置,所述控制器,還用于根據測試儀實際測試的 結果決定是否產生新的控制信號以進行新一輪測試。如果作為基準的,即測試響應直接輸 出的IP核有故障,則其他IP核的條件比較器給出的錯誤標識信號就不具有參考性,控制器 就會產生新的時鐘使能控制信號將作為基準的有故障的IP核旁路掉,并產生新的測試響 應輸出控制信號,重新進行測試,直到作為基準的IP核不存在故障。 為實現本發明目的還提供一種具有多個同構IP核的片上系統(SOC)芯片測試方 法,其包括如下步驟 步驟SIOO,控制器向每個IP核輸入時鐘使能控制信號Core—clk—en,控制一個或 多個IP核處于測試模式(Core_Clk_en為0的核被旁路掉,Core_Clk_en為1的核則能接 受掃描輸入數據,從而可以被測試),掃描測試數據廣播到這些IP核;同時控制器根據處于 測試模式下的IP核的信息,向每個同構IP核輸入測試響應輸出控制信號(core_sei_out), 控制所測IP核中某一IP核的測試響應作為基準響應,并直接輸出它的測試響應結果,其他 IP核則與該IP核進行比較; 步驟S200,在測試儀上對直接輸出的測試響應進行觀測,并與期望響應進行比較, 來判定測試響應直接輸出的IP核是否存在故障;同時對處于測試模式下的其他IP核的條 件比較器給出的錯誤標識信號進行觀測,來判定相應核的響應是否與基準響應一致;
步驟S300,如果測試響應直接輸出的IP核不存在故障,那么錯誤標識信號Err_ fig就反映了相應IP核是否存在故障,這時由錯誤標識信號Err_flg來判定處于測試模式 下的其他IP核是否存在故障。 本發明提供了一種具有多個同構IP核的片上系統(SOC)芯片測試裝置和方法,具 有以下優點 1.通過測試激勵廣播和測試響應核間比較將n個核的測試數據量減少到一個核
的測試數據量,大大節省了 10資源,同時減少了測試時間和測試成本。 2. TISR和TOSR寄存器的存在保證了 IP核狀態的一致性,避免了復雜的控制邏輯
來單獨控制每個核的行為,這樣使得控制簡單,面積開銷也最小。 3. TISR和TOSR寄存器的存在也保證了同構IP核對測試儀的等價性,即從測試儀 的角度來看,所有的核是一樣的。這樣,通過修改相應的控制信號來處于特定模式,同一組 測試向量就可以用來測試任意一個核,任意兩個核或者任意多個核。向量的這種通用性減 少了向量調試的時間,同樣節省了測試成本。 4.屏蔽數據通路的存在保證了含有X位的向量比較的正確性。其可以處理任意多 的X位,同時不增加額外的時間。
圖1是本發明實施例具有同構IP核的片上系統(SOC)芯片測試裝置結構示意 圖2是本發明實施例中1位條件比較器的示意圖; 圖3是本發明實施例片上系統(S0C)芯片在test_setup和capture過程中捕獲 "l"值的流水寄存器的示意圖; 圖4是本發明實施例具有同構IP核的片上系統(SOC)芯片測試方法流程圖;
圖5是本發明實施例將IP核級的向量轉換成芯片級向量的實例圖。
具體實施例方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明的一種具有同構IP核的片上系統(SOC)芯片測試裝置和方法進行進一步詳細說明。 應當理解,此處所描述的具體實施例僅僅用以解釋本發明而不是對本發明的限制。
本發明提供的解決方案利用同構IP核的特性,用有限的10資源和簡單的控制邏 輯達到了降低測試數據量和減少測試成本的目的。 本發明實施例的具有同構IP核的片上系統(SOC)芯片測試裝置,如圖1所示,在 具有多個同構IP核6的片上系統芯片中,包括控制器1,以及多個相應于每個同構IP核6 的條件比較器2,其中 所述控制器1 ,具有連接到相應每個同構IP核6的多個控制信號接口 ,包括時鐘使 能信號Core_clk_en和測試響應輸出控制信號Core_sel_out,時鐘使能信號Core_clk_en 控制是否對相應的核進行測試,該信號為0使得相應核被旁路掉,該信號為1則使得相應核 能接受掃描數據的輸入,從而使得該核處于測試模式;測試響應輸出控制信號C0re_Sel_ out根據掃描測試數據(測試向量)到達所述SOC芯片的順序,控制處于測試模式的IP核 中離掃描輸入端口最近的IP核的測試響應直接輸出,而其他IP核的響應則與該基準響應 進行比較并產生相應的錯誤標識信號Err_flg,如果在測試儀上觀測到測試響應直接輸出 的IP核無故障,則其他IP核輸出的Err_f lg信號就反映了相應核是否存在故障,通過錯誤 標識信號Err_f lg信號就能判定處于測試模式的其他IP核是否存在故障;
更佳地,所述控制器l,還用于根據測試儀實際測試的結果決定是否產生新的控 制信號以進行新一輪測試,如果作為基準的,即測試響應直接輸出的IP核有故障,則其他 IP核的條件比較器給出的錯誤標識信號就不具有參考性,這時需要產生新的時鐘使能信號 C0re_clk_en將作為基準的有故障的IP核旁路掉,然后根據掃描測試數據到達所述片上系 統芯片的順序,產生新的測試響應輸出控制信號Core—sel—out,然后重新進行測試,直到新 的作為基準的IP核不存在故障。 所述條件比較器2,用于將所述IP核6的測試響應與來自上游的基準測試響應進 行比較,并對比較結果進行處理產生1位的錯誤標識信號Err—flg,所述錯誤標識信號用于 指示比較是否一致。 較佳地,所述條件比較器2還用于處理含有不確定位X的測試響應數據的比較,當 條件比較器2接收到的屏蔽數據的某一位為1時,相應的測試響應位則不進行比較,這樣通 過輸入合適的屏蔽數據就能屏蔽掉對X位的比較,從而保證含有X位的測試響應數據比較 的正確性。 本發明實施例的具有多個同構IP核的片上系統(S0C)芯片測試裝置,通過控制器 1,利用連接到相應每個同構IP核的多個控制信號接口 ,在進行片上系統芯片測試時,向每個同構IP核6發出時鐘使能控制信號和測試響應輸出控制信號,使得只輸出一個核的測試 響應結果,而處于測試模式的其它IP核的測試響應通過與該特定IP核6的測試響應進行 比較來判定其正確性。 設控制IP核是否處于測試模式的時鐘使能控制信號是C0re_clk_en,控制測試響 應是否直接輸出的測試響應輸出控制信號是Core—sel—out,統稱為測試控制信號。
在本發明實施例中,如果第一同構IP核Core。的測試響應輸出控制信號Core。_ Sel_out為1,則其它的同構IP核的選擇輸出信號為0,則第一同構IP核Core。的測試響應 結果直接利用掃描鏈輸出到測試儀(未示出)進行觀測,其它核則與Core。的測試響應結 果進行比較,并通過Err_f lg信號來標識比較結果;如果Err_f lg輸出為0,則表示不出錯, 即與Core。結果一致;如果Err_flg輸出為1,則表示出錯,即與Core。結果不一致。
作為一種可實施方式,所受控制直接被觀測的同構IP核取決于同構IP核之間 的連接順序。如果掃描測試數據首先到達第一同構IP核Core。,然后到達第二同構IP核 Cor 第三同構IP核Core2,……最后達到Coren—n則在所有同構IP核同時測試(所有IP 核的時鐘使能信號都為1)的模式下應控制Core。—sel—out = 1,Corei_sel_out = 0,Core2_ Sel_out = 0,……,Coren—^sel—out = 0,使得直接通過測試儀利用掃描鏈觀測第一同構IP 核Core。的測試響應結果,其它的同構IP核由相應的條件比較器對本核的測試響應與Core。 的測試響應結果進行比較,并通過Err_flg信號來標識比較結果,進而得到測試結果;如果 測試過程中發現Core。存在故障,則其他IP核的條件比較器給出的Err_f lg信號就不具有 參考性,因為基準測試響應數據是錯誤的;這時需要控制Core。_Clk_en = 0, Corei_Clk_en
=1, Core2_clk_en = 1, ......, Coren—^elk—en = 1禾口 Core0_sel_out = 0, CoreLsel—out
=1, Core2_sel_out = 0, Core3_sel_out = 0, ......, Coren—^sel—out = 0,將Core。旁路
掉,重新對其他的n-1個核進行測試,并在測試儀上直接觀測第二同構IP核Corei的測試 響應結果,其它n-2個核的測試響應則相應地與Corei的響應進行比較來判斷正確性,依此 類推。 作為一種可實施方式,所述條件比較器2的位數取決于S0C芯片掃描輸出端口的 個數,有多少個掃描輸出端口,就需要多少位的條件比較器2。一個n位的條件比較器,可由 n個如圖2所示的1位條件比較器組成,它的Err_f lg信號是這n個1位比較器Err_f lg錯 誤標識信號或運算的結果。 作為另一種可實施方式,在某些情況下,基于功耗的考慮,一般不同時對所有的核 進行測試。比如,在圓片測試階段(wafer test),圓片未進行切割,所有的芯片是緊挨著,這 種情況下散熱效果不好,如果所有的核一塊測試,極易因功耗過大而造成對芯片的損害。在 對功耗要求比較嚴格的情況下,可以選擇少數核進行同時測試。比如,在本發明實施例中, 一次可以選擇兩個核進行測試或者一次只選擇一個核進行測試。 本發明的裝置對這些類型的測試都完全支持。以單獨測試每個核為例,測試Core。 時,控制Core0_sel_out = 1, CoreLsel—out = 0, Core2_sel_out = 0, Core3_sel_out = 0 來直接輸出Core。的測試響應,并控制Core。_clk_en = 1, Corei_clk_en = 0, Core2_clk_ en = 0, Core3_clk_en = 0將Core" Core2和Core3旁路掉,即關掉這些核的時鐘來達到降 低功耗的目的,這樣只有Core。正常運行;測試Core2時,控制Core。_sel_out = 0, Core^ sel_out = 0,Core2_sel_out = 1, Core3_sel_out = 0來直接輸出Core2的測試響應,并控
8制Core0_clk_en = 0, CoreLclk—en = 0, Core2_clk_en = 1, Core3_clk_en = 0將Core。, Corei和Core3旁路掉。不進行片上比較的核的Err_f lg信號都沒有意義,實際測試中不需 要進行觀測。 較佳地,所述裝置還包括多個連接到同構IP核上的多個測試輸入同步寄存器 (test input synchronization registers, TISR) 3和測試輸出同步寄存器(test output synchronization registers, T0SR)4。其中 所述測試輸入同步寄存器3,用于同步每個同構IP核接收到的掃描測試激勵,保 證每個IP核在同樣的時刻接收到相同的測試激勵或測試向量; 所述測試輸出同步寄存器4,用于同步基準測試響應數據和自身的測試響應數據, 并保證任一同構IP核的測試響應直接輸出到掃描輸出端口的時間一致。
對含有n個同構IP核的片上系統(片上電路系統)S0C來說,核Corem有ni個 TISR寄存器3, m個T0SR寄存器4。比如對含有4個同構核的芯片,Core。有4個TISR寄 存器3和0個T0SR寄存器4, Corei有3個TISR寄存器3和1個T0SR寄存器4, Core2有2 個TISR寄存器3禾P 2個TOSR寄存器4,而Core3有1個TISR寄存器3禾P 3個TOSR寄存器 4。這樣,掃描輸入數據到達每個同構IP核都需要經過相同的級數(n級),而每個同構IP 核的測試響應傳播到掃描輸出也需要相同的級數(n級)。采用這種結構后,所有的同構核 對測試儀來說都是等價的。 考慮到每個核的物理位置不同,掃描測試數據(測試向量)是通過流水的方式廣 播到每個同構IP核的,這樣大大減輕了對時序的要求。同時為了保證每個IP核在同一時刻 接收到相同的數據,每個核都包含了不同數目的測試輸入同步寄存器3,這樣使得每個IP 核的工作狀態完全一致,省去了復雜的控制邏輯來對每個IP核的狀態進行控制。
為了減輕對時序的要求,作為基準的測試響應數據是通過流水的方式廣播到下游 的每個同構IP核的,所以每個同構IP核接收到基準測試響應的時間是不一致的,為了保證 比較的正確性,每個同構IP核都包含了不同數目的測試輸出同步寄存器(T0SR)4,用于同 步基準測試響應數據和自身的測試響應數據。 通過TISR寄存器3,使得相同的掃描測試數據(即測試向量)以流水的方式廣播 到每個同構IP核6,并且保證每個核在相同的時間接收到完全相同的測試數據,這樣每個 核的工作方式都相同(即同時進入移位狀態和捕獲狀態),不需要額外的控制邏輯來單獨 對每個核進行控制。 作為一種可實施方式,可以用一組掃描測試數據(即測試向量)來實現這樣的測 試四個核同時測,兩個核同時測,每次只測一個核。從測試儀的角度來看,因為TISR寄存 器的存在,無論哪種模式,無論測試哪些核或哪個核,輸入的掃描測試數據都是相同的,同 時因為TOSR寄存器的存在,輸出的測試響應結果也都是相同的,都是緩存四拍再輸出。唯 一不同的是控制器l發出的控制信號不一樣,錯誤標識信號Err—flg代表的意義有差異,而 這些測試儀都可以實時控制。所以,采用本發明中的測試裝置生成的掃描測試向量具有很 強的通用性。 更佳地,所述裝置還包括連接到條件比較器的多個屏蔽數據輸入總線7和流水寄 存器5,其中 所述流水寄存器5,用于緩存屏蔽數據,使得屏蔽數據以流水方式進行傳播,減輕
9對時序的要求。 所述輸入總線7,用于將屏蔽數據(mask data)輸入到每個條件比較器2,使得條 件比較器2只對確定值(0或1)進行比較,屏蔽對不確定的X值的比較。
所述輸入總線7的寬度等于同構IP核的掃描輸出管腳(未示出)的數目。
由于很多宏單元(macro cell)(比如處理器核中的cache存儲器)(未示出)的存 在,在具有多個同構IP核的片上系統電路中不可避免地會存在很多不確定狀態的點,即這 些點的值是未知的,而這會導致向量產生X位。另一方面,檢測故障有時候不需要對所有的 觸發器和原始輸入(PI)進行賦值,也不需要對所有的觸發器和原始輸出(P0)進行觀測,這 些不需要觀測的點在向量響應中也表現為X值。另外,向量生成過程中用戶施加的一些限 制也會導致向量響應中出現X值。X值的存在會破壞同構IP核之間的比較結果,引起Err— flg信號輸出錯誤的值。為了避免向量中X的存在導致的錯誤,在本發明實施例中,設置多 個連接到每個同構IP核的條件比較器的輸入總線7,這些輸入總線7輸入屏蔽數據(mask data)到每個條件比較器2,使得條件比較器只對確定值(0或1)進行比較。
作為一種可實施方式,如果在含有壓縮結構的電路中,可以采用非對稱 (asymmetrical)的壓縮結構來減少掃描輸出管腳的數目,從而減少額外的輸入管腳8的數 目。 所述屏蔽數據(mask data)是從掃描測試數據(即測試向量文件)中抽取的。對 掃描測試數據的測試響應中為確定值0或1的位,設置相應的屏蔽(mask)位為0 ;對響應中 為X的位,即不進行觀測的位,設置相應的屏蔽(mask)位為1。這樣就能屏蔽掉X的影響, 保證比較結果的正確性。 為了減輕對時序的要求,屏蔽數據也是通過流水廣播到每個IP核的。
由于基準測試響應數據到達每個核的時間不一樣,所以每個核開始比較的時間也 不一樣。如果Core。直接被觀測,則Coi^首先開始比較操作,Coren—工最后開始比較操作。 一般的,Corem是在m個時鐘周期后開始比較操作的,這就要求在前m個時鐘周期,傳播到 Corem的屏蔽位必須為1。從屏蔽數據輸入端口來輸入這些屏蔽(mask)位是不可行的,因 為屏蔽數據到達Corem也需要m個時鐘周期。本發明實施例采用流水寄存器5來解決這個 問題,如圖3所示,這些流水寄存器5屬于專門用以測試的"TESTCLK"時鐘域,并能在test_ setup和capture過程中捕獲"l"值。這樣,對于Corem,在前m個時鐘周期,保存在流水寄 存器中的"l"用來屏蔽掉相應的比較,m個時鐘周期后,來自屏蔽數據輸入端口的數據用來 屏蔽掉對X位的比較。 相應地,本發明實施例還提供一種具有多個同構IP核的片上系統(SOC)芯片測試 方法,如圖4所示,其包括如下步驟 步驟S100,控制器向每個IP核輸入時鐘使能控制信號Core—clk—en,控制一個或 多個IP核處于測試模式,時鐘使能控制信號C0re_clk_en為0的核被旁路掉,時鐘使能控 制信號Core—clk—en為1的核則能接受掃描輸入數據,從而可以被測試,掃描測試激勵通過 流水方式廣播到這些IP核;同時控制器根據掃描測試數據到達片上系統芯片的順序和處 于測試模式下的IP核的信息,向每個同構IP核輸入測試響應輸出控制信號Core—sel—out, 控制所測IP核中離掃描輸入端口最近的IP核的測試響應作為基準響應,并直接輸出它的 測試響應結果,其他IP核則與該IP核進行比較;
步驟S200,在測試儀上對直接輸出的測試響應進行觀測,并與期望響應進行比較, 來判定測試響應直接輸出的IP核是否存在故障;同時對處于測試模式下的其他IP核的條 件比較器給出的錯誤標識信號進行觀測,來判定相應核的響應是否與基準響應一致;
較佳地,所述步驟S200還包括下列步驟 屏蔽數據通過屏蔽數據輸入端口 (mask data in) 8將屏蔽數據通過流水寄存器5 以流水方式傳播到每個同構IP核的條件比較器中,使得相應的條件比較器屏蔽掉對X位的 比較,只對確定位(0或1)進行比較,從而保證Err_flg信號的正確性;對于Corem,在前m 個時鐘周期,保存在流水寄存器5中的"l"用來屏蔽掉相應的比較,m個時鐘周期后,來自 屏蔽數據輸入端口的數據用來屏蔽掉對X位的比較。 如果在測試儀上觀測到測試響應直接輸出的IP核存在故障,那么處于測試模式
的其他IP核的條件比較器給出的Err—flg信號不反映相應的IP核是否存在故障,Err—flg
信號給出的信息無效,這時需要旁路掉存在故障的IP核,并進行新一輪測試。 步驟S300,如果測試響應直接輸出的IP核不存在故障,那么錯誤標識信號Err_
fig就反映了相應IP核是否存在故障,這時由錯誤標識信號Err_flg來判定處于測試模式
的其他IP核是否存在故障。 較佳地,所述步驟S300還包括下列步驟 —輪測試完成之后,判斷是否存在未被判定的同構IP核,如果還存在IP核未被判 定為無故障或有故障,控制器1就產生新的測試控制信號(包括C0re_clk_en和C0re_Sel_ out)來啟動新一輪測試對未被判定的核進行測試,如果所有的同構IP核都已經被判定,則 對這些核的測試結束。 下面以一含有4個同構的處理器核的片上系統(SOC)芯片為例,說明本發明實施 例的具有多個同構IP核的片上系統(SOC)芯片測試裝置和方法。 如圖l所示,本發明實施例涉及到一個多核處理器芯片,該芯片含有4個同構的 處理器核6,處理器核6內部包含各種宏單元,包括寄存器堆(regfile)和內容尋址存儲器 (CAM)等(未示出)。 掃描輸入數據(scan in data,也稱測試向量),屏蔽數據(mask data)依次經過 同構IP核Core。, Core" Core2和Core3,測試響應數據也按流水順序依次經過Core" Core2 和Corep在圖1中,還包括多個測試輸入同步寄存器(TISR)3和測試輸出同步寄存器 (T0SR) 4, Core。有4個TISR3和0個T0SR4, Corei有3個TISR3禾P 1個T0SR4, Core2有2 個TISR3和2個T0SR4, Core3有1個TISR3和3個T0SR4。這樣,這四個核的工作狀態就能 保持一致,即同時進入移位狀態和捕獲狀態。 圖1中,還包括對屏蔽數據進行緩存的流水寄存器5,這些流水寄存器5在非移位 狀態(包括test—setup和capture過程)下能捕獲"1 "值,從而為最初幾拍的比較提供屏 蔽(mask)數據。 圖3是這些流水寄存器5的示意圖,從圖中可以看出,當Scan—enable信號為1時, 電路處于移位狀態,屏蔽數據(mask data)可以通過這些流水寄存器5進行傳播;當Scan_ enable為0時,電路處于test_setup或capture狀態,屏蔽數據(mask data)則不能通過 相應的或門傳播到流水寄存器5,每個流水寄存器5都捕獲到"l"值。 作為一種可實施方式,圖3只是給出了流水寄存器5的一種實現形式,但是,應當
11說明的是,其它任何可以保證這些流水寄存器5在移位之前保持"l"值的方案都是可行的。
圖1中,除了最上游的Core。之外,其它的同構IP核的條件比較器2用以比較該 同構IP核的響應與來自上游同構IP核的響應,并輸出Err—flg信號。
圖2是一位條件比較器的示意圖。當屏蔽數據(mask data)為0時,相應的響應 值可以通過或門進而到達異或門的輸入端進行比較;當屏蔽數據(mask data)為1時,響應 值則不能通過或門,異或門的兩個輸入端是屏蔽數據(mask data)引起的l值,從而異或門 輸出O,表示結果一致。這樣,屏蔽數據(mask data)為1就能屏蔽兩個響應之間的比較操 作。 如果對四個同構核一塊進行測試,則Core。應首先被直接觀測,它的響應作為基準 響應與其它核進行比較,即控制Core。_clk_en = 1, Corei_clk_en = 1, Core2_clk_en = 1, Core3_clk_en = 1禾口 Core0_sel_out = 1, CoreLsel—out = 0, Core2_sel_out = 0, Core3_ sel_out = 0。 ATE設備(Auto-Test Equipment,自動化測試設備)(未示出)對期望響應 (expected responses)與Core。的響應進行比較來判斷Core。是否存在故障,同時Err_ flgr3分別給出Corei, Core2, Core3與Core。進行比較的結果。如果Core。的響應與期望響 應完全一致,則說明Core。不存在故障,那么Err_flgl~3就反映了 Core^是否存在故障,測 試過程結束;如果Core。的響應與期望響應不一致,則說明Core。存在故障,那么Err_flgl~3 給出的信息就不具有參考性,只是說明了與Core。的結果是否一致,這時還需要新一輪的 測試。當Core。存在故障時,需要將Core。旁路掉,直接輸出Cor^的結果,Core2, Core3與 Core!進行比較來判斷其正確性,即控制Core。_clk_en = 0, Corei_clk_en = 1, Core2_clk_ en = 1, Core3_clk_en = 1禾口 Core0_sel_out = 0, CoreLsel—out = 1, Core2_sel_out = 0,Core3_sel_out = 0。這時,Err—flgi的輸出沒有意義,因為Corei的響應是在測試儀上進 行比較的,不是片上比較的。當Coi^不存在故障時,Coi^和Core3是否存在故障則分別由 Err_flg2和Err_flg3給出,測試過程結束;否則還需要進一步的測試來判定Core2和Core3 是否存在故障。以此類推,直到所有的核是否存在故障都被判定。可以看出,最好情況下 (Core。不存在故障的情況),只需要一輪測試就可以對所有的同構核進行判定;最壞情況下 (Core。, Corei和Core2都存在故障的情況),需要4輪測試才能對所有的核進行判定。
本發明中的掃描測試裝置使得自動測試向量生成(ATPG)可以在核級進行,測試 向量(Test Pattern)在核級仿真驗證過之后,再映射到頂層作為最終的測試向量。
圖5給出了由IP核級測試向量產生芯片級測試向量的一個可實施方式,其中包含 屏蔽(mask)數據的抽取。從該實施例中可以看到,芯片級向量比IP核級向量多了 4拍移 位操作,這4拍操作,對掃描輸入來說,對應TISR寄存器,對掃描輸出來說,對應T0SR寄存 器。屏蔽(Mask)數據根據掃描輸出的值得到,需要比較的位,屏蔽(mask)對應位為0 ;輸 出為X的位,屏蔽(mask)對應位為l,即屏蔽對X的比較。在核級產生向量大大減少了向量 生成時間和向量調試時間。 本發明實施例的具有多個同構IP核的片上系統(S0C)芯片測試裝置和方法,其通 過測試激勵廣播和測試響應核間比較將n個核的測試數據量減少到一個核的測試數據量, 大大節省了 1/0資源,同時減少了測試時間和測試成本。相對于其它的多核測試方法,本發 明的測試裝置和方法具有良好的可擴展性和靈活性,而且實現復雜度低,控制簡單。其具有 以下優點
1.通過測試激勵廣播和測試響應核間比較將n個核的測試數據量減少到一個核
的測試數據量,大大節省了 10資源,同時減少了測試時間和測試成本。 2. TISR和TOSR寄存器的存在保證了 IP核狀態的一致性,避免了復雜的控制邏輯
來單獨控制每個核的行為,這樣使得控制簡單,面積開銷也最小。 3. TISR和TOSR寄存器的存在也保證了同構IP核對測試儀的等價性,即從測試儀 的角度來看,所有的核是一樣的。這樣,通過修改相應的控制信號來處于特定模式,同一組 測試向量就可以用來測試任意一個核,任意兩個核或者任意多個核。向量的這種通用性減 少了向量調試的時間,同樣節省了測試成本。 4.屏蔽數據通路的存在保證了含有X位的向量比較的正確性。其可以處理任意多 的X位,同時不增加額外的時間。 5.這種結構也有利于自動測試向量生成(ATPG)。向量可以在核級進行產生和仿 真,經過核級驗證的向量再映射到頂層作為最終的向量來使用。這樣可大大減少測試向量 生成的時間,同時減少向量調試時間。 最后應當說明的是,很顯然,本領域的技術人員可以對本發明進行各種改動和變 型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要 求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型。
權利要求
一種具有多個同構IP核的片上系統芯片測試裝置,包含在具有多個同構IP核的片上系統芯片中,其特征在于,包括控制器,以及多個相應于所述同構IP核的條件比較器,其中所述控制器,具有連接到相應每個同構IP核的多個控制信號接口,用于向每個同構IP核輸入測試控制信號,控制對其中一個或者多個同構IP核進行測試,相同的測試激勵數據廣播到這些IP核,同時控制輸出某一IP核的測試響應,該測試響應作為基準測試響應與其他IP核的測試響應進行比較;所述條件比較器,用于根據屏蔽數據選擇性地將相應IP核的測試響應與基準測試響應進行比較,并對比較結果進行處理產生1位的錯誤標識信號,所述錯誤標識信號用于指示比較是否一致。
2. 根據權利要求1所述的片上系統芯片測試裝置,其特征在于,所述控制器,還用于 根據測試儀實際測試的結果決定是否產生新的控制信號以進行新一輪測試,如果作為基準 的,即測試響應直接輸出的IP核有故障,則其他IP核的條件比較器給出的錯誤標識信號就 不具有參考性,控制器就會產生新的時鐘使能控制信號將作為基準的有故障的IP核旁路掉,并產生新的測試響應輸出控制信號,重新進行測試,直到作為基準的IP核不存在故障。
3. 根據權利要求1至2任一項所述的片上系統芯片測試裝置,其特征在于,還包括多個 連接到同構IP核上的多個測試輸入同步寄存器和測試輸出同步寄存器,其中所述測試輸入同步寄存器,用于同步每個同構IP核接收到的掃描測試激勵,保證每個 IP核在同樣的時刻接收到相同的測試激勵或測試向量;所述測試輸出同步寄存器,用于同步基準測試響應數據和自身的測試響應數據,并保 證任一同構IP核的測試響應直接輸出到掃描輸出端口的時間一致。
4. 根據權利要求3所述的片上系統芯片測試裝置,其特征在于,對含有n個同構IP核 的片上系統芯片,核C0rem有n-m個測試輸入同步寄存器,m個測試輸出同步寄存器。
5. 根據權利要求1至2任一項所述的片上系統芯片測試裝置,其特征在于,還包括連接 到條件比較器的屏蔽數據輸入總線和流水寄存器,其中所述流水寄存器,用于緩存屏蔽數據,使得屏蔽數據以流水方式進行傳播,減輕對時序 的要求;所述屏蔽數據輸入總線,用于將屏蔽數據輸入到每個所述條件比較器,使得所述比較 器只對確定值進行比較,屏蔽對不確定的X值的比較,從而保證含有X值的測試響應數據比 較的正確性;所述屏蔽數據是從掃描測試數據中抽取的。
6. 根據權利要求5所述的片上系統芯片測試裝置,其特征在于,所述屏蔽數據輸入總 線的寬度等于同構IP核的掃描輸出管腳的數目。
7. 根據權利要求1或2所述的片上系統芯片測試裝置,其特征在于,所述條件比較器的 位數取決于所述片上系統芯片同構IP核的掃描輸出管腳的數目;一個n位的條件比較器, 可由n個1位條件比較器組成,它的比較結果輸出信號是這n個1位條件比較器比較結果 輸出信號的或運算值。
8. 根據權利要求1至2任一項所述的片上系統芯片測試裝置,其特征在于,測試激勵數 據通過流水方式進行廣播,所述控制器根據同構IP核的連接順序控制輸出所測IP核中離掃描輸入端口最近的IP核的測試響應來作為基準測試響應;所述基準測試響應通過流水的方式廣播到下游的每個同構IP核。
9. 一種具有多個同構IP核的片上系統芯片測試方法,其特征在于,包括下列步驟 步驟S100,控制器向每個IP核輸入時鐘使能控制信號,控制一個或多個IP核處于測試模式,相同的測試激勵數據廣播到這些IP核;同時控制器根據處于測試模式下的IP核的信 息,向每個同構IP核輸入測試響應輸出控制信號,控制所測IP核中某一 IP核的測試響應 作為基準響應,并直接輸出它的測試響應結果,其他IP核則與該IP核進行比較;步驟S200,在測試儀上對直接輸出的測試響應進行觀測,并與期望響應進行比較,來判 定測試響應直接輸出的IP核是否存在故障;同時對處于測試模式下的其他IP核的條件比 較器給出的錯誤標識信號進行觀測,來判定相應IP核的響應是否與基準響應一致;步驟S300,如果測試響應直接輸出的IP核不存在故障,那么錯誤標識信號就反映了相 應IP核是否存在故障,這時由錯誤標識信號來判定處于測試模式下的其他IP核是否存在 故障。
10. 根據權利要求9所述的片上系統芯片測試方法,其特征在于,所述步驟S100還包括 下列步驟相同的測試激勵數據通過流水方式廣播到每個同構IP核,作為基準的測試響應通過 流水方式廣播到下游的同構IP核;控制器根據掃描測試數據到達片上系統芯片的順序和處于測試模式下的IP核的信 息,控制所測IP核中離掃描輸入端口最近的IP核的測試響應作為基準響應,并直接輸出;測試輸入同步寄存器同步每個同構IP核接收到的掃描測試激勵,保證每個IP核在同 樣的時刻接收到相同的測試激勵或測試向量;測試輸出同步寄存器同步基準測試響應數據和自身的測試響應數據,并保證任一同構 IP核的測試響應直接輸出到掃描輸出端口的時間一致。
11. 根據權利要求9所述的片上系統芯片測試方法,其特征在于,所述步驟S200還包括 下列步驟屏蔽數據通過屏蔽數據輸入端口將屏蔽數據通過流水寄存器以流水方式傳播到每個 同構IP核的條件比較器中,使得相應的比較器屏蔽掉對X位的比較,只對確定位進行比較, 從而保證錯誤標識信號的正確性;對于Corem,在前m個時鐘周期,保存在流水寄存器中的 "1"用來屏蔽掉相應的比較,m個時鐘周期后,來自屏蔽數據輸入端口的數據用來屏蔽掉對 X位的比較;如果在測試儀上觀測到測試響應直接輸出的IP核存在故障,那么處于測試模式的其 他IP核的條件比較器給出的錯誤標識信號不反映相應的IP核是否存在故障,錯誤標識信 號給出的信息無效,這時需要旁路掉存在故障的IP核,并進行新一輪測試。
12. 根據權利要求9至11任一項所述的片上系統芯片測試方法,其特征在于,所述步驟 S300還包括下列步驟一輪測試完成之后,判斷是否存在未被判定的同構IP核,如果還存在IP核未被判定 為無故障或有故障,控制器就產生新的控制信號來啟動新一輪測試對未被判定的核進行測 試,如果所有的同構IP核都已經被判定,則對這些核的測試結束。
全文摘要
本發明公開了一種具有多個同構IP核的片上系統芯片測試裝置和方法,該裝置包括控制器,具有連接到相應每個同構IP核的多個控制信號接口,用于向每個同構IP核輸入測試控制信號,控制對其中一個或者多個同構IP核進行測試,相同的測試激勵數據廣播到這些IP核,同時控制輸出某一IP核的測試響應,該測試響應作為基準測試響應與其他IP核的測試響應進行比較;所述條件比較器,用于將相應IP核的測試響應與基準測試響應進行比較,并對比較結果進行處理產生1位的錯誤標識信號,來標識比較是否一致。
文檔編號G01R31/317GK101788644SQ20091024440
公開日2010年7月28日 申請日期2009年12月30日 優先權日2009年12月30日
發明者劉慧 , 胡偉武, 齊子初 申請人:北京龍芯中科技術服務中心有限公司