本發(fā)明涉及數(shù)字電子電路前端驗證領(lǐng)域領(lǐng)域,具體是一種用于驗證多模式高速異步接口的方法。
背景技術(shù):
1、對于擁有1500余種模式的異步數(shù)據(jù)并行接口的驗證存在著以下難點:
2、(1)接口配置多,通過定向測試激勵一一驗證會花費過多資源;
3、(2)接口時序需要實時變化,速率需要可控,以模擬現(xiàn)實接口使用場景;
4、(3)錯誤注入需盡量和實際情況相符;
5、(4)異步接口的時序難以通過靜態(tài)時序分析保證,通常通過后端設(shè)計人員人工計算保證,由于接口內(nèi)路徑復(fù)雜,異步路徑數(shù)目多,人工計算可能存在疏漏;
6、(5)接口的參考模型的行為和接口行為完全同步較為困難;
7、異步接口的準確性和穩(wěn)定性關(guān)系到芯片是否能正常使用,上述難點需要系統(tǒng)地解決。
技術(shù)實現(xiàn)思路
1、發(fā)明目的:提供一種用于驗證多模式高速異步接口的方法,以解決現(xiàn)有技術(shù)存在的上述問題。
2、技術(shù)方案:一種用于驗證多模式高速異步接口的方法,包括:
3、步驟1、自由切換接口、環(huán)境配置;
4、步驟2、自由控制、隨機控制接口時序及接口訪問速率;
5、步驟3、基于現(xiàn)實場景錯誤模型,進行對多種類的錯誤注入;
6、步驟4、驗證異步路徑;
7、步驟5、基于寄存器數(shù)據(jù)正確性,進行判斷接口正確性的自動比對。
8、1.驗證環(huán)境與接口模式的自由配置與切換,可以快速驗證不同模式下接口是否正常以及實現(xiàn)接口不同模式切換組合的隨機測試;
9、2.接口時序可自由控制,可進行任意速率接口測試;
10、3.建立一套基于現(xiàn)實場景的錯誤模型,可以進行不同種類的錯誤注入,用于驗證接口的穩(wěn)定性;
11、4.建立一套驗證異步路徑的方法,可從仿真層面避免異步接口電路因為跨時鐘域問題而產(chǎn)生功能錯誤的潛在風險;
12、5.建立一個基于寄存器數(shù)據(jù)正確性判斷接口正確性的自動比對環(huán)境。
13、采用本方法可以對多模式異步接口進行快速的rtl功能驗證以及對其對應(yīng)的門級網(wǎng)表的異步路徑的時序驗證,并且依靠此方法提供的參數(shù)化可控的環(huán)境,可以在仿真出現(xiàn)異常時對異??焖購?fù)現(xiàn)。
14、在進一步實施例中,所述步驟1還包括:
15、步驟11、預(yù)先生成包含接口配置信息和配置校驗信息的所有xml文件;
16、步驟12、指定期望的接口配置;
17、步驟13、通過期望的配置信息選擇相應(yīng)的xml文件,并將配置信息加載到接口,完成接口的配置;
18、步驟14、通過期望的配置信息給在環(huán)境中的事務(wù)級文件中的靜態(tài)變量賦予指定值,完成對驗證環(huán)境的配置;
19、步驟15、重復(fù)使用步驟11-14,實現(xiàn)其它配置切換。
20、通過設(shè)計上述方案,為了更快得驗證接口的所有模式,本發(fā)明將接口與驗證環(huán)境的的配置用xml相關(guān)連,達到同步配置的目的,從而實現(xiàn)模式的快速切換,并且減少編寫測試激勵的工作量具體步驟如下:
21、第一步,根據(jù)接口配置說明預(yù)先生成1500個帶有接口配置信息和內(nèi)容校驗信息的xml文件;
22、第二步,通過隨機指定或定向指定接口的期望配置,根據(jù)指定的配置環(huán)境會自動選擇相應(yīng)的xml文件,然后將xml中包含的寄存器配置信息加載到接口的相關(guān)寄存器中和環(huán)境中的相關(guān)靜態(tài)變量中;
23、第三步,環(huán)境發(fā)起接口復(fù)位來實現(xiàn)接口的重新配置;
24、第四步,環(huán)境進行接口的初始化流程,接口的配置切換完成;
25、在進一步實施例中,所述步驟2還包括:
26、步驟21、在事務(wù)級文件中定義高精度的動態(tài)隨機時間變量,并定義隨機變量的約束;
27、步驟22、在仿真時,事務(wù)級文件中的時間變量被指定或隨機后,傳遞給接口驅(qū)動任務(wù);
28、步驟23、接口驅(qū)動任務(wù)根據(jù)獲得的時間變量控制接口的時序。
29、通過設(shè)計上述方案,為了實現(xiàn)接口時序可控和實時控制接口速率,更好得模擬實際使用中主機在使用接口時的時序情況,本發(fā)明將接口協(xié)議涉及的時序全部參數(shù)化,實現(xiàn)協(xié)議中的任一時序均可控,所有時序均可隨機并滿足時序要求,具體步驟如下:
30、第一步,將協(xié)議中時序要求提取后定義成隨機變量于事務(wù)級文件中;
31、第二步,提取時序之間的關(guān)聯(lián)點,給時序變量添加合適的約束,使得時序變量在隨機過程中既能夠完全隨機,又滿足協(xié)議中的時序要求;
32、第三步,將指定或隨機后的時序變量通過序列發(fā)生器傳給接口驅(qū)動;
33、第四步,在測試激勵中指定或隨機隨機變量的值進而完成接口時序的精確的參數(shù)化控制;
34、通過此種方法,可以實現(xiàn)接口訪問速率的任意調(diào)控,當隨機測試接口出現(xiàn)異常后可提取仿真時的時序參數(shù),還可實現(xiàn)問題的快速復(fù)現(xiàn)。
35、在進一步實施例中,所述錯誤模型包括:
36、配置錯誤,主機與接口配置不匹配;
37、協(xié)議錯誤,主機在不滿足協(xié)議要求下使用不滿足協(xié)議要求的接口,所述協(xié)議錯誤包括時序錯誤,地址錯誤,協(xié)議周期錯誤;
38、多種類的錯誤注入包括:
39、步驟31、根據(jù)步驟11-14實現(xiàn)接口和環(huán)境配置不符錯誤;
40、步驟32、根據(jù)步驟21-23實現(xiàn)指定任意時序錯誤和隨機任意時序錯誤;
41、步驟33、將事務(wù)級文件中,存在包含異步接口協(xié)議中的任意一步的地址變量,指定或隨機成不符合接口協(xié)議的值,從而實現(xiàn)地址錯誤;
42、步驟34、將事務(wù)級文件中,存在包含異步接口協(xié)議中的任意一步的讀寫周期變量,指定或隨機成不符合接口協(xié)議的值,如在讀周期進行寫周期的操作,從而實現(xiàn)協(xié)議周期錯誤。
43、通過設(shè)計上述方案,主要為了測試接口穩(wěn)定性,更好得模擬實際使用中接口可能遇到的錯誤情況,本發(fā)明將錯誤歸納為配置錯誤,地址錯誤,周期錯誤四類和時序錯誤,并定義了四類錯誤行為。對于地址錯誤,具體操作步驟如下:
44、第一步,將接口協(xié)議中每一步驅(qū)動到引腳的地址提取后定義成隨機變量于事務(wù)級文件中;
45、第二步,提取地址變量的變化范圍,給地址變量添加合適的約束,使得地址變量能夠在合適的范圍內(nèi)隨機;
46、第三步,在事務(wù)級文件中定義一個地址錯誤開關(guān),控制地址錯誤的產(chǎn)生。
47、若需要進行地址錯誤注入,則打開此開關(guān),并可指定或隨機各步的錯誤地址;
48、對于周期操作錯誤,具體步驟如下:
49、第一步,在事務(wù)級文件中定義周期錯誤開關(guān)與周期錯誤階段;
50、第二步,在驅(qū)動中根據(jù)周期錯誤階段將讀/寫控制信號需要取反;
51、第三步,在測試激勵中打開周期錯誤開關(guān),指定周期錯誤階段;
52、對于時序錯誤,根據(jù)步驟21-23,具體步驟如下:
53、第一步,在事務(wù)級文件中定義時序錯誤開關(guān),控制時序錯誤的產(chǎn)生;
54、第二步,定義時序錯誤模式下的時序約束;
55、第三步,在測試激勵中打開時序錯誤開關(guān),指定或隨機錯誤時序。
56、在進一步實施例中,所述驗證異步路徑包括:
57、步驟41、在測試激勵中存在翻轉(zhuǎn)周期與內(nèi)部時鐘周期相同的單比特變量;
58、步驟42、利用單比特變量,基于步驟21-23對外部時鐘與內(nèi)部時鐘相位差的精準控制,完成對異步路徑的全面測試。
59、通過設(shè)計上述方案,為了從驗證層面杜絕異步接口內(nèi)部跨時鐘域的讀/寫數(shù)據(jù)鎖存寄存器出現(xiàn)時序問題,給門級網(wǎng)表提供設(shè)計正確判斷的保證,基于步驟21-23提供的時序控制方法,本發(fā)明提供一種可以在夠接受的時間遍歷驗證所有異步路徑的方法,具體步驟如下:
60、第一步,在測試激勵中定義一個與內(nèi)部時鐘變化周期相同的單bit變量,以此變量為基準指定與其外部時鐘的相位差;
61、第二步,根據(jù)此相位差根據(jù)函數(shù)自動計算出相應(yīng)時序控制參數(shù)的值;
62、第三步,在同一個相位差中,讀/寫數(shù)據(jù)每一bit都實現(xiàn)0到1和1到0的反轉(zhuǎn);
63、第四步,相位差以最小仿真精度遞增,增加到內(nèi)部時鐘的時鐘周期值;
64、在進一步實施例中,所述步驟5包括:
65、步驟51、建立對接口寄存器模擬的寄存器參考模型,監(jiān)測接口的訪問操作,并更新寄存器的期望值;
66、步驟52、通過接口對寄存器訪問得到返回值;
67、步驟53、建立計分板,將預(yù)測值與返回值傳入計分板進行比對。
68、通過設(shè)計上述方案,為了監(jiān)測接口的正確性,本發(fā)明提供一種基于寄存器讀寫數(shù)據(jù)是否正確的自動比對系統(tǒng),如圖6所示,具體步驟如下:
69、第一步,建立一個寄存器模型用于存儲寄存器的期望值和獲取寄存器的實際值;第二步,建立一個參考模型,用于解析事務(wù)中對于寄存器的預(yù)期操作與部分功能寄存器的期望值。
70、對于寫,提供給寄存器模型寫地址與寫數(shù)據(jù),寄存器模型更新相應(yīng)寄存器的期望值;
71、對于讀,提供給寄存器模型讀地址與相應(yīng)的寄存器期望值,寄存器模型將期望值更新到相應(yīng)寄存器的模型中。
72、對于特殊的接口訪問,如,對寄存器進行和總線寬度不一致的訪問則根據(jù)訪問位數(shù)更新期望值,對待測設(shè)計內(nèi)部的狀態(tài)寄存器的訪問則在參考模型中對其進行相應(yīng)的預(yù)測后更新到寄存器模型的期望值中,整個過程不消耗仿真時間;
73、第三步,建立一個計分板,從參考模型中獲取事件,解析出相應(yīng)寄存器所在地圖與域等信息后發(fā)送給寄存器模型,寄存器模型返回相應(yīng)寄存器的實際值與期望值,參考模型根據(jù)訪問規(guī)則進行數(shù)據(jù)的相應(yīng)比特比對。
74、有益效果:本發(fā)明公開了一種用于驗證多模式高速異步接口的方法,與現(xiàn)有技術(shù)相比具有:
75、1.驗證環(huán)境與接口模式的自由配置與切換,可以快速驗證不同模式下接口是否正常以及實現(xiàn)接口不同模式切換組合的隨機測試;
76、2.接口時序可自由控制,可進行任意速率接口測試;
77、3.建立一套基于現(xiàn)實場景的錯誤模型,可以進行不同種類的錯誤注入,用于驗證接口的穩(wěn)定性;
78、4.建立一套驗證異步路徑的方法,可從仿真層面避免異步接口電路因為跨時鐘域問題而產(chǎn)生功能錯誤的潛在風險;
79、5.建立一個基于寄存器數(shù)據(jù)正確性判斷接口正確性的自動比對環(huán)境。
80、采用本方法可以對多模式異步接口進行快速的待測設(shè)計功能驗證以及對其對應(yīng)的門級網(wǎng)表的異步路徑的時序驗證,并且依靠此方法提供的參數(shù)化可控的環(huán)境,可以在仿真出現(xiàn)異常時對異??焖購?fù)現(xiàn)。