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

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

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

SV Structure作為module的input/output

芯片驗(yàn)證工程師 ? 來源:芯片驗(yàn)證工程師 ? 作者:芯片驗(yàn)證工程師 ? 2022-11-08 09:51 ? 次閱讀

在SV中可以使用結(jié)構(gòu)體作為模塊的輸入或輸出,這使得它可以更加清晰地傳遞更多的信號(hào),以簡(jiǎn)化RTL代碼,類似于interface。

typedef struct {
 bit [7:0] intr = 'h AA;
 logic [23:0] addr = 'h FF_FF_FF;
 } ext;
 
 module SU (
 output ext extOut);
 
 assign extOut = '{intr: 8'hFF, addr:24'haa_aa_aa};
 initial begin
 #1; $display($stime,,, "extOut = %p", extOut);
 end
 endmodule
 
 module top;
 ext extIn;
 //connect extOut of 'SU' with extIn of 'top'
 SU SUInst(.extOut(extIn));
 initial begin
 #2; $display($stime,,, "extIn = %p", extIn);
 end
 endmodule

仿真log:

 1 extOut = '{intr:'hff, addr:'haaaaaa}
 2 extIn = '{intr:'hff, addr:'haaaaaa}
 V C S S i m u l a t i o n R e p o r t

在上面的例子中,我們首先定義了一個(gè)名為“ext”的unpacked struct,然后直接作為module的output。

再聲明一個(gè)moudle top,連接到這個(gè)struct。最后打印表明這個(gè)結(jié)構(gòu)體確實(shí)完成了連接,打印相同的信息。

struct可以作為參數(shù)傳遞給task或function,前提是這個(gè)struct需要先使用typedef聲明為用戶自定義類型

typedef struct {
 logic [31:0] addr;
 logic [63:0] data;
 logic [3:0] BEnable;
 } control;
 function Dbus (input control ct1);
 ….
 endfunction


審核編輯 :李倩


聲明:本文內(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)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2618

    瀏覽量

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

    關(guān)注

    1

    文章

    384

    瀏覽量

    59534
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    127

    瀏覽量

    10806
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    表面貼裝壓控晶體振蕩器 DSV221SV DSV321SV :精準(zhǔn)頻率控制的卓越之選

    表面貼裝壓控晶體振蕩器(DSV221SV/DSV321SV):精準(zhǔn)頻率控制的卓越之選
    的頭像 發(fā)表于 08-06 13:44 ?119次閱讀
    表面貼裝壓控晶體振蕩器 DSV221<b class='flag-5'>SV</b> DSV321<b class='flag-5'>SV</b> :精準(zhǔn)頻率控制的卓越之選

    鴻蒙OS實(shí)戰(zhàn):【module的使用】

    在開發(fā)HarmonyOS應(yīng)用時(shí),默認(rèn)創(chuàng)建的工程會(huì)有一個(gè)entry module,實(shí)際應(yīng)用場(chǎng)景為了代碼或者功能解耦,我們需要用到module來進(jìn)行隔離。根據(jù)鴻蒙3.0/3.1/4.0官方指導(dǎo),我們可以了解到關(guān)于module的類型,
    的頭像 發(fā)表于 03-26 18:07 ?520次閱讀
    鴻蒙OS實(shí)戰(zhàn):【<b class='flag-5'>module</b>的使用】

    怎樣查看input/output delay是否生效

    通過get_port命令查看接口。 get_ports * 以LVDS的輸入輸出為例 怎樣去查看outputdelay ? set_output_delay -clock
    的頭像 發(fā)表于 02-27 08:38 ?467次閱讀
    怎樣查看<b class='flag-5'>input</b>/<b class='flag-5'>output</b> delay是否生效

    inputoutput的用法

    輸入和輸出(input and output)是計(jì)算機(jī)科學(xué)中常用的術(shù)語(yǔ),用于描述數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)中的流動(dòng)和交互。輸入是指將數(shù)據(jù)或命令送入計(jì)算機(jī)系統(tǒng),輸出則是計(jì)算機(jī)系統(tǒng)對(duì)輸入數(shù)據(jù)進(jìn)行處理后返回的結(jié)果
    的頭像 發(fā)表于 02-23 14:04 ?1267次閱讀

    output1和output2有什么區(qū)別

    在計(jì)算機(jī)科學(xué)領(lǐng)域,輸出被認(rèn)為是一個(gè)程序或系統(tǒng)產(chǎn)生的結(jié)果。output1和output2是兩個(gè)常見的輸出標(biāo)識(shí),它們?cè)诓煌纳舷挛闹芯哂胁煌暮x和用途。 output1的定義和用途 output
    的頭像 發(fā)表于 02-23 13:45 ?1760次閱讀

    功放機(jī)OUTPUT是什么接口

    功放機(jī)是音頻系統(tǒng)中不可或缺的組成部分。作為信號(hào)處理與擴(kuò)大音頻信號(hào)的設(shè)備,功放機(jī)的OUTPUT接口在連接音頻信號(hào)與外部設(shè)備之間起到了橋梁的作用。本文將詳細(xì)介紹功放機(jī)的OUTPUT接口的類型、功能
    的頭像 發(fā)表于 02-23 10:34 ?8029次閱讀

    verilog中inputoutput作用

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

    SV-7101VP壁掛式網(wǎng)絡(luò)SIP播放解碼器

    輸出到外接功放,可實(shí)現(xiàn)廣播播放功能。SV-7101VP作為網(wǎng)絡(luò)SIP系統(tǒng)的播放終端,可用于需要廣播播放的場(chǎng)所,例如智慧城市、連鎖酒店、教室、醫(yī)院,包括景區(qū)等。 SV-7101VP是一款SIP網(wǎng)絡(luò)廣播終端,主要
    的頭像 發(fā)表于 02-23 09:01 ?313次閱讀
    <b class='flag-5'>SV</b>-7101VP壁掛式網(wǎng)絡(luò)SIP播放解碼器

    input函數(shù)會(huì)將接收的數(shù)據(jù)以什么類型返回

    車鍵,input函數(shù)會(huì)將用戶輸入的數(shù)據(jù)作為字符串類型返回。 例如,以下代碼段演示了input函數(shù)的使用: name = input ( "請(qǐng)輸入您的姓名:" ) print ( "您的
    的頭像 發(fā)表于 11-30 10:09 ?2496次閱讀

    SCP中的module是什么

    module介紹 SCP的每個(gè)功能都實(shí)現(xiàn)為一個(gè)單獨(dú)的module,module間耦合性盡量低,確保安全特性,通常固件所需的整體功能應(yīng)來自模塊之間的交互。module間隔離就像上圖中的狗
    的頭像 發(fā)表于 11-02 17:12 ?688次閱讀
    SCP中的<b class='flag-5'>module</b>是什么

    SV線程的使用和控制

    module (模塊)作為SV從Verilog繼承過來的概念,自然地保持了它的特點(diǎn)除了作為RTL模型的外殼包裝和實(shí)現(xiàn)硬件行為, 在更高層的集成層面,模塊之間也需要通信和同步。
    的頭像 發(fā)表于 10-21 17:30 ?707次閱讀
    <b class='flag-5'>SV</b>線程的使用和控制

    MAX22195: High-Speed, Octal, Industrial Digital Input with Parallel Output Data Sheet MAX22195: High-Speed, Octal, Industrial Digital Input

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)MAX22195: High-Speed, Octal, Industrial Digital Input with Parallel Output Data
    發(fā)表于 10-17 19:15
    MAX22195: High-Speed, Octal, Industrial Digital <b class='flag-5'>Input</b> with Parallel <b class='flag-5'>Output</b> Data Sheet MAX22195: High-Speed, Octal, Industrial Digital <b class='flag-5'>Input</b>

    MAX14906: Quad-Channel Industrial Digital Output, Digital Input Data Sheet MAX14906: Quad-Channel Industrial Digital Output, Digital Input D

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)MAX14906: Quad-Channel Industrial Digital Output, Digital Input Data Sheet相關(guān)產(chǎn)品參數(shù)
    發(fā)表于 10-13 18:44
    MAX14906: Quad-Channel Industrial Digital <b class='flag-5'>Output</b>, Digital <b class='flag-5'>Input</b> Data Sheet MAX14906: Quad-Channel Industrial Digital <b class='flag-5'>Output</b>, Digital <b class='flag-5'>Input</b> D

    ADAQ7767-1: Flexible Resistive Input, 24-Bit, 1MSPS, Alias-Free μModule<sup>?</sup> DAQ Solution Preliminary Data Sheet ADAQ7767

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)ADAQ7767-1: Flexible Resistive Input, 24-Bit, 1MSPS, Alias-Free μModule
    發(fā)表于 10-12 18:42
    ADAQ7767-1: Flexible Resistive <b class='flag-5'>Input</b>, 24-Bit, 1MSPS, Alias-Free μ<b class='flag-5'>Module</b><sup>?</sup> DAQ Solution Preliminary Data Sheet ADAQ7767

    Linux中sv39 mmu介紹

    RISC-V Linux支持sv32、sv39、sv48等虛擬地址格式,分別代表32為虛擬地址、38位虛擬地址和48位虛擬地址。RISC-VLinux默認(rèn)也是使用sv39格式,
    的頭像 發(fā)表于 10-08 11:07 ?1352次閱讀
    Linux中<b class='flag-5'>sv</b>39 mmu介紹