[導(dǎo)讀]SystemVerilog提供四種不同的實例之間的通信或連接方式:端口、句柄、全局變量、直接層次引用。?端口是靜態(tài)實例世界的成員之間的連接,如module和interface實例。因此,它們可能不會在動態(tài)實例世界類中使用。UVM提供了諸如uvm_tlm_put_port等端口的概...
SystemVerilog提供四種不同的實例之間的通信或連接方式:端口、句柄、全局變量、直接層次引用。?端口是靜態(tài)實例世界的成員之間的連接,如module 和interface 實例。因此,它們可能不會在動態(tài)實例世界類中使用。UVM提供了諸如uvm_tlm_put_port等端口的概念。這些端口不是SystemVerilog 端口,而是一個指針的wrapper 類。因此,UVM?TLM端口是一種基于指針的通信方案,它偽裝成Verilog和VHDL工程師所熟悉的端口。?類句柄是指向類對象(實例)的指針。virtual interface是一個指向interface 實例的變量。它可以被認(rèn)為是一個interface 實例的一個句柄。?SystemVerilog中的每個標(biāo)識符都有一個唯一的層級路徑名。SystemVerilog 對象可以從任何SystemVerilog 對象中根據(jù)這個層次路徑名稱引用。雖然這很強(qiáng)大,因為它允許從任何地方到任何地方的通信,但通常不希望使用這種技術(shù)。在設(shè)計中,這種方法無法綜合;在驗證中,無法重用。?全局變量是指在某個作用域中聲明的可被其他作用域引用的變量。在testbenche中使用全局變量的兩個最常見的示例是在package中聲明的變量和類的靜態(tài)屬性。建議全局變量僅用于初始化或狀態(tài)類型通信。不建議全局變量用于在對象之間傳輸數(shù)據(jù),由于全局變量的性質(zhì),會存在競爭冒險問題。





