最近本人在做畢業設計,需要用到UVM搭建驗證平台,故在網上查找相關資料,看了一些博客和科普,多少有些收獲,記錄在這里,以便以后復習查看。以下是本人根據網上學習資料整理的筆記,如果有什么不對的地方歡迎指正!
那么,開始入坑吧!
1. build_phase完成的工作主要有:
(1) 完成實例化;
(2) 完成config_db機制的get行為,即把其它component設置給此component的一些參數接收過來;
2. agent主要有兩種工作形式:UVM_PASSIVE和UVM_ACTIVE
UVM_PASSIVE:agent以這種形式運行時,只監測總線而不驅動總線;
UVM_ACTIVE:agent以這種形式運行時,既可以監測總線,也可以驅動總線;
3.兩個主要端口:uvm_blocking_get_port是一個TLM事務級端口,用於接收由uvm_analysis_port發送的信息,而uvm_analysis_port是發送信息的端口,其發送的消息會被前面的端口所接收。uvm驗證平台的各個組件之間通過這兩個端口來實現事務級別通信。
4.scoreboard中一般使用一個隊列來暫存從reference model得到的期望數據。
5.uvm驗證平台可以使用uvm_tlm_analysis_fifo把uvm_blocking_get_port和uvm_analysis_port連接;
6.在UVM中,定義一個類但是沒有實例化,一般來說是沒有意義的,但是存在特殊的情況:對於一個靜態類,即其成員變量都是靜態的,不實例化也可以正常使用;
未完待續..................