国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SystemVerilog的事務(wù)級建模在FPGA測試中的應(yīng)用與研究

2017-03-30 22:15李敬磊尹新曾清樂
科技與創(chuàng)新 2016年23期
關(guān)鍵詞:正確性用例校驗(yàn)

李敬磊++尹新++曾清樂

摘 要:隨著FPGA的廣泛應(yīng)用,其設(shè)計(jì)規(guī)模和復(fù)雜度也急劇增加,F(xiàn)PGA測試的效率也有待進(jìn)一步提高。研究了基于SystemVerilog的事務(wù)級建模,并結(jié)合具體實(shí)例研究了其在FPGA測試中的應(yīng)用。研究表明,基于SystemVerilog的事務(wù)級建??芍赜眯詮?qiáng),使用方便,可使FPGA的測試效率得到極大提高。

關(guān)鍵詞:現(xiàn)場可編程邏輯器件;SystemVerilog;ASIC;CPU

中圖分類號:TN47 文獻(xiàn)標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2016.23.116

FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)相比于ASIC和通用CPU而言,其在性能、價(jià)格和靈活性方面都較好,已經(jīng)被廣泛應(yīng)用于航空、航天、通信、汽車工業(yè)等領(lǐng)域。同時(shí),其設(shè)計(jì)規(guī)模及復(fù)雜度也在急劇增加。如果單純采用傳統(tǒng)FPGA驗(yàn)證方法,構(gòu)造用例復(fù)雜,且用例可復(fù)用性低,效率比較低,無法快速地縮短產(chǎn)品研發(fā)周期。采用基于SystemVerilog的事務(wù)級建模的驗(yàn)證方法,不僅可以搭建通用的事務(wù)級模型,從而提高復(fù)用性,而且基于SystemVerilog的語言特性可以方便地對模型進(jìn)行靈活配置,從而提高FPGA測試的效率。

本文簡述了SystemVerilog語言的語言特性,介紹了利用SystemVerilog進(jìn)行事務(wù)級建模的方法,之后利用基于SystemVerilog的事務(wù)級建模的驗(yàn)證方法驗(yàn)證了FPGA串口功能的正確性,闡述了基于SystemVerilog的事務(wù)級建模在FPGA測試中的優(yōu)勢。

1 SystemVerilog簡介

SystemVerilog簡稱SV語言,它建立在Verilog語言的基礎(chǔ)上,是IEEE 1364 Verilog-2001標(biāo)準(zhǔn)的擴(kuò)展增強(qiáng),可兼容Verilog 2001,并成為了下一代硬件設(shè)計(jì)和驗(yàn)證的語言。其具有以下特性:①在Verilog基礎(chǔ)上集成了C語言的很多特點(diǎn),具有面向?qū)ο筇匦?,有助于采用事?wù)級的驗(yàn)證和提高驗(yàn)證的重用性;②支持約束隨機(jī)的產(chǎn)生,可以方便地產(chǎn)生約定的數(shù)據(jù),從而降低用例構(gòu)造的復(fù)雜度;③支持覆蓋率統(tǒng)計(jì)分析及斷言驗(yàn)證。

SystemVerilog屬于面向?qū)ο缶幊陶Z言,也有類的概念,且語法與C/C++類似,可以使用類的封裝、對象的生成和使用、類的繼承和擴(kuò)展等特性來搭建事務(wù)級模型。

2 基于事務(wù)級建模驗(yàn)證的FPGA串口功能

Transaction-level Modeling(事務(wù)級建模)簡稱TLM,它起源于SystemC的一種通信標(biāo)準(zhǔn)。所謂“Transaction level”,是相對DUT中各個(gè)模塊之間信號線級別的通信而言的。簡單而言,一個(gè)“Transaction”就是將具體某一特定功能的一組信息封裝在一起,進(jìn)而形成一個(gè)類?,F(xiàn)以構(gòu)造一個(gè)RS422串口協(xié)議模型為例,簡要介紹事務(wù)級模型的構(gòu)建。

2.1 RSS422串口模型

RS422串口協(xié)議傳輸時(shí)序如圖1所示。

在圖1中,每一位代表的意義為:①空閑位。處于邏輯“1”的狀態(tài),表示當(dāng)前線路上沒有數(shù)據(jù)傳送。②起始位。先發(fā)出一個(gè)邏輯“0”的狀態(tài),表示開始傳輸數(shù)據(jù)。③數(shù)據(jù)位。起始位后緊接著為數(shù)據(jù)位,數(shù)據(jù)位長度可以為4,5,6,7,8。④校驗(yàn)位。1 B數(shù)據(jù),校驗(yàn)數(shù)據(jù)傳送的正確性,可以分為奇校驗(yàn)和偶校驗(yàn)。⑤停止位。高電平,一個(gè)字符數(shù)據(jù)傳輸結(jié)束的標(biāo)志,長度為1~2 B。

根據(jù)上述RS422串口協(xié)議,構(gòu)建了以下的串口事務(wù)級模型。

2.2 基于RSS422串口模型驗(yàn)證串口功能

現(xiàn)有一DUT實(shí)現(xiàn)了串口收發(fā)功能。具體而言,接收串口輸入數(shù)據(jù),然后收到回傳命令后將接收的數(shù)據(jù)通過串口發(fā)出,串口格式為有效數(shù)據(jù)8 B、停止位1位、偶校驗(yàn)。為了驗(yàn)證其功能的正確性,搭建了驗(yàn)證平臺(tái),將上述的串口模塊與DUT對接。利用上述的串口模型構(gòu)建用例為:

class tc_uart_test;

C_UART_MOD mo_uart_mod;

//根據(jù)需求配置串口參數(shù)

mo_uart_mod. mo_uart_item.randomize() with {

mb4_data_len == 8; //配置有效數(shù)據(jù)長度為8

mb2_stop_len == 1; //配置停止位長度為1

mb_crc_sel == 0; //配置校驗(yàn)方式為偶校驗(yàn)

mb32_pkt_num == 1; //配置數(shù)據(jù)幀數(shù)為1幀

mb32_data_num== 10; //配置1幀字符個(gè)數(shù)為10個(gè)

};

endclass:tc_uart_test

用例構(gòu)建完畢后,驗(yàn)證平臺(tái)按照設(shè)定參數(shù)自動(dòng)產(chǎn)生1幀數(shù)據(jù),之后通過串口模型將數(shù)據(jù)驅(qū)動(dòng)到DUT接口,同時(shí),接收DUT發(fā)送的串口數(shù)據(jù),并發(fā)送到指定的文件中。

3 測試結(jié)果及其分析

測試仿真結(jié)果如圖2所示。

用例仿真結(jié)果如圖2所示。從波形上可以看出,驗(yàn)證平臺(tái)正確驅(qū)動(dòng)串口輸入數(shù)據(jù)到FPGA輸入端口sdin,F(xiàn)PGA正確輸出串口發(fā)送數(shù)據(jù)sdout。

比對通過RS422串口模型打印的發(fā)送串口數(shù)據(jù)文件與接收

到的串口數(shù)據(jù)文件,兩者結(jié)果一致。這表明FPGA正確接收了輸入的串口數(shù)據(jù)sdin,并將收到的數(shù)據(jù)正確地通過串口sdout發(fā)出,即驗(yàn)證了FPGA串口功能的正確性。對比兩個(gè)文件結(jié)果,采用基于SystemVerilog的事務(wù)級建模構(gòu)建的RS422串口模型,有效、快速地驗(yàn)證了FPGA串口功能的正確性。同時(shí),利用該串口模型還可以構(gòu)造出指定的幀頭和幀尾、含有幀的校驗(yàn)和、定向串口數(shù)據(jù)等復(fù)雜場景的串口激勵(lì)。該RS422串口模型可以用于多個(gè)FPGA項(xiàng)目串口功能的驗(yàn)證,具有良好的可重用性,極大地提高了FPGA測試的效率。因此,基于SystemVerilog的事務(wù)級建模在FPGA測試中具有以下優(yōu)勢:①面向?qū)ο蟮木幊探Y(jié)構(gòu),可以方便地對諸如某個(gè)協(xié)議接口、某一組特定功能的信號等進(jìn)行事務(wù)級建模;②基于SystemVerilog隨機(jī)約束的語言特性,可以方便、靈活地對事務(wù)級模型進(jìn)行參數(shù)配置,具有良好的可重用性;③基于SystemVerilog的事務(wù)級建模可將驗(yàn)證與設(shè)計(jì)通過接口分離,驗(yàn)證與設(shè)計(jì)可以分別單獨(dú)調(diào)試,便于對FPGA整個(gè)開發(fā)流程的管理。

4 結(jié)束語

本文結(jié)合具體實(shí)例構(gòu)建了基于SystemVerilog的事務(wù)級模型,并以此模型驗(yàn)證了FPGA功能的正確性。驗(yàn)證結(jié)果表明,基于SystemVerilog的事務(wù)級模型具有很好的可重用性,在FPGA測試中極大地提高了測試效率。下一步研究方向?yàn)椴捎没赟ystemVerilog的事務(wù)級建模方法,結(jié)合UVM 、VMM等驗(yàn)證方法學(xué),構(gòu)造通用的自動(dòng)化驗(yàn)證平臺(tái),從而進(jìn)一步提高FPGA測試效率。

參考文獻(xiàn)

[1]鐘文楓.SystemVerilog與功能驗(yàn)證[M].北京:機(jī)械工業(yè)出版社,2010.

[2]張強(qiáng).UVM實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2014.

〔編輯:張思楠〕

猜你喜歡
正確性用例校驗(yàn)
從尋常計(jì)算錯(cuò)例看課堂教學(xué)的缺失
使用Excel朗讀功能校驗(yàn)工作表中的數(shù)據(jù)
電能表在線不停電校驗(yàn)技術(shù)
精通文件校驗(yàn)的“門道”
資費(fèi)撥測系統(tǒng)的研究與應(yīng)用
多種方法快速校驗(yàn)文件
淺談如何提高水質(zhì)檢測結(jié)果準(zhǔn)確性
“正確性”與“實(shí)用性”的初探
用例規(guī)約在課程成績管理系統(tǒng)需求分析中的應(yīng)用研究
使用用例建模進(jìn)行軟件需求分析研究
友谊县| 灵丘县| 永泰县| 克东县| 正安县| 奉贤区| 德阳市| 绥滨县| 惠州市| 山阳县| 平罗县| 禄劝| 洛阳市| 项城市| 乐平市| 庆安县| 高邮市| 松溪县| 都昌县| 通许县| 鹤岗市| 耿马| 当阳市| 乐亭县| 凌云县| 平度市| 广德县| 白银市| 金华市| 眉山市| 甘谷县| 卓资县| 舞钢市| 彭州市| 抚顺县| 诏安县| 九江市| 上栗县| 常熟市| 津南区| 盐城市|