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的幾種交互模式

冬至子 ? 來源:處芯積律 ? 作者:處芯積律 ? 2023-06-01 17:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

以下是一段C代碼

image.png

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

image.png

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

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

在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的交互方式是通過TLM1.0或者TLM2.0 進(jìn)行交互。

image.png

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

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

image.png

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

image.png

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

C代碼通過工具鏈編譯成CPU可以執(zhí)行的匯編指令,再將匯編指令轉(zhuǎn)成對(duì)應(yīng)的指令代碼,然后通過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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3785

    瀏覽量

    137523
  • Verilog
    +關(guān)注

    關(guān)注

    29

    文章

    1366

    瀏覽量

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

    關(guān)注

    1

    文章

    33

    瀏覽量

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

    關(guān)注

    0

    文章

    39

    瀏覽量

    11690
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    本文討論了一些System Verilog問題以及相關(guān)的SystemVerilog 語言參考手冊(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é)了VHDL、Verilog,System verilog 這三中語言的各自特點(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.6w次閱讀
    <b class='flag-5'>verilog</b>是什么_<b class='flag-5'>verilog</b>的用途和特征是什么

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

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

    System Verilogverilog的對(duì)比

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

    Verilog HDL入門教程-Verilog HDL的基本語法

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

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

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

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

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

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

    PLI全稱 Program Language Interface,程序員可以通過PLI在verilog中調(diào)用C函數(shù),這種訪問是雙向的。這些用戶定義的系統(tǒng)任務(wù)和函數(shù)的名稱必須以美元符號(hào)"$" 開頭。大家用得比較多的PLI函數(shù)有$display,$finish等。
    發(fā)表于 05-31 09:59 ?851次閱讀
    <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模塊之間的連接是通過模塊端口進(jìn)行的。 為了給組成設(shè)計(jì)的各個(gè)模塊定義端口,我們必須對(duì)期望的硬件設(shè)計(jì)有一個(gè)詳細(xì)的認(rèn)識(shí)。 不幸的是,在設(shè)計(jì)的早期,我們很難把握設(shè)計(jì)的細(xì)節(jié)。 而且,一旦模塊
    的頭像 發(fā)表于 06-12 10:05 ?1881次閱讀

    system verilog語言簡介

    ICer需要System Verilog語言得加成,這是ICer深度的表現(xiàn)。
    發(fā)表于 11-01 10:44 ?0次下載

    如何自動(dòng)生成verilog代碼

    介紹幾種自動(dòng)生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?972次閱讀
    如何自動(dòng)生成<b class='flag-5'>verilog</b>代碼

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對(duì)于有 C 語言背景的工程
    的頭像 發(fā)表于 12-17 09:44 ?1570次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品