bag3_digital.layout.sampler.sr_latch

This module contains layout generators for various latches.

Module Contents

Classes

SRLatchSymmetricHalf

Half of symmetric SR latch

SRLatchSymmetric

Symmetric SR latch. Mainly designed to be used with strongarm.

class bag3_digital.layout.sampler.sr_latch.SRLatchSymmetricHalf(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: xbase.layout.mos.base.MOSBase

Half of symmetric SR latch

property q_tr_info: Tuple[int, bag.util.math.HalfInt, bag.util.math.HalfInt][source]
property sr_hm_tr_info: Tuple[int, bag.util.math.HalfInt, bag.util.math.HalfInt][source]
property sr_vm_tr_info: Tuple[int, bag.util.math.HalfInt, bag.util.math.HalfInt][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.

_get_w_th_dict(ridx_n: int, ridx_p: int, has_rstb: bool) Tuple[bag.util.immutable.ImmutableSortedDict[str, int], bag.util.immutable.ImmutableSortedDict[str, str]][source]
class bag3_digital.layout.sampler.sr_latch.SRLatchSymmetric(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: xbase.layout.mos.base.MOSBase

Symmetric SR latch. Mainly designed to be used with strongarm.

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() None[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.