У меня есть модуль Verilog с очень длинным списком необходимых входов и выходов.
module mymodule(clock,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m18,m15,m16,S26,S25,S22,S27,S14,S11,S17,S10,S13,S16,S6,S12,S19,S18,S15,S7,S9,S20,S28,S23,S8,S21,S24);
Я пытаюсь написать тестовый стенд для этого модуля. Есть ли разумный способ предоставить аргументы в виде массива. Около половины аргументов являются входными данными, а другая половина — выходными данными. Я пытался сделать что-то подобное, основываясь на своем ограниченном опыте работы с Verilog.
reg clk = 0;
reg inputs[16:0] = 0;
wire outputs[23:0];
mymodule tc(clk, inputs, outputs);
Я хочу, чтобы переменная «входы» действовала как массив, который будет содержать все входы, и «выходы» также будут делать то же самое.
Я также хочу иметь возможность установить все входы в случайном порядке
inputs = $random;
Есть ли способ сделать это в Verilog или мне нужно инициализировать все переменные вручную?