Tagged: interconnects
- This topic has 4 replies, 2 voices, and was last updated 6 years, 10 months ago by
AleksandarK.
-
AuthorPosts
-
14 June 2019 at 11:20 #5593
AleksandarK
MemberHello 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?
14 June 2019 at 11:32 #5595Ronald
KeymasterDear 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
14 June 2019 at 12:40 #5596AleksandarK
MemberIn 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?
14 June 2019 at 12:54 #5597Ronald
KeymasterThe 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
15 June 2019 at 16:49 #5598AleksandarK
MemberThank you very much Ronald!
-
AuthorPosts
- You must be logged in to reply to this topic.