Este es un curso de nivel introductorio de verilog. Estoy tratando de generar una salida de 8 bits a partir de 4 bits multiplicado por 4 bits. Aquí está el código que tengo hasta ahora.
// 4 bit x 4 bit operator
module bit4x4Operator(
input [3:0]A, //this code works when A and B are switched to 7:0
input [3:0]B,
output [7:0]P
);
reg [7:0] ROM[0:224];
integer i,k;
initial
begin
for (i = 0; i < 16; i = i+1)
for (k = 0; k < 16; k = k + 1)
begin
ROM [(i * k)] = (i * k);
end
end
assign P = ROM[(A * B)];
endmodule
Por lo tanto, la asignación debe hacerse implementando la ROM [], y este código se ejecuta y genera correctamente si los bits de entrada se cambian a 7: 0, pero no estoy seguro de por qué funciona y por qué puede ' Sé como es ahora.