0
我目前試圖以定義包含一個8比特的無符號寄存器中的新的數據結構對象使用的TypeDef SystemVerilog中噸索引對象和32位整數簽署但我不斷收到錯誤:的SystemVerilog的TypeDef能;具有零個包裝或未包裝陣列尺寸
錯誤(10053):在UART.v Verilog HDL語言錯誤(35):不能索引對象的「數據」零個包裝或未包裝陣列尺寸
我已經重新創建一個下面的簡單實現,其中topLevelModule實例一個lowLevelModule,它確定構成結構的整數和8位無符號寄存器的值並將它們輸出到topLevelModule。
使用一個單獨的UART模塊我試圖將這個結構/對象(這是40位長)發送到主機 - 爲了簡化下面的代碼,我省略了這個模塊並且省略了大部分非關聯代碼。
typedef struct {
reg[7:0] identifier;
integer currentSynapticWeight;
} dataPacket;
module topLevel(clk, reset, UART_TXD);
input clk; // Clock Signal
input reset; // Reset Signal
output UART_TXD; // Output Signal
dataPacket data; // Instance the dataPacket Object
lowLevelModule LLM1(clk, reset, data);
// CODE TO DRIVE THE UART CONNECTION OMMITED
endmodule
module lowLevelModule(clk, reset, data);
input clk; // Clock Signal
input reset; // Reset Signal
output dataPacket data; // Instance the dataPacket Object
reg[7:0] someUnsigned8BitUnsignedReg = 8'b10001000;
integer someIntegerValue = 25;
always @(*)
begin
data[39:32] = someUnsigned8BitUnsignedReg;
data[31:0] = someIntegerValue;
end
endmodule
任何幫助將不勝感激,我不知道如果我在正確的莊園使用的TypeDef。