xbase.layout.mos.top
Module Contents
Classes
The base template class. |
|
A MOSArrayWrapper that works with any given generator class. |
- class xbase.layout.mos.top.MOSBaseWrapper(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
bag.layout.template.TemplateBase
,abc.ABC
The base template class.
- Parameters:
temp_db (TemplateDB) – the template database.
params (Param) – the parameter values.
log_file (str) – the log file path.
log_level (LogLevel) – the logging level.
**kwargs (Any) –
dictionary of the following optional parameters:
- gridRoutingGrid
the routing grid to use for this template.
- property core: xbase.layout.mos.base.MOSBase[source]
- get_schematic_class_inst() Optional[Type[bag.design.module.Module]] [source]
- draw_boundaries(master: xbase.layout.mos.base.MOSBase, top_layer: int, *, half_blk_x: bool = True, half_blk_y: bool = True) bag.layout.core.PyLayInstance [source]
- _fill_space(grid: bag.layout.routing.grid.RoutingGrid, tech_cls: xbase.layout.mos.tech.MOSTech, w_edge: int, used_arr: xbase.layout.mos.util.MOSUsedArray, sd_pitch: int, w_tot: int, h_tot: int, dy: int, h_end_bot: int, h_end_top: int) None [source]
- classmethod _get_row_yblk(rpinfo: xbase.layout.mos.data.RowPlaceInfo, flip_tile: bool, tile_yb: int, tile_h: int) Tuple[int, int] [source]
- _add_mos_end(mos_grid: bag.layout.routing.grid.RoutingGrid, lch: int, dx: int, y: int, orient: pybag.enum.Orientation, blk_h: int, einfo: xbase.layout.mos.data.RowExtInfo, fg: int, prefix: str, arr_options: Mapping[str, Any]) xbase.layout.mos.data.MOSEdgeInfo [source]
- _add_mos_space(pinfo: xbase.layout.mos.base.MOSBasePlaceInfo, used_arr: xbase.layout.mos.util.MOSUsedArray, sd_pitch: int, dx: int, dy: int, tile_idx: int, row_idx: int, start: int, seg: int, left: xbase.layout.mos.data.MOSEdgeInfo, right: xbase.layout.mos.data.MOSEdgeInfo) None [source]
- _add_row_edges(w_edge: int, w_tot: int, y: int, orient: pybag.enum.Orientation, row_info: xbase.layout.mos.data.MOSRowInfo, left_info: xbase.layout.mos.data.MOSEdgeInfo, right_info: xbase.layout.mos.data.MOSEdgeInfo, prefix: str, arr_options: Mapping[str, Any]) None [source]
- _add_ext_row(grid: bag.layout.routing.grid.RoutingGrid, tech: xbase.layout.mos.tech.MOSTech, lch: int, fg: int, re_bot: xbase.layout.mos.data.RowExtInfo, re_top: xbase.layout.mos.data.RowExtInfo, be_bot: List[xbase.layout.mos.data.BlkExtInfo], be_top: List[xbase.layout.mos.data.BlkExtInfo], dx: int, y0: int, ext_h: int, w_edge: int, w_tot: int, prefix: str) None [source]
- class xbase.layout.mos.top.GenericWrapper(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
MOSBaseWrapper
A MOSArrayWrapper that works with any given generator class.
- classmethod get_params_info() Dict[str, str] [source]
Returns a dictionary from parameter names to descriptions.
- classmethod get_default_param_values() Dict[str, Any] [source]
Returns a dictionary containing default parameter values.
Override this method to define default parameter values. As good practice, you should avoid defining default values for technology-dependent parameters (such as channel length, transistor width, etc.), but only define default values for technology-independent parameters (such as number of tracks).
- Returns:
default_params – dictionary of default parameter values.
- Return type:
Mapping[str, Any]
- get_layout_basename() str [source]
Returns the base name for this template.
- Returns:
base_name – the base name of this template.
- Return type: