From f1f88a1b18d634eed63a5bd6af4b95f080c5a945 Mon Sep 17 00:00:00 2001 From: Ebrahim Songhori Date: Mon, 3 Jun 2024 10:39:33 -0700 Subject: [PATCH] Making the grouper code robust against netlists with macros with no pins. PiperOrigin-RevId: 639836794 Change-Id: I426dbfa5ea453c0d35c7d3cb6c0689eecf9f2e3f --- circuit_training/grouping/grouping.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/circuit_training/grouping/grouping.py b/circuit_training/grouping/grouping.py index 0b7015e..4349ed0 100644 --- a/circuit_training/grouping/grouping.py +++ b/circuit_training/grouping/grouping.py @@ -133,12 +133,17 @@ def setup_fixed_groups(self, logic_levels_to_traverse: int) -> None: # Goes through each macro, put each macro's pins into a separate group. for netlist_node in self._meta_netlist.node: if netlist_node.type == mnds.Type.MACRO and not netlist_node.soft_macro: + has_pins = False for pin_ind in netlist_node.output_indices: self.set_node_group(pin_ind, group_index) + has_pins = True for pin_ind in netlist_node.input_indices: self.set_node_group(pin_ind, group_index) - group_index += 1 + has_pins = True + + if has_pins: + group_index += 1 # Goes through I/O's. # Most netlists will not have side constraints for ports, infer from the