Home › Forums › Nazca › Directional Coupler in Nazca › Reply To: Directional Coupler in Nazca
3 June 2019 at 23:02
#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