www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 測試測量 > 測試測量
[導讀]芯片驗證越來越像是軟件而不是硬件工作,這點已逐漸成為業(yè)界的共識。本文以軟件工程的視角切入,分析中科院計算所某片上系統(tǒng)(SoC)項目的驗證平臺,同時也介紹當前較為流行的驗證方法,即以專門的驗證語言結(jié)合商用的驗

芯片驗證越來越像是軟件而不是硬件工作,這點已逐漸成為業(yè)界的共識。本文以軟件工程的視角切入,分析中科院計算所某片上系統(tǒng)(SoC)項目的驗證平臺,同時也介紹當前較為流行的驗證方法,即以專門的驗證語言結(jié)合商用的驗證模型,快速建立測試平臺(Test-bench)并在今后的項目中重用。

本文提及的高級驗證語言、方法學、驗證基本庫和仿真模型,這一套方法在近幾年中正逐漸被業(yè)界廣為采用。計算所的工作就是以這些最新成果為起點,對基于AXI總線協(xié)議的SoC建立測試平臺。

這種新方法可大幅度提高芯片驗證的效率,尤其是項目初期投入極大地降低,原因之一是面向?qū)ο缶幊痰溶浖こ谭椒ǖ拇罅恳?。當然,這也對驗證工程師的技能提出了新的要求。

驗證方法

在驗證領(lǐng)域,顯見的趨勢是語言劃一、仿真平臺統(tǒng)一、更加正規(guī)和高效。以本文介紹的項目為例,語言是SystemVerilog,平臺則基于VMM構(gòu)建,更有驗證模型(Verification IP)助力,大幅提升了效率。正是因為部件可重用、平臺結(jié)構(gòu)化、以覆蓋率為導向和高度自動化等特點,驗證工作也愈加正規(guī),有流程可循。

專門的驗證語言,面世已有數(shù)年之久。它們出自于傳統(tǒng)的純粹Verilog(有時部分引入C/C++)描述的驗證系統(tǒng),并有很大發(fā)展。Vera、e語言和目前已成IEEE標準的SystemVerilog就是這段時期技術(shù)創(chuàng)新的成果。

面向?qū)ο缶幊烫匦裕萜湓搭^便是C++語言。早在純Verilog語言驗證的時代,已有利用C++開發(fā)可重用驗證代碼的做法。工程師們看中的恰是OOP的封裝、繼承、多態(tài)及可重用等優(yōu)異特性。

驗證語言沒有相應函數(shù)庫的支持,語言本身也很難發(fā)揮效力。舉一個大家熟知的例子,視窗(Windows)編程中,使用C語言直接調(diào)用視窗系統(tǒng)的編程接口(API)實現(xiàn),是較為傳統(tǒng)的做法,可目前卻鮮有視窗程序員這樣應用。為什么?工作量巨大,需維護的信息太多,從窗口尺寸、菜單列表到程序算法,都要加以考慮。因而作為解決方案之一的微軟基本庫(MFC)才得以大行其道。與之相得益彰的是,C++作為微軟基本庫的描述語言,也隨視窗系統(tǒng)的傳播,廣為流行開來。

現(xiàn)代芯片驗證領(lǐng)域,無例外地也出現(xiàn)了類似狀況。大量新方法、新模型和新類庫不斷涌現(xiàn),減輕了驗證工程師們重復開發(fā)底層代碼的負擔,將更多精力投入到實際項目上。這一套新思路中,主要構(gòu)成部分便是驗證語言(如Vera、SystemVerilog),驗證基本庫(RVM、VMM)和相應的驗證模型。

VMM的應用

VMM不僅是方法學,更是該方法的具體實現(xiàn)。它包括一系列的類庫(class library)、類對象(object)聯(lián)接關(guān)系以及用戶定制的代碼。如圖1所示的測試平臺中,各部件或即對象,是VMM基本類/擴展類的實例化(Instantiate)。所涉及到的VMM基本類有vmm_xactor、vmm_scenario_gen和vmm_data等。

圖1:測試平臺框圖。

聯(lián)接各部件,構(gòu)成一個整體還需要其它一些基本類,包括vmm_env、vmm_channel以及vmm_xactor_callbacks等。除此之外,用戶要根據(jù)芯片的實際狀況,添加或修改約束條件、接口聯(lián)線、執(zhí)行步驟、覆蓋率定義和自動比對機制(auto-check)。

1. 背景

該種類型的驗證平臺充分利用了軟件工程的成果,將整個測試平臺按照所實現(xiàn)的功能,分門別類予以切割,實現(xiàn)各模塊獨自開發(fā)、分別維護。目前,芯片規(guī)模趨于龐大,協(xié)議愈形復雜,通常要傳遞海量數(shù)據(jù),并擁有數(shù)目繁多的端口。如果還以先前純Verilog的方式建立驗證系統(tǒng),將很難滿足芯片開發(fā)和投片的進度。

簡而言之,簡單地激勵DUT輸入端口、監(jiān)控相應的輸出端口和編寫臨時性的代碼來做數(shù)據(jù)比對,這種驗證方法已相當落后了。當然,我們也看到某些結(jié)構(gòu)簡單的芯片還有一定市場,純粹Verilog語言的驗證平臺也可以做到非常復雜(但是很難維護),并且學習面向?qū)ο缶幊痰拇鷥r容易令人望而卻步。但這些都是主流之外的個例,故對此本文不深入展開。

現(xiàn)代驗證系統(tǒng),盡管包含數(shù)量眾多的模塊、多樣的數(shù)據(jù)類型/協(xié)議及各模塊間復雜的信息傳遞(保持同步、共享數(shù)據(jù)等),它仍然是繼承傳統(tǒng)方法,歸納以往的驗證經(jīng)驗,依照慣常的步驟建立測試平臺。

VMM方法也概莫能外。依照通常的流程,它為所有應用VMM的測試平臺設(shè)定了九個步驟,定義在vmm_env中:gen_cfg、build、reset_dut、cfg_dut、start、wait_for_end、stop、cleanup和report。

另一方面,VMM平臺的架構(gòu)按抽象層次劃分,由以下部件組成:測試例(test)、場景發(fā)生器(generator)、驅(qū)動部件(driver)、監(jiān)控部件(monitor)、數(shù)據(jù)比對部件(scoreboard)、數(shù)據(jù)對象(data object)、數(shù)據(jù)傳輸管道(channel)、回調(diào)函數(shù)集(callback)、配置總集(dut_cfg與sys_cfg)、覆蓋率統(tǒng)計部件,以及聯(lián)接并集成以上所有部件的環(huán)境對象(environment object),如圖2中所示。

圖2:在測試平臺中使用驗證IP可大為降低工作量。

VMM中各個部件的使用,可參看Synopsys與ARM共同出版的手冊。

2. 評估標準

該研究所之前的驗證工作均采用高級驗證語言Vera,使用SystemVerilog則是第一次。VMM方法的引入,究竟能在多大程度上提高驗證效率?該項目既是實際工作又是一次評估。

我們設(shè)定預期值,是基于以下幾點考慮:

a. 建立一個范例平臺(包含簡單的數(shù)據(jù)交易、自檢測、覆蓋率統(tǒng)計)需要多長時間?

b. 可擴展性,即隨機測試向量的約束條件更改、自動比對機制按需求定制、功能覆蓋點的添加及AXI協(xié)議的監(jiān)控是否完備。

c. 驗證流程可控性,如在已有的九步驟中插入額外動作;通過系統(tǒng)配置的改變,來控制各步驟執(zhí)行的順序和次數(shù)(比如一次reset多次cfg_dut以實現(xiàn)在線重復測試)。

d. 易用性也應當考慮在內(nèi)。畢竟,VMM方法涵蓋的內(nèi)容很廣,工程師們要完全掌握仍有個過程。在無法知其所以然的時候,能不能很快地知其然,并開展工作,顯得非常重要。

后文的敘述都將圍繞著這幾方面展開。

AXI-VIP的集成

如前所述,VMM方法具備抽象分層結(jié)構(gòu)、有九個執(zhí)行步驟等優(yōu)點,但它只是一個通用的方法,能否符合前邊提出的四點判定標準還成問題。舉例來說,計算所的AXI主設(shè)備(master)仿真模型是以Verilog編寫的,無法在短期內(nèi)實現(xiàn)與VMM平臺的互聯(lián);完整的AXI協(xié)議檢測,對本所第一顆基于該總線的片上系統(tǒng)顯得尤為重要;由于時間倉促,AXI仿真模型還有待修正。這些都是項目進程中無法回避的問題,而VMM方法本身又沒有提供解決方法。

1. 商用驗證模型

AXI驗證模型(VIP)是Synopsys公司的商用模型,可配置、數(shù)據(jù)交易嚴格符合AXI協(xié)議,具備完整的協(xié)議檢查功能。最重要的一點是,AXI-VIP提供與VMM平臺的接口。實際上,這個VIP本身就實現(xiàn)了VMM平臺的驅(qū)動部件(Driver)加監(jiān)控部件(Monitor)的功能:向下層是與DUT通過端口相聯(lián),向上層則有基于vmm_channel/vmm_xactor_callbacks的數(shù)據(jù)傳輸管道。如圖2所示,除Test、Generator和Scoreboard之外的部分,AXI-VIP都已實現(xiàn)。這個商用模型對開發(fā)進度的實際貢獻將取決于工程師能否快速上手。換言之,VIP的易用性決定了它的價值。

有鑒于此,Synopsys公司提供一個基于AXI-VIP的VMM范例。其中,DUT部分以AXI Bus VIP替代,TB部分實現(xiàn)了如圖2所示的分層架構(gòu)。工程師作為用戶只需做如下修改,便能得到包含有簡單數(shù)據(jù)交易、自檢測、覆蓋率統(tǒng)計等功能的驗證平臺:替換DUT,并修改接口信號名;改寫測試例test_1的約束條件,得到自己的測試例;增加對DUT的配置操作。上述工作于一天內(nèi)完成,仿真輸出結(jié)果有波形文件、Log文件及覆蓋率報告。

2. AXI-VIP支持的類

AXI- VIP定義的類都有相同的前綴名“dw_vip_axi”,它們構(gòu)成vmm_env當中的大部分:

a. dw_vip_axi_master_rvm;

b. dw_vip_axi_slave_rvm;

c. dw_vip_axi_monitor_rvm;

d. dw_vip_axi_master_transaction_scenario_gen;

e. dw_vip_axi_port_model_configuration;

f. dw_vip_axi_system_model_configuration;

g. dw_vip_axi_master_transaction_channel;

h. dw_vip_axi_slave_resp_transaction_channel;

i. dw_vip_axi_monitor_transaction_channel。

這些類將例化產(chǎn)生主設(shè)備部件、從設(shè)備部件、監(jiān)控部件、配置對象、數(shù)據(jù)對象和數(shù)據(jù)傳輸管道等等。它們有著各自的變量、函數(shù),提供了豐富的控制功能,涵蓋所有類型的操作。

功能的完備并未損害AXI-VIP的易用性,這點在項目中得到了印證。通過三天的培訓與實做,工程師們能夠通過"修改約束條件來隨機產(chǎn)生測試向量",按照芯片測試規(guī)范改寫"自動比對機制",添加"功能覆蓋點",并利用AXI監(jiān)控部件"自動檢查協(xié)議"并收集與AXI協(xié)議相關(guān)的覆蓋率。

這當中,按照芯片測試規(guī)范改寫“自動比對機制”沒有現(xiàn)成的VMM基本類可用。我們是從Synopsys提供的簡單范例入手,利用AXI-VIP提供的回調(diào)函數(shù)集,獲取數(shù)據(jù)交易信息,并實時地比對流出與流入數(shù)據(jù)。如同其他的驗證系統(tǒng),這部分工作是最多樣化,也是最為核心的任務,所以占用三天當中的大部分時間,也在意料之中。

基于VMM的Scoreboard實現(xiàn)

本所驗證組以VMM方法為指導,利用AXI-VIP提供的回調(diào)函數(shù)集,快速建立了該測試平臺的自動比對機制。盡管還不能最終應用在十幾個主/從設(shè)備的全系統(tǒng)中,但是,由于這部分代碼封裝在自定義的Scoreboard類當中,可重用、可擴展,并且符合VMM平臺的接口要求,可以很方便地合入將來的系統(tǒng)中。該Scoreboard類的核心部分SystemVerilog代碼由Synopsys提供,如圖3所示。

圖3:自檢測單元的結(jié)構(gòu)框圖。

左端是主設(shè)備數(shù)據(jù)緩沖及比對,右端為從設(shè)備數(shù)據(jù)緩沖及比對,中間的1到N和N到1轉(zhuǎn)換,實現(xiàn)數(shù)據(jù)比對任務的分配。N個從設(shè)備的比對代碼,都擴展自相同的類。正因為這種設(shè)計它是可無限擴展的?;诒卷椖恐挥袃蓚€主設(shè)備的特點,我們對左邊的結(jié)構(gòu)做了大幅度簡化。

核心的比對部分之外,關(guān)鍵任務就是實時地獲取各主/從設(shè)備的數(shù)據(jù)流。這在AXI-VIP(也包括Synopsys公司的其他VIP)中,已經(jīng)有現(xiàn)成函數(shù)可用。本所工程師在兩天時間內(nèi)就學會使用,并結(jié)合實際完成了代碼的開發(fā)與調(diào)試。

AXI-VIP包括主設(shè)備、從設(shè)備與監(jiān)控設(shè)備,它們在數(shù)據(jù)交易的幾個關(guān)鍵點將得到一次函數(shù)回調(diào)的機會,如表1所示。

表1:回調(diào)函數(shù)與相應管道的對應關(guān)系表。

依據(jù)這些回調(diào)函數(shù)對應的數(shù)據(jù)交易階段,我們選取主設(shè)備的post_input_channel_get,從設(shè)備的pre_output_channel_put兩函數(shù)來獲取交易數(shù)據(jù)。

其它函數(shù)也可以用來獲取數(shù)據(jù),如監(jiān)控設(shè)備的pre_activity_channel_put,就可以得到輸入、輸出兩方面的數(shù)據(jù)。具體請參看AXI-VIP使用手冊。另外,VMM回調(diào)函數(shù)還可以用于控制驗證流程、插入錯誤數(shù)據(jù)等等,限于篇幅,本文不再展開。

本文小結(jié)

因為芯片驗證工作的趨勢是需要更多的軟件知識和技巧。本文以中科院計算所的SoC項目為例,講解了如何充分利用專業(yè)的驗證語言基本庫和商用的仿真模型快速建立測試平臺。文中詳細介紹了各部件的使用和AXI-VIP對象如何納入VMM框架,以及這樣做的實際意義。

VMM方法基于SystemVerilog語言,提供了完整的函數(shù)庫,而作為補充的AXI-VIP,功能完備且易用性強。基于這一新方法,本所驗證組工程師在五個工作日內(nèi)快速建立了一套可方便擴展的測試平臺。建立新系統(tǒng)的過程中,發(fā)現(xiàn)一個設(shè)計的漏洞,充分體現(xiàn)了該方法的高效性。
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉