RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從Verilog PLI到SystemVerilog DPI的演變過程

sanyue7758 ? 來源:ICer消食片 ? 2023-05-16 09:27 ? 次閱讀

寫過Verilog和systemverilog的人肯定都用過系統(tǒng)自定義的函數(shù)$display,這是預(yù)定好的,可以直接調(diào)用的功能。但是當(dāng)Verilog中的task和function不能滿足仿真需求時,這就需要自定義一些任務(wù)和函數(shù)。

Verilog中使用編程語言接口PLIProgram 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)用。

f75e2be0-f36a-11ed-90ce-dac502259ad0.png

SystemVerilog DPI和Verilog PLI的比較

DPI絕不是為了替代PLI,而是彌補PLI中的不足,相信不久的未來能出現(xiàn)一個新的PI標(biāo)準(zhǔn)更好得結(jié)合兩者的優(yōu)點。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110074
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136683
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59759
  • DPI
    DPI
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    11509

原文標(biāo)題:從Verilog PLI到SystemVerilog DPI的演變

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    buck電路原理圖講解 buck電路的演變過程

    buck電路相信很多從事電子類工作的朋友都聽過,它說白了就是個直流降壓電路,在降壓芯片出來之前,它的出場率非常高但是以前僅僅是看過他,不懂它是怎樣演變過來的,今天旺哥和大家一起分析學(xué)習(xí)下它的演變過程。
    發(fā)表于 08-23 15:28 ?1320次閱讀
    buck電路原理圖講解 buck電路的<b class='flag-5'>演變過程</b>

    數(shù)字式稱重傳感器的功能演變過程

    [1]、[2]),本文不再累述。本文僅想對數(shù)字式智能化稱重傳感器功能演變過程,初始階段的數(shù)字化前置轉(zhuǎn)換、第二階段的智能化補償與校正、第三階段的稱重系統(tǒng)的智能化應(yīng)用的
    發(fā)表于 07-11 08:11

    【視頻分享】降壓電路的演變過程

    大家上午好:前幾天分享了姜維老師的文章講解,這次分享姜維老師的視頻講解,保證大家能夠理解透徹,有問題的同學(xué)歡迎交流討論!文章分享鏈接:詳細(xì)分析降壓電路的演變過程
    發(fā)表于 06-22 10:01

    The Verilog PLI Handbook

    The Verilog Programming Language Interface, commonly called the Verilog PLI,is one of the more
    發(fā)表于 07-22 09:55 ?0次下載
    The <b class='flag-5'>Verilog</b> <b class='flag-5'>PLI</b> Handbook

    Verilog手冊的公眾責(zé)任

    The Verilog Programming Language Interface, commonly called the Verilog PLI,is one of the more
    發(fā)表于 07-22 09:57 ?0次下載
    <b class='flag-5'>Verilog</b>手冊的公眾責(zé)任

    產(chǎn)品的演變過程看KVM行業(yè)的發(fā)展

    制造商,行業(yè)進一步擴大。本文將從產(chǎn)品 角度來談?wù)凨VM的發(fā)展概況。 KVM產(chǎn)品歷經(jīng)機械式電子式,模擬數(shù)字的發(fā)展歷程;應(yīng)用理念多電腦
    發(fā)表于 04-14 11:28 ?801次閱讀

    定位技術(shù)的演變過程

    定位技術(shù)室外定位室內(nèi)定位的演變過程 今天給大家分享下定位技術(shù)的演變室外定位UWB室內(nèi)定
    發(fā)表于 03-13 10:36 ?1830次閱讀

    升壓變換器二種結(jié)構(gòu)的演變過程資料下載

    電子發(fā)燒友網(wǎng)為你提供升壓變換器二種結(jié)構(gòu)的演變過程資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助廣大的電子工程師們。
    發(fā)表于 03-29 16:47 ?17次下載
    升壓變換器二種結(jié)構(gòu)的<b class='flag-5'>演變過程</b>資料下載

    使用Verilog/SystemVerilog硬件描述語言練習(xí)數(shù)字硬件設(shè)計

    HDLBits 是一組小型電路設(shè)計習(xí)題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習(xí)數(shù)字硬件設(shè)計~
    的頭像 發(fā)表于 08-31 09:06 ?1690次閱讀

    解碼國產(chǎn)EDA數(shù)字仿真器系列之二 | 如何實現(xiàn)全面的SystemVerilog語法覆蓋?

    SystemVerilog語言,是開發(fā)仿真器的一個重要任務(wù)。 ? SystemVerilog的發(fā)展歷程 ? 數(shù)字芯片的驗證技術(shù)是隨著Verilog語法的演變
    發(fā)表于 04-07 14:40 ?746次閱讀
    解碼國產(chǎn)EDA數(shù)字仿真器系列之二 | 如何實現(xiàn)全面的<b class='flag-5'>SystemVerilog</b>語法覆蓋?

    談?wù)?b class='flag-5'>Verilog/System Verilog和C的幾種交互模式

    PLI全稱 Program Language Interface,程序員可以通過PLIverilog中調(diào)用C函數(shù),這種訪問是雙向的。
    的頭像 發(fā)表于 06-01 17:32 ?1568次閱讀
    談?wù)?b class='flag-5'>Verilog</b>/System <b class='flag-5'>Verilog</b>和C的幾種交互模式

    verilog/systemverilog中隱藏的初始化說明

    VerilogSystemVerilog中經(jīng)常需要在使用變量或者線網(wǎng)之前,期望變量和線網(wǎng)有對應(yīng)的初始值
    的頭像 發(fā)表于 08-25 09:47 ?1083次閱讀
    <b class='flag-5'>verilog</b>/<b class='flag-5'>systemverilog</b>中隱藏的初始化說明

    buck電路的演變過程

    buck電路相信很多從事電子類工作的朋友都聽過,它說白了就是個直流降壓電路,在降壓芯片出來之前,它的出場率非常高但是以前僅僅是看過他,不懂它是怎樣演變過來的,今天和大家一起分析學(xué)習(xí)下它的演變過程
    的頭像 發(fā)表于 09-25 14:40 ?741次閱讀
    buck電路的<b class='flag-5'>演變過程</b>

    淺析can技術(shù)的演變過程

    CAN技術(shù)的演變 為了了解 CAN FD CAN XL 的轉(zhuǎn)變,讓我們簡單回顧一下 CAN 技術(shù)的演變: 經(jīng)典 CAN:原始 CAN 協(xié)議,最大數(shù)據(jù)速率為 1 Mbps,有效
    發(fā)表于 11-17 11:41 ?570次閱讀
    淺析can技術(shù)的<b class='flag-5'>演變過程</b>

    原子鐘在數(shù)據(jù)中心的作用:原子對數(shù)據(jù)造成不利影響帶來各種益處的轉(zhuǎn)變過程

    原子鐘在數(shù)據(jù)中心的作用:原子對數(shù)據(jù)造成不利影響帶來各種益處的轉(zhuǎn)變過程
    的頭像 發(fā)表于 11-27 16:29 ?521次閱讀
    RM新时代网站-首页