在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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
模塊
+關(guān)注
關(guān)注
7文章
2849瀏覽量
53463 -
RTL
+關(guān)注
關(guān)注
1文章
395瀏覽量
62903 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
131瀏覽量
11414
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
RDMA設(shè)計(jì)35:基于 SV 的驗(yàn)證平臺(tái)
設(shè)計(jì)。
FPGA IP(知識(shí)產(chǎn)權(quán)核)使用SystemVerilog(SV)進(jìn)行驗(yàn)證,主要基于其在驗(yàn)證效率、代碼復(fù)用性和工程協(xié)作方面的顯著優(yōu)勢(shì)。本IP采用它進(jìn)行驗(yàn)證以確保其可靠性。
這里主要對(duì)RoCE
發(fā)表于 02-01 13:14
Dual Coupler Module skyworksinc
電子發(fā)燒友網(wǎng)為你提供()Dual Coupler Module相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有Dual Coupler Module的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,Dual
發(fā)表于 10-28 18:34
蜂鳥E203乘法器的優(yōu)化——基8的Booth編碼+Wallace樹
)
② Wallace樹結(jié)構(gòu):
這里使用CSA(進(jìn)位保留加法器),壓縮部分積的數(shù)目
module csa( input x, input y, input z,
發(fā)表于 10-24 07:28
關(guān)于E203內(nèi)核高性能乘法器優(yōu)化(三)
4:2壓縮器優(yōu)化
一般的4:2壓縮器是由兩級(jí)3:2壓縮器串接起來(lái)的,而3:2壓縮器的實(shí)質(zhì)就是全加器,其結(jié)構(gòu)如下:
表達(dá)式如下:
代碼實(shí)現(xiàn):
module full_adder( input a
發(fā)表于 10-23 07:43
關(guān)于E203內(nèi)核高性能乘法器優(yōu)化(四)
:
module single52 ( input op1, input op2, input op3, input op4,
發(fā)表于 10-23 06:30
SV7102 低壓高速USB 2.0開關(guān)技術(shù)手冊(cè)
電子發(fā)燒友網(wǎng)站提供《SV7102 低壓高速USB 2.0開關(guān)技術(shù)手冊(cè).pdf》資料免費(fèi)下載
發(fā)表于 09-10 16:30
?0次下載
SV7321, SV7358, SV7324英文手冊(cè)
電子發(fā)燒友網(wǎng)站提供《SV7321, SV7358, SV7324英文手冊(cè).pdf》資料免費(fèi)下載
發(fā)表于 09-09 18:09
?0次下載
SV8541A、SV8542A、SV8544A 微功率低噪聲運(yùn)算放大器技術(shù)手冊(cè)
電子發(fā)燒友網(wǎng)站提供《SV8541A、SV8542A、SV8544A 微功率低噪聲運(yùn)算放大器技術(shù)手冊(cè).pdf》資料免費(fèi)下載
發(fā)表于 09-09 17:17
?0次下載
SV7102 低壓高速USB 2.0開關(guān)技術(shù)手冊(cè)
電子發(fā)燒友網(wǎng)站提供《SV7102 低壓高速USB 2.0開關(guān)技術(shù)手冊(cè).pdf》資料免費(fèi)下載
發(fā)表于 09-09 17:04
?0次下載
基于LockAI視覺識(shí)別模塊:C++人臉識(shí)別
結(jié)果可視化
lockzhiner_vision_module::vision::Visualize(input_mat, output_image, result);
參數(shù)說(shuō)明:
inpu
發(fā)表于 07-01 12:01
基于LockAI視覺識(shí)別模塊:手寫數(shù)字識(shí)別
結(jié)果可視化
lockzhiner_vision_module::vision::Visualize(input_mat, output_image, result);
參數(shù)說(shuō)明:
inpu
發(fā)表于 06-30 16:45
【高云GW5AT-LV60 開發(fā)套件試用體驗(yàn)】點(diǎn)亮LED
), //input clkin
.reset(reset), //input reset
.lock(lock), //output lock
.clkout0(clk_100M) //ou
發(fā)表于 06-18 17:16
基于LockAI視覺識(shí)別模塊:C++目標(biāo)檢測(cè)
lockzhiner_vision_module::vision::Visualize(
const cv::Mat& input_mat,
cv::Mat& output
發(fā)表于 06-06 14:43
基于LockAI視覺識(shí)別模塊:C++條碼識(shí)別
lockzhiner_vision_module::vision::Visualize(input_image, output_image,
results);
參數(shù)說(shuō)明:
input
發(fā)表于 05-27 10:26
SV Structure作為module的input/output
評(píng)論