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

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

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

談?wù)刅erilog/System Verilog和C的幾種交互模式

冬至子 ? 來(lái)源:處芯積律 ? 作者:處芯積律 ? 2023-06-01 17:32 ? 次閱讀

最近有群友問(wèn)我system Verilog 和C怎么交互,在網(wǎng)上搜了一圈發(fā)現(xiàn)資料比較少,今天這里就和大家講講system Verilog 和C的交互。話不多說(shuō)直接上干活。

第一種 Verilog 通過(guò)PLI調(diào)用C函數(shù)。

PLI全稱 Program Language Interface,程序員可以通過(guò)PLI在verilog中調(diào)用C函數(shù),這種訪問(wèn)是雙向的。這些用戶定義的系統(tǒng)任務(wù)和函數(shù)的名稱必須以美元符號(hào)"" 開頭。大家用得比較多的PLI函數(shù)有display,$finish等。

用戶可以自定義PLI函數(shù),下面是一個(gè)簡(jiǎn)單的PLI應(yīng)用例子。

以下是一段C代碼

image.png

下面是一段調(diào)用C的verilog的代碼

image.png

第二種 System Verilog 通過(guò)DPI和C進(jìn)行交互

為了更加簡(jiǎn)潔的連接C,system verilog 引入了DPI(Direct Programming Interface)。只要使用import聲明和使用,導(dǎo)入一個(gè)C子程序,就可以像調(diào)用System Verilog中的子程序一樣來(lái)調(diào)用它。相反,如果C想用system verilog里面的函數(shù)用export 聲明即可。下面是一個(gè)簡(jiǎn)單的例子。

在System Verilog 里面調(diào)用C函數(shù)

C代碼和上面一樣

image.png

System Verilog的代碼如下

image.png

在C中調(diào)用System Verilog 函數(shù)

System Verilog 的代碼如下

image.png

C代碼如下

image.png

第三中 System Verilog 和C的交互方式是通過(guò)TLM1.0或者TLM2.0 進(jìn)行交互。

image.png

這種交互方式主要應(yīng)用在System Verilog 和systemc 上。對(duì)于systemc一般人用得比較少,所以這類交互也比較少用。下面是一個(gè)簡(jiǎn)單的例子

Systemc 的編碼,其中cnn_inst的接口in是tlm1/tlm2類型port。

image.png

System verilog 的編碼,cpu_inst.out 為tlm1/tlm2類型的port。

image.png

第四種交互方式,通過(guò)CPU執(zhí)行C代碼,從而實(shí)現(xiàn)verilog 和C的交互。

C代碼通過(guò)工具鏈編譯成CPU可以執(zhí)行的匯編指令,再將匯編指令轉(zhuǎn)成對(duì)應(yīng)的指令代碼,然后通過(guò)CPU讀取指令代碼產(chǎn)生激勵(lì),實(shí)現(xiàn)C代碼所描述的功能。

以上是Verilog/System Verilog 和C的幾種交互模式,小伙伴們學(xué)會(huì)了嗎?

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

    關(guān)注

    44

    文章

    3557

    瀏覽量

    133845
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1339

    瀏覽量

    109889
  • TLM
    TLM
    +關(guān)注

    關(guān)注

    1

    文章

    32

    瀏覽量

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

    關(guān)注

    0

    文章

    36

    瀏覽量

    11499
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    System Verilog常見問(wèn)題及語(yǔ)言參考手冊(cè)規(guī)范

    本文討論了一些System Verilog問(wèn)題以及相關(guān)的SystemVerilog 語(yǔ)言參考手冊(cè)規(guī)范。正確理解這些規(guī)格將有助于System Verilog用戶避免意外的模擬結(jié)果。
    發(fā)表于 12-11 07:19

    System Verilog問(wèn)題和語(yǔ)言參考手冊(cè)規(guī)范

    本文討論了一些System Verilog問(wèn)題以及相關(guān)的SystemVerilog 語(yǔ)言參考手冊(cè)規(guī)范。正確理解這些規(guī)格將有助于System Verilog用戶避免意外的模擬結(jié)果。
    發(fā)表于 12-24 07:07

    Verilog Digital System Design

    This book is on the IEEE Standard Hardware Description Languagebased on the Verilog® Hardware
    發(fā)表于 07-23 08:59 ?0次下載
    <b class='flag-5'>Verilog</b> Digital <b class='flag-5'>System</b> Design

    VHDL,Verilog,System verilog比較

    本文簡(jiǎn)單討論并總結(jié)了VHDL、Verilog,System verilog 這三中語(yǔ)言的各自特點(diǎn)和區(qū)別 As the number of enhancements
    發(fā)表于 01-17 11:32 ?0次下載

    基于System Verilog中的隨機(jī)化激勵(lì)

    基于System Verilog中的隨機(jī)化激勵(lì)
    發(fā)表于 10-31 09:25 ?9次下載
    基于<b class='flag-5'>System</b> <b class='flag-5'>Verilog</b>中的隨機(jī)化激勵(lì)

    verilog是什么_verilog的用途和特征是什么

    本文首先介紹了verilog的概念和發(fā)展歷史,其次介紹了verilog的特征與Verilog的邏輯門級(jí)描述,最后介紹了Verilog晶體管級(jí)描述與v
    發(fā)表于 05-14 14:22 ?4.5w次閱讀
    <b class='flag-5'>verilog</b>是什么_<b class='flag-5'>verilog</b>的用途和特征是什么

    Verilog教程之Verilog的命令格式資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Verilog HDL教程之Verilog HDL的命令格式資料說(shuō)明。
    發(fā)表于 01-09 08:00 ?31次下載
    <b class='flag-5'>Verilog</b>教程之<b class='flag-5'>Verilog</b>的命令格式資料說(shuō)明

    Verilog語(yǔ)法基礎(chǔ)

    Verilog HDL是一種用于數(shù)字系統(tǒng)設(shè)計(jì)的語(yǔ)言。用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型也稱為模塊。Verilog HDL既是一種行為描述的語(yǔ)言
    的頭像 發(fā)表于 03-08 14:29 ?1.3w次閱讀

    淺談Verilog-95、Verilog-2001與System Verilog之間的區(qū)別

    發(fā)展歷史 1984年,Verilog開始作為一種專用的硬件建模語(yǔ)言使用,取得了相當(dāng)大的成功。1990年,Cadence Design Systems公司將該語(yǔ)言面向公眾開放,作為試圖與VHDL相抗衡
    的頭像 發(fā)表于 06-21 14:46 ?1w次閱讀

    System Verilogverilog的對(duì)比

    SystemVerilog語(yǔ)言簡(jiǎn)介 SystemVerilog是一種硬件描述和驗(yàn)證語(yǔ)言(HDVL),它基于IEEE1364-2001 Verilog硬件描述語(yǔ)言(HDL),并對(duì)其進(jìn)行了擴(kuò)展,包括擴(kuò)充
    的頭像 發(fā)表于 09-28 17:12 ?3386次閱讀

    Verilog HDL入門教程-Verilog HDL的基本語(yǔ)法

    Verilog HDL入門教程-Verilog HDL的基本語(yǔ)法
    發(fā)表于 01-07 09:23 ?174次下載

    學(xué)會(huì)這些System Verilog方法,芯片驗(yàn)證入門沒(méi)問(wèn)題

    一個(gè)掌握Verilog語(yǔ)言的工程師初次看SystemVerilog都會(huì)有這樣的感受,這就是Verilog啊,很容易啊,So easy啊。沒(méi)錯(cuò),確實(shí)是這樣,System Verilog
    的頭像 發(fā)表于 12-09 15:08 ?3412次閱讀

    淺談System Verilog的DPI機(jī)制

    System Verilog(SV)把其他編程語(yǔ)言統(tǒng)一成為外語(yǔ),F(xiàn)oreign Programming Language(FPL)。
    的頭像 發(fā)表于 05-23 15:39 ?1859次閱讀
    淺談<b class='flag-5'>System</b> <b class='flag-5'>Verilog</b>的DPI機(jī)制

    談?wù)?/b>system VerilogC交互

    PLI全稱 Program Language Interface,程序員可以通過(guò)PLI在verilog中調(diào)用C函數(shù),這種訪問(wèn)是雙向的。這些用戶定義的系統(tǒng)任務(wù)和函數(shù)的名稱必須以美元符號(hào)"$" 開頭。大家用得比較多的PLI函數(shù)有$display,$finish等。
    發(fā)表于 05-31 09:59 ?622次閱讀
    <b class='flag-5'>談?wù)?/b><b class='flag-5'>system</b> <b class='flag-5'>Verilog</b> 和<b class='flag-5'>C</b>的<b class='flag-5'>交互</b>

    System Verilog的概念以及與Verilog的對(duì)比

    Verilog模塊之間的連接是通過(guò)模塊端口進(jìn)行的。 為了給組成設(shè)計(jì)的各個(gè)模塊定義端口,我們必須對(duì)期望的硬件設(shè)計(jì)有一個(gè)詳細(xì)的認(rèn)識(shí)。 不幸的是,在設(shè)計(jì)的早期,我們很難把握設(shè)計(jì)的細(xì)節(jié)。 而且,一旦模塊
    的頭像 發(fā)表于 06-12 10:05 ?1337次閱讀