| module pm_test1(a, b, x, y); | |
| input [7:0] a, b; | |
| output [7:0] x, y; | |
| inc #(.step(3)) inc_a (.in(a), .out(x)); | |
| inc #(.width(4), .step(7)) inc_b (b, y); | |
| endmodule | |
| // ----------------------------------- | |
| module pm_test2(a, b, x, y); | |
| input [7:0] a, b; | |
| output [7:0] x, y; | |
| inc #(5) inc_a (.in(a), .out(x)); | |
| inc #(4, 7) inc_b (b, y); | |
| endmodule | |
| // ----------------------------------- | |
| module pm_test3(a, b, x, y); | |
| input [7:0] a, b; | |
| output [7:0] x, y; | |
| inc inc_a (.in(a), .out(x)); | |
| inc inc_b (b, y); | |
| defparam inc_a.step = 3; | |
| defparam inc_b.step = 7; | |
| defparam inc_b.width = 4; | |
| endmodule | |
| // ----------------------------------- | |
| module inc(in, out); | |
| parameter width = 8; | |
| parameter step = 1; | |
| input [width-1:0] in; | |
| output [width-1:0] out; | |
| assign out = in + step; | |
| endmodule | |