深度解析Portable Stimulus:UVM集成
發(fā)布時(shí)間:2019-07-06 責(zé)任編輯:lina
【導(dǎo)讀】PSS和UVM的集成在一起不同于將兩種語言進(jìn)行集成。本文將列出這種集成的基本策略,以盡可能通用的語言來描述集成的六個(gè)步驟以及本文會(huì)詳細(xì)介紹前三個(gè)步驟。
PSS和UVM的集成在一起不同于將兩種語言進(jìn)行集成。本文將列出這種集成的基本策略,以盡可能通用的語言來描述集成的六個(gè)步驟以及本文會(huì)詳細(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ì)會(huì)希望通過增加Portable Stimulus來擴(kuò)展他們的驗(yàn)證方法。通過結(jié)合不僅理解組合約束而且理解設(shè)計(jì)時(shí)間方面的約束求解器,可以生成針對(duì)特定驗(yàn)證意圖的更有效的測(cè)試。
本博客將列出這種集成的基本策略。需要注意的是,集成Portable Stimulus Standard (PSS)功能并沒有對(duì)現(xiàn)存的功能產(chǎn)生任何影響,現(xiàn)有的測(cè)試平臺(tái)仍然有效,繼續(xù)提供相同的覆蓋范圍。但若在嘗試達(dá)到理想覆蓋水平時(shí)碰到問題,或者當(dāng)希望測(cè)試用例被重定向?yàn)榉抡婊虮挥糜谛酒瑔?dòng)時(shí),PSS增加的新功能就有用了。
隨著時(shí)間的推移,對(duì)PSS功能的信心逐步增強(qiáng),您可能會(huì)希望更改驗(yàn)證方法以支持PSS生成的測(cè)試用例,而不是來自現(xiàn)有UVM環(huán)境的簡(jiǎn)單、隨機(jī)的測(cè)試用例。此外,PSS還提供了新的比對(duì)和評(píng)估覆蓋范圍的方法,相信這種方法也更直觀。
還有一點(diǎn)需要注意,PSS和UVM的集成與兩種語言之間的集成不同。PSS定義了一個(gè)利用工具生成測(cè)試用例的模型。它是與UVM集成生成的測(cè)試用例。這意味著,當(dāng)談到集成,就不能使其獨(dú)立于特定供應(yīng)商的工具。我會(huì)以盡可能通用的語言來描述集成的步驟,其他供應(yīng)商可能也會(huì)有類似的步驟,但自動(dòng)化的細(xì)節(jié)或級(jí)別可能會(huì)有所不同。
集成的六個(gè)步驟如下:
1.識(shí)別UVM接口,包括事務(wù)級(jí)建模(TLM)接口、軟件接口和內(nèi)存。配置工具并集成到UVM。
2.創(chuàng)建PSS寄存器類型描述。這一步可以通過硬件/軟件接口(HSI)的寄存器定義來手工完成,也可以通過轉(zhuǎn)換IP-XACT描述來完成。
3.識(shí)別設(shè)計(jì)(包括組件、操作、資源等)的整體PSS模型/表示。
4.提供每個(gè)“操作”(action)的詳細(xì)信息。這些信息根據(jù)可合成TLM或軟件驅(qū)動(dòng)驗(yàn)證(SDV)測(cè)試的可移植基元定義。
5.編譯模型、合成測(cè)試用例,并運(yùn)行UVM仿真。
6.查看和調(diào)試結(jié)果,并分析覆蓋范圍。
下面我們將采用一個(gè)非常簡(jiǎn)單的設(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高級(jí)外設(shè)總線(APB)VIP驅(qū)動(dòng)的端口。為UART VIP定義TLM事務(wù)和TLM端口; 并在TLB模式中為APB VIP定義處理器代理。同時(shí)定義存儲(chǔ)器資源以供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)作或與比對(duì)模塊一起使用時(shí),反方向也存在類似的代碼。(來源:Breker)
步驟2建立了VIP的寄存器和存儲(chǔ)器映射。通常情況下,該映射已經(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是識(shí)別系統(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)展,再定義附加的、次級(jí)的操作。這不會(huì)對(duì)已執(zhí)行的驗(yàn)證有任何影響,只會(huì)造成更多的序列。
為每個(gè)計(jì)算元素(UART、DMAC、AES)創(chuàng)建資源池。
并使用流對(duì)象(FIFO,Reg)和為每個(gè)元素創(chuàng)建的相應(yīng)“池”來定義到塊的接口。
最后,PSS鎖定對(duì)共享資源或獨(dú)占資源使用的控制。調(diào)度程序?qū)⒗盟鼇泶_保不會(huì)嘗試使硬件同時(shí)執(zhí)行互斥操作。
圖6:Breker的TrekDesigner中顯示的PSS圖表創(chuàng)建了模型。在該模型中,“組件”是綠色框,“操作”是淺藍(lán)色框,“資源”是深藍(lán)色菱形,“鎖”是與“操作”相關(guān)聯(lián)的灰色框。“操作”塊的輸入和輸出用藍(lán)色輸入/輸出端口表示。 (來源:Breker)
Entry操作(頂部)同時(shí)安排了兩個(gè)UART場(chǎng)景,即加密和解密操作。UART場(chǎng)景(左下方)將為DUT選擇配置,配置VIP以匹配,同時(shí)并行執(zhí)行多個(gè)接收和發(fā)送操作。加密和解密操作由DMAC傳輸(右下)提供。資源鎖用于確保同一硬件塊上的兩個(gè)操作不會(huì)同時(shí)執(zhí)行。
整個(gè)模型的PSS代碼均由工具生成。每個(gè)生成的動(dòng)作都有一對(duì)//用戶代碼開始和//用戶代碼結(jié)束標(biāo)記,標(biāo)記中間即為動(dòng)作的詳細(xì)描述。重新生成模型時(shí),標(biāo)記間的代碼會(huì)保留。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 一文看懂電壓轉(zhuǎn)換的級(jí)聯(lián)和混合概念
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖