summaryrefslogtreecommitdiff
path: root/tests/simple/paramods.v
diff options
context:
space:
mode:
Diffstat (limited to 'tests/simple/paramods.v')
-rw-r--r--tests/simple/paramods.v53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/simple/paramods.v b/tests/simple/paramods.v
new file mode 100644
index 00000000..23cb276f
--- /dev/null
+++ b/tests/simple/paramods.v
@@ -0,0 +1,53 @@
+
+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
+