在SV中可以使用結構體作為模塊的輸入或輸出,這使得它可以更加清晰地傳遞更多的信號,以簡化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
在上面的例子中,我們首先定義了一個名為“ext”的unpacked struct,然后直接作為module的output。
再聲明一個moudle top,連接到這個struct。最后打印表明這個結構體確實完成了連接,打印相同的信息。
struct可以作為參數(shù)傳遞給task或function,前提是這個struct需要先使用typedef聲明為用戶自定義類型
typedef struct {
logic [31:0] addr;
logic [63:0] data;
logic [3:0] BEnable;
} control;
function Dbus (input control ct1);
….
endfunction
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
模塊
+關注
關注
7文章
2817瀏覽量
52530 -
RTL
+關注
關注
1文章
393瀏覽量
62185 -
結構體
+關注
關注
1文章
131瀏覽量
11269
發(fā)布評論請先 登錄
相關推薦
熱點推薦
關于E203內核高性能乘法器優(yōu)化(三)
4:2壓縮器優(yōu)化
一般的4:2壓縮器是由兩級3:2壓縮器串接起來的,而3:2壓縮器的實質就是全加器,其結構如下:
表達式如下:
代碼實現(xiàn):
module full_adder( input a
發(fā)表于 10-23 07:43
SV7321, SV7358, SV7324英文手冊
電子發(fā)燒友網(wǎng)站提供《SV7321, SV7358, SV7324英文手冊.pdf》資料免費下載
發(fā)表于 09-09 18:09
?0次下載
SV8541A、SV8542A、SV8544A 微功率低噪聲運算放大器技術手冊
電子發(fā)燒友網(wǎng)站提供《SV8541A、SV8542A、SV8544A 微功率低噪聲運算放大器技術手冊.pdf》資料免費下載
發(fā)表于 09-09 17:17
?0次下載
飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之基于input子系統(tǒng)的按鍵驅動
例程代碼路徑:ELF 1開發(fā)板資料包\\03-例程源碼\\03-2 驅動例程源碼\\08_input子系統(tǒng)\\keyboard下面以控制開發(fā)板上的K2為例進行講解。修改設備樹(一)查看原理圖和引腳
發(fā)表于 04-15 10:58
嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之input子系統(tǒng)簡單構建流程
_device); input_free_device(input_device);
pr_info(\"Input device unregistered\\n\");}
module
發(fā)表于 04-15 10:54
飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之input子系統(tǒng)簡單構建流程
_device); input_free_device(input_device);
pr_info(\"Input device unregistered\\n\");}
module
發(fā)表于 04-15 10:29
STM32CubeMX PA0、PA4、PA7、PB1等類似的端口不能作為普通的GPIO_Output和GPIO_Input口使用嗎?
用STM32G0B1RCT6芯片
用STM32CubeMX配置端口,有些端口沒有
GPIO_Output和GPIO_Input選項!比如PA0、PA4、PA7、PB1等類似的口。
這些口,不能作為
發(fā)表于 03-14 06:52
SV托管和IDC托管有什么區(qū)別
SV托管和IDC托管在本質上沒有區(qū)別。實際上,“SV托管”并不是一個普遍認可或廣泛使用的術語,而“IDC托管”是行業(yè)內對服務器托管服務的一種標準稱呼。因此,當提到“SV托管”時,很可能是在指一種特定的服務器托管服務,但這種表述并
轉換Keras H5模型,為什么無法確定--input_shape參數(shù)的值?
] is not fully defined for output 0 of \"conv2d_input\".
Use --input_shape with positive integers to override mode
發(fā)表于 03-05 07:51
DLP3010在設置時不知道如圖所示的input和output指什么,這樣的img文件從哪得到?
目的是更改開機圖片,在設置時不知道如圖所示的input和output指什么,這樣的img文件從哪得到?
以下是各頁設置情況,GUI使用的是3.1.0.3,EVM是2.2.0.6
發(fā)表于 02-25 07:23
ADA4511-2: Precision, 40 V, Rail-to-Rail Input and Output Op Amp with DigiTrim Data Sheet adi
電子發(fā)燒友網(wǎng)為你提供ADI(ADI)ADA4511-2: Precision, 40 V, Rail-to-Rail Input and Output Op Amp with DigiTrim
發(fā)表于 01-15 18:47
verilog計數(shù)器代碼為什么要使用這句話if (count===8\'bxxxxxxxx)count=8\'b0000_0000;
本人小白,希望有貴人能指點下
counter.v
module counter( //Module naming
input clk,//Declarations of input
發(fā)表于 12-21 14:49
ADS1259 Input指的Digital Filter輸出還是什么?
請問ADS1259手冊中第26頁Final Output Date=(Input-OFC[2:0])*FSC[2:0]/40000h式中,Input指的Digital Filter輸出還是什么?
此外,ADS1259有像ADS
發(fā)表于 12-12 08:03

SV Structure作為module的input/output
評論