librelane 3.0.0.dev37__tar.gz → 3.0.0.dev38__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of librelane might be problematic. Click here for more details.
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/PKG-INFO +1 -1
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/eco_buffer.py +1 -1
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/eco_diode.py +2 -1
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/odb.py +14 -1
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/pyproject.toml +1 -1
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/Readme.md +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/__main__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/__version__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/cli.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/drc.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/generic_dict.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/metrics/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/metrics/__main__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/metrics/library.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/metrics/metric.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/metrics/util.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/misc.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/ring_buffer.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/tcl.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/toolbox.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/tpe.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/common/types.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/__main__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/config.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/flow.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/pdk_compat.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/preprocessor.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/removals.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/config/variable.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/container.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/env_info.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm/config.yaml +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm/pin_order.cfg +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm/src/impl.sdc +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm/src/signoff.sdc +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm/src/spm.v +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm/verify/spm_tb.v +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/SPM_example.v +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/base_sdc_file.sdc +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/config-tut.json +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/config.json +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/defines.v +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/template.def +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/examples/spm-user_project_wrapper/user_project_wrapper.v +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/builtins.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/classic.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/cli.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/flow.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/misc.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/optimizing.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/sequential.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/flows/synth_explore.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/help/__main__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/logging/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/logging/logger.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/pdk_hashes.yaml +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/plugins.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/py.typed +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/base.sdc +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/Readme.md +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/open_design.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/render.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/stream_out.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/xml_drc_report_to_json.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/xor.drc +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/Readme.md +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/common/read.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/def/antenna_check.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/def/mag.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/def/mag_gds.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/drc.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/extract_spice.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/gds/drc_batch.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/gds/erase_box.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/gds/extras_mag.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/gds/mag_with_pointers.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/get_bbox.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/lef/extras_maglef.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/lef/maglef.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/lef.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/open.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/wrapper.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/netgen/setup.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/apply_def_template.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/cell_frequency.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/check_antenna_properties.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/contextualize.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/defutil.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/diodes.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/disconnected_pins.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/filter_unannotated.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/io_place.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/ioplace_parser/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/ioplace_parser/parse.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/label_macro_pins.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/lefutil.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/placers.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/power_utils.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/random_place.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/reader.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/remove_buffers.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/snap_to_grid.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/wire_lengths.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/antenna_check.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/antenna_repair.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/basic_mp.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/buffer_list.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/dpl.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/dpl_cell_pad.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/grt.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/io.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/pdn_cfg.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/resizer.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_global_connections.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_layer_adjustments.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_power_nets.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_rc.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_routing_layers.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/cts.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/cut_rows.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/dpl.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/drt.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/dump_rc.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/fill.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/floorplan.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/gpl.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/grt.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/gui.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/insert_buffer.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/ioplacer.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/irdrop.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/pdn.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/rcx.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/repair_design.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/repair_design_postgrt.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/rsz_timing_postcts.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/rsz_timing_postgrt.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/sta/check_macro_instances.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/sta/corner.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/tapcell.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/ungpl.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/write_cdl.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/write_views.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/pyosys/construct_abc_script.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/pyosys/json_header.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/pyosys/synthesize.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/pyosys/ys_common.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/tclsh/hello.tcl +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/state/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/state/__main__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/state/design_format.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/state/state.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/__init__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/__main__.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/checker.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/common_variables.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/cvc_rv.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/klayout.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/magic.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/misc.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/netgen.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/openroad.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/openroad_alerts.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/pyosys.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/step.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/tclstep.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/verilator.py +0 -0
- {librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/steps/yosys.py +0 -0
|
@@ -44,7 +44,7 @@ def cli(reader):
|
|
|
44
44
|
i = 0
|
|
45
45
|
|
|
46
46
|
for target_info in reader.config["INSERT_ECO_BUFFERS"]:
|
|
47
|
-
target_name, target_pin = target_info["target"].
|
|
47
|
+
target_name, target_pin = target_info["target"].rsplit("/", 1)
|
|
48
48
|
name_escaped = reader.escape_verilog_name(target_name)
|
|
49
49
|
buffer_master = target_info["buffer"]
|
|
50
50
|
|
|
@@ -38,8 +38,9 @@ def cli(reader):
|
|
|
38
38
|
# print(grt)
|
|
39
39
|
grt_inc = GRT.IncrementalGRoute(grt, reader.block)
|
|
40
40
|
i = 0
|
|
41
|
+
|
|
41
42
|
for target_info in reader.config["INSERT_ECO_DIODES"]:
|
|
42
|
-
target_name, target_pin = target_info["target"].
|
|
43
|
+
target_name, target_pin = target_info["target"].rsplit("/", 1)
|
|
43
44
|
name_escaped = reader.escape_verilog_name(target_name)
|
|
44
45
|
|
|
45
46
|
target = reader.block.findInst(name_escaped)
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# Copyright 2025 LibreLane Contributors
|
|
2
|
+
#
|
|
3
|
+
# Adapted from OpenLane
|
|
4
|
+
#
|
|
1
5
|
# Copyright 2023 Efabless Corporation
|
|
2
6
|
#
|
|
3
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -979,7 +983,7 @@ class ManualGlobalPlacement(OdbpyStep):
|
|
|
979
983
|
|
|
980
984
|
def run(self, state_in: State, **kwargs) -> Tuple[ViewsUpdate, MetricsUpdate]:
|
|
981
985
|
if self.config["MANUAL_GLOBAL_PLACEMENTS"] is None:
|
|
982
|
-
info(f"'MANUAL_GLOBAL_PLACEMENTS' not set
|
|
986
|
+
info(f"'MANUAL_GLOBAL_PLACEMENTS' not set. Skipping '{self.id}'…")
|
|
983
987
|
return {}, {}
|
|
984
988
|
return super().run(state_in, **kwargs)
|
|
985
989
|
|
|
@@ -1039,6 +1043,12 @@ class InsertECOBuffers(OdbpyStep):
|
|
|
1039
1043
|
assert self.config_path is not None, "get_command called before start()"
|
|
1040
1044
|
return super().get_command() + ["--step-config", self.config_path]
|
|
1041
1045
|
|
|
1046
|
+
def run(self, state_in: State, **kwargs) -> Tuple[ViewsUpdate, MetricsUpdate]:
|
|
1047
|
+
if self.config["INSERT_ECO_BUFFERS"] is None:
|
|
1048
|
+
info(f"'INSERT_ECO_BUFFERS' not set. Skipping '{self.id}'…")
|
|
1049
|
+
return {}, {}
|
|
1050
|
+
return super().run(state_in, **kwargs)
|
|
1051
|
+
|
|
1042
1052
|
|
|
1043
1053
|
@dataclass
|
|
1044
1054
|
class ECODiode:
|
|
@@ -1092,4 +1102,7 @@ class InsertECODiodes(OdbpyStep):
|
|
|
1092
1102
|
if self.config["DIODE_CELL"] is None:
|
|
1093
1103
|
info(f"'DIODE_CELL' not set. Skipping '{self.id}'…")
|
|
1094
1104
|
return {}, {}
|
|
1105
|
+
if self.config["INSERT_ECO_DIODES"] is None:
|
|
1106
|
+
info(f"'INSERT_ECO_DIODES' not set. Skipping '{self.id}'…")
|
|
1107
|
+
return {}, {}
|
|
1095
1108
|
return super().run(state_in, **kwargs)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "librelane"
|
|
3
|
-
version = "3.0.0.
|
|
3
|
+
version = "3.0.0.dev38"
|
|
4
4
|
description = "An infrastructure for implementing chip design flows"
|
|
5
5
|
# Technically, maintainer. We cannot use the maintainers field until
|
|
6
6
|
# poetry-core>=2.0.0 which requires Python version 3.9+. This field does
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/klayout/xml_drc_report_to_json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/def/antenna_check.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/gds/mag_with_pointers.tcl
RENAMED
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/magic/lef/extras_maglef.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/apply_def_template.py
RENAMED
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/check_antenna_properties.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/disconnected_pins.py
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/filter_unannotated.py
RENAMED
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/ioplace_parser/__init__.py
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/odbpy/ioplace_parser/parse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/antenna_check.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/antenna_repair.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/dpl_cell_pad.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/pdn_cfg.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/resizer.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_power_nets.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/common/set_rc.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/insert_buffer.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/repair_design.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/repair_design_postgrt.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/rsz_timing_postcts.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/openroad/rsz_timing_postgrt.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev37 → librelane-3.0.0.dev38}/librelane/scripts/pyosys/construct_abc_script.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|