Struct libreda_lefdef::import::LEFImportOptions
source · pub struct LEFImportOptions<C: L2NEdit> {Show 13 fields
pub import_pins: bool,
pub import_power_pins: bool,
pub pin_suffix: String,
pub import_obstructions: bool,
pub obstruction_suffix: String,
pub import_via_definitions: bool,
pub import_generated_vias: bool,
pub import_fixed_vias: bool,
pub import_cell_outlines: bool,
pub cell_outline_layer: Option<String>,
pub layer_mapping: HashMap<String, C::LayerId>,
pub create_missing_layers: bool,
pub skip_existing_vias: bool,
}Expand description
Control the import of a LEF library.
This is inspired of the LEFDEFReaderConfiguration of KLayout.
Fields§
§import_pins: boolEnable import of pins.
import_power_pins: boolAlso import ground and supply pins. This gets overwritten when import_pins is false.
pin_suffix: StringAppend this string to layer names of pins. Default is “.PIN”.
import_obstructions: boolEnable import of obstruction shapes.
obstruction_suffix: StringAppend this string to layer names of obstructions. Default is “.OBS”.
import_via_definitions: boolImport via definitions as cells.
import_generated_vias: boolImport vias ‘generated’ vias. Only matters with import_via_definitions = true.
import_fixed_vias: boolImport ‘fixed’ vias. Only matters with import_via_definitions = true.
import_cell_outlines: boolEnable import of cell outlines and define on which layer they should be put.
cell_outline_layer: Option<String>Layer to be used for cell outlines (abutment boxes).
layer_mapping: HashMap<String, C::LayerId>Mapping from LEF layer names to layer IDs.
create_missing_layers: boolCreate layers which are missing in the current design.
skip_existing_vias: boolIf a cell with the same name as the via already exists, skip it during import instead of failing.
Implementations§
source§impl<C: L2NEdit> LEFImportOptions<C>
impl<C: L2NEdit> LEFImportOptions<C>
sourcefn get_or_create_layer_by_name(
&self,
chip: &mut C,
layer_name: &String
) -> Result<C::LayerId, LefDefImportError>
fn get_or_create_layer_by_name( &self, chip: &mut C, layer_name: &String ) -> Result<C::LayerId, LefDefImportError>
Try to get a layer ID by the layer name or optionally create a new layer. Test the layer mapping but also the layout for existing layers.