1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// Example module that doesn't instantiate
module appendix1 (/*AUTOARG*/
// Outputs
z,
// Inputs
i
);
input i;
output z;
/*AUTOREG*/
// Beginning of automatic regs (for this module's undeclared outputs)
reg z;
// End of automatics
/*AUTOWIRE*/
// Beginning of automatic wires (for undeclared instantiated-module outputs)
// End of automatics
always @ (/*AUTOSENSE*/i) begin
z = i;
end
endmodule
// Example module that does instantiate
module appendix2 (/*AUTOARG*/
// Outputs
z,
// Inputs
i
);
/*AUTOINPUT*/
// Beginning of automatic inputs (from unused autoinst inputs)
input i; // To apx10 of appendix1.v, ...
// End of automatics
/*AUTOOUTPUT*/
// Beginning of automatic outputs (from unused autoinst outputs)
output [11:10] z; // From apx10 of appendix1.v, ...
// End of automatics
/*AUTOREG*/
// Beginning of automatic regs (for this module's undeclared outputs)
// End of automatics
/*AUTOWIRE*/
// Beginning of automatic wires (for undeclared instantiated-module outputs)
// End of automatics
/*
appendix1 AUTO_TEMPLATE (
.z (z[@]),
);
*/
appendix1 apx10 (/*AUTOINST*/
// Outputs
.z (z[10]), // Templated
// Inputs
.i (i));
appendix1 apx11 (/*AUTOINST*/
// Outputs
.z (z[11]), // Templated
// Inputs
.i (i));
endmodule
|