Me pregunto si hay una diferencia entre crear varias instancias de un solo módulo y crear instancias de diferentes módulos (con código de hardware idéntico) solo una vez.
Por ejemplo, quiero hacer una operación - división binaria -, necesito hacer 2 divisiones consecutivas, ejemplo B = 1 / A y C = A / 28, que necesito para pasar en el al mismo tiempo , por lo que creo el módulo en otro archivo llamado Bin_Div. En el módulo superior escribo
Module top_mod_oper (A,B,C);
input [31:0] A;
output [31:0] B, C;
Bin_Div inst1 (
.dataa (A),
.output (B));
Bin_Div inst2 (
.dataa (A),
.output (C));
endmodule
que creará 2 hardware independiente, ¿correcto? sería lo mismo que crear un segundo Bin_Div, por ejemplo
.
.
.
First_Bin_Div inst1 (
.dataa (A),
.output (B));
Second_Bin_Div inst1 (
.dataa (A),
.output (C));
endmodule
Y otra pregunta , ¿qué debo hacer si quiero que ocurran de forma consecutiva? Significa una después de la otra utilizando el mismo hardware Bin_DiV.