bag3_digital.design.base

Module Contents

Classes

DigitalDesigner

Base class of all design scripts.

BinSearchSegWidth

Helper class that provides a standard way to create an ABC using

class bag3_digital.design.base.DigitalDesigner(*args: Any, **kwargs: Any)[source]

Bases: bag.simulation.design.DesignerBase, abc.ABC

Base class of all design scripts.

Notes

  1. This class hides the SimulationDB object from the user. This is because hierarchical designers share the same SimulationDB, and if you don’t make sure to update the working directory every time you run

property arr_info: xbase.layout.mos.placement.data.MOSArrayPlaceInfo[source]
commit() None[source]

Commit changes to specs dictionary. Perform necessary initialization.

get_tile(name: str) xbase.layout.mos.placement.data.MOSBasePlaceInfo[source]
make_tile_pattern(tiles: Iterable[Mapping[str, Any]]) Tuple[xbase.layout.mos.placement.data.TilePattern, xbase.layout.mos.placement.data.TileInfoTable][source]
get_dig_tran_specs(pwr_domain: Mapping[str, Tuple[str, str]], supply_map: Mapping[str, str], pin_values: Optional[Mapping[str, int]] = None, reset_list: Optional[Sequence[Tuple[str, bool]]] = None, diff_list: Optional[Sequence[Tuple[Sequence[str], Sequence[str]]]] = None) Dict[str, Any][source]
async async_wrapper_dut(impl_cell: str, dut_cls: Type[xbase.layout.mos.base.MOSBase], dut_params: Mapping[str, Any], draw_taps: bool = True, pwr_gnd_list: Optional[Sequence[Tuple[str, str]]] = None, extract: Optional[bool] = None, name_prefix: str = '', name_suffix: str = '', flat: bool = False) bag.simulation.cache.DesignInstance[source]
async async_batch_wrapper_dut(dut_specs: Sequence[Mapping[str, Any]]) Sequence[bag.simulation.cache.DesignInstance][source]
class bag3_digital.design.base.BinSearchSegWidth(w_list: Sequence[int], err_targ: float, search_step: int = 1)[source]

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

abstract get_bin_search_info(data: Any) Tuple[float, bool][source]
abstract get_error(data: Any) float[source]
abstract set_size(seg: int, w: int) None[source]
abstract async get_data(seg: int, w: int) Any[source]
async get_seg_width(w: int, seg_min: int, seg_max: Optional[int], data_min: Optional[Any], data_max: Optional[Any], no_throw: bool = False) Tuple[Any, int, int][source]
async _search_helper(w: int, seg_min: int, seg_max: Optional[int], data_min: Optional[Any], data_max: Optional[Any]) Tuple[Any, int, int, int][source]