Home Forums Nazca Directional Coupler in Nazca Reply To: Directional Coupler in Nazca

#5544
Xaveer
Moderator

Dear Aleksandar,

 

There are many ways to do this. The example below uses the built-in demofab cross-section. You can use a very similar implementation for your own technology, by following the cross-section tutorial https://nazca-design.org/implement-a-cross-section/. You can make your directional coupler into a building block and re-use it many times by encapsulating it in a cell and adding pins to it. Look at https://nazca-design.org/crate-bb-using-polygon/ for inspiration.

Here’s an example for the directional coupler, using sinebend curves.


import nazca as nd
import nazca.demofab as demo

with nd.Cell("Coupler") as coupler:
    # Upper arm
    demo.shallow.sinebend(distance=100, offset=-40).put(0, 50)
    demo.shallow.strt(length=20).put()
    demo.shallow.sinebend(distance=100, offset=40).put()

    # Lower arm
    demo.shallow.sinebend(distance=100, offset=40).put(0, -50)
    demo.shallow.strt(length=20).put()
    demo.shallow.sinebend(distance=100, offset=-40).put()

    # Add pins
    nd.Pin("a0").put(0, 50, 180)
    nd.Pin("a1").put(0, -50, 180)
    nd.Pin("b0").put(220, 50, 0)
    nd.Pin("b1").put(220, -50, 0)

coupler.put(0, 0)
coupler.put(0, -200, 10)

nd.export_plt()

Xaveer