- This topic has 3 replies, 2 voices, and was last updated 5 years ago by
Ronald.
-
AuthorPosts
-
29 January 2020 at 13:45 #5976
Daneel
MemberHello,
In my case, some of the sbends connecting two elements are straight and have a sbend at the beginning/middle/end, but some connect the two elements diagonally, which is very hard to fabricate. It seems to be a bit random in how the sbends are connecting elements.
I was wondering if there is a possibility to define the sbend to connect always straight (horizontally or vertically) with the fitting bends at the end/beginning/middle of the waveguide.
Thank you for your help.
29 January 2020 at 14:05 #5979Ronald
KeymasterDear Daneel,
Would you have a picture to clarify the question?
As a general remark: The point-to-point interconnect sbend_p2p(pin1, pin2) takes pin1 as the direction of horizontal part of the sbend and ignores the angle of pin2. If pin2 has a wrong angle to connect to the sbend output smoothly, this will show up as an angle error in the pin2pin DRC. You can switch the DRC on using
nazca.pin2pin_drc_on()
. By default the sbend will add an extra bend to pin2 to ensure a smooth connection.Ronald
29 January 2020 at 16:18 #5980Daneel
MemberHello Ronald,
here is an image of my problem.
the right and left side have the same coordinates around 0, but for one left side the sbend uses not a straight waveguide to connect the two points, whereas on the right side there is a straight part and 2 bends which connect the two points in a straight line.
Is there a way to say that both the straight parts of the sbend should be either horizontal or vertical, not going kind of diagonal from one point to the other.
Thank you.
2 February 2020 at 12:20 #5983Ronald
KeymasterDear Daneel,
Which Nazca version are you using? I can not reproduce the asymmetric result. Would you have a short piece of code generating the guides like in the picture you attached?
The sbend_p2p() has by default a fall-back option (keyword bsb=True) where it draws a bend_straight_bend_p2p() interconnect if for some reason the sbend did not return a valid solution. This is what the left interconnect in your picture looks like. If you set bsb=False Nazca will connect the points with a straight line in the error layer. These events are also recorded in the Nazca logfile, which you can activate like
import nazca as nd nd.logfile(__file__)
By default, the horizontal line of the sbend is in the direction of pin1. This horizontal orientation can be set/changed via the ref keyword if needed. The sbend_p2p will automatically add extra bends in the pin1 start and pin2 en points to accommodate the sbend_p2p under the ref condition, e.g. ref = (0, 0, 20) to place the sbend straight section under 20 degree w.r.t. the local x-axis. Setting ref to pin2 will use pin2 rather than pin1 as reference.
Ronald
-
AuthorPosts
- You must be logged in to reply to this topic.