bag3_digital.schematic.lvshift_core_w_drivers

Module Contents

Classes

bag3_digital__lvshift_core_w_drivers

The base class of all schematic generators. This represents a schematic master.

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

Bases: bag.design.module.Module

The base class of all schematic generators. This represents a schematic master.

This class defines all the methods needed to implement a design in the CAD database.

Parameters:
  • yaml_fname (str) – the netlist information file name.

  • database (ModuleDB) – the design database object.

  • params (Param) – the parameters dictionary.

  • log_file (str) – the log file path.

  • log_level (LogLevel) – the logging level.

  • copy_state (Optional[Dict[str, Any]]) – If not None, set content of this master from this dictionary.

  • **kwargs (Any) – optional arguments

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]

design(core_params: bag.util.immutable.Param, buf_params: bag.util.immutable.Param, dual_output: bool, invert_out: bool, export_pins: 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()