graph LR subgraph Ln["Weight n"] A["11000"] --- B["10100"] end subgraph Lnp1["Weight n+1"] C["11100"] --- D["11010"] end A --- C B --- D style A fill:#2196f3,color:#fff style C fill:#4caf50,color:#fff
flowchart LR A["K-way Partition"] --> B["Pair (i,j)"] B --> C["Select modules\nin parts iβͺj"] C --> D["MidLvlPartMgr\n(full netlist + mask)"] D --> E["Update assignments"] E --> F{"More pairs?"} F -->|Yes| B F -->|No| G["Done"] style A fill:#4caf50,color:#fff style D fill:#2196f3,color:#fff style G fill:#f44336,color:#fff
flowchart LR A["Input Netlist"] --> B{"β€ exhaustive_limit?"} B -->|Yes| C["MidLvlKWayPartMgr\n(pairwise exhaustive)"] B -->|No| D["FM K-Way Legalize"] D --> E{"β₯ limitsize?"} E -->|Yes| F["Contract Graph"] F --> G["Recurse"] G --> H["Project Up"] H --> I["FM K-Way Optimize"] E -->|No| I I --> J["Output Partition"] style A fill:#2196f3,color:#fff style C fill:#4caf50,color:#fff style J fill:#f44336,color:#fff