Home Forums Nazca Get global pin coordinates Reply To: Get global pin coordinates


Dear Ronald,

I hope this is the correct thread. I have a gds with sub-cells and I want to add structures coded in nazca inside some subcells. So let’s say the gds has a tree like this:

  • top_cell
    • sub_cell
      • Device

whereas my coded cell is ‘Nazca_device’.

I want to add an instance of ‘Device’ in ‘Nazca_device’. I use:

Import_gds = load_gds(filename=’top_cell’, asdict=True, topcellsonly=False)


cell_top = ‘top_cell’

to have the full tree. By using the script you wrote in #6612, I can locate the position of ‘org pointer’ of  ‘Device’ respect the top cell ‘top_cell’.

for params in nd.cell_iter(cell_top):

if params.cell_start:  # check if we are on a cell_open pass (or check for a cell_close).

if params.cell.cell_name == “Device”:  # check if we are in the right cell

pointer, flip = params.transflip_glob  # get cell’s translation (pointer) and flip w.r.t. cell_top

for name, pin in params.cell.pin.items():  # print all pin names and locations

print(name, pointer.copy().move_ptr(pin.pointer))  # add pin position in the cell to the cell translation.

But I’d like instead to add pins to the cell ‘Device’ and then put an instance of ‘Nazca_device’ in ‘Device’. How can I do that?

thank you

Kind regards,