新四季網

雙精度simd部件晶片級驗證測試激勵自動生成方法

2023-07-30 19:20:51 1

專利名稱:雙精度simd部件晶片級驗證測試激勵自動生成方法
技術領域:
本發明涉及處理器設計過程中的晶片級驗證,尤其指面向雙精度SIMD(單指令多 數據)部件進行晶片級驗證過程中測試激勵的自動生成方法。
背景技術:
處理器晶片的集成度越來越大,在處理器中設計實現支持雙精度浮點計算的SIMD 部件來支持大規模科學和工程計算是一個重要的發展趨勢。但是和在處理器中實現支持流 媒體計算的SIMD擴展相比,雙精度SIMD部件需要設計實現更長字長的短向量寄存器(通 常為256位共4個雙精度數據)以及相應的支持雙精度計算的SIMD指令集。因此雙精度 SIMD部件使用的寄存器和傳統面向流媒體計算的SIMD擴展使用的寄存器不同,數據通路 不同,指令集也完全不同,這給驗證工作提出了很大的挑戰。處理器的晶片級驗證是指在全晶片模擬驗證環境中運行測試激勵來驗證晶片設 計的正確性。每個測試激勵是一個完整的彙編語言程序,測試激勵具有自比較的功能,能自 動比較程序的運行結果和預期結果,並根據比較結果進入不同的自陷。傳統SIMD部件的晶片級驗證都是由設計和驗證人員用彙編語言手工編寫晶片級 測試激勵。這種方法需要大量的人力來開發測試激勵,耗費人力物力多,晶片級驗證時間 長;並且不同處理器實現的SIMD擴展不同,支持雙精度浮點計算的SIMD擴展差別就更大, 無法重用已有的SIMD部件晶片級驗證的測試激勵。因此迫切需要雙精度SIMD部件晶片級 驗證測試激勵生成的自動化方法。目前還沒有公開發表的面向雙精度SIMD部件晶片級驗 證自動生成測試激勵的方法。

發明內容
本發明要解決的技術問題是提出一種自動生成雙精度SIMD部件晶片級驗證測試 激勵的方法。本發明的技術方案如下第一步,根據所要驗證的雙精度數據運算類型(如加、減、乘、除等),以及數組長 度(記為scale),構造進行雙精度數組操作的標準C語言程序foo. C。foo. c 一方面為即將構造的使用雙精度SIMD彙編指令的測試激勵建立一個正確 的模型,該正確的模型是指經過驗證正確可信,可以作為正確性對比的參照),一方面為構 造測試激勵準備原始數據,原始數據包括輸入雙精度數組以及作為正確結果的雙精度數 組。構造foo. c的方法是1. 1生成一個空的C語言源程序文件foo. c ;1. 2向foo. c文件中寫入標準C語言程序文本,包括如下內容1.2. 1包含標準頭文件的語句;1. 2. 2全局數組聲明語句,包括聲明用作輸入數據的兩個一維雙精度數組srcl和src2的語句、聲明用作保存正確結果的一維雙精度數組golderuresult的語句,以及聲 明用作保存計算結果的一維雙精度數組result的語句,數組的長度都為scale ;srcl和 src2聲明中的數組初值由雙精度數據隨機生成程序生成;golderuresult數組聲明中的初 始數據根據所要驗證的運算類型對兩個源數組進行運算得到;1.2.3 C程序主函數代碼包括對兩個輸入數組元素進行運算並將結果寫入 result數組的語句;對golderuresult數組元素和result數組元素進行比較並當結果不 同時報出警告信息的程序語句。第二步,基於foo. c以及所要驗證的運算,構造作為測試激勵的彙編語言源程序 simd. s,方法是2. 1用面向目標處理器的編譯器編譯foo. c程序,用「-S」編譯選項控制編譯器將 foo. C編譯為彙編語言程序文本foo. S,如gcc-s foo. C-O foo. S。2. 2 創建 simd. s 文件。2. 3向simd. s文件中寫入如下內容2. 3. 1包含測試激勵公共頭文件的代碼(如#include "hboot. s」);2. 3. 2彙編語言程序文本段聲明語句;2. 3. 3將4個數組srcl,src2, golden_result和result的基地址寫入寄存器的 彙編語句;2. 3. 4根據數組長度設置循環控制寄存器初始值的語句;2. 3. 5根據所要驗證的運算,寫入用SIMD指令進行數組讀取和操作的語句;2. 3. 6結果比較語句以及根據比較結果跳轉到相應自陷語句的彙編語句;2. 3. 7自陷語句;2.3.8數據段聲明語句,數據對齊方式為「.align 32」;2. 3. 9 foo. s 文件中讀取的 srcl、src2、golden_result、result 數組數據段的內容。採用本發明可以達到以下技術效果採用本發明可以自動生成一個使用雙精度SIMD彙編指令的彙編語言測試激勵 simd. S。將simd. s加載到晶片模擬環境中運行,可以利用雙精度SIMD指令對多種數據長 度的雙精度數組進行操作,根據激勵運行結果來對處理器的設計進行晶片級驗證。本發明可以編程實現,程序的輸入是要驗證的運算以及數組長度,輸出是可以作 為測試激勵的彙編語言源程序simd. S。多次運行該程序,輸入不同的運算類型和數組長度, 可以自動生成多種測試激勵,可以極大地減少開發面向雙精度SIMD部件進行晶片級驗證 所需的測試激勵的時間。


圖1是本發明總體流程圖;圖2是自動生成的標準C語言程序結構圖;圖3是自動生成的彙編語言測試激勵程序結構圖。
具體實施例方式圖1是本發明總體流程圖,本發明的總體過程為1. 1根據所要驗證的雙精度SIMD運算類型,以及數組長度,構造一個標準C語言程序foo. c ;1. 2用面向目標處理器的編譯器將foo. c程序編譯為彙編語言程序foo. s ;1.3根據所要驗證的雙精度SIMD運算類型,構造可以用作測試激勵的彙編語言 程序simd. s, simd. s彙編程序中的數據段內容根據foo. s的數據段內容構造。圖2是自動生成的標準C語言程序結構圖,構造該程序的具體步驟為2. 1生成一個空的C語言源程序文件foo. c ;2. 2向foo. c文件中寫入標準C語言的程序文本,包括如下內容2. 2. 1所需的標準頭文件;2.2.2全局數組聲明語句,包括用作輸入數據的兩個一維雙精度數組(srcl, src2),用作保存GOLDEN結果的一維雙精度數組(golder^result),以及用作保存計算結果 的一維雙精度數組(result)。srcl和src2聲明中的數組初值由雙精度數據隨機生成程序 生成;golderuresult數組聲明中的初始數據,根據所要驗證的運算類型對兩個源數組進 行相應運算得到;2. 2. 3主函數代碼,在主函數中對兩個輸入數組進行所要驗證的運算並將賦值給 寫入result數組;對golderuresult數組和result數組進行比較並當結果不同時報出警
告fn息。圖3是自動生成的測試激勵程序結構圖,構造該程序的具體步驟為3. 1創建一個空的彙編語言程序文本文件simd. s ;3. 2向simd. s中寫入如下內容3. 2. 1包含測試激勵公共頭文件的代碼(如 include "hboot. s」);3. 2. 2文本段聲明語句;3.2.3準備數組基地址寄存器內容的彙編語句,包括4個數組srcl,src2, golden_result 禾口 result ;3. 2. 4根據數組長度設置循環控制寄存器初始值的語句;3. 2. 5根據所要驗證的運算,寫入用SIMD指令進行數組讀取和操作的語句;3. 2. 6結果比較語句以及根據比較結果跳轉到相應自陷語句的彙編語句;3. 2. 7自陷語句;3.2.8數據段聲明語句,數據對齊方式為「.align 32」;3. 2. 9從foo. s文件中讀取的各個數組數據段的內容。
權利要求
1. 一種雙精度SIMD部件晶片級驗證測試激勵自動生成方法,其特徵在於包括以下步驟第一步,根據所要驗證的雙精度數據運算類型以及數組長度scale,構造進行雙精度數 組操作的標準C語言程序foo. c,方法是`1. 1生成一個空的C語言源程序文件foo. c ;`1. 2向foo. c文件中寫入標準C語言程序文本,包括如下內容`1. 2. 1包含標準頭文件的語句;`1. 2. 2全局數組聲明語句,包括聲明用作輸入數據的一維雙精度數組srcl和src2的 語句、聲明用作保存正確結果的一維雙精度數組golderuresult的語句,以及聲明用作保 存計算結果的一維雙精度數組result的語句,數組的長度都為scale ;srcl和src2聲明中 的數組初值由雙精度數據隨機生成程序生成;golderuresult數組聲明中的初始數據根據 所要驗證的運算類型對srcl和src2數組進行運算得到;`1.2. 3 C程序主函數代碼包括對兩個輸入數組元素進行運算並將結果寫入result數 組的語句;對golderuresult數組元素和result數組元素進行比較並當結果不同時報出警 告信息的程序語句;第二步,基於foo. c以及所要驗證的運算,構造作為測試激勵的彙編語言源程序simd. s,方法是`2.1用面向目標處理器的編譯器編譯foo.c程序,用「-S」編譯選項控制編譯器將foo. C編譯為彙編語言程序文本foo. S ;`2. 2創建simd. s文件; 2.3向simd. s文件中寫入如下內容 2. 3. 1包含測試激勵公共頭文件的代碼; 2. 3. 2彙編語言程序文本段聲明語句;`2. 3. 3將4個數組srcl,src2,golden_result和result的基地址寫入寄存器的彙編 語句;`2. 3. 4根據數組長度設置循環控制寄存器初始值的語句; 2. 3. 5根據所要驗證的運算,寫入用SIMD指令進行數組讀取和操作的語句; 2. 3. 6結果比較語句以及根據比較結果跳轉到相應自陷語句的彙編語句; 2. 3.7自陷語句;`2.3.8數據段聲明語句,數據對齊方式為「.align 32」;`2. 3. 9 foo. s文件中讀取的srcl、src2、golden_result、result數組數據段的內容。
全文摘要
本發明公開了一種雙精度SIMD部件晶片級驗證測試激勵自動生成方法,目的是提出一種自動生成雙精度SIMD部件晶片級驗證測試激勵的方法。技術方案為先根據所要驗證的雙精度數據運算類型以及數組長度scale,構造進行雙精度數組操作的標準C語言程序foo.c,然後基於foo.c以及所要驗證的運算,構造作為測試激勵的彙編語言源程序simd.s。採用本發明可以自動生成一個彙編語言測試激勵simd.s,將simd.s加載到晶片模擬環境中運行,可以執行雙精度SIMD指令對處理器的設計進行晶片級驗證。本發明可以編程實現,多次運行該程序,輸入不同的運算類型和數組長度,即可自動生成多種測試激勵,可以極大地減少開發面向雙精度SIMD部件進行晶片級驗證所需的測試激勵的時間。
文檔編號G06F11/36GK102129407SQ20111005661
公開日2011年7月20日 申請日期2011年3月9日 優先權日2011年3月9日
發明者彭林, 易會戰, 李春江, 杜雲飛, 楊燦群, 王 鋒, 趙克佳, 陳娟, 黃春 申請人:中國人民解放軍國防科學技術大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀