get_corners
- circuit_analyzer.all.get_corners(circuit_model, recurse=True)
Derives configuration corner parameters applicable to the circuit_model.
Private corner parameters override global corner parameters. By default recurses the tree to discover all possible fab corner properties.
- Parameters:
- circuit_modelCircuitModel
The IPKISS CircuitModel from which the corner parameters will be extracted.
- recursebool, default = True
If True, the function will recursively look through all hierarchical sub-components (child cells) within the circuit model and collect all their corner parameters. If False, only the parameters defined on the top-level cell of the model will be included.
- Returns:
- OrderedDict[str, CornerParameter]
An ordered dictionary mapping parameter names to their definitions, including both local (from the model and its hierarchy) and global parameters defined in the model configuration.
Examples
>>> # With the following config: >>> # >>> # libraries: >>> # libA: >>> # cells: >>> # CellA: >>> # parameters: >>> # t: >>> # doc: "thickness" >>> # default: 0.22 >>> # corners: [0.21, 0.22, 0.23] >>> # global_parameters: >>> # w: >>> # doc: "WG width" >>> # default: 0 >>> # corners: [-1, 0, 1] >>> # >>> import circuit_analyzer.all as ca >>> corners = ca.get_corners(circuit_model) >>> print(corners) OrderedDict([ ('w', CornerParameter(name='w', doc='WG width', default=0, corners=[-1, 0, 1]) ('t', CornerParameter(name='t', doc='thickness', default=0.22, corners=[0.21, 0.22, 0.23]) ])