<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 互連技術(shù) > 正文

深度解析Portable Stimulus:UVM集成

發(fā)布時(shí)間:2019-07-06 責任編輯:lina

【導讀】PSS和UVM的集成在一起不同于將兩種語(yǔ)言進(jìn)行集成。本文將列出這種集成的基本策略,以盡可能通用的語(yǔ)言來(lái)描述集成的六個(gè)步驟以及本文會(huì )詳細介紹前三個(gè)步驟。
 
PSS和UVM的集成在一起不同于將兩種語(yǔ)言進(jìn)行集成。本文將列出這種集成的基本策略,以盡可能通用的語(yǔ)言來(lái)描述集成的六個(gè)步驟以及本文會(huì )詳細介紹前三個(gè)步驟。
 
將便攜式刺激標準(Portable Stimulus Standard,PSS)功能與通用驗證方法學(xué)(UVM)集成在一起不同于將兩種語(yǔ)言進(jìn)行集成。
 
在我們之前的專(zhuān)欄中,Aileen Honess提供了這樣一個(gè)背景,shuoming 為什么那些使用通用驗證方法學(xué)(UVM)和SystemVerilog的團隊會(huì )希望通過(guò)增加Portable Stimulus來(lái)擴展他們的驗證方法。通過(guò)結合不僅理解組合約束而且理解設計時(shí)間方面的約束求解器,可以生成針對特定驗證意圖的更有效的測試。
 
本博客將列出這種集成的基本策略。需要注意的是,集成Portable Stimulus Standard (PSS)功能并沒(méi)有對現存的功能產(chǎn)生任何影響,現有的測試平臺仍然有效,繼續提供相同的覆蓋范圍。但若在嘗試達到理想覆蓋水平時(shí)碰到問(wèn)題,或者當希望測試用例被重定向為仿真或被用于芯片啟動(dòng)時(shí),PSS增加的新功能就有用了。
 
隨著(zhù)時(shí)間的推移,對PSS功能的信心逐步增強,您可能會(huì )希望更改驗證方法以支持PSS生成的測試用例,而不是來(lái)自現有UVM環(huán)境的簡(jiǎn)單、隨機的測試用例。此外,PSS還提供了新的比對和評估覆蓋范圍的方法,相信這種方法也更直觀(guān)。
 
還有一點(diǎn)需要注意,PSS和UVM的集成與兩種語(yǔ)言之間的集成不同。PSS定義了一個(gè)利用工具生成測試用例的模型。它是與UVM集成生成的測試用例。這意味著(zhù),當談到集成,就不能使其獨立于特定供應商的工具。我會(huì )以盡可能通用的語(yǔ)言來(lái)描述集成的步驟,其他供應商可能也會(huì )有類(lèi)似的步驟,但自動(dòng)化的細節或級別可能會(huì )有所不同。
集成的六個(gè)步驟如下:
1.識別UVM接口,包括事務(wù)級建模(TLM)接口、軟件接口和內存。配置工具并集成到UVM。
2.創(chuàng )建PSS寄存器類(lèi)型描述。這一步可以通過(guò)硬件/軟件接口(HSI)的寄存器定義來(lái)手工完成,也可以通過(guò)轉換IP-XACT描述來(lái)完成。
3.識別設計(包括組件、操作、資源等)的整體PSS模型/表示。
4.提供每個(gè)“操作”(action)的詳細信息。這些信息根據可合成TLM或軟件驅動(dòng)驗證(SDV)測試的可移植基元定義。
5.編譯模型、合成測試用例,并運行UVM仿真。
6.查看和調試結果,并分析覆蓋范圍。
下面我們將采用一個(gè)非常簡(jiǎn)單的設計來(lái)演示這些概念。該設計源自Breker發(fā)布的公共域示例,示例中有兩個(gè)CPUS、兩個(gè)UART、一個(gè)DMAC和一個(gè)AES加密塊。
 
深度解析Portable Stimulus:UVM集成
圖1:本示例包括兩個(gè)CPUS、兩個(gè)UART、一個(gè)DMAC和一個(gè)AES加密塊。(來(lái)源:Breker)
 
每個(gè)UART都有一個(gè)驗證IP(VIP),用于配置和發(fā)送/接收數據。此外,每個(gè)CPU都開(kāi)放其由AMBA高級外設總線(xiàn)(APB)VIP驅動(dòng)的端口。為UART VIP定義TLM事務(wù)和TLM端口; 并在TLB模式中為APB VIP定義處理器代理。同時(shí)定義存儲器資源以供DMAC操作使用。
 
深度解析Portable Stimulus:UVM集成
圖2:從Portable Stimulus工具生成的UVM代碼。(來(lái)源:Breaker)
 
深度解析Portable Stimulus:UVM集成
圖3:生成的代碼用于將工具中的事務(wù)轉換為VIP使用的事務(wù),類(lèi)似于uvm_reg_adapter。(來(lái)源:Breker)
 
深度解析Portable Stimulus:UVM集成
圖4:生成的trek_sequence等待來(lái)自模型的數據,使用上面的代碼轉換數據,并將其發(fā)送給VIP。即該代碼用于實(shí)現兩種類(lèi)型數據的轉換。這里也可以使用用戶(hù)創(chuàng )建的序列。當監視模塊捕獲動(dòng)作或與比對模塊一起使用時(shí),反方向也存在類(lèi)似的代碼。(來(lái)源:Breker)
 
步驟2建立了VIP的寄存器和存儲器映射。通常情況下,該映射已經(jīng)以IP-XACT格式定義。IP-XACT是第三方IP模塊的通用格式,許多公司也用它來(lái)記錄其內部IP。如果是這種情況,將采用實(shí)用程序執行必要的轉換。Breker采用了建議的HSI,HSI在PSS標準第一版中并未獲得批準。
三個(gè)組件(UART、DMAC、AES)中每個(gè)組件的寄存器描述都可以利用隨設計發(fā)布的IP-XACT文件中的trekhsi輕松創(chuàng )建,而且可以修改字段名稱(chēng)以提高可讀性。
 
深度解析Portable Stimulus:UVM集成
圖5:UART(hsi_uart.h)的HSI寄存器定義變?yōu)閔si :: reg_block。為了便于閱讀,原始IP-XACT規范中的字段名稱(chēng)作了修改。(來(lái)源:Breker)
 
步驟3是識別系統組件。該設計中,主要的IP模塊是UART、DMA和AES,稱(chēng)為“PSS組件”。每個(gè)模塊都具有稱(chēng)為“操作”(action)的核心功能,并表示為“PSS操作”。這些模塊的關(guān)鍵功能(actions) 可以定義如下:
·UART - 配置、接收、發(fā)送
·DMAC - 輸出數據、輸入數據
·AES - 加密、解密
·CPU - 輸出數據、輸入數據
需要注意的是,首次編寫(xiě)PSS模型時(shí),不一定要定義所有操作。首先,只用定義最重要的,隨著(zhù)驗證任務(wù)的進(jìn)展,再定義附加的、次級的操作。這不會(huì )對已執行的驗證有任何影響,只會(huì )造成更多的序列。
為每個(gè)計算元素(UART、DMAC、AES)創(chuàng )建資源池。
并使用流對象(FIFO,Reg)和為每個(gè)元素創(chuàng )建的相應“池”來(lái)定義到塊的接口。
最后,PSS鎖定對共享資源或獨占資源使用的控制。調度程序將利用它來(lái)確保不會(huì )嘗試使硬件同時(shí)執行互斥操作。
 
深度解析Portable Stimulus:UVM集成
圖6:Breker的TrekDesigner中顯示的PSS圖表創(chuàng )建了模型。在該模型中,“組件”是綠色框,“操作”是淺藍色框,“資源”是深藍色菱形,“鎖”是與“操作”相關(guān)聯(lián)的灰色框。“操作”塊的輸入和輸出用藍色輸入/輸出端口表示。 (來(lái)源:Breker)
 
Entry操作(頂部)同時(shí)安排了兩個(gè)UART場(chǎng)景,即加密和解密操作。UART場(chǎng)景(左下方)將為DUT選擇配置,配置VIP以匹配,同時(shí)并行執行多個(gè)接收和發(fā)送操作。加密和解密操作由DMAC傳輸(右下)提供。資源鎖用于確保同一硬件塊上的兩個(gè)操作不會(huì )同時(shí)執行。
整個(gè)模型的PSS代碼均由工具生成。每個(gè)生成的動(dòng)作都有一對//用戶(hù)代碼開(kāi)始和//用戶(hù)代碼結束標記,標記中間即為動(dòng)作的詳細描述。重新生成模型時(shí),標記間的代碼會(huì )保留。
 
 
 
推薦閱讀:
電容擊穿是開(kāi)路還是短路?電容擊穿原因是什么?
詳解力、壓力、流量和溫度等傳感器性能術(shù)語(yǔ)
如何測試CAN節點(diǎn)DUT的輸入電壓閾值?
電源芯片的工作模式都有哪些特點(diǎn)?
如何通過(guò)實(shí)時(shí)網(wǎng)絡(luò )實(shí)現多軸運動(dòng)控制的同步
要采購工具么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>