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

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

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

探討VHDL和Verilog模塊互相調(diào)用的問題

FPGA之家 ? 來源:Aries FPGA開源 ? 作者:Aries FPGA開源 ? 2021-04-30 14:06 ? 次閱讀

1、關(guān)于如何在VHDL模塊調(diào)用一個Verilog模塊

在VHDL模塊聲明一個要與調(diào)用的Verilog模塊相同名稱的元件(component),元件的名稱和端口模式應(yīng)與Verilog模塊的名稱和輸入/輸出模式相同。注意Verilog區(qū)分大小寫,VHDL不區(qū)分,所以模塊名字一定要完全一致,不能搞混。

舉個例子:下面是一個VHDL模塊,在里面聲明了一個元件(component)

cb372b9a-a95f-11eb-9728-12bb97331649.png

看Verilog模塊再

cb4b3734-a95f-11eb-9728-12bb97331649.png

VHDL的模塊就是通過聲明一個元件(component)來調(diào)用這個Verilog模塊,將元件聲明提出來講,如下圖:

cb5e3e6a-a95f-11eb-9728-12bb97331649.png

對比這個Verilog模塊和VHDL中聲明的元件不難發(fā)現(xiàn),模塊名/端口/輸入輸出模式完全一樣,這和VHDL自己調(diào)用用VHDL的元件(component)基本一樣。

2、關(guān)于如何在Verilog中調(diào)用VHDL模塊

在Verilog中,通過在Verilog模塊中輸入其名稱(標(biāo)識符)及端口來調(diào)用VHDL實體。模塊的參數(shù)應(yīng)該與實體的類型和端口的方向匹配,可以映射到Verilog模塊的VHDL端口為:in,out和inout;在某些模擬器中,不允許使用緩沖區(qū)。Verilog模塊只能使整個VHDL實體可見。

舉個例子:下圖是一個Verilog模塊調(diào)用了VHDL模塊(高亮處)

cb6f7040-a95f-11eb-9728-12bb97331649.png

下圖是一個VHDL模塊

cb7d681c-a95f-11eb-9728-12bb97331649.png

Simulator(模擬器,注:這個是英文原版使用的詞語,我的理解就是一些EDA)首先在Verilog模塊中查找,以查看是否有任何名為VHD_enty的Verilog模塊。如果找不到,模擬器將在VHDL實體中查找。當(dāng)模擬器找到名稱為VHD_enty的實體時,它將該實體綁定到Verilog模塊。在代碼中,輸入a被傳遞到輸入端口x;輸入b傳遞給輸入y。VHDL實體計算輸出O1和O2;這兩個輸出分別傳遞到Verilog輸出c和d。調(diào)用VHDL模塊與調(diào)用功能或任務(wù)非常相似。

例子舉完了,下面驗證一下

驗證:在Verilog中調(diào)用VHDL模塊實體(VHDL調(diào)用Verilog考慮到比較簡單,大家用的更多是Verilog,就不舉例子了)

驗證內(nèi)容:使用Verilog調(diào)用兩個VHDL寫的D觸發(fā)器模塊實現(xiàn)打兩拍。

cb94f78e-a95f-11eb-9728-12bb97331649.png

這個代碼是一個用VHDL語言寫的D觸發(fā)器模塊,在FIFO中也寫過。

cbcaf12c-a95f-11eb-9728-12bb97331649.png

這個代碼是Verilog寫的,在內(nèi)部調(diào)用兩個由VHDL寫的D觸發(fā)器,實現(xiàn)兩級D觸發(fā)器。

cbd45aa0-a95f-11eb-9728-12bb97331649.png

上圖是VHDL寫的D觸發(fā)器綜合出的原理圖,注意對應(yīng)的端口。

cbe2e0de-a95f-11eb-9728-12bb97331649.png

上圖是Verilog代碼綜合出來的原理圖,從代碼上看,定義了vclk、x、y三個端口,連接VHDL寫的兩個D觸發(fā)器,基本的調(diào)用過程就是這樣。

總結(jié):兩者的互相調(diào)用過程都不復(fù)雜,舉個基礎(chǔ)的例子只是為了大家熟悉這個過程。在實際中難免會遇到有互相調(diào)用的地方。

編輯:jq

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598981
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    816

    瀏覽量

    127954
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1990

    瀏覽量

    60873

原文標(biāo)題:關(guān)于VHDL和Verilog模塊互相調(diào)用的問題

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

收藏 人收藏

    評論

    相關(guān)推薦

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構(gòu)及應(yīng)用,熟悉圖像算法的FPGA實現(xiàn)。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發(fā)工具。 3.有AI算法 fpga實現(xiàn)經(jīng)驗優(yōu)先。 4.本科及以上學(xué)歷,碩士優(yōu)先。具有強烈的責(zé)任心,執(zhí)行力,良好的溝通能力和團(tuán)隊合作能力。
    發(fā)表于 09-02 15:50

    AC/DC電源模塊在醫(yī)療設(shè)備領(lǐng)域的應(yīng)用探討

    BOSHIDA AC/DC電源模塊在醫(yī)療設(shè)備領(lǐng)域的應(yīng)用探討 AC/DC電源模塊是一種將交流電轉(zhuǎn)換為直流電的設(shè)備,廣泛應(yīng)用于各種電子設(shè)備中。在醫(yī)療設(shè)備領(lǐng)域,AC/DC電源模塊的應(yīng)用具有重
    的頭像 發(fā)表于 05-08 14:30 ?309次閱讀
    AC/DC電源<b class='flag-5'>模塊</b>在醫(yī)療設(shè)備領(lǐng)域的應(yīng)用<b class='flag-5'>探討</b>

    VerilogVHDL轉(zhuǎn)換的經(jīng)驗與技巧總結(jié)

    VerilogVHDL語法是互通且相互對應(yīng)的,如何查看二者對同一硬件結(jié)構(gòu)的描述,可以借助EDA工具,如Vivado,打開Vivado后它里面的語言模板后,也可以對比查看VerilogVHD
    的頭像 發(fā)表于 04-28 17:47 ?1602次閱讀
    <b class='flag-5'>Verilog</b>到<b class='flag-5'>VHDL</b>轉(zhuǎn)換的經(jīng)驗與技巧總結(jié)

    請問Systemverilog中如何使用VHDL的package?

    現(xiàn)在需要使用system verilog寫代碼,但是想復(fù)用之前VHDL的package,里面有寫的現(xiàn)成的function等,請問如何調(diào)用呢??偸菆箦e說找不到_pkg
    發(fā)表于 03-12 15:37

    verilog中input和output作用

    Verilog中,input和output用于定義模塊的輸入和輸出端口。它們是用于通信的關(guān)鍵元素,定義了模塊與其它模塊之間的數(shù)據(jù)傳輸接口。通過input和output端口,
    的頭像 發(fā)表于 02-23 10:29 ?2224次閱讀

    verilog中端口類型有哪三種

    Verilog 中,端口類型有三種:輸入端口(input)、輸出端口(output)和雙向端口(inout)。 輸入端口(input)用于接收來自其他模塊的信號。在一個模塊中,輸入端口是被
    的頭像 發(fā)表于 02-23 10:28 ?1372次閱讀

    verilog與其他編程語言的接口機制

    語言的接口機制,并深入探討其原理和應(yīng)用。 Verilog語言概述 Verilog是由美國專業(yè)電子設(shè)計自動化公司Cadence設(shè)計系統(tǒng)有限公司(前身是Gateway Design Automation公司)開發(fā)的一種硬件描述語言。
    的頭像 發(fā)表于 02-23 10:22 ?471次閱讀

    verilog調(diào)用模塊端口對應(yīng)方式

    Verilog是一種硬件描述語言(HDL),廣泛應(yīng)用于數(shù)字電路設(shè)計和硬件驗證。在Verilog中,模塊是構(gòu)建電路的基本單元,而模塊端口對應(yīng)方式則用于描述
    的頭像 發(fā)表于 02-23 10:20 ?1089次閱讀

    verilog雙向端口的使用

    Verilog硬件描述語言中,端口是指連接模塊(Module)與其他模塊、寄存器或是物理設(shè)備的輸入或輸出接口。單向端口可以作為輸入或輸出使用,而雙向端口具有雙重作用,既可以接收輸入信號,又可以輸出
    的頭像 發(fā)表于 02-23 10:18 ?978次閱讀

    verilog如何調(diào)用其他module

    第一部分:簡介 1.1 什么是Verilog模塊? 在Verilog中,模塊是其設(shè)計層次結(jié)構(gòu)的基本單元。模塊是一個用于實現(xiàn)特定功能的單獨的硬
    的頭像 發(fā)表于 02-22 15:56 ?4166次閱讀

    verilog function函數(shù)的用法

    Verilog 中被廣泛用于對電路進(jìn)行模塊化設(shè)計,以簡化和組織代碼。 本文將詳細(xì)介紹 Verilog 函數(shù)的用法,并探討函數(shù)在硬件設(shè)計中的重要性和實際應(yīng)用場景。 一.
    的頭像 發(fā)表于 02-22 15:49 ?3942次閱讀

    verilog中function和task的區(qū)別

    Verilog中,F(xiàn)unction和Task是用于模塊化設(shè)計和重用代碼的兩種重要元素。它們允許開發(fā)人員將復(fù)雜的操作分解為更小的功能單元,并在需要時調(diào)用它們。雖然Function和Task在某些方面
    的頭像 發(fā)表于 02-22 15:40 ?1324次閱讀

    例說Verilog HDL和VHDL區(qū)別

    VerilogVHDL之間的區(qū)別將在本文中通過示例進(jìn)行詳細(xì)說明。對優(yōu)點和缺點的VerilogVHDL進(jìn)行了討論。
    的頭像 發(fā)表于 12-20 09:03 ?2258次閱讀
    例說<b class='flag-5'>Verilog</b> HDL和<b class='flag-5'>VHDL</b>區(qū)別

    Verilog 模塊基本結(jié)構(gòu)

    verilog極簡語法手冊
    發(fā)表于 10-23 09:28 ?0次下載

    仿真測試2:全加器(模塊調(diào)用

    做任何模塊前,要確定輸入輸出端口有哪些,有一個整體的概念;方便以后模塊調(diào)用;
    的頭像 發(fā)表于 10-10 14:10 ?545次閱讀
    仿真測試2:全加器(<b class='flag-5'>模塊</b><b class='flag-5'>調(diào)用</b>)