I am trying to learn about wiring with Nazca design, and still very new to it. I recently learned how to create an array of objects imported from a gds file. Now I have two arrays of objects (each array is on a different layer), and I need to connect individual elements between the two arrays (can be drawn on a 3rd layer, for example).Specifically, I have a circular ‘device array’, with ‘device’ elements therein on layer 1, and a ‘contact pad array’ which is a ring of elements bordering the ‘device array’ on its edge in layer 2. I’d like to draw a 1:1 connection (equal number of elements in both arrays and they connect once to each other).
My question is probably too complicated, too high-level, or poorly posed, so I appreciate any general feedback on the approach I could take, or even an approach for doing part of this task. Ultimately I’d like a script which takes the input: position of all elements in both arrays which includes element size, pitch, shape of circular array, number of total elements (equal in both arrays), the position of the two arrays with respect to each other, and minimum spacing of wiring.
The script could create the wiring given constraints:
1) shortest distance possible from each device to the nearest unused contact pad on the border of the device array.
2) no intersections, and must maintain a certain distance from other wires, and from other devices (other than the one device which it is connecting obviously). This is specified in the inputs.
3) bends are only allowed to certain angles, or I can’t have any bends which are too sharp, such as more than 60 degrees, or 45 degrees.
4) An generic error is given if the wires can’t be drawn given the inputs and constraints.
Any advice is appreciated, thanks!