bag3_digital.layout.stdcells.memory
This module contains layout generators for various memory elements.
Module Contents
Classes
A tristate inverter based latch. |
|
A tristate inverter based flip-flop. |
|
A tristate inverter based latch with NAND reset. |
|
A tristate inverter based latch with NAND reset and optional scanability, 2 row layout. |
|
A tristate inverter based flip-flop in 2 rows. |
|
A tristate inverter based latch with reset pin and scanability, optimized. |
|
A tristate inverter based flip-flop in 2 rows with 1 row latches. |
- class bag3_digital.layout.stdcells.memory.LatchCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based latch.
- 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.memory.FlopCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based flip-flop.
- get_schematic_class_inst() 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.memory.RstLatchCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based latch with NAND reset.
- 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.memory.RstLatchCore2Row(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based latch with NAND reset and optional scanability, 2 row layout.
- 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.memory.FlopCore2Row(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based flip-flop in 2 rows.
- 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.memory.ScanRstLatchCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based latch with reset pin and scanability, optimized.
- 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.memory.ScanRstFlopCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]
Bases:
xbase.layout.mos.base.MOSBase
A tristate inverter based flip-flop in 2 rows with 1 row latches.
- 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]