Home Forums Nazca Error in defining width

Tagged: 

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #5593
    AleksandarK
    Member

    Hello everyone,

    To my understanding, in nazca you can specify the length and width of every cell. So i tried to do the following:

    demo.phase_shifter(length=150, width=50).put()

    Which returned an error:

    …python3.7/site-packages/nazca/bb_util.py”, line 288, in wrapper
    cell_new = cellfunc(*args, **kwargs)
    TypeError: phase_shifter() got an unexpected keyword argument ‘width’

    The reason i want to speficy its width is that it is too wide and would take up too much space in the design with that width, while it can be reduced a lot. Is there a fix for this?

    #5595
    Ronald
    Keymaster

    Dear AleksandarK,

    This is not a design “error”, but as Python indicates a TypeError: The phase shifter here does not have a keyword parameter “width”.

    In building blocks you basically never set the cell width directly, but possibly other parameters that may affect the cell width.

    Note that all interconnects do have a “width” keyword. Hence, if needed, adapt the interconnect to the building block pin width when connecting, e.g. with a “taper” or “ptaper”. See also here

    Ronald

    #5596
    AleksandarK
    Member

    In building blocks you basically never set the cell width directly, but possibly other parameters that may affect the cell width.

    Okay so i get that.

    Note that all interconnects do have a “width” keyword. Hence, if needed, adapt the interconnect to the building block pin width when connecting, e.g. with a “taper” or “ptaper”. See also here

    But i dontget this. in my case above, how would i use this? i have to use the cell from demofab, not interconnects. Can you please show how could that work?

    #5597
    Ronald
    Keymaster

    The cell (building block) like the phase shifter is defined by a foundry (in a PDK), you can not change which parameters is has (unless you define your own building block, which may require advanced knowledge of a technology/process). You can change, however, how you connect to a building block.

    For an example on connecting (building blocks) see https://nazca-design.org/connecting-to-a-building-block/
    For an interconnect taper use e.g. demofab.deep.taper(length=50, width2=3.0).put(...)
    A taper has keywords width1 and width2, but if not provided it defaults to the interconnect width.

    Ronald

    #5598
    AleksandarK
    Member

    Thank you very much Ronald!

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.