Home Forums Nazca pin layer Reply To: pin layer

#5966
Ronald
Keymaster

Dear Maziyarm,

You can generate the pin layer with name/identifier ‘bb_pin’ explicitly before using a pin.

import nazca as nd
nd.add_layer(name='bb_pin', layer=(100, 0))

If you use a pin before creating the pin layer the ‘bb_pin’ layer is created automatically according to the setting in default_layers in cfg.py:

default_layers = {
    'bb_pin':             (1001, 0),  # layer for the pin symbol (arrow)
    'bb_pin_text':        (1002, 0),  # layer for pin name annotation
}

If the pin layer was set already you can change (overwrite) it:

nd.add_layer(name='bb_pin', layer=(100, 0), overwrite=True)


Some more options to change the pin layer and/or shape:

You can set the pin layer when you use put_stub() for those pins put by put_stub():

nd.put_stub(layer=(100,0))

With respect to pins in an interconnect, you can initialize a pinstyle (see cfg.py for details) per interconnect and change layer, shape, size and other pin properties:

nd.add_layer(name='my_pin', layer=(300, 0))
my_style = {
    'shape': 'arrow_full',
    'size': 2.5,
    'layer': 'my_pin',
}
nd.set_pinstyle(name='fancy', styledict=my_style)

ic = nd.interconnects.Interconnect(pinstyle='fancy')
ic.strt().put(10)

nd.export_gds()

Ronald