《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學(xué)——如何自動產(chǎn)生一個UVM環(huán)境

FPGA教學(xué)——如何自動產(chǎn)生一個UVM環(huán)境

2022-08-11
來源:FPGA之家
關(guān)鍵詞: UVM環(huán)境 FPGA

  之前有朋友問我怎么用腳本產(chǎn)生一個驗證環(huán)境,這個問題今天和大家介紹下兩種做法。

  第一種用VCS自帶的uvmgen工具

  當(dāng)你在命令行時直接輸入uvmgen會輸出如下信息

微信圖片_20220811150703.png

  選擇1

  然后按照提示步驟進(jìn)行UVM環(huán)境的創(chuàng)建

  微信圖片_20220811150715.png

  創(chuàng)建完之后我們看看環(huán)境目錄

  微信圖片_20220811150735.png

  剛才我們創(chuàng)建的env,agent,scoreboar,coverage收集模塊等都已經(jīng)完備,跑環(huán)境的Makefile也都自動生成好了。對于一些簡單的UVM環(huán)境,用uvmgen還是非常適用的。

  但是采用這種方式產(chǎn)生UVM環(huán)境的局限也比較明顯,比如agent不能添加多個等,對于一些復(fù)雜的驗證環(huán)境還得自己手動添加。有沒有一種腳本能夠?qū)⒄w框架大家好,甚至將驗證管理中的checklist都準(zhǔn)備妥當(dāng)。下面介紹的這個uvmdvgen.py 腳本將實現(xiàn)這些強(qiáng)大的功能。

  介紹下這個腳本實現(xiàn)的功能

  可以快速生成 agent;

  能夠根據(jù)用戶需求產(chǎn)生UVM環(huán)境;

  自帶checklist;

  自帶testplan;

  這里產(chǎn)生的UVM環(huán)境可以支持多個不同的agent,并且UVM環(huán)境的編碼風(fēng)格對復(fù)用性非常友好。讓我們看看這款UVM的腳本是怎么使用的。

  用-a 單獨生成一個agent,例如

  uvmdvgen.py i2c -a

  生成i2c 的agent

  微信圖片_20220811150750.png

  用-s 可以一個agent里面增添 host driver 和device driver

  uvmdvgen.py i2c -a -s

  微信圖片_20220811150804.png

  講完agent,開始講environment,用-e 產(chǎn)出UVMenvironment

  uvmdvgen.py i2c -e

  微信圖片_20220811150812.png

  Checklist,Testplan,UVMenvironment 一應(yīng)俱全。

  用-ea添加agent,可以隨便添加多少個agent

  uvmdvgen.py chip -e-ea uart i2c jtag

  微信圖片_20220811150821.png

  如此在environment添加agent便完成了。

  該腳本還可以用-hi和-hr實現(xiàn)是否有interrupt,register model等功能。

  是不是功能超級強(qiáng)大,迫不及待想用這個腳本的小伙伴可以在下面鏈接獲取。

https://github.com/lowRISC/opentitan/tree/master/util/uvmdvgen


  更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

微信圖片_20210517164139.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。