將便攜式刺激標準 (PSS) 功能與通用驗證方法 (UVM) 集成與兩種語言之間的集成不同。
在我們之前的專欄中,Aileen Honess 提供了一個背景,說明為什么使用通用驗證方法 (UVM) 和 SystemVerilog 的團隊可能希望通過添加便攜式激勵來擴展他們的方法。通過結(jié)合不僅了解組合約束而且了解設(shè)計的時間方面的約束求解器,可以生成針對特定驗證意圖的更有效的測試。
本博客將介紹這種集成的基本策略。需要注意的是,集成便攜式刺激標準 (PSS) 功能不會刪除任何可能已經(jīng)存在的功能?,F(xiàn)有的測試平臺仍然可以工作,并且它們將繼續(xù)提供相同的覆蓋范圍。PSS 添加了新功能,如果您在達到所需覆蓋水平時遇到問題,或者如果您想要制作可重新定位到仿真或可用于芯片啟動的測試用例,這些功能將變得非常有用。
隨著時間的推移,您可能會發(fā)現(xiàn)您希望更改驗證方法以支持由 PSS 生成的測試用例,而不是來自現(xiàn)有 UVM 環(huán)境的更簡單、隨機的測試用例。隨著您對 PSS 的功能越來越有信心,這些更改可能會隨著時間的推移而發(fā)生。此外,PSS 還提供了新的——我們相信,更直觀的——記分板和評估覆蓋率的方法。
我們還必須提醒您,PSS 和 UVM 的集成并不等同于兩種語言之間的集成。PSS 定義了一個模型,工具在該模型上運行以生成測試用例。它是與 UVM 集成的生成的測試用例。這意味著,在談?wù)摷蓵r,您不能使其獨立于特定供應(yīng)商的工具。我將盡可能用最籠統(tǒng)的術(shù)語來描述集成,其他供應(yīng)商可能會有類似的步驟集,但細節(jié)或自動化水平可能會有所不同。
這六個步驟是:
識別 UVM 接口,包括事務(wù)級建模 (TLM) 接口、軟件接口和內(nèi)存。配置工具并集成到 UVM。
創(chuàng)建 PSS 寄存器類型描述。這可以通過硬件/軟件接口 (HSI) 寄存器定義或從 IP-XACT 描述轉(zhuǎn)換來手動完成。
確定設(shè)計的整體 PSS 模型/表示(組件、操作、資源等)。
提供每個“動作”的詳細信息。這些是根據(jù)可合成到 TLM 或軟件驅(qū)動驗證 (SDV) 測試的可移植原語定義的。
編譯模型、綜合測試用例并運行 UVM 仿真。
查看和調(diào)試結(jié)果,并分析覆蓋率。
我們將使用一個相當簡單的設(shè)計來演示這些概念。此設(shè)計源自公共領(lǐng)域示例,可在 Breker 發(fā)行版中使用。該示例有兩個 CPU、兩個 UART、一個 DMAC 和一個 AES 加密塊。
每個 UART 都有一個驗證 IP (VIP),用于配置以及發(fā)送和接收數(shù)據(jù)。此外,每個 CPU 都公開了由 AMBA 高級外圍總線 (APB) VIP 驅(qū)動的端口。TLM 事務(wù)和 TLM 端口是為 UART VIP 定義的;此外,為 APB VIP 定義了在 TLM 模式下配置的處理器代理。內(nèi)存資源被定義為供 DMAC 操作使用。
步驟 2 建立 VIP 的寄存器和內(nèi)存映射。很多時候,這些已經(jīng)以 IP-XACT 格式定義,這是第三方 IP 塊的常用格式。許多公司還使用它來記錄其內(nèi)部 IP。如果是這種情況,實用程序?qū)⑦M行必要的轉(zhuǎn)換。Breker 采用了提議的 HSI,但在 PSS 標準的第一個版本中并未獲得批準。
trekhsi使用隨設(shè)計發(fā)布的 IP-XACT 文件可以輕松創(chuàng)建三個組件(UART、DMAC、AES)中每一個的寄存器描述??梢孕薷淖侄蚊Q以提高可讀性。
第 3 步是識別系統(tǒng)的組件。對于本設(shè)計,主要的 IP 模塊是 UART、DMA 和 AES,它們成為“PSS 組件”。每個塊都具有描述為“動作”并表示為“PSS 動作”的核心功能。這些塊的關(guān)鍵功能(動作)可以定義為:
UART — 配置、接收、發(fā)送
DMAC — 輸出數(shù)據(jù),輸入數(shù)據(jù)
AES——加密、解密
CPU——輸出數(shù)據(jù),輸入數(shù)據(jù)
請注意,在第一次編寫 PSS 模型時,定義所有動作并不重要。起初,只需要定義最重要的,隨著驗證任務(wù)的進行,還可以定義附加的、次要的操作。這不會影響任何已經(jīng)執(zhí)行的驗證——它只是使更多的序列成為可能。
為每個計算元素(UART、DMAC、AES)創(chuàng)建一個資源池。
塊的接口是使用流對象(FIFO、Reg)和為每個對象創(chuàng)建的相應(yīng)“池”定義的。
最后,PSS 鎖定控制資源的共享或獨占使用。調(diào)度程序?qū)⑹褂眠@些來確保它不會嘗試使硬件同時執(zhí)行互斥操作。
Entry 操作(頂部)將同時安排兩個 UART 場景,一個 Encrypt 和一個 Decrypt 操作。UART 場景(左下)將為 DUT 選擇配置,配置 VIP 以匹配,并并行執(zhí)行多個接收和發(fā)送操作。加密和解密操作由 DMAC 傳輸提供(右下)。資源鎖用于保證同一硬件塊上的兩個操作不允許同時執(zhí)行。
整個模型的 PSS 代碼由該工具生成。每個生成的動作都有一對// Start of user code和// End of user code標記,可以在其中輸入動作的詳細操作。重新生成模型時,這些標記中的代碼將被保留。
在我們的下一個專欄中,我們將介紹剩下的三個步驟。同時,與往常一樣,如有任何問題或需要澄清,請與我聯(lián)系。
審核編輯 黃昊宇
-
便攜式
+關(guān)注
關(guān)注
0文章
322瀏覽量
29731 -
UVM
+關(guān)注
關(guān)注
0文章
181瀏覽量
19114 -
PSS
+關(guān)注
關(guān)注
0文章
20瀏覽量
11878
發(fā)布評論請先 登錄
相關(guān)推薦
評論