В простом модуле я определил 4-битный регистр массива и использую его для присвоения значения выходному 4-битному массиву. Выход работает как 1-битный провод, даже если он был определен как 4-битный массив.
`timescale 1ns/1ps
module test(input in,
output wire [3:0] outpt);
reg [3:0] A = 4;
assign outpt = A;
endmodule
module testbench1();
test tst(in, outpt);
initial begin
$strobe("| %d | %d |",outpt,tst.A);
end
endmodule
Когда я запускаю тестовый стенд: если A = 5, то выходной сигнал будет равен 1. Если A = 4, выходной сигнал будет равен 0. Выходной сигнал действует как 1 бит, хотя я определил его как 4-битныймассив.
Редактировать: Для ясности я использую .v файлы и программу Active HDL 10.2