一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法
【專利摘要】本發(fā)明公開一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,涉及IC設計驗證領域,針對被測設計的內(nèi)部突觸和ram模塊信息文檔以及芯片初始化控制文檔,使用多種自動化腳本完成驗證測試向量的生產(chǎn)、運行和控制;使用神經(jīng)元算法軟件實現(xiàn)完成測試數(shù)據(jù)的參考數(shù)值的實時獲取,對基于神經(jīng)元網(wǎng)絡設計的內(nèi)部突觸和ram模塊內(nèi)容進行實時對比。該方法實施方便,流程簡單,高效穩(wěn)定,可以大幅縮短為運行不同的神經(jīng)元算法的基于神經(jīng)元網(wǎng)絡的設計搭建功能驗證平臺的開發(fā)周期,提高功能驗證效率。
【專利說明】
一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法
技術領域
[0001]本發(fā)明涉及IC設計驗證領域,具體的說就是一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法。
【背景技術】
[0002]目前,集成電路制造技術迅速進步,使神經(jīng)元算法的硬件實現(xiàn)成為現(xiàn)實?;谏窠?jīng)元網(wǎng)絡的芯片的設計規(guī)模大,復雜度高。隨著集成電路復雜度的增加,驗證難度也與日倶增。因此,提高驗證工作的實現(xiàn)能力,已經(jīng)成為基于神經(jīng)元網(wǎng)絡的集成電路開發(fā)的重點和難點。
[0003]另一方面,因為基于神經(jīng)元網(wǎng)絡的設計的特點,它的突觸即ram模塊的數(shù)目巨大,根據(jù)運行的神經(jīng)元算法的不同,輸入的不同,神經(jīng)元網(wǎng)絡突觸的數(shù)值變化規(guī)律復雜,使用傳統(tǒng)驗證平臺難以實現(xiàn)突觸參考數(shù)值的確定,而且每一個基于神經(jīng)元網(wǎng)絡的設計都需要開發(fā)一個驗證平臺,來對其設計內(nèi)部的突觸和ram模塊進行仿真測試,極大增加了驗證設計成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對現(xiàn)有技術存在的不足之處,提供了一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法。
[0005]本發(fā)明所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,解決上述技術問題采用的技術方案如下:所述基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,針對被測(基于神經(jīng)元網(wǎng)絡)設計的內(nèi)部突觸和ram模塊信息文檔以及芯片初始化控制文檔,使用多種自動化腳本完成驗證測試向量的生產(chǎn)、運行和控制;使用神經(jīng)元算法軟件實現(xiàn)完成測試數(shù)據(jù)的參考數(shù)值的實時獲取,對基于神經(jīng)元網(wǎng)絡設計的內(nèi)部突觸和ram模塊內(nèi)容進行實時對比。
[0006]優(yōu)選的,所述基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,首先,根據(jù)被測設計內(nèi)部ram模塊的參數(shù)建立突觸信息文檔;然后,設計自動化腳本,用該自動化腳本根據(jù)突觸信息文檔生成測試向量;并根據(jù)使用的神經(jīng)元算法,使用高級語言或腳步語言編寫對應的神經(jīng)元算法的軟件實現(xiàn)模型;同時,設計功能驗證時的輸出信息控制腳本和運行腳本;最后,調試運行測試向量,完成驗證過程。
[0007]優(yōu)選的,所述被測設計內(nèi)部ram模塊通過使用神經(jīng)元網(wǎng)絡設計中預留的用于測試的后門程序進行直接訪問。
[0008]優(yōu)選的,所述自動化腳本,通過讀取內(nèi)部突觸和ram模塊信息文檔生成針對各ram模塊的特定的測試向量。
[0009]優(yōu)選的,所述輸出信息控制腳本通過預留控制端口,在測試過程中根據(jù)實際需要進行輸出信息的分類控制。
[0010]優(yōu)選的,所述運行腳本根據(jù)芯片初始化控制文檔,自動生成針對基于神經(jīng)元網(wǎng)絡設計的初始環(huán)境配置命令并執(zhí)行,之后執(zhí)行測試向量,完成測試過程并生成測試報告。[0011 ]本發(fā)明的一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法與現(xiàn)有技術相比具有的有益效果是:本發(fā)明使用腳本語言、高級語言或腳步語言和硬件描述語言進行驗證方法的搭建,對神經(jīng)元算法軟件實現(xiàn)進行封裝,一方面,對于設計人員理解驗證平臺沒有語言門檻,便于設計人員和驗證人員進行交流,另一方面,驗證工程師和設計工程師分別使用各自領域的語言描述設計說明中的神經(jīng)元算法,防止對設計說明理解的錯誤。通過該方法可以完成基于神經(jīng)元網(wǎng)絡的設計中的ram模塊的測試,具有開發(fā)周期短、通用性強、自動化程度高、實施方便、高效穩(wěn)定等優(yōu)點,可以大幅度提高芯片驗證效率。
【具體實施方式】
[0012]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實施例,對本發(fā)明所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法進一步詳細說明。
[0013]本發(fā)明針對神經(jīng)元網(wǎng)絡芯片的特點,通過對神經(jīng)元網(wǎng)絡芯片參數(shù)的配置,使芯片運行不同的神經(jīng)元算法,提供了一種針對基于神經(jīng)元網(wǎng)絡設計的功能驗證方法。該功能驗證方法主要用于對基于神經(jīng)元網(wǎng)絡設計的內(nèi)部突觸及ram模塊的讀寫功能進行測試;針對被測(基于神經(jīng)元網(wǎng)絡)設計的內(nèi)部突觸和ram模塊信息文檔以及芯片初始化控制文檔,使用多種自動化腳本完成驗證測試向量的生產(chǎn)、運行和控制;使用神經(jīng)元算法軟件實現(xiàn)完成測試數(shù)據(jù)的參考數(shù)值的實時獲取,實現(xiàn)對基于神經(jīng)元網(wǎng)絡設計的內(nèi)部突觸和ram模塊內(nèi)容的實時對比。
[0014]這里,所述內(nèi)部突觸和ram模塊信息文檔根據(jù)基于神經(jīng)元網(wǎng)絡設計完成編寫;所述芯片初始化控制文檔根據(jù)基于神經(jīng)元網(wǎng)絡設計的初始化工作流程完成編寫;所述多種自動化腳本包含測試向量生成腳本、輸出信息控制腳本和運行腳本等。
[0015]實施例:
本實施例所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,首先,根據(jù)被測設計內(nèi)部ram模塊的參數(shù)建立突觸信息文檔;然后,設計自動化腳本,用該自動化腳本根據(jù)突觸信息文檔生成測試向量,若相關突觸有特殊的數(shù)據(jù)處理過程,在測試向量中進行相應的調整;并根據(jù)使用的神經(jīng)元算法,使用高級語言或腳步語言編寫對應的神經(jīng)元算法的軟件實現(xiàn)模型;同時,設計功能驗證時的輸出信息控制腳本和運行腳本;最后,調試運行測試向量,完成驗證過程。
[0016]所述基于神經(jīng)元網(wǎng)絡設計的功能驗證方法中,所述被測設計內(nèi)部ram模塊能夠通過使用神經(jīng)元網(wǎng)絡設計中預留的用于測試的后門程序進行直接訪問;所述突觸信息文檔包含內(nèi)部ram模塊的地址、數(shù)據(jù)寬度、深度、讀寫特征、讀寫命令延遲以及讀寫相關順序等信息。
[0017]所述自動化腳本使用perl/tcl/c-shell等各種腳本語言編寫,使得本發(fā)明所述方法具有高度的通用性;所述自動化腳本(測試向量生成腳本),通過讀取內(nèi)部突觸和ram模塊信息文檔生成針對各ram模塊的特定的測試向量。所述輸出信息控制腳本通過預留控制端口,在測試過程中根據(jù)實際需要進行輸出信息的分類控制。所述運行腳本根據(jù)芯片初始化控制文檔,自動生成針對基于神經(jīng)元網(wǎng)絡設計的初始環(huán)境配置命令并執(zhí)行,之后執(zhí)行測試向量,完成測試過程并生成測試報告。
[0018]在該基于神經(jīng)元網(wǎng)絡設計的功能驗證方法中,所述神經(jīng)元算法的軟件實現(xiàn)由驗證人員使用高級語言或腳步語言,根據(jù)其對使用的神經(jīng)元算法編寫;根據(jù)基于神經(jīng)元網(wǎng)絡設計中運行的神經(jīng)元算法,更換神經(jīng)元算法軟件實現(xiàn)即可實現(xiàn)對不同運行狀態(tài)的基于神經(jīng)元網(wǎng)絡設計的驗證。
[0019]采用該基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,具體操作步驟如下:
第一,根據(jù)基于神經(jīng)元網(wǎng)絡設計的初始化工作過程,包括時鐘信號穩(wěn)定時間、reset信號使能時間、內(nèi)部各特殊控制信號列表及時序等信息,設計神經(jīng)元網(wǎng)絡芯片初始化控制文檔;
第二,根據(jù)基于神經(jīng)元網(wǎng)絡設計的內(nèi)部ram模塊的地址、數(shù)據(jù)寬度、深度、讀寫特征、讀寫命令延遲以及讀寫相關順序信息,編寫突觸信息文檔;
第三,根據(jù)使用的神經(jīng)元算法,使用高級語言或腳步語言編寫對應的神經(jīng)元算法軟件實現(xiàn)模型;
第四,編寫自動化腳本,包括測試向量生成腳本,輸出信息控制腳本和運行腳本;同時需要根據(jù)設計中預留的用于測試的后門程序編寫符合相應時序要求的讀寫命令模板庫;上述自動化腳本和命令模塊庫都是可以在不同基于神經(jīng)元網(wǎng)絡的設計中進行復用;
第五,使用測試向量生成腳本針對基于神經(jīng)元網(wǎng)絡的設計內(nèi)部ram模塊的信息文檔,生成選定的要測試的突觸或ram模塊的測試向量;
第六,使用輸出信息控制腳本預留的控制端口,設置當前測試需要輸出到log文件的信息類別;
第七,使用運行腳本根據(jù)設計的芯片初始化控制文檔生成對應的初始化命令序列,執(zhí)行,之后運行測試向量,生成測試報告,完成本次測試過程。
[0020]本實施例所述基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,通過使用自動化腳本,實現(xiàn)自動化完成驗證平臺的搭建和運行工作;通過使用設計中預留的用于測試的后門程序進行直接訪問命令,實現(xiàn)對各基于神經(jīng)元網(wǎng)絡的設計的突觸和ram模塊的讀寫測試;通過使用神經(jīng)元算法的軟件實現(xiàn)完成測試數(shù)據(jù)的參考數(shù)值的實時獲取;通過使用內(nèi)部突觸和ram模塊信息文檔實現(xiàn)針對特定存儲模塊的正確測試;通過使用芯片初始化控制文檔實現(xiàn)對不同設計的初始驗證環(huán)境的配置。該方法可以大幅縮短為不同的基于神經(jīng)元網(wǎng)絡的設計搭建功能驗證平臺的開發(fā)周期,提高功能驗證效率。
[0021]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的權利要求書的且任何所屬技術領域的普通技術人員對其所做的適當變化或替換,皆應落入本發(fā)明的專利保護范圍。
【主權項】
1.一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,其特征在于,針對被測設計的內(nèi)部突觸和ram模塊信息文檔以及芯片初始化控制文檔,使用多種自動化腳本完成驗證測試向量的生產(chǎn)、運行和控制;使用神經(jīng)元算法軟件實現(xiàn)完成測試數(shù)據(jù)的參考數(shù)值的實時獲取,對基于神經(jīng)元網(wǎng)絡設計的內(nèi)部突觸和ram模塊內(nèi)容進行實時對比。2.根據(jù)權利要求1所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,其特征在于,所述基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,首先,根據(jù)被測設計內(nèi)部ram模塊的參數(shù)建立突觸信息文檔;然后,設計自動化腳本,用該自動化腳本根據(jù)突觸信息文檔生成測試向量;并根據(jù)使用的神經(jīng)元算法,使用高級語言或腳步語言編寫對應的神經(jīng)元算法的軟件實現(xiàn)模型;同時,設計功能驗證時的輸出信息控制腳本和運行腳本;最后,調試運行測試向量,完成驗證過程。3.根據(jù)權利要求2所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,其特征在于,所述被測設計內(nèi)部ram模塊通過使用神經(jīng)元網(wǎng)絡設計中預留的用于測試的后門程序進行直接訪問。4.根據(jù)權利要求3所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,其特征在于,所述自動化腳本,通過讀取內(nèi)部突觸和ram模塊信息文檔生成針對各ram模塊的特定的測試向量。5.根據(jù)權利要求4所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,其特征在于,所述輸出信息控制腳本通過預留控制端口,在測試過程中根據(jù)實際需要進行輸出信息的分類控制。6.根據(jù)權利要求1所述一種基于神經(jīng)元網(wǎng)絡設計的功能驗證方法,其特征在于,所述運行腳本根據(jù)芯片初始化控制文檔,自動生成針對基于神經(jīng)元網(wǎng)絡設計的初始環(huán)境配置命令并執(zhí)行,之后執(zhí)行測試向量,完成測試過程并生成測試報告。
【文檔編號】G06F17/50GK105956219SQ201610238885
【公開日】2016年9月21日
【申請日】2016年4月18日
【發(fā)明人】趙鑫鑫, 姜凱, 李朋
【申請人】浪潮集團有限公司