一種實現待驗證芯片互聯的方法和裝置制造方法
【專利摘要】本發明公開了一種實現待驗證芯片互聯的方法和裝置,包括根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個信號中的信息,得到分析結果;根據預先設定的配置信息,在通過PLI接口獲得的多個信號中注入延時和錯誤,并通過PLI接口發送經注入處理后的信號;根據分析結果和注入延時和錯誤的相關信息,生成日志信息。通過本發明提供的技術方案,有效提高了分析芯片間信號的能力、以及在芯片間信號中注入延時和錯誤的能力,從而提高了多芯片系統的驗證的效率和效果,很好地滿足多芯片系統驗證中實現待驗證芯片互聯的需求。
【專利說明】-種實現待驗證芯片互聯的方法和裝置
【技術領域】
[0001] 本發明涉及多芯片系統的驗證技術,尤指一種實現待驗證芯片互聯的方法和裝 置。
【背景技術】
[0002] 隨著集成電路技術的飛速發展,對于多芯片系統的仿真驗證(下文簡稱驗證)是 必不可少的,多芯片系統的驗證需求也越來越復雜。這樣,在多芯片系統的驗證中待驗證的 芯片的互聯(下文簡稱待驗證芯片互聯)方面,多芯片系統的驗證需求不僅要求實現待驗 證芯片互聯,而且要求實現分析芯片間信號、在芯片間信號中注入延時和錯誤、生成上述操 作的相關日志信息等功能(下文將這些功能統稱為待驗證芯片互聯的高級功能)。其中,對 芯片間信號的分析和生成上述操作的相關日志信息,可以增強驗證的可視性,提高驗證的 效率,而在芯片間信號中注入延時和錯誤可以更真實模擬實際環境中芯片間通信的情況, 提1?驗證的效果。
[0003] 現有的實現待驗證芯片互聯的方法,如使用Verilog或者SystemVerilog語言實 現待驗證芯片互聯的方法,雖然可以實現待驗證芯片互聯,但在實現待驗證芯片互聯的高 級功能方面,尤其在芯片間接口為超高速接口(例如,速率達到lOGbps以上的接口)時,存 在分析芯片間信號的能力、以及在芯片間信號中注入延時和錯誤的能力不強的問題,降低 了多芯片系統的驗證的效率和效果,不能很好地滿足多芯片系統驗證中實現待驗證芯片互 聯的需求。
【發明內容】
[0004] 為了解決上述技術問題,本發明提供了一種實現待驗證芯片互聯的方法和裝置, 在實現待驗證芯片互聯時,能夠更好地實現待驗證芯片互聯的高級功能,從而有效提高多 芯片系統的驗證的效率和效果。
[0005] 為了達到本發明目的,本發明公開了一種實現待驗證芯片互聯的方法,基于 SystemC語言實現該方法,包括:
[0006] 根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個芯片間信號中的信 息,得到分析結果;
[0007] 根據預先設定的配置信息,在通過PLI接口獲得的多個芯片間信號中注入延時和 錯誤,并通過PLI接口發送經注入處理后的芯片間信號;其中,配置信息為范圍信息或者固 定信息;
[0008] 根據分析結果和注入延時和錯誤的相關信息,生成日志信息。
[0009] 所述分析的步驟、以及所述注入的步驟是參考時鐘信號進行,參考的時鐘信號的 頻率大于或者等于芯片間接口的時鐘信號的頻率。
[0010] 所述分析的步驟具體包括:根據芯片間通信的信息的格式,通過寄存器級操作處 理和事務級建模處理,將通過PLI接口獲得的多個芯片間信號即寄存級的信號轉換成事務 級的操作,得到所述分析結果。
[0011] 所述注入的步驟具體包括:
[0012] 根據所述配置信息,通過隨機處理確定操作信息;其中,操作信息至少包括第一操 作目標信息、延時信息、第二操作目標信息和翻轉時間信息;
[0013] 對第一操作目標信息顯示的芯片間信號,根據延時信息通過寄存器級操作處理注 入延時;
[0014] 對第二操作目標信息顯示的芯片間信號,根據翻轉時間信息通過寄存器級操作處 理注入錯誤;
[0015] 通過PLI接口發送經注入處理后的芯片間信號。
[0016] 本發明還公開了一種實現待驗證芯片互聯的裝置,基于SystemC語言實現該裝 置,包括分析單元、注入單元和日志單元,其中,
[0017] 分析單元,用于根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個芯 片間信號中的信息,得到分析結果;
[0018] 注入單元,用于根據預先設定的配置信息,在通過PLI接口獲得的多個芯片間信 號中注入延時和錯誤,并通過PLI接口發送經注入處理后的芯片間信號;其中,配置信息為 范圍信息或者固定信息;
[0019] 日志單元,用于根據分析結果和注入延時和錯誤的相關信息,生成日志信息。
[0020] 所述分析單元和所述注入單元參考時鐘信號完成相應功能,參考的時鐘信號的頻 率大于或者等于芯片間接口的時鐘信號的頻率。
[0021] 所述分析單元具體用于:根據芯片間通信的信息的格式,通過寄存器級操作處理 和事務級建模處理,將通過PLI接口獲得的多個芯片間信號即寄存級的信號轉換成事務級 的操作,得到所述分析結果。
[0022] 所述注入單元包括隨機處理模塊、延時注入模塊、錯誤注入模塊和發送模塊,其 中,
[0023] 隨機處理模塊,用于根據所述配置信息,通過隨機處理確定操作信息;其中,操作 信息至少包括第一操作目標信息、延時信息、第二操作目標信息和翻轉時間信息;
[0024] 延時注入模塊,用于對第一操作目標信息顯示的芯片間信號,根據延時信息通過 寄存器級操作處理注入延時;
[0025] 錯誤注入模塊,用于對第二操作目標信息顯示的芯片間信號,根據翻轉時間信息 通過寄存器級操作處理注入錯誤;
[0026] 發送模塊,用于通過PLI接口發送經注入處理后的芯片間信號。
[0027] 與現有技術相比,本發明的技術方案基于SystemC語言,根據芯片間通信的信息 的格式,分析通過PLI接口獲得的多個芯片間信號中的信息,得到分析結果;根據預先設定 的配置信息,在通過PLI接口獲得的多個芯片間信號中注入延時和錯誤,并通過PLI接口發 送經注入處理后的芯片間信號;根據分析結果和注入延時和錯誤的相關信息,生成日志信 息。通過本發明提供的技術方案,本發明通過編程語言接口(PLI)從待驗證的上游芯片獲 得芯片間信號,然后,基于SystemC語言實現待驗證芯片互聯的高級功能,最后,通過PLI將 經過處理的芯片間信號發送給待驗證的下游芯片。這樣,在實現待驗證芯片互聯的同時,有 效提高了分析芯片間信號的能力、以及在芯片間信號中注入延時和錯誤的能力,從而提高 了多芯片系統的驗證的效率和效果,很好地滿足多芯片系統驗證中實現待驗證芯片互聯的 需求。
[0028] 本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利 要求書以及附圖中所特別指出的結構來實現和獲得。
【專利附圖】
【附圖說明】
[0029] 附圖用來提供對本發明技術方案的進一步理解,并且構成說明書的一部分,與本 申請的實施例一起用于解釋本發明的技術方案,并不構成對本發明技術方案的限制。
[0030] 圖1為本發明實現待驗證芯片互聯的方法的流程圖;
[0031] 圖2為本發明實現注入的流程圖;
[0032] 圖3為本發明實現待驗證芯片互聯的裝置的組成結構示意圖;
[0033] 圖4為本發明裝置中注入單元的組成結構示意圖。
【具體實施方式】
[0034] 為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明 的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中 的特征可以相互任意組合。
[0035] 在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中 執行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順 序執行所示出或描述的步驟。
[0036] 圖1為本發明實現待驗證芯片互聯的方法的流程圖,可以基于SystemC語言實現 該方法的各步驟,如圖1所示,該方法包括如下步驟:
[0037] 步驟101 :根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個芯片間信 號中的信息,得到分析結果。
[0038] 通常,芯片間通信是通過多種協議完成的,每一種協議對應于芯片間通信的一個 層。例如,對于計算機網絡通信來講,芯片間通信的各層從下到上是:物理層,數據鏈路層, 網絡層,傳輸層和應用層;芯片間通信的各層對應的各協議從下到上是:物理層協議,數據 鏈路層協議,網絡層協議,傳輸層協議和應用層協議;其中,物理層協議可以稱為底層協議, 而其他層協議可以統稱為高層協議。
[0039] 可以根據多芯片系統的驗證需求,確定本步驟中分析處理在芯片間通信的哪個層 上進行,并將分析處理對應的各通信協議的格式作為芯片間通信的信息的格式。
[0040] 本步驟具體來講,根據芯片間通信的信息的格式,通過寄存器級操作處理和事務 級建模處理,將通過PLI接口獲得的多個芯片間信號即寄存級的信號轉換成事務級的操 作,得到分析結果。其中,
[0041] 寄存器級操作處理可以用于底層協議對應的信息的處理,事務級建模處理可以用 于高層協議對應的信息的處理。
[0042] 將通過PLI接口獲得的多個芯片間信號即寄存級的信號轉換成事務級的操作包 括:首先,根據底層協議的格式從通過PLI接口獲得的多個芯片間信號即寄存級的信號中, 分析出底層協議對應的信息,然后,根據高層協議的格式從已分析出的信息中進一步分析 出高層協議對應的信息,即事務級的操作。其中,
[0043] 高層協議可以包括多種協議,如果高層協議包括多種協議,則按照由下到上的順 序,根據對應的協議的格式一個協議一個協議的進行分析,得到該協議對應的信息,并將所 得到的信息作為下面分析的輸入,直到分析出最高層協議對應的信息,即事務級的操作。
[0044] 本步驟參考時鐘信號完成分析處理、參考的時鐘信號的頻率大于或者等于芯片間 接口的時鐘信號的頻率。
[0045] 寄存器級操作處理和事務級建模處理的具體實現、以及參考時鐘信號完成分析處 理的具體實現,為本領域人員的慣用技術手段,不用于限定本發明的保護范圍,此處不再贅 述。
[0046] 步驟102 :根據預先設定的配置信息,在通過PLI接口獲得的多個芯片間信號中注 入延時和錯誤,并通過PLI接口發送經注入處理后的信號。其中,
[0047] 可以將配置信息分類成范圍信息和固定信息。其中,范圍信息表示一個數值范圍, 例如,[0, 3]表示0到3之間的所有數值。固定信息表示一個固定的數值,例如,3表示數值 3〇
[0048] 圖2為步驟102中實現注入的流程圖,如圖2所示,包括:
[0049] 步驟201 :根據配置信息,通過隨機處理確定操作信息。其中,操作信息至少包括 第一操作目標信息、延時信息、第二操作目標信息和翻轉時間信息。其中,
[0050] 第一操作目標信息顯示將對其進行注入延時處理的信號。延時信息顯示對第一操 作目標信息顯示的信號進行注入延時處理的延時數值。
[0051] 第二操作目標信息顯示將對其進行注入錯誤處理的信號。翻轉時間信息顯示對第 二操作目標信息顯示的信號進行注入錯誤處理的時刻。
[0052] 隨機處理可以通過SystemC語言提供的偽隨機函數實現,通過這種方式實現的偽 隨機結果在使用相同偽隨機種子的情況下,是可以恢復的。
[0053] 步驟202 :對第一操作目標信息顯示的信號,根據延時信息通過寄存器級操作處 理注入延時。其中,
[0054] 注入延時處理指的是增加信號的傳輸延時。
[0055] 步驟203 :對第二操作目標信息顯示的信號,根據翻轉時間信息通過寄存器級操 作處理注入錯誤。其中,
[0056] 注入錯誤處理可以通過翻轉信號的方式來實現。
[0057] 步驟204 :通過PLI接口發送經注入處理后的信號。
[0058] 需要說明的是,步驟102中,當配置信息是固定信息時,通過隨機處理確定出的操 作信息的數值與配置信息的數值相等,也就是說,此時由于是在固定信息即固定值的基礎 上進行隨機處理,隨機處理不產生效果。而當配置信息是范圍信息時,通過隨機處理確定出 的操作信息的數值為配置信息顯示的范圍中的一個數值,此時,隨機處理產生了效果。因 此,
[0059] 當配置信息是固定信息時,本步驟執行的效果相當于,以固定的方式注入延時和 錯誤。而當配置信息是范圍信息時,本步驟執行的效果相當于,以隨機的方式注入延時和錯 誤。這樣,可以將配置信息是固定信息的情況,理解為配置信息是范圍信息中的一種特殊情 況。
[0060] 步驟102參考時鐘信號完成注入處理,參考的時鐘信號的頻率大于或者等于芯片 間接口的時鐘信號的頻率。
[0061] 參考時鐘信號完成注入處理的具體實現,為本領域人員的慣用技術手段,不用于 限定本發明的保護范圍,此處不再贅述。
[0062] 步驟103 :根據分析結果和注入延時和錯誤的相關信息,生成日志信息。其中,
[0063] 分析結果可以包括分析芯片間通信對應的各協議而得到的信息。
[0064] 注入延時和錯誤的相關信息,分別包括注入延時處理和注入錯誤處理相關信息。 具體來講,可以包括根據配置信息通過隨機處理得到的操作信息。
[0065] 生成的日志信息可以保存在一個文件中。
[0066] 圖3為本發明實現待驗證芯片互聯的裝置的組成結構示意圖,如圖3所示,基于 SystemC語言實現該裝置,包括分析單元、注入單元和日志單元,其中,
[0067] 分析單元,用于根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個信 號中的信息,得到分析結果。
[0068] 注入單元,用于根據預先設定的配置信息,在通過PLI接口獲得的多個信號中注 入延時和錯誤,并通過PLI接口發送經注入處理后的信號;其中,配置信息為范圍信息或者 固定信息。
[0069]日志單元,用于根據分析結果和注入延時和錯誤的相關信息,生成日志信息。
[0070] 分析單元和注入單元參考時鐘信號完成相應功能,參考的時鐘信號的頻率大于或 者等于芯片間接口的時鐘信號的頻率。
[0071] 進一步地,
[0072] 分析單元具體用于:根據芯片間通信的信息的格式,通過寄存器級操作處理和事 務級建模處理,將通過PLI接口獲得的多個信號即寄存級的信號轉換成事務級的操作,得 到分析結果。
[0073] 圖4為本發明裝置中注入單元的組成結構示意圖,如圖4,注入單元包括隨機處理 模塊、延時注入模塊、錯誤注入模塊和發送模塊,其中,
[0074] 隨機處理模塊,用于根據配置信息,通過隨機處理確定操作信息;其中,操作信息 至少包括第一操作目標信息、延時信息、第二操作目標信息和翻轉時間信息;
[0075] 延時注入模塊,用于對第一操作目標信息顯示的信號,根據延時信息通過寄存器 級操作處理注入延時;
[0076] 錯誤注入模塊,用于對第二操作目標信息顯示的信號,根據翻轉時間信息通過寄 存器級操作處理注入錯誤;
[0077] 發送模塊,用于通過PLI接口發送經注入處理后的信號。
[0078] 雖然本發明所揭露的實施方式如上,但所述的內容僅為便于理解本發明而采用的 實施方式,并非用以限定本發明。任何本發明所屬領域內的技術人員,在不脫離本發明所揭 露的精神和范圍的前提下,可以在實施的形式及細節上進行任何的修改與變化,但本發明 的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
【權利要求】
1. 一種實現待驗證芯片互聯的方法,其特征在于,基于SystemC語言實現該方法,包 括: 根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個芯片間信號中的信息, 得到分析結果; 根據預先設定的配置信息,在通過PLI接口獲得的多個芯片間信號中注入延時和錯 誤,并通過PLI接口發送經注入處理后的芯片間信號;其中,配置信息為范圍信息或者固定 信息; 根據分析結果和注入延時和錯誤的相關信息,生成日志信息。
2. 根據權利要求1所述的方法,其特征在于,所述分析的步驟、以及所述注入的步驟是 參考時鐘信號進行,參考的時鐘信號的頻率大于或者等于芯片間接口的時鐘信號的頻率。
3. 根據權利要求1所述的方法,其特征在于,所述分析的步驟具體包括:根據芯片間通 信的信息的格式,通過寄存器級操作處理和事務級建模處理,將通過PLI接口獲得的多個 芯片間信號即寄存級的信號轉換成事務級的操作,得到所述分析結果。
4. 根據權利要求1所述的方法,其特征在于,所述注入的步驟具體包括: 根據所述配置信息,通過隨機處理確定操作信息;其中,操作信息至少包括第一操作目 標信息、延時信息、第二操作目標信息和翻轉時間信息; 對第一操作目標信息顯示的芯片間信號,根據延時信息通過寄存器級操作處理注入延 時; 對第二操作目標信息顯示的芯片間信號,根據翻轉時間信息通過寄存器級操作處理注 入錯誤; 通過PLI接口發送經注入處理后的芯片間信號。
5. -種實現待驗證芯片互聯的裝置,其特征在于,基于SystemC語言實現該裝置,包括 分析單元、注入單元和日志單元,其中, 分析單元,用于根據芯片間通信的信息的格式,分析通過PLI接口獲得的多個芯片間 信號中的信息,得到分析結果; 注入單元,用于根據預先設定的配置信息,在通過PLI接口獲得的多個芯片間信號中 注入延時和錯誤,并通過PLI接口發送經注入處理后的芯片間信號;其中,配置信息為范圍 信息或者固定信息; 日志單元,用于根據分析結果和注入延時和錯誤的相關信息,生成日志信息。
6. 根據權利要求5所述的裝置,其特征在于,所述分析單元和所述注入單元參考時鐘 信號完成相應功能,參考的時鐘信號的頻率大于或者等于芯片間接口的時鐘信號的頻率。
7. 根據權利要求5所述的裝置,其特征在于,所述分析單元具體用于:根據芯片間通信 的信息的格式,通過寄存器級操作處理和事務級建模處理,將通過PLI接口獲得的多個芯 片間信號即寄存級的信號轉換成事務級的操作,得到所述分析結果。
8. 根據權利要求5所述的裝置,其特征在于,所述注入單元包括隨機處理模塊、延時注 入模塊、錯誤注入模塊和發送模塊,其中, 隨機處理模塊,用于根據所述配置信息,通過隨機處理確定操作信息;其中,操作信息 至少包括第一操作目標信息、延時信息、第二操作目標信息和翻轉時間信息; 延時注入模塊,用于對第一操作目標信息顯示的芯片間信號,根據延時信息通過寄存 器級操作處理注入延時; 錯誤注入模塊,用于對第二操作目標信息顯示的芯片間信號,根據翻轉時間信息通過 寄存器級操作處理注入錯誤; 發送模塊,用于通過PLI接口發送經注入處理后的芯片間信號。
【文檔編號】G06F13/28GK104123253SQ201410363753
【公開日】2014年10月29日 申請日期:2014年7月28日 優先權日:2014年7月28日
【發明者】李拓, 童元滿, 李仁剛 申請人:浪潮(北京)電子信息產業有限公司