Я хочу игнорировать один или несколько битов в аргументе массива для модуля в SystemVerilog.
module x(in a, out [0:3] z);
...
endmodule
module tb;
logic my_a;
logic [1:3] my_z;
// I want to stop having to do this next line:
logic ignore_this_bit;
x myx(.a(my_a), .z({ignore_this_bit, my_z}));
endmodule
Каков правильный синтаксис для этого? Я делал это, как показано выше, с объявлением ignore_this_bit
и просто никогда не подключался к этому net. Но, похоже, должен быть более простой способ. Что-то вроде использования запятой и отсутствия имени переменной в аргументах для создания экземпляра модуля, или, может быть, использовать что-то вроде 1'bX
вместо бита выходного аргумента или что-то в этом роде.
На это влияет тот факт, что Я использую порядок байтов с прямым порядком байтов для векторов здесь? (Я ненавижу это, но я создаю код для старого процессора, который использует этот порядок, и гораздо проще сопоставить мой код с существующим, чем исправить его.)
Это сложная концепция для поиска, и я попробовал. Есть ли у кого-нибудь опыт, который может помочь мне узнать, как сделать это «правильным образом»? Благодаря.