bag.interface.abstract

This module handles abstract generation

Module Contents

Classes

AbstractInterface

A class that creates LEF using the abstract generator.

Functions

_get_pin_regexp(→ str)

class bag.interface.abstract.AbstractInterface(config: Dict[str, Any])[source]

Bases: bag.interface.lef.LEFInterface

A class that creates LEF using the abstract generator.

Parameters:

config (Dict[str, Any]) – the configuration dictionary.

generate_lef(impl_lib: str, impl_cell: str, verilog_path: pathlib.Path, lef_path: pathlib.Path, run_path: pathlib.Path, pwr_pins: Sequence[str], gnd_pins: Sequence[str], clk_pins: Sequence[str], analog_pins: Sequence[str], output_pins: Sequence[str], detailed_layers: Sequence[str], cover_layers: Sequence[str], cell_type: str, **kwargs: Any) bool[source]

Generate the LEF file.

Parameters:
  • impl_lib (str) – the implementation library name.

  • impl_cell (str) – the implementation cell name.

  • verilog_path (Path) – the verilog shell file.

  • lef_path (Path) – the output file path.

  • run_path (Path) – the run directory.

  • pwr_pins (Sequence[str]) – list of power pin names.

  • gnd_pins (Sequence[str]) – list of ground pin names.

  • clk_pins (Sequence[str]) – list of clock pin names.

  • analog_pins (Sequence[str]) – list of analog pin names.

  • output_pins (Sequence[str]) – list of output pin names.

  • detailed_layers (Sequence[str]) – list of detailed layer names.

  • cover_layers (Sequence[str]) – list of cover layer names.

  • cell_type (str) – the cell type.

  • **kwargs (Any) – Tool-specific configuration parameters.

Returns:

success – True if LEF generation succeeded.

Return type:

bool

_create_options_file(out_file: pathlib.Path, pwr_pins: Sequence[str], gnd_pins: Sequence[str], clk_pins: Sequence[str], analog_pins: Sequence[str], output_pins: Sequence[str], detailed_layers: Sequence[str], cover_layers: Sequence[str], cell_type: str, impl_cell: str) None[source]
bag.interface.abstract._get_pin_regexp(pin_list: Sequence[str]) str[source]