How can we auto connect waveguides/wires with other components properly?

edited January 2018 in Layout
I am currently trying to connect various components by straight waveguides, but each time I need to zoom into the edge to the lowest resolution and see manually whether they are connected or not.
So, is there any way to do this just with few clicks?

Comments

  • edited November -1

    Maybe the net tracer will help you - it allows tracing connections across polygons. "connections" means polygons touch over overlap.

    Please see http://www.klayout.de/doc-qt4/manual/net_tracing.html.

    Matthias

  • edited November -1

    Hi Bishal,

    We implemented this as a Package for KLayout. In KLayout 0.25, Tools | Manage Package, and find SiEPIC-Tools

    https://github.com/lukasc-ubc/SiEPIC-Tools

    It comes with a PDK, called GSiP, and includes waveguides which snap to components.

  • edited November -1
    Thanks! I used the GSiP but the snapping tool didn't work with my S-bends and MMIs. I am trying to design an MMI tree so I need to snap a lot of bends with MMIs. This is time consuming and critical.
    So I am trying to connect it out manually.
  • edited November -1

    The GSiP should be able to be made to work. However I'll mention here what I used to do for this issue. Basically: take each component (like a 1x2 MMI) and add waveguides to it, one time, that routes from the inputs/outputs out to a regular grid. Then save that as a new cell. Then place that cell wherever you want it and turn on snapping to the same grid size. Now when you draw waveguides between them, it snaps to a grid which is the same as snapping to the inputs and outputs. In other words, let's say you have the following 1x2 MMI, but the outputs are at some funny number like (15.2,-3.2), (15.2,+3.2).

    .              ||||||||--
    .            --||||||||
    .              ||||||||--
    

    Then you take that cell and modify just once like so:

    .                         --
    .                        /
    .              ||||||||--
    .            --||||||||
    .              ||||||||--
    .                        \
    .                         --
    

    so that the output is on some regular grid. Let's choose a 10um grid. Then the outputs should be at (20,-10) and (20,10).

    Now instantiate that cell on a grid and turn on grid snapping (File > Setup > Grid > 10 um). It's now very easy to snap to the input and output ports.

    Not the most elegant solution but it worked for me for many years when I was drawing such components.

  • edited November -1
    Thank you davidhutch.. Actually, I was also doing the same trick. I used to add a small straight waveguide at the end of each input and outputs so that the resulting value becomes whole number. Then choosing 1um grid I am snapping it quickly.
    But I was wondering the way of working of GSiP.
Sign In or Register to comment.