Home Forums Nazca Import GDS with cell name already in layout

Tagged: ,

This topic contains 1 reply, has 2 voices, and was last updated by  Ronald 1 month ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #5413

    Douglas
    Participant

    Hi,

    I am facing problems when trying to import a GDS file that already have a Building Block cell with the same naming of one cell that I already have on my design. Is there a way to overcome that?

    Doug

    #5417

    Ronald
    Keymaster

    Dear Douglas,

    In GDS a cellname must be unique. It’s the ID.

    Nazca always avoids two different cells having the same name. When you load a GDS file it may have any cellname in there, possibly conflicting with an existing cellname in your design. For more info on what happens see

    import nazca as nd
    print(help(nd.load_gds))

    Which shows this and more (v0.5):

    ————————
    load_gds(filename, cellname=None, newcellname=None, asdict=False, select=’top’, layermap=None, cellmap=None, scale=1.0, prefix=”, instantiate=True, native=True, bbox=False, bboxbuf=0, connect=None, flat=False)

    Load GDS cell ‘cellname’ (and its instances) from ‘filename’ into a Nazca cell.

    By default, load_gds returns a single cell in the specified gds file.
    However, when using a gds file as a library, i.e. accessing multiple cells
    in the file individually, it is more efficient to call, load (and internally)
    store the gds file only once by setting asdict=True. This makes makes load_gds
    return a dictionary with a references to each Cell by name:

    {‘topcells’: {cellname: Cell}, ‘subcells’: {cellname: Cell}}

    This method checks for cellname clashes, i.e. a cell(tree)
    loaded into the layout can not contain a cell name that already exists
    in the layout. There are three ways to avoid name clashes in case they occur:

    1. Set a ‘newcellname’: changes only the name of the top cell;
    Note ‘newcellname’ is ignored if a is provided,
    i.e. add any a topcell renaming to the cellmap in this case.

    2. Provide a ‘cellmap’: maps original cell names one-by-one to new cell
    names. Cells names omitted will not be renamed.

    3. Provide a cell name : applies to all cells in a branch,
    except those in ‘newcellname’ or ‘cellmap’.

    Note, if you need to create a building block from GDS with pins and stubs,
    and you have the pin and xsection info available already (for example in a
    file) then you may prefer to use method ‘load_gdsBB’ instead.

    Ronald

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.