pdkmaster.design¶
pdkmaster.design.circuit¶
- pdkmaster.design.circuit.InstanceT¶
alias of
_Instance
- pdkmaster.design.circuit.InstancesT¶
alias of
_Instances
- pdkmaster.design.circuit.InstanceNetT¶
alias of
_InstanceNet
- pdkmaster.design.circuit.InstanceNetsT¶
alias of
_InstanceNets
- pdkmaster.design.circuit.PrimitiveInstanceT¶
alias of
_PrimitiveInstance
- pdkmaster.design.circuit.CellInstanceT¶
alias of
_CellInstance
- pdkmaster.design.circuit.CircuitNetT¶
alias of
_CircuitNet
- pdkmaster.design.circuit.CircuitNetsT¶
alias of
_CircuitNets
- pdkmaster.design.circuit.CircuitT¶
alias of
_Circuit
- pdkmaster.design.circuit.CircuitsT¶
alias of
_Circuits
- class pdkmaster.design.circuit.CircuitFactory(*, tech: Technology)[source]¶
Bases:
object
The user facing class for creating circuits. This class is also a base class on which own factory classes can be built with specific extensions.
- Parameters:
tech – the technology for which to create circuits. Created circuits may only contain instances from primitives from this technology.
API Notes
- The contract for making subclasses has not been finaziled. Backwards
incompatible changes are still expected for subclasses of this class.
pdkmaster.design.layout¶
The pdkmaster.design.layout module provides classes to represent layout shapes in a PDKMaster technology. These classes are designed to only allow to create layout that conform to the technology definition. In order to detect design shorts as fast as possible shapes are put on nets.
A LayoutFactory class is provided to generate layouts for a certain technology and it’s primitives.
Internally the klayout API is used to represent the shapes and perform manipulations on them.
pdkmaster.design.library¶
- class pdkmaster.design.library.Library(*, name: str, tech: Technology)[source]¶
Bases:
object
A Library is an object representing a collection of Cell objects. All cell in a library have be for the same technology.
- Parameters:
name – the name of the library
tech – the technology for the cells in the library
- property name: str¶
- property tech: Technology¶
- property cells: _Cells¶
- property sorted_cells: Iterable[Cell]¶
Return sorted iterable of the hierarchical instantiated cells. The cells will be sorted such that a cell is in the list before a cell where it is instantiated.
If there are cells instantiated from other libraries they will be included.
- class pdkmaster.design.library.RoutingGaugeLibrary(*, name: str, tech: Technology, routinggauge: RoutingGauge | Iterable[RoutingGauge])[source]¶
Bases:
Library
A Library with an associated RoutingGauge
API Notes
- API for StdCellLibrary is not fixed. Backwards incompatible changes may still be
expected.
- see: https://gitlab.com/Chips4Makers/PDKMaster/-/issues/36
code likely to be moved to c4m-flexcell in the future
- property routinggauge: Iterable[RoutingGauge]¶
- property pingrid_pitch: float¶
- property row_height: float¶