bag3_digital.schematic.nand

Module Contents

Classes

bag3_digital__nand

Module for library bag3_digital cell nand.

class bag3_digital.schematic.nand.bag3_digital__nand(database: bag.design.database.ModuleDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: bag.design.module.Module

Module for library bag3_digital cell nand.

Fill in high level description here.

yaml_file[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]

get_master_basename() str[source]

Returns the base name to use for this instance.

Returns:

basename – the base name for this instance.

Return type:

str

design(seg: int, seg_p: int, seg_n: int, lch: int, w_p: int, w_n: int, th_p: str, th_n: str, num_in: int, stack_p: int, stack_n: int, shared_mid: bool) None[source]

To be overridden by subclasses to design this module.

To design instances of this module, you can call their design() method or any other ways you coded.

To modify schematic structure, call:

rename_pin()

delete_instance()

replace_instance_master()

reconnect_instance_terminal()

array_instance()