librelane 3.0.0.dev42__tar.gz → 3.0.0.dev44__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.
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/PKG-INFO +3 -3
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/Readme.md +2 -2
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/preprocessor.py +1 -1
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/cli.py +1 -10
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/drc.tcl +15 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/magic.py +5 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/pyproject.toml +1 -1
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/__main__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/__version__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/cli.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/drc.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/generic_dict.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/metrics/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/metrics/__main__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/metrics/library.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/metrics/metric.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/metrics/util.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/misc.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/ring_buffer.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/tcl.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/toolbox.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/tpe.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/common/types.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/__main__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/config.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/flow.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/pdk_compat.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/removals.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/config/variable.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/container.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/env_info.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/hold_eco_demo/config.yaml +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/hold_eco_demo/demo.v +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm/config.yaml +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm/pin_order.cfg +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm/src/impl.sdc +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm/src/signoff.sdc +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm/src/spm.v +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm/verify/spm_tb.v +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/SPM_example.v +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/base_sdc_file.sdc +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/config-tut.json +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/config.json +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/defines.v +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/template.def +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/examples/spm-user_project_wrapper/user_project_wrapper.v +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/builtins.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/classic.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/flow.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/misc.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/optimizing.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/sequential.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/flows/synth_explore.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/help/__main__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/logging/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/logging/logger.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/pdk_hashes.yaml +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/plugins.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/py.typed +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/base.sdc +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/klayout/Readme.md +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/klayout/open_design.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/klayout/render.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/klayout/stream_out.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/klayout/xml_drc_report_to_json.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/klayout/xor.drc +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/Readme.md +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/common/read.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/def/antenna_check.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/def/mag.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/def/mag_gds.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/extract_spice.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/gds/drc_batch.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/gds/erase_box.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/gds/extras_mag.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/gds/mag_with_pointers.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/get_bbox.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/lef/extras_maglef.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/lef/maglef.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/lef.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/open.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/wrapper.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/netgen/setup.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/apply_def_template.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/cell_frequency.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/check_antenna_properties.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/contextualize.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/defutil.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/diodes.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/disconnected_pins.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/eco_buffer.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/eco_diode.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/filter_unannotated.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/io_place.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/ioplace_parser/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/ioplace_parser/parse.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/label_macro_pins.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/lefutil.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/placers.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/power_utils.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/random_place.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/reader.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/remove_buffers.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/snap_to_grid.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/wire_lengths.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/antenna_check.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/antenna_repair.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/basic_mp.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/buffer_list.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/dpl.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/dpl_cell_pad.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/grt.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/io.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/pdn_cfg.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/resizer.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/set_global_connections.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/set_layer_adjustments.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/set_power_nets.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/set_rc.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/set_routing_layers.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/cts.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/cut_rows.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/dpl.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/drt.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/dump_rc.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/fill.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/floorplan.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/gpl.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/grt.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/gui.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/insert_buffer.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/ioplacer.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/irdrop.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/pdn.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/rcx.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/repair_design.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/repair_design_postgrt.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/rsz_timing_postcts.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/rsz_timing_postgrt.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/sta/check_macro_instances.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/sta/corner.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/tapcell.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/ungpl.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/write_cdl.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/write_views.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/pyosys/construct_abc_script.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/pyosys/json_header.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/pyosys/synthesize.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/pyosys/ys_common.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/tclsh/hello.tcl +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/state/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/state/__main__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/state/design_format.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/state/state.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/__init__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/__main__.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/checker.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/common_variables.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/cvc_rv.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/klayout.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/misc.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/netgen.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/odb.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/openroad.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/openroad_alerts.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/pyosys.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/step.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/tclstep.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/verilator.py +0 -0
- {librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/steps/yosys.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: librelane
|
|
3
|
-
Version: 3.0.0.
|
|
3
|
+
Version: 3.0.0.dev44
|
|
4
4
|
Summary: An infrastructure for implementing chip design flows
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Maintainer: Mohamed Gaber
|
|
@@ -80,7 +80,7 @@ Works for macOS and Linux (x86-64 and aarch64). Recommended, as it is more
|
|
|
80
80
|
integrated with your filesystem and overall has less upload and download deltas.
|
|
81
81
|
|
|
82
82
|
See
|
|
83
|
-
[Nix-based installation](https://librelane.readthedocs.io/en/latest/
|
|
83
|
+
[Nix-based installation](https://librelane.readthedocs.io/en/latest/installation/nix_installation/index.html)
|
|
84
84
|
in the docs for more info.
|
|
85
85
|
|
|
86
86
|
### Docker
|
|
@@ -88,7 +88,7 @@ in the docs for more info.
|
|
|
88
88
|
Works for Windows, macOS and Linux (x86-64 and aarch64).
|
|
89
89
|
|
|
90
90
|
See
|
|
91
|
-
[Docker-based installation](https://librelane.readthedocs.io/en/latest/
|
|
91
|
+
[Docker-based installation](https://librelane.readthedocs.io/en/latest/installation/docker_installation/index.html)
|
|
92
92
|
in the docs for more info.
|
|
93
93
|
|
|
94
94
|
Do note you'll need to add `--dockerized` right after `librelane` in most CLI
|
|
@@ -46,7 +46,7 @@ Works for macOS and Linux (x86-64 and aarch64). Recommended, as it is more
|
|
|
46
46
|
integrated with your filesystem and overall has less upload and download deltas.
|
|
47
47
|
|
|
48
48
|
See
|
|
49
|
-
[Nix-based installation](https://librelane.readthedocs.io/en/latest/
|
|
49
|
+
[Nix-based installation](https://librelane.readthedocs.io/en/latest/installation/nix_installation/index.html)
|
|
50
50
|
in the docs for more info.
|
|
51
51
|
|
|
52
52
|
### Docker
|
|
@@ -54,7 +54,7 @@ in the docs for more info.
|
|
|
54
54
|
Works for Windows, macOS and Linux (x86-64 and aarch64).
|
|
55
55
|
|
|
56
56
|
See
|
|
57
|
-
[Docker-based installation](https://librelane.readthedocs.io/en/latest/
|
|
57
|
+
[Docker-based installation](https://librelane.readthedocs.io/en/latest/installation/docker_installation/index.html)
|
|
58
58
|
in the docs for more info.
|
|
59
59
|
|
|
60
60
|
Do note you'll need to add `--dockerized` right after `librelane` in most CLI
|
|
@@ -43,7 +43,7 @@ from cloup.typing import Decorator
|
|
|
43
43
|
|
|
44
44
|
from .flow import Flow
|
|
45
45
|
from ..common import set_tpe, cli, get_pdk_hash, _get_process_limit
|
|
46
|
-
from ..logging import set_log_level, verbose,
|
|
46
|
+
from ..logging import set_log_level, verbose, err, options, LogLevels
|
|
47
47
|
from ..state import State, InvalidState
|
|
48
48
|
|
|
49
49
|
|
|
@@ -520,15 +520,6 @@ def cloup_flow_opts(
|
|
|
520
520
|
err(f"Could not resolve the PDK '{pdk}'.")
|
|
521
521
|
exit(1)
|
|
522
522
|
|
|
523
|
-
if pdk_family == "ihp-sg13g2":
|
|
524
|
-
err(
|
|
525
|
-
"The IHP Open PDK is only supported in the development version of LibreLane, specifically 3.0.0.dev28 or higher."
|
|
526
|
-
)
|
|
527
|
-
info(
|
|
528
|
-
"If you're using Nix, switch to the 'dev' branch. If you're using the Python package, run \"python3 -m pip install 'librelane>=3.0.0.dev28'\"."
|
|
529
|
-
)
|
|
530
|
-
exit(1)
|
|
531
|
-
|
|
532
523
|
try:
|
|
533
524
|
version = ciel.fetch(
|
|
534
525
|
ciel_home,
|
|
@@ -12,6 +12,21 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
crashbackups disable
|
|
16
|
+
|
|
17
|
+
# Read in maglef views in order to blackbox cells
|
|
18
|
+
if { [info exists ::env(MAGIC_DRC_MAGLEFS)] } {
|
|
19
|
+
foreach {maglef} $::env(MAGIC_DRC_MAGLEFS) {
|
|
20
|
+
puts "Loading maglef view: $maglef"
|
|
21
|
+
load $maglef
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# Enable gds noduplicates to ignore cells
|
|
26
|
+
# that have been previously loaded as maglef
|
|
27
|
+
gds noduplicates true
|
|
28
|
+
gds readonly true
|
|
29
|
+
|
|
15
30
|
# Flatten cells
|
|
16
31
|
if { [info exists ::env(MAGIC_GDS_FLATGLOB)] } {
|
|
17
32
|
foreach {gds_flatglob} $::env(MAGIC_GDS_FLATGLOB) {
|
|
@@ -408,6 +408,11 @@ class DRC(MagicStep):
|
|
|
408
408
|
Optional[List[str]],
|
|
409
409
|
"Flatten cells by name pattern on input. May be used to avoid false positive DRC errors. The strings may use standard shell-type glob patterns, with * for any length string match, ? for any single character match, \\ for special characters, and [] for matching character sets or ranges.",
|
|
410
410
|
),
|
|
411
|
+
Variable(
|
|
412
|
+
"MAGIC_DRC_MAGLEFS",
|
|
413
|
+
Optional[List[Path]],
|
|
414
|
+
"A list of pre-processed abstract LEF views for cells. They are read in before the design and act as blackboxes during DRC.",
|
|
415
|
+
),
|
|
411
416
|
]
|
|
412
417
|
|
|
413
418
|
def get_script_path(self):
|
|
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.dev42 → librelane-3.0.0.dev44}/librelane/examples/hold_eco_demo/config.yaml
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
|
|
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.dev42 → librelane-3.0.0.dev44}/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.dev42 → librelane-3.0.0.dev44}/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
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/magic/gds/mag_with_pointers.tcl
RENAMED
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/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.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/apply_def_template.py
RENAMED
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/check_antenna_properties.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/disconnected_pins.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/filter_unannotated.py
RENAMED
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/odbpy/ioplace_parser/__init__.py
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/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.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/antenna_check.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/antenna_repair.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/dpl_cell_pad.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/pdn_cfg.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/resizer.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/common/set_power_nets.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/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.dev42 → librelane-3.0.0.dev44}/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.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/repair_design.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/repair_design_postgrt.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/librelane/scripts/openroad/rsz_timing_postcts.tcl
RENAMED
|
File without changes
|
{librelane-3.0.0.dev42 → librelane-3.0.0.dev44}/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.dev42 → librelane-3.0.0.dev44}/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
|