mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-09 04:31:25 +00:00
Added support for hierarchical defparams
This commit is contained in:
parent
a926a6afc2
commit
70d7a02cae
5 changed files with 65 additions and 17 deletions
23
tests/simple/hierdefparam.v
Normal file
23
tests/simple/hierdefparam.v
Normal file
|
@ -0,0 +1,23 @@
|
|||
module hierdefparam_top(input [7:0] A, output [7:0] Y);
|
||||
generate begin:foo
|
||||
hierdefparam_a mod_a(.A(A), .Y(Y));
|
||||
end endgenerate
|
||||
defparam foo.mod_a.bar[0].mod_b.addvalue = 42;
|
||||
defparam foo.mod_a.bar[1].mod_b.addvalue = 43;
|
||||
endmodule
|
||||
|
||||
module hierdefparam_a(input [7:0] A, output [7:0] Y);
|
||||
genvar i;
|
||||
generate
|
||||
for (i = 0; i < 2; i=i+1) begin:bar
|
||||
wire [7:0] a, y;
|
||||
hierdefparam_b mod_b(.A(a), .Y(y));
|
||||
end
|
||||
endgenerate
|
||||
assign bar[0].a = A, bar[1].a = bar[0].y, Y = bar[1].y;
|
||||
endmodule
|
||||
|
||||
module hierdefparam_b(input [7:0] A, output [7:0] Y);
|
||||
parameter [7:0] addvalue = 44;
|
||||
assign Y = A + addvalue;
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue