Skip to content

hgroller/KlayoutNetworkX

Repository files navigation

KlayoutNetworkX

Utilizing Klayout and NetworkX to realize a basic router for Klayout

About Klayout KLayout - Your Mask Layout Friend https://www.klayout.de/

About NetworkX Download Package here https://networkx.org/

NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

Following files are in this git

decorator.py
ArrayLabels.lym
NX_ROUTE.lym
Nx_Router.py
TGPcell.lym
tech.lyp
TestingRoute.gds
TestingRouteBuss.gds
TestingRouteBlackBox.gds

Copy networkx python package and decorator.py Download the networkx package here https://networkx.org/

to the following location of your Klayout Installation in Windows C:\Users\your_path\AppData\Roaming\KLayout\lib\python3.7

For the Python and Ruby files you will need to install at these locations

Python goes into C:\Users\your_path\KLayout\pymacros
NX_ROUTE.lym
Nx_Router.py

Ruby goes into C:\Users\your_path\KLayout\macros
ArrayLabels.lym
TGPcell.lym

You will need to install Matthias great demo pdk and copy it too C:\Users\your_path\KLayout\salt Copy the tech.lyp file to C:\Users\your_path\KLayout\salt\si4all

Once all copied load Klayout if every thing is in place load the GDS file TestingRoute.gds, on the Macro menu you should see the following Macros ---> Create Label of Pins ---> Load Router

Create Label of Pins allows you to create array's of Text Pins in the layout Load Router loads the Router and puts a Toolbar selection called NxRouter The Pcell uses the 1000 marking layer as Pin targets , feel free to move the Pin's around to test .

To route the demo TestingRoute.gds click the NxRouter in the toolbar

before

after

blackbox

blackbox2

About

Klayout Routing with NetworkX

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages