3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-01-18 16:28:57 +00:00
yosys/tests/various/test_splitnets.v
Natalia 6503ad91c9 splitnets: add -ports_only and -top_only options
Add two new options to the splitnets pass:

- `-ports_only`: Split only module ports, not internal signals. This is
  useful when you want to split ports for interface compatibility while
  keeping internal signals as multi-bit wires for better readability.

- `-top_only`: Apply splitting only at the top module level, not in
  submodules. This is helpful for hierarchical designs where you need
  split signals only at the top-level interface.

These options can be combined with existing flags:
- `splitnets -ports_only`: Split all ports in all modules
- `splitnets -ports_only -top_only`: Split ports only in top module
- `splitnets -ports -top_only`: Split both ports and nets only in top

Add comprehensive tests that verify wire/port counts for all flag
combinations using a hierarchical design.
2026-01-14 12:01:22 -08:00

13 lines
306 B
Verilog

module bottom(input clk, input wire [1:0] i, output reg [1:0] q);
reg [1:0] q1;
always @(posedge clk) begin
q1 <= i;
q <= q1;
end
endmodule
module top(input clk, input wire [1:0] i, output wire [1:0] q);
wire [1:0] q1;
bottom u1 (.clk(clk), .i(i), .q(q1));
assign q = ~q1;
endmodule