在一个简单的模块中,我定义了一个 4 位数组寄存器,并使用它为 4 位数组输出分配一个值。即使它已被定义为 4 位数组,输出也像 1 位线一样工作。
`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。即使我已将其定义为 4 位数组,输出也像 1 位一样。
我正在使用 .v 文件和程序 Active HDL 10.2。