These are "2019 NTHU CS613500 VLSI Physical Design Automation" course projects.
Each code has been modified to OOP, so it's not the same as its report.
If you want to run it, please read README in src/.
Implement Fiduccia–Mattheyses algorithm to solve the problem of two-way min-cut partitioning.
Implement Stockmeyer algorithm to solve the fixed-outline floorplan design with a set of hard blocks.
Implement an existing algorithm, called “Abacus”, to legalize a given global placement result with minimal displacement.
Implement an existing algorithm to solve the global routing problem with a set of 2-pin nets while minimizing the total wirelength.