亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于SystemVerilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺的制作方法

文檔序號:12466504閱讀:665來源:國知局
一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺的制作方法與工藝

本發(fā)明涉及核電站FPGA仿真測試領(lǐng)域,特別是指一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺。



背景技術(shù):

一般的核電站儀控設(shè)備會涉及到算法塊的組態(tài)問題。為保證算法塊的正確性,需要對算法塊進(jìn)行詳盡的測試,組態(tài)算法圖中涉及到的算法塊較多,并且對各個模塊盡可能窮舉較多的例子,以保證算法塊在多種情況下運(yùn)行正確。如果用人工輸入激勵,再做檢查的方法去做測試,會導(dǎo)致測試用例覆蓋不全,浪費(fèi)大量的人力資源等問題。

針對算法塊的測試目前也有自動化的測試,通過隨機(jī)測試激勵的生成,參考模型搭建,最后采集到的結(jié)果與參考模型輸出的結(jié)果進(jìn)行實時的比較,實現(xiàn)自動化的檢查。一般這種自動化的設(shè)置,是針對單一的被測對象開展測試,或被測對象有相同的輸入、輸出的接口,或是被測對象的功能相似。

但算法塊的功能繁多,不同的算法塊的輸入接口的形式不一樣,導(dǎo)致測試平臺的重用性低,每測一個模塊,需要制造不同的格式的輸入數(shù)據(jù),要計算出輸入激勵對應(yīng)的預(yù)期值,大大降低自動化測試的效率。

傳統(tǒng)的自動化測試平臺測試的DUT對象是固定的,或是輸入、輸出接口相似,但對于接口變化多,功能變化大的測試對象進(jìn)行仿真時,對平臺進(jìn)行大規(guī)模的修改,使平臺的重用性較低,測試激勵沒有隨機(jī)性,測試模塊輸入接口的形式多樣性,導(dǎo)致自動化的程度降低。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的就是針對上述現(xiàn)有技術(shù)的狀況,提出了一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺,通過使用System Verilog虛接口的方式,實現(xiàn)平臺的重用性,減少因測試對象的改變,平臺的變化幅度過大,影響測試的效率的問題。

本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺,包括頂層測試模塊、測試激勵自動生成模塊、虛接口連接模塊、算法庫、參考模型建立模塊和自動檢查模塊;

所述頂層測試模塊用于聲明接口,并用于調(diào)用所述測試激勵自動生成模塊、虛接口連接模塊、算法庫、參考模型建立模塊和自動檢查模塊;

所述虛接口連接模塊用于聲明測試激勵自動生成模塊、參考模型建立模塊、自動檢查模塊和被測對象連接的虛接口,并把這些虛接口進(jìn)行分類,與所述測試激勵自動生成模塊、參考模型建立模塊和自動檢查模塊相連接,建立自動執(zhí)行的任務(wù);

所述測試激勵自動生成模塊用于測試激勵的生成,對輸入的數(shù)據(jù)進(jìn)行隨機(jī)化的生成或約束激勵的范圍,把測試激勵的數(shù)據(jù)通過虛接口傳遞到被測對象和參考模型中;

所述算法庫用于存儲所述參考模型建立模塊搭建參考模型常用的算法;

所述參考模型建立模塊用于從所述算法庫中調(diào)用算法建立與被測對象相對應(yīng)的參考模型,進(jìn)行預(yù)期數(shù)據(jù)的處理,并將處理后的數(shù)據(jù)通過虛接口傳給自動檢查模塊;

所述自動檢查模塊用于自動對比被測對象輸出的實時數(shù)據(jù)和參考模型輸出的預(yù)期數(shù)據(jù)。

進(jìn)一步地,所述的算法庫還通過DPI接口與C語言連接,調(diào)用C語言里的數(shù)學(xué)函數(shù)。

進(jìn)一步地,所述的算法庫的算法根據(jù)被測試對象設(shè)定,包括取絕對值運(yùn)算、二分查找法、數(shù)據(jù)整型實型的轉(zhuǎn)換算法。

本發(fā)明的有益效果是:

本發(fā)明采用Systerm Verilog虛接口的方式,把測試平臺與被測對象進(jìn)行分離,測試平臺內(nèi)部的模塊均采用虛接口連接,從而保證各個部分的獨(dú)立性。避免了設(shè)計的改動,帶給測試平臺較大的變更。這種測試平臺的搭建適應(yīng)各種算法塊的測試,提高了驗證的效率,此外這種平臺有很強(qiáng)的靈活性,比如應(yīng)對核電站用到的模擬手操起算法aman,輸入信號都受使能信號的影響,為提高驗證效率,建立一個aman_interface,包括所有的輸入信號和一個使能信號,當(dāng)使能信號變化時,所有的輸入信號隨之變化。

采用上述平臺,在對不同接口,不同功能的算法塊進(jìn)行驗證時,只需要修改下參考模型的功能,及被測對象接口的類型,就完成單獨(dú)模塊的驗證。

此外,對于算法塊參考模型的搭建,利用Systerm Verilog與C語言庫函數(shù)有DPI接口,調(diào)用C語言中常用的數(shù)學(xué)函數(shù),如exp,power,log,abs搭建驗證平臺通用的算法庫,輔助被測對象參考模型的建立。

附圖說明

圖1為本發(fā)明一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺的平臺架構(gòu)圖;

圖2為本發(fā)明一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺的數(shù)據(jù)流向圖。

具體實施方式

下面結(jié)合附圖對本發(fā)明一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺做進(jìn)一步描述:該實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍。

如圖1所示,為本發(fā)明所述的一種基于System Verilog實現(xiàn)的可編程邏輯算法塊自動化驗證平臺,包括頂層測試模塊、測試激勵自動生成模塊、虛接口連接模塊、算法庫、參考模型建立模塊和自動檢查模塊;

所述頂層測試模塊用于聲明接口,將被測對象連接的接口接入到驗證平臺中,啟動驗證平臺的運(yùn)行;所述頂層測試模塊調(diào)用測試激勵自動生成模塊、虛接口連接模塊、算法庫、參考模型建立模塊和自動檢查模塊,如下所示:

Import alg_pkg::*;

`include"real_sig_if.sv"

`include"bool_sig_if.sv"

`include"real_sig.sv"

`include"bool_sig.sv"

`include"bool_aman_if.sv"

`include"bool_aman_sig.sv"

`include"autocheck.sv"

`include"auto_stimula.sv"

`include"test_bench.sv"

....

所述虛接口連接模塊用于聲明測試激勵自動生成模塊、參考模型建立模塊、自動檢查模塊和被測對象連接的虛接口,并把這些虛接口進(jìn)行分類,與測試激勵生成模塊、參考模型建立模塊和自動檢查模塊相連接,建立自動執(zhí)行的任務(wù),如下所示:

所述測試激勵自動生成模塊用于測試激勵的生成,對輸入的數(shù)據(jù)進(jìn)行隨機(jī)化的生成或約束激勵的范圍,把測試激勵的數(shù)據(jù)通過虛接口傳遞到被測對象和參考模型中。

所述算法庫用于存儲搭建參考模型常用的算法,該算法是針對被測試對象的特點(diǎn)而設(shè)定,如取絕對值運(yùn)算、二分查找法、數(shù)據(jù)整型實型的轉(zhuǎn)換算法等;所述的算法庫還通過DPI接口與C語言連接,調(diào)用C語言里的數(shù)學(xué)函數(shù)。

輸入到被測對象的數(shù)據(jù)類型一般是設(shè)計人員自己定義的,在參考模型中需要把這種數(shù)據(jù)類型轉(zhuǎn)換成實數(shù),方便后期數(shù)據(jù)的處理,把這種算法寫入到算法庫中,參考模型中直接調(diào)用使用;此外還可以把算法塊中用到的二分查找法,用System Verilog寫入到算法庫中。如下所示:

Class math_alg;

static function real bits_to_real(bit[29:0]bits);

........

Endfuntcion

Endclass

所述參考模型建立模塊用于從所述算法庫中調(diào)用數(shù)據(jù)建立與被測對象相對應(yīng)的參考模型,進(jìn)行預(yù)期數(shù)據(jù)的處理,并將處理后的數(shù)據(jù)通過虛接口傳給自動檢查模塊。

所述自動檢查模塊用于自動對比被測對象輸出的實時數(shù)據(jù)和參考模型輸出的預(yù)期數(shù)據(jù)。

在頂層測試模塊進(jìn)行接口聲明,統(tǒng)計被測試的算法塊,其用到的數(shù)據(jù)類型有兩種,一種是real_sig,一種是bool_sig,real_sig數(shù)據(jù)類型包含數(shù)據(jù)的使能位ena,質(zhì)量位quality,量程選擇位select,數(shù)值位value,bool_sig數(shù)據(jù)類型包括使能信號ena_l,質(zhì)量位quality_l,數(shù)值位value_l,建立如下的接口聲明:

建立接口驅(qū)動的事務(wù)處理器,便于測試激勵自動生成模塊的調(diào)用,如bool_sig:

本發(fā)明使用虛接口將驗證平臺和被測對象分隔出來,降低測試平臺受設(shè)計改動的影響。測試的算法塊的種類繁多,接口也是各不相同,當(dāng)接口名字發(fā)生改動,利用該平臺,用戶無須修改驅(qū)動這個端口的方法,只要在頂層測試模塊,將虛接口綁定到對應(yīng)連接的實體接口,并修改參考模型即可。在測試過程中數(shù)據(jù)流向如圖2所示。

測試執(zhí)行時,由頂層測試模塊開啟測試執(zhí)行,首先數(shù)據(jù)在激勵自動生成模塊產(chǎn)生,通過虛接口連接模塊傳遞到被測對象DUT和參考模型。被測對象DUT接收到數(shù)據(jù)后進(jìn)行處理,參考模型也對數(shù)據(jù)進(jìn)行處理,最后被測對象DUT、參考模型將產(chǎn)生的數(shù)據(jù)通過虛口連接模塊傳遞到自動檢查模塊做比對處理,檢查模塊輸出比對的結(jié)果,測試完成。

本發(fā)明的關(guān)鍵點(diǎn)是在測試平臺與被測對象中使用虛接口的連接方式,本發(fā)明的優(yōu)點(diǎn):

(1)采用Systerm Verilog的虛接口的方式,將測試平臺與被測對象分離,使測試平臺不隨測試對象的改變大幅度的變化;

(2)本測試平臺較為靈活,針對不同算法塊測試只需要修改被測對象,和檢查的功能就能實現(xiàn)算法塊的測試,實驗中,應(yīng)用該測試平臺完成了96個算法塊的測試,測試效果比較理想;

(3)本驗證平臺含有算法庫,對不同模塊的測試,編寫參考模型或檢查功能,調(diào)用相關(guān)的算法庫即可,提高驗證效率。

實施例1:POW(冪函數(shù))算法塊的驗證

POW算法塊有兩個輸入分別是底數(shù)和冪,一個輸出。三種輸入的類型為long real格式,首先定義接口為real_sig_if,在虛接口連接模塊中聲明虛接口類型的輸入,輸出,輸入信號分別與測試激勵自動生成模塊,自動檢查模塊相連,輸出信號與自動檢查模塊相連,頂層測試模塊聲明輸入輸出的接口信號,分別連接到被測對象和虛接口連接模塊對應(yīng)的信號上。調(diào)用測試激勵自動生成模塊,該模塊調(diào)用隨機(jī)生成函數(shù)randomize產(chǎn)生符合要求的輸入數(shù)據(jù)類型,在參考模型建立模塊中按照數(shù)據(jù)格式的要求,調(diào)用算法庫中bits_to_real函數(shù),把輸入數(shù)據(jù)轉(zhuǎn)成對應(yīng)的實數(shù),再利用DPI接口,調(diào)用C語言中的POW函數(shù),完成POW模塊參考模型的建立,計算出預(yù)期的輸出值,在自動檢查模塊將該值與被測對象DUT輸出值進(jìn)行比較,誤差在要求的范圍內(nèi),則測試通過,不在要求的范圍內(nèi),不通過。

實施例2:模擬手操算法塊的驗證

模擬手操算法塊包含6個bool_signal類型的輸入,10個real類型的參數(shù)輸入及5個bool_signal類型的輸出,6個輸入信號由信號ena控制,當(dāng)ena變化,6個輸入信號一同發(fā)生變化。根據(jù)該特點(diǎn),建立一個bool_aman_if的接口聲明,包含一個bool類型使能信號,和6個輸入信號。在頂層測試模塊聲明bool_aman_if的輸入信號,real_sig_if類型的實參輸入,及bool_sig_if的輸出信號。在頂層模塊調(diào)用虛接口連接模塊,實現(xiàn)被測對象的接口與虛接口連接模塊相連,調(diào)用測試激勵自動生成模塊與自動檢查模塊,通過虛接口連接模塊將兩個模塊相連。在測試激勵生成模塊調(diào)用隨機(jī)函數(shù),產(chǎn)生隨機(jī)測試用例;參考模型建立模塊調(diào)用算法庫中預(yù)先編寫好的函數(shù),組建與aman模塊功能一致的參考模型;aman_alg::av_alg函數(shù)實現(xiàn)核心功能,閥位的輸出按照設(shè)置速率的要求輸出。自動檢查模塊接收被測對象和參考模型建立模塊輸出的結(jié)果進(jìn)行自動對比處理,輸出比對的結(jié)果,測試完成。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1