bag3_digital.layout.stdcells.and_complex
This module contains layout generators for complex AND gate with 2 - 9 inputs
Module Contents
Classes
A complex AND for B2T decoding. Used for passgate mux row decoder |
|
A complex AND for B2T decoding. Used for passgate mux column decoder |
|
A complex AND for B2T decoding. Used for passgate mux column decoder |
Functions
|
|
|
- class bag3_digital.layout.stdcells.and_complex.AndComplexRow(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A complex AND for B2T decoding. Used for passgate mux row decoder
- classmethod get_schematic_class() Optional[Type[bag.design.module.Module]] [source]
- classmethod get_params_info() Mapping[str, str] [source]
Returns a dictionary from parameter names to descriptions.
- classmethod get_default_param_values() Mapping[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]
- class bag3_digital.layout.stdcells.and_complex.AndComplexCol(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A complex AND for B2T decoding. Used for passgate mux column decoder
- classmethod get_schematic_class() Optional[Type[bag.design.module.Module]] [source]
- classmethod get_params_info() Mapping[str, str] [source]
Returns a dictionary from parameter names to descriptions.
- classmethod get_default_param_values() Mapping[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]
- class bag3_digital.layout.stdcells.and_complex.AndComplexColTall(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A complex AND for B2T decoding. Used for passgate mux column decoder Based on AndDiffRow from BAG2
- classmethod get_schematic_class() Optional[Type[bag.design.module.Module]] [source]
- classmethod get_params_info() Mapping[str, str] [source]
Returns a dictionary from parameter names to descriptions.
- classmethod get_default_param_values() Mapping[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:
- 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.
- _make_nand_row(num_in: int, sig_locs: dict, tile_idx: int, unit_inst: list, vm_locs: list, vss_warr: list, vdd_warr: list) Tuple[List[bag.layout.routing.base.WireArray], List[bag.layout.routing.base.WireArray]] [source]
- _make_nor_row(num_in: int, sig_locs: dict, tile_idx: int, unit_inst: list, vm_locs: list, vss_warr: list, vdd_warr: list) Tuple[List[bag.layout.routing.base.WireArray], List[bag.layout.routing.base.WireArray]] [source]
- _make_inv_row(sig_locs: dict, tile_idx: int, unit_inst: list, vm_locs: list, vss_warr: list, vdd_warr: list) Tuple[bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray] [source]