bag3_analog.layout.phase.phase_interp

Module Contents

Classes

PhaseInterpUnit

The base template class.

PhaseInterpolator

The base template class.

class bag3_analog.layout.phase.phase_interp.PhaseInterpUnit(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: xbase.layout.mos.base.MOSBase

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 col_margin: int[source]
classmethod get_params_info() Dict[str, str][source]

Returns a dictionary from parameter names to descriptions.

Returns:

param_info – dictionary from parameter names to descriptions.

Return type:

Mapping[str, str]

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]

draw_layout() None[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.

class bag3_analog.layout.phase.phase_interp.PhaseInterpolator(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: xbase.layout.mos.base.MOSBase

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 col_margin: int[source]
classmethod get_schematic_class() Optional[Type[bag.design.module.Module]][source]
classmethod get_params_info() Dict[str, str][source]

Returns a dictionary from parameter names to descriptions.

Returns:

param_info – dictionary from parameter names to descriptions.

Return type:

Mapping[str, str]

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]

draw_layout()[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.

_draw_row(unit_master: PhaseInterpUnit, inv_master: bag3_digital.layout.stdcells.gates.InvCore, tile_idx: int, nbits: int, flip_en: bool, draw_sub: bool, prefix: str, vss_tile: int, vdd_tile: int, abut_tristates: bool) Dict[str, Union[List[bag.layout.routing.base.WireArray], bag.layout.routing.base.WireArray]][source]