深度解析Portable Stimulus:UVM集成
發(fā)布時(shí)間:2019-07-06 責(zé)任編輯:lina
【導(dǎo)讀】PSS和UVM的集成在一起不同于將兩種語言進(jìn)行集成。本文將列出這種集成的基本策略,以盡可能通用的語言來描述集成的六個(gè)步驟以及本文會詳細(xì)介紹前三個(gè)步驟。
PSS和UVM的集成在一起不同于將兩種語言進(jìn)行集成。本文將列出這種集成的基本策略,以盡可能通用的語言來描述集成的六個(gè)步驟以及本文會詳細(xì)介紹前三個(gè)步驟。
將便攜式刺激標(biāo)準(zhǔn)(Portable Stimulus Standard,PSS)功能與通用驗(yàn)證方法學(xué)(UVM)集成在一起不同于將兩種語言進(jìn)行集成。
在我們之前的專欄中,Aileen Honess提供了這樣一個(gè)背景,shuoming 為什么那些使用通用驗(yàn)證方法學(xué)(UVM)和SystemVerilog的團(tuán)隊(duì)會希望通過增加Portable Stimulus來擴(kuò)展他們的驗(yàn)證方法。通過結(jié)合不僅理解組合約束而且理解設(shè)計(jì)時(shí)間方面的約束求解器,可以生成針對特定驗(yàn)證意圖的更有效的測試。
本博客將列出這種集成的基本策略。需要注意的是,集成Portable Stimulus Standard (PSS)功能并沒有對現(xiàn)存的功能產(chǎn)生任何影響,現(xiàn)有的測試平臺仍然有效,繼續(xù)提供相同的覆蓋范圍。但若在嘗試達(dá)到理想覆蓋水平時(shí)碰到問題,或者當(dāng)希望測試用例被重定向?yàn)榉抡婊虮挥糜谛酒瑔?dòng)時(shí),PSS增加的新功能就有用了。
隨著時(shí)間的推移,對PSS功能的信心逐步增強(qiáng),您可能會希望更改驗(yàn)證方法以支持PSS生成的測試用例,而不是來自現(xiàn)有UVM環(huán)境的簡單、隨機(jī)的測試用例。此外,PSS還提供了新的比對和評估覆蓋范圍的方法,相信這種方法也更直觀。
還有一點(diǎn)需要注意,PSS和UVM的集成與兩種語言之間的集成不同。PSS定義了一個(gè)利用工具生成測試用例的模型。它是與UVM集成生成的測試用例。這意味著,當(dāng)談到集成,就不能使其獨(dú)立于特定供應(yīng)商的工具。我會以盡可能通用的語言來描述集成的步驟,其他供應(yīng)商可能也會有類似的步驟,但自動(dòng)化的細(xì)節(jié)或級別可能會有所不同。
集成的六個(gè)步驟如下:
1.識別UVM接口,包括事務(wù)級建模(TLM)接口、軟件接口和內(nèi)存。配置工具并集成到UVM。
2.創(chuàng)建PSS寄存器類型描述。這一步可以通過硬件/軟件接口(HSI)的寄存器定義來手工完成,也可以通過轉(zhuǎn)換IP-XACT描述來完成。
3.識別設(shè)計(jì)(包括組件、操作、資源等)的整體PSS模型/表示。
4.提供每個(gè)“操作”(action)的詳細(xì)信息。這些信息根據(jù)可合成TLM或軟件驅(qū)動(dòng)驗(yàn)證(SDV)測試的可移植基元定義。
5.編譯模型、合成測試用例,并運(yùn)行UVM仿真。
6.查看和調(diào)試結(jié)果,并分析覆蓋范圍。
下面我們將采用一個(gè)非常簡單的設(shè)計(jì)來演示這些概念。該設(shè)計(jì)源自Breker發(fā)布的公共域示例,示例中有兩個(gè)CPUS、兩個(gè)UART、一個(gè)DMAC和一個(gè)AES加密塊。
圖1:本示例包括兩個(gè)CPUS、兩個(gè)UART、一個(gè)DMAC和一個(gè)AES加密塊。(來源:Breker)
每個(gè)UART都有一個(gè)驗(yàn)證IP(VIP),用于配置和發(fā)送/接收數(shù)據(jù)。此外,每個(gè)CPU都開放其由AMBA高級外設(shè)總線(APB)VIP驅(qū)動(dòng)的端口。為UART VIP定義TLM事務(wù)和TLM端口; 并在TLB模式中為APB VIP定義處理器代理。同時(shí)定義存儲器資源以供DMAC操作使用。
圖2:從Portable Stimulus工具生成的UVM代碼。(來源:Breaker)
圖3:生成的代碼用于將工具中的事務(wù)轉(zhuǎn)換為VIP使用的事務(wù),類似于uvm_reg_adapter。(來源:Breker)
圖4:生成的trek_sequence等待來自模型的數(shù)據(jù),使用上面的代碼轉(zhuǎn)換數(shù)據(jù),并將其發(fā)送給VIP。即該代碼用于實(shí)現(xiàn)兩種類型數(shù)據(jù)的轉(zhuǎn)換。這里也可以使用用戶創(chuàng)建的序列。當(dāng)監(jiān)視模塊捕獲動(dòng)作或與比對模塊一起使用時(shí),反方向也存在類似的代碼。(來源:Breker)
步驟2建立了VIP的寄存器和存儲器映射。通常情況下,該映射已經(jīng)以IP-XACT格式定義。IP-XACT是第三方IP模塊的通用格式,許多公司也用它來記錄其內(nèi)部IP。如果是這種情況,將采用實(shí)用程序執(zhí)行必要的轉(zhuǎn)換。Breker采用了建議的HSI,HSI在PSS標(biāo)準(zhǔn)第一版中并未獲得批準(zhǔn)。
三個(gè)組件(UART、DMAC、AES)中每個(gè)組件的寄存器描述都可以利用隨設(shè)計(jì)發(fā)布的IP-XACT文件中的trekhsi輕松創(chuàng)建,而且可以修改字段名稱以提高可讀性。
圖5:UART(hsi_uart.h)的HSI寄存器定義變?yōu)閔si :: reg_block。為了便于閱讀,原始IP-XACT規(guī)范中的字段名稱作了修改。(來源:Breker)
步驟3是識別系統(tǒng)組件。該設(shè)計(jì)中,主要的IP模塊是UART、DMA和AES,稱為“PSS組件”。每個(gè)模塊都具有稱為“操作”(action)的核心功能,并表示為“PSS操作”。這些模塊的關(guān)鍵功能(actions) 可以定義如下:
·UART - 配置、接收、發(fā)送
·DMAC - 輸出數(shù)據(jù)、輸入數(shù)據(jù)
·AES - 加密、解密
·CPU - 輸出數(shù)據(jù)、輸入數(shù)據(jù)
需要注意的是,首次編寫PSS模型時(shí),不一定要定義所有操作。首先,只用定義最重要的,隨著驗(yàn)證任務(wù)的進(jìn)展,再定義附加的、次級的操作。這不會對已執(zhí)行的驗(yàn)證有任何影響,只會造成更多的序列。
為每個(gè)計(jì)算元素(UART、DMAC、AES)創(chuàng)建資源池。
并使用流對象(FIFO,Reg)和為每個(gè)元素創(chuàng)建的相應(yīng)“池”來定義到塊的接口。
最后,PSS鎖定對共享資源或獨(dú)占資源使用的控制。調(diào)度程序?qū)⒗盟鼇泶_保不會嘗試使硬件同時(shí)執(zhí)行互斥操作。
圖6:Breker的TrekDesigner中顯示的PSS圖表創(chuàng)建了模型。在該模型中,“組件”是綠色框,“操作”是淺藍(lán)色框,“資源”是深藍(lán)色菱形,“鎖”是與“操作”相關(guān)聯(lián)的灰色框。“操作”塊的輸入和輸出用藍(lán)色輸入/輸出端口表示。 (來源:Breker)
Entry操作(頂部)同時(shí)安排了兩個(gè)UART場景,即加密和解密操作。UART場景(左下方)將為DUT選擇配置,配置VIP以匹配,同時(shí)并行執(zhí)行多個(gè)接收和發(fā)送操作。加密和解密操作由DMAC傳輸(右下)提供。資源鎖用于確保同一硬件塊上的兩個(gè)操作不會同時(shí)執(zhí)行。
整個(gè)模型的PSS代碼均由工具生成。每個(gè)生成的動(dòng)作都有一對//用戶代碼開始和//用戶代碼結(jié)束標(biāo)記,標(biāo)記中間即為動(dòng)作的詳細(xì)描述。重新生成模型時(shí),標(biāo)記間的代碼會保留。
特別推薦
- X-CUBE-STL:支持更多STM32, 揭開功能安全的神秘面紗
- 大聯(lián)大世平集團(tuán)的駕駛員監(jiān)控系統(tǒng)(DMS)方案榮獲第六屆“金輯獎(jiǎng)之最佳技術(shù)實(shí)踐應(yīng)用”獎(jiǎng)
- 貿(mào)澤推出針對基礎(chǔ)設(shè)施和智慧城市的工程技術(shù)資源中心
- 大普技術(shù)自主可控、高精度、小型化TCXO——對講機(jī)應(yīng)用
- Melexis創(chuàng)新推出集成喚醒功能的汽車制動(dòng)踏板位置傳感器芯片方案
- Vishay推出的新款高能浪涌限流PTC熱敏電阻,可提高有源充放電電路性能
- 美芯晟推出支持ALS和Flicker的小尺寸閃爍光傳感器芯片
技術(shù)文章更多>>
- 車用開關(guān)電源的開關(guān)頻率定多高才不影響EMC?
- 貿(mào)澤推出針對基礎(chǔ)設(shè)施和智慧城市的工程技術(shù)資源中心
- “扒開”超級電容的“外衣”,看看超級電容“超級”在哪兒
- DigiKey 誠邀各位參會者蒞臨SPS 2024?展會參觀交流,體驗(yàn)最新自動(dòng)化產(chǎn)品
- 提前圍觀第104屆中國電子展高端元器件展區(qū)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索