0
我有多個函數可以產生1位變量/定義/枚舉的連接數組。每次連接發生時,我都想確保最終的大小是32位寬。如果它小於或大於32位,則標記一個錯誤。 我試過$ bits,$ size,但它們似乎想要一個變量,並提供可變寬度而不是連接的寬度。這打破了目的。系統verilog中級聯陣列的位寬
任何幫助表示讚賞。
謝謝!
這是我在想什麼: - 例如。
logic [31:0] var_out;
function f1(bunch of inputs generated by macros(variable no. of input) a,b,c)
size({a,b,c});
var_out = {a,b,c};
endfunction
function f2(bunch of inputs generated by macros(variable no. of input) e,f,g,h,i)
size({e,f,g,h,i});
var_out = {e,f,g,h,i};
endfunction
function size (in) **// what should be in this function ?**
if(length(in)!=32) - $error("msg"); *// this is what i want to achieve*
如果這些功能由宏反正產生,你爲什麼不只要把'if($ bits({a,b,c})!= 32)$ error()'放入函數中? –