国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      系統(tǒng)芯片及其驗(yàn)證方法_3

      文檔序號:9261284閱讀:來源:國知局
      10相同或相似的構(gòu)造。包括在SoC 410中的處理器可包括多個處理器。另外,各個處理器支持多個權(quán)限等級。
      [0066]當(dāng)產(chǎn)生測試程序時,連接至SoC 410的存儲器器件420存儲測試產(chǎn)生器和測試模板。包括在SoC 410中的處理器執(zhí)行測試產(chǎn)生器以產(chǎn)生測試程序。測試產(chǎn)生器可為一種程序和/或軟件模塊。測試產(chǎn)生器讀取測試模板中的指令語句以產(chǎn)生測試程序的指令。例如,測試產(chǎn)生器讀取一個指令語句以產(chǎn)生一個指令。另外,測試產(chǎn)生器可讀取多個指令語句以產(chǎn)生一個指令。測試產(chǎn)生器還可讀取一個指令語句以產(chǎn)生多個指令。
      [0067]在測試產(chǎn)生器讀取模板語句的同時,包括在測試產(chǎn)生器中的第一子組件檢測關(guān)于指令集、權(quán)限等級和/或處理器的切換意圖。指令集的狀態(tài)、權(quán)限等級和/或處理器被稱作用于操作SoC 410的操作狀態(tài)。當(dāng)檢測到操作狀態(tài)的切換意圖時,測試產(chǎn)生器產(chǎn)生異常引發(fā)指令。操作狀態(tài)的切換意圖指示SoC 410的操作狀態(tài)應(yīng)該改變。
      [0068]可通過多種方法表達(dá)操作狀態(tài)的切換意圖。例如,操作狀態(tài)的切換意圖可通過模板語句的內(nèi)容來表達(dá)。在各個實(shí)施例中,操作狀態(tài)的切換意圖可通過利用特定二進(jìn)制碼值產(chǎn)生異常引發(fā)指令的模板語句來表達(dá)。另外,操作狀態(tài)的切換意圖可利用產(chǎn)生兩個指令(將特定值分配至寄存器的命令和系統(tǒng)調(diào)用命令)的模板語句來表達(dá)。然而,關(guān)于操作狀態(tài)的切換意圖的表達(dá)可不限于此。包括操作狀態(tài)的切換意圖的指令語句被稱作狀態(tài)變更語句。
      [0069]包括在測試產(chǎn)生器中的第二子組件在測試產(chǎn)生器讀取模板語句的同時確定對應(yīng)于模板語句的指令的內(nèi)容。例如,第二子組件選擇對應(yīng)于模板語句的指令集。測試產(chǎn)生器從選擇的指令集中產(chǎn)生新指令。
      [0070]包括在測試產(chǎn)生器中的主組件控制測試產(chǎn)生器的整體操作。主組件以一次一個語句(或者“一個接一個”)的方式從測試模板按順序讀取模板語句。主組件根據(jù)由第一子組件和第二子組件決定的信息產(chǎn)生測試程序的指令。
      [0071]在驗(yàn)證操作期間,包括在SoC 410中的處理器執(zhí)行產(chǎn)生的測試程序。包括在SoC410中的處理器按順序執(zhí)行包括在測試程序中的指令。當(dāng)在測試程序的執(zhí)行過程中檢測到異常引發(fā)指令時,包括在SoC 410中的處理器停止執(zhí)行測試程序并且執(zhí)行異常處理程序。異常處理程序可存儲在連接至SoC 410的存儲器器件420中。異常處理程序可由程序、程序代碼和/或軟件模塊形成。一旦用于異常處理程序的程序代碼和/或軟件模塊被裝載到SoC 410的處理器中,就將SoC 410的處理器編程以執(zhí)行由異常處理程序的程序代碼描繪的各種操作和功能,從而將SoC 410的處理器轉(zhuǎn)變?yōu)閷S锰幚砥?。例如,包括異常處理程序的處理器可檢查異常引發(fā)指令的二進(jìn)制碼??商鎿Q或可附加地,包括異常處理程序的處理器檢查存儲在寄存器中的變元。因此,包括異常處理程序的處理器借由二進(jìn)制碼和/或存儲在寄存器中的變元檢查指令集、權(quán)限等級和/或處理器的切換意圖。異常處理程序包括固定指令序列。此時,當(dāng)二進(jìn)制碼或存儲在寄存器中的變元的檢查結(jié)果指示指令集、權(quán)限等級和/或處理器的切換時,包括在SoC 410中的處理器按順序執(zhí)行固定指令序列。固定指令序列的一個指令可包括這樣的內(nèi)容,其指示在異常處理結(jié)束之后返回異常引發(fā)指令的地址之后緊挨著的地址。因此,包括在SoC 410中的處理器停止執(zhí)行異常處理程序并恢復(fù)執(zhí)行測試程序。當(dāng)測試程序恢復(fù)執(zhí)行時,包括在SoC 410中的處理器利用變更后的指令集和/或變更后的權(quán)限等級執(zhí)行測試程序。另外,測試程序可在變更后的處理器上運(yùn)行。
      [0072]隨著測試程序的執(zhí)行,包括在SoC 410中的處理器將上下文存儲在存儲器器件420,或者從存儲器器件420恢復(fù)上下文。包括在SoC 410中的處理器當(dāng)測試程序的執(zhí)行停止時存儲上下文。另外,包括在SoC 410中的處理器當(dāng)測試程序恢復(fù)執(zhí)行時恢復(fù)上下文。上下文可意指在測試程序的執(zhí)行停止之后恢復(fù)執(zhí)行測試程序所需的信息。也就是說,上下文意指剛好在測試程序停止之前包括在SoC 410中的處理器的狀態(tài)。例如,上下文可包括各個處理器的寄存器信息。如果SoC 410的每個處理器支持六個權(quán)限等級,則每個處理器的上下文可包括對應(yīng)于第一等級至第六等級的上下文。
      [0073]映射表存儲在連接至SoC 410的存儲器器件420中。映射表不管處理器切換如何都用于產(chǎn)生測試程序。映射表存儲處理器的物理ID與虛擬ID之間的映射信息??筛鶕?jù)固定的處理器ID執(zhí)行測試程序的指令。例如,可根據(jù)虛擬ID產(chǎn)生測試程序的指令。通過映射表的變更獲得實(shí)際處理器切換的效果。
      [0074]圖5至圖7是示意性地示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的圖4所示的測試模板的示圖。圖5是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的伴有指令集的切換的測試模板的示圖。參照圖5,測試模板包括多個模板語句。如圖所示,測試模板包括對應(yīng)于不同指令集A32和A64的指令語句A至F。另外,測試模板包括狀態(tài)變更語句I和狀態(tài)變更語句2。在各個實(shí)施例中,狀態(tài)變更語句I和狀態(tài)變更語句2 二者可包括關(guān)于指令集的切換意圖,其指示將被處理的指令集的狀態(tài)應(yīng)該改變。
      [0075]包括在SoC 410中的處理器執(zhí)行測試產(chǎn)生器以產(chǎn)生測試程序。測試產(chǎn)生器以一次一個語句(或者“一個接一個”)的方式按順序讀取包括在測試模板中的模板語句。測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句A和B中的每一個的64位指令A(yù)64。
      [0076]測試產(chǎn)生器產(chǎn)生對應(yīng)于狀態(tài)變更語句I的用于切換指令集的指令。例如,當(dāng)檢測狀態(tài)變更語句I時,測試產(chǎn)生器產(chǎn)生異常引發(fā)指令。異常引發(fā)指令包括用于將指令集改變?yōu)?2位的變元。
      [0077]在按照狀態(tài)變更語句I產(chǎn)生異常引發(fā)指令之后,測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句C和指令語句D中的每一個的32位指令A(yù)32。
      [0078]測試產(chǎn)生器產(chǎn)生對應(yīng)于狀態(tài)變更語句2的用于改變指令集的指令。例如,當(dāng)檢測狀態(tài)變更語句2時,測試產(chǎn)生器形成或產(chǎn)生異常引發(fā)指令。異常引發(fā)指令可包括用于將指令集改變?yōu)?4位的變元。
      [0079]在按照狀態(tài)變更語句2產(chǎn)生異常引發(fā)指令之后,測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句E和指令語句F中的每一個的64位指令A(yù)64。
      [0080]如上所述,本發(fā)明構(gòu)思的SoC 410通過狀態(tài)變更語句I和狀態(tài)變更語句2的方式產(chǎn)生用于改變指令集的測試程序。
      [0081]圖6是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的伴有權(quán)限等級的切換的測試模板的示圖。參照圖6,測試模板包括多個模板語句。例如,測試模板包括具有不同權(quán)限等級的指令語句A至E。另外,測試模板包括狀態(tài)變更語句I至狀態(tài)變更語句4。
      [0082]包括測試產(chǎn)生器的SoC 410的處理器以一次一個語句(或者“一個接一個”)的方式按順序讀取包括在測試模板中的模板語句。測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句A的指令A(yù)。指令A(yù)是在驗(yàn)證操作期間以權(quán)限等級PLl-1執(zhí)行的指令。
      [0083]測試產(chǎn)生器形成或產(chǎn)生對應(yīng)于狀態(tài)變更語句I的用于改變權(quán)限等級的指令。例如,當(dāng)檢測狀態(tài)變更語句I時,測試產(chǎn)生器產(chǎn)生異常引發(fā)指令。異常引發(fā)指令包括用于將權(quán)限等級改變和/或設(shè)置為權(quán)限等級PL1-2的變元。
      [0084]在按照狀態(tài)變更語句I產(chǎn)生異常引發(fā)指令之后,測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句B的指令B。指令B是在驗(yàn)證操作期間以權(quán)限等級PL1-2執(zhí)行的指令。
      [0085]測試產(chǎn)生器產(chǎn)生對應(yīng)于狀態(tài)變更語句2的用于改變指令集的指令。例如,當(dāng)檢測狀態(tài)變更語句2時,測試產(chǎn)生器形成或產(chǎn)生異常引發(fā)指令。異常引發(fā)指令可包括用于將權(quán)限等級改變和/或設(shè)置為權(quán)限等級PL1-3的變元。
      [0086]如上所述,可按照狀態(tài)變更語句3和狀態(tài)變更語句4產(chǎn)生異常引發(fā)指令,因此省略對其的詳細(xì)描述。異常引發(fā)指令可包括用于表達(dá)權(quán)限等級的切換意圖的變元。因此,可以以改變后的權(quán)限等級執(zhí)行指令C至E。
      [0087]在圖6中,包括在SoC 410中的處理器支持八個權(quán)限等級PLl-1至PL1-4和PL2-1至PL2-4。在各個實(shí)施例中,權(quán)限等級PLl-1至PL1-4可為非固定等級,而權(quán)限等級PL2-1至PL2-4可為固定等級。然而,包括在SoC 410中的一個或多個處理器可不限于此。包括在SoC 410中的處理器可支持至少一個權(quán)限等級。
      [0088]如上所述,本發(fā)明構(gòu)思的SoC 410可通過狀態(tài)變更語句I至狀態(tài)變更語句4的方式來產(chǎn)生改變權(quán)限等級的測試程序。
      [0089]圖7是示出伴有處理器的切換的測試模板的示圖。參照圖7,測試模板包括多個模板語句。如圖所示,測試模板包括對應(yīng)于不同處理器的指令語句A至F。另外,測試模板包括狀態(tài)變更語句I和狀態(tài)變更語句2。
      [0090]包括在SoC 410中的處理器執(zhí)行測試產(chǎn)生器以產(chǎn)生測試程序。測試產(chǎn)生器以一次一個語句(或者“一個接一個”)的方式按順序讀取包括在測試模板中的模板語句。測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句A和B的指令A(yù)和B。指令A(yù)和B可為在驗(yàn)證操作期間在第五處理器上執(zhí)行的指令。
      [0091]測試產(chǎn)生器產(chǎn)生對應(yīng)于狀態(tài)變更語句I的用于改變處理器的指令。例如,當(dāng)檢測狀態(tài)變更語句I時,測試產(chǎn)生器形成或產(chǎn)生異常引發(fā)指令。異常引發(fā)指令包括用于將處理器改變?yōu)榈谒奶幚砥骰蛘邚牡谖逄幚砥髑袚Q至第四處理器的變元。
      [0092]在按照狀態(tài)變更語句I產(chǎn)生異常引發(fā)指令之后,測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句C和D的指令C和D。指令C和D可為在驗(yàn)證操作期間在第四處理器上執(zhí)行的命令。
      [0093]測試產(chǎn)生器產(chǎn)生對應(yīng)于狀態(tài)變更語句2的用于改變處理器的指令。例如,當(dāng)檢測狀態(tài)變更語句2時,測試產(chǎn)生器形成或產(chǎn)生異常引發(fā)指令。異常引發(fā)指令包括用于將處理器改變?yōu)榈谄咛幚砥鞯淖冊?br>[0094]在按照狀態(tài)變更語句2產(chǎn)生異常引發(fā)指令之后,測試產(chǎn)生器產(chǎn)生對應(yīng)于指令語句E和F的指令E和F。指令E和F可為在驗(yàn)證操作期間在第七處理器上執(zhí)行的命令。
      [0095]如上所述,本發(fā)明構(gòu)思的包括在SoC 410中的處理器借由狀態(tài)變更語句I和狀態(tài)變更語句2產(chǎn)生用于改變處理器的測試程序。
      [0096]圖8是示意性地示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的圖4所示的映射表的示圖。參照圖8,映射表示出了物理處理器ID與虛擬處理器ID之間的關(guān)系。
      [0097]如參照圖7所描述的那樣,測試產(chǎn)生器讀取測試模板以產(chǎn)生包括將由不同處理器執(zhí)行的指令的測試程序。然而,可通過指定的處理器來產(chǎn)生測試程序的指令。因此,可根據(jù)虛擬處理器ID產(chǎn)生測試程序的指令。如果虛擬處理器ID與物理處理器ID之間的關(guān)系改變,則測試程序可改變用于執(zhí)行操作的處理器。
      [0098]處理器I至8具有固定的物理處理器ID。虛擬處理器ID和物理處理器ID——對應(yīng)地映射。然而,本發(fā)明構(gòu)思不限于此。例如,虛擬處理器ID ‘I’映射至物理處理器ID ‘3’上,虛擬處理器ID ‘2’映射至物理處理器ID ‘8’上,并且虛擬處理器ID ‘
      當(dāng)前第3頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1