В простом модуле я определил регистр 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.