Skip to content

This repository contains python code snippets that implement several algorithms for automating the VLSI Physical Design process. This is based on the learnings from the course - EE5333W (Introduction to Physical Design Automation) at IITM.

License

neeraj1397/A-Primer-For-Physical-Design-Automation

Repository files navigation

WORK IN PROGRESS!!!

Here's a guide to understand the repository contents:

Partitioning

Bipartitioning with Fiduccia-Mattheyses Algorithm

-->Source: https://web.eecs.umich.edu/~mazum/fmcut1.pdf

-->FM_Partition.ipynb: A python notebook containing the function (defined as 'partitionFM()') for bipartitioning with Fiduccia-Mattheyses. The inputs to the function include a dictionary of vertices (representing the nodes in the netlist) and a dictionary of hyper-edges (representing the nets in the netlist).

-->FM Partitioning.pdf: A PDF containing the slides explaining the Fiduccia-Mattheyses algorithm steps.

Bipartitioning with Kernighan-Lin and Integer Linear Programming

-->Source: https://ieeexplore.ieee.org/document/6771089

-->Partition.ipynb: A python notebook containing the function (defined as 'KLPart()') for bipartitioning with Kernighan-Lin algorithm. The notebook also includes the implementation of ILP based approaches to bipartitioning.

-->KL Partitioning: A PDF containing the slides explaining the KL Partitioning algorithm steps.

About

This repository contains python code snippets that implement several algorithms for automating the VLSI Physical Design process. This is based on the learnings from the course - EE5333W (Introduction to Physical Design Automation) at IITM.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published