寫過Verilog和systemverilog的人肯定都用過系統(tǒng)自定義的函數(shù)$display,這是預(yù)定好的,可以直接調(diào)用的功能。但是當(dāng)Verilog中的task和function不能滿足仿真需求時,這就需要自定義一些任務(wù)和函數(shù)。
Verilog中使用編程語言接口PLI(Program Language Interface)編程語言接口來和C語言程序交互,它提供了一套C語言函數(shù),我們可以調(diào)用這些集成函數(shù)編寫軟件C程序。RTL代碼編譯的時候,這些軟件C程序也會集成到仿真環(huán)境中。仿真運行后,使用系統(tǒng)任務(wù)調(diào)用的方式,就可以去訪問仿真中的數(shù)據(jù)結(jié)構(gòu),也就是說PLI提供一個使得用戶自帶C函數(shù)能夠在運行時間訪問仿真數(shù)據(jù)結(jié)構(gòu)的接口。
PLI先后經(jīng)歷了3代的發(fā)展: 1985年TF Task/Function interface,第一代VerilogPLI。包含一整套C語言函數(shù)庫,函數(shù)定義在verisuer.h文件中,一般稱為TF子程序,主要作用是把任務(wù)/函數(shù)參數(shù)傳遞給C函數(shù)。TF的缺點是它定義系統(tǒng)任務(wù)/函數(shù),函數(shù)返回值以及需要關(guān)聯(lián)任務(wù)/函數(shù)名稱到C函數(shù)的機制。該機制并不是標(biāo)準(zhǔn)化的, 這就意味著每個仿真器有不同的PLI接口機制。TF的一個缺點是定義系統(tǒng)任務(wù)/函數(shù)名稱、函數(shù)返回類型以及與任務(wù)/函數(shù)名稱相關(guān)聯(lián)的 C函數(shù)的機制。這種機制不是標(biāo)準(zhǔn)化的,這意味著每個模擬器都有不同的 PLI 接口機制。 1
989年ACC Access interface,第二代VerilogPLI。引入了訪問程序庫的C函數(shù),即ACC函數(shù)庫,由單獨的acc_user.h定義,函數(shù)均以acc_作為前綴。它是作為TF的附加庫。只是增加了搜索仿真數(shù)據(jù)結(jié)構(gòu)的功能,但是不能訪問RTL和行為級的設(shè)計部分。此外,復(fù)雜的,因仿真器而異的接口機制也是ACC接口的一大缺點。
1995年VPI Verilog Programming Interface,第三代Verilog PLI。VPI是TF和ACC的超集擴展庫。VPI庫定義在C函數(shù)庫文件vpi_user.h。使用VPI, 用戶能夠訪問整個仿真數(shù)據(jù)結(jié)構(gòu), 包括系統(tǒng)任務(wù)/函數(shù)的參數(shù)(替換TF) 以及設(shè)計的層次結(jié)構(gòu)單元(替換ACC)。
DPI的發(fā)展相對來說比較緩慢 Accellera在2003年4月發(fā)布了包括DPI在內(nèi)的SystemVerilog 3.1標(biāo)準(zhǔn),隨后在3.1A版本中進一步對DPI進行了加強。systemverilog中使用DPI(Direct Programming Interface),更加簡單地連接C、C++或者其他的非Verilog語言。你只需要使用import語句把C函數(shù)導(dǎo)入到,就可以像調(diào)用systemverilog的子程序一樣來使用它。使用DPI, 用戶無需再像Verilog PLI那樣, 事先編寫系統(tǒng)任務(wù)/函數(shù)名稱,然后通過復(fù)雜的PLI庫間接傳遞數(shù)值回C函數(shù)。但是DPI不能直接訪問仿真數(shù)據(jù)結(jié)構(gòu)的內(nèi)部,這限制了DPI的應(yīng)用。
SystemVerilog DPI和Verilog PLI的比較
DPI絕不是為了替代PLI,而是彌補PLI中的不足,相信不久的未來能出現(xiàn)一個新的PI標(biāo)準(zhǔn)更好得結(jié)合兩者的優(yōu)點。
審核編輯:劉清
-
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110074 -
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136683 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59759 -
DPI
+關(guān)注
關(guān)注
0文章
36瀏覽量
11509
原文標(biāo)題:從Verilog PLI到SystemVerilog DPI的演變
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論