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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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不能滿足仿真需求時(shí),這就需要自定義一些任務(wù)和函數(shù)。

Verilog中使用編程語(yǔ)言接口PLIProgram Language Interface)編程語(yǔ)言接口來和C語(yǔ)言程序交互,它提供了一套C語(yǔ)言函數(shù),我們可以調(diào)用這些集成函數(shù)編寫軟件C程序。RTL代碼編譯的時(shí)候,這些軟件C程序也會(huì)集成到仿真環(huán)境中。仿真運(yùn)行后,使用系統(tǒng)任務(wù)調(diào)用的方式,就可以去訪問仿真中的數(shù)據(jù)結(jié)構(gòu),也就是說PLI提供一個(gè)使得用戶自帶C函數(shù)能夠在運(yùn)行時(shí)間訪問仿真數(shù)據(jù)結(jié)構(gòu)的接口。

PLI先后經(jīng)歷了3代的發(fā)展: 1985年TF Task/Function interface,第一代VerilogPLI。包含一整套C語(yǔ)言函數(shù)庫(kù),函數(shù)定義在verisuer.h文件中,一般稱為TF子程序,主要作用是把任務(wù)/函數(shù)參數(shù)傳遞給C函數(shù)。TF的缺點(diǎn)是它定義系統(tǒng)任務(wù)/函數(shù),函數(shù)返回值以及需要關(guān)聯(lián)任務(wù)/函數(shù)名稱到C函數(shù)的機(jī)制。該機(jī)制并不是標(biāo)準(zhǔn)化的, 這就意味著每個(gè)仿真器有不同的PLI接口機(jī)制。TF的一個(gè)缺點(diǎn)是定義系統(tǒng)任務(wù)/函數(shù)名稱、函數(shù)返回類型以及與任務(wù)/函數(shù)名稱相關(guān)聯(lián)的 C函數(shù)的機(jī)制。這種機(jī)制不是標(biāo)準(zhǔn)化的,這意味著每個(gè)模擬器都有不同的 PLI 接口機(jī)制。 1

989年ACC Access interface,第二代VerilogPLI。引入了訪問程序庫(kù)的C函數(shù),即ACC函數(shù)庫(kù),由單獨(dú)的acc_user.h定義,函數(shù)均以acc_作為前綴。它是作為TF的附加庫(kù)。只是增加了搜索仿真數(shù)據(jù)結(jié)構(gòu)的功能,但是不能訪問RTL和行為級(jí)的設(shè)計(jì)部分。此外,復(fù)雜的,因仿真器而異的接口機(jī)制也是ACC接口的一大缺點(diǎn)。

1995年VPI Verilog Programming Interface,第三代Verilog PLI。VPI是TF和ACC的超集擴(kuò)展庫(kù)。VPI庫(kù)定義在C函數(shù)庫(kù)文件vpi_user.h。使用VPI, 用戶能夠訪問整個(gè)仿真數(shù)據(jù)結(jié)構(gòu), 包括系統(tǒng)任務(wù)/函數(shù)的參數(shù)(替換TF) 以及設(shè)計(jì)的層次結(jié)構(gòu)單元(替換ACC)。

DPI的發(fā)展相對(duì)來說比較緩慢 Accellera在2003年4月發(fā)布了包括DPI在內(nèi)的SystemVerilog 3.1標(biāo)準(zhǔn),隨后在3.1A版本中進(jìn)一步對(duì)DPI進(jìn)行了加強(qiáng)。systemverilog中使用DPI(Direct Programming Interface),更加簡(jiǎn)單地連接C、C++或者其他的非Verilog語(yǔ)言。你只需要使用import語(yǔ)句把C函數(shù)導(dǎo)入到,就可以像調(diào)用systemverilog的子程序一樣來使用它。使用DPI, 用戶無需再像Verilog PLI那樣, 事先編寫系統(tǒng)任務(wù)/函數(shù)名稱,然后通過復(fù)雜的PLI庫(kù)間接傳遞數(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,而是彌補(bǔ)PLI中的不足,相信不久的未來能出現(xiàn)一個(gè)新的PI標(biāo)準(zhǔn)更好得結(jié)合兩者的優(yōu)點(diǎn)。





審核編輯:劉清

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

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109713
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

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

    關(guān)注

    1

    文章

    384

    瀏覽量

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

    關(guān)注

    0

    文章

    34

    瀏覽量

    11483

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    [1]、[2]),本文不再累述。本文僅想對(duì)數(shù)字式智能化稱重傳感器功能演變過程,初始階段的數(shù)字化前置轉(zhuǎn)換、第二階段的智能化補(bǔ)償與校正、第三階段的稱重系統(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手冊(cè)的公眾責(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>手冊(cè)的公眾責(zé)任

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    buck電路的演變過程

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

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

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

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

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