OptiVLSI - A python library for fast, optimized VLSI CAD algorithms
Click for more details about project
In the realm of Very Large Scale Integration (VLSI), characterized by digital circuits comprising billions of transistors, the demand for computerized design automation, design verification, and testing algorithms is paramount. Digital circuits are typically represented as graphs, where logic gates serve as nodes, and their interconnections form the edges. Given the complexity of VLSI circuits, often involving millions of logic gates, a pressing need arises for swift and highly optimized graph algorithms. While existing optimized graph libraries like networkx exist, there is a noticeable gap in the availability of open-source libraries tailored specifically to the VLSI computer-aided design automation industry. In this project, a range of optimized algorithms and implementations were initially developed, including the Lee Algorithm, Kruskal’s Algorithm, Binary Decision Diagrams, Bellman-Ford Algorithm, Prim Algorithm, Dijkstra’s Algorithm, Compiled Code Simulator, and Event Driven Simulator. These implementations were meticulously documented for transparency and accessibility. To enhance performance, optimization tools such as Numba were employed to accelerate these algorithms, with systematic comparisons made against Pythonic and other conventional implementations. Furthermore, Automan was utilized to streamline simulations, benchmark algorithms, and evaluate results across a diverse range of circuits and graphs, each varying in size and complexity. This project underscores a dedicated commitment to advancing the field of VLSI design by offering optimized algorithms and leveraging cutting-edge tools to meet the specific demands of the VLSI CAD industry.