librelane 3.0.7__tar.gz → 3.0.8__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.7 → librelane-3.0.8}/PKG-INFO +1 -1
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/pyosys/synthesize.py +7 -4
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/pyosys/ys_common.py +32 -5
- {librelane-3.0.7 → librelane-3.0.8}/pyproject.toml +1 -1
- {librelane-3.0.7 → librelane-3.0.8}/Readme.md +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/__main__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/__version__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/cli.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/drc.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/generic_dict.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/metrics/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/metrics/__main__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/metrics/compare.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/metrics/library.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/metrics/metric.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/metrics/util.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/misc.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/ring_buffer.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/tcl.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/toolbox.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/tpe.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/common/types.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/__main__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/config.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/flow.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/pdk_compat.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/preprocessor.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/removals.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/config/variable.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/container.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/env_info.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/hold_eco_demo/config.yaml +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/hold_eco_demo/demo.v +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm/config.yaml +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm/pin_order.cfg +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm/src/impl.sdc +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm/src/signoff.sdc +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm/src/spm.v +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm/verify/spm_tb.v +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/SPM_example.v +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/base_sdc_file.sdc +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/config-tut.json +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/config.json +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/defines.v +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/template.def +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/user_project_wrapper.v +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/builtins.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/chip.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/classic.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/cli.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/flow.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/misc.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/optimizing.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/sequential.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/flows/synth_explore.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/help/__main__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/logging/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/logging/logger.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/pdk_hashes.yaml +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/plugins.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/py.typed +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/base.sdc +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/Readme.md +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/insert_cell.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/open_design.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/render.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/stream_out.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/xml_drc_report_to_json.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/klayout/xor.drc +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/Readme.md +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/common/read.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/def/antenna_check.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/def/mag.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/def/mag_gds.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/drc.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/extract_spice.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/gds/drc_batch.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/gds/erase_box.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/gds/extras_mag.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/gds/mag_with_pointers.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/get_bbox.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/lef/extras_maglef.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/lef/maglef.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/lef.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/open.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/spice_rcx.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/magic/wrapper.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/netgen/setup.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/apply_def_template.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/cell_frequency.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/check_antenna_properties.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/contextualize.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/defutil.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/diodes.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/disconnected_pins.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/eco_buffer.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/eco_diode.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/filter_unannotated.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/io_place.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/ioplace_parser/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/ioplace_parser/parse.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/label_macro_pins.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/lefutil.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/placers.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/power_utils.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/random_place.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/reader.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/remove_buffers.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/snap_to_grid.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/odbpy/wire_lengths.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/antenna_check.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/antenna_repair.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/buffer_list.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/dpl.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/dpl_cell_pad.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/grt.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/io.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/pad_cfg.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/pdn_cfg.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/resizer.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_global_connections.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_layer_adjustments.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_power_nets.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_rc.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_routing_layers.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/cts.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/cut_rows.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/dpl.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/drt.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/dump_rc.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/fill.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/floorplan.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/gpl.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/grt.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/gui.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/insert_buffer.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/ioplacer.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/irdrop.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/pad.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/pdn.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/rcx.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/repair_design.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/repair_design_postgrt.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/rsz_timing_postcts.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/rsz_timing_postgrt.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/sta/check_macro_instances.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/sta/corner.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/tapcell.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/ungpl.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/write_cdl.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/write_views.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/pyosys/construct_abc_script.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/pyosys/json_header.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/tclsh/hello.tcl +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/state/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/state/__main__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/state/design_format.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/state/state.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/__init__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/__main__.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/checker.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/common_variables.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/klayout.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/magic.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/misc.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/netgen.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/odb.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/openroad.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/openroad_alerts.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/pyosys.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/step.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/tclstep.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/verilator.py +0 -0
- {librelane-3.0.7 → librelane-3.0.8}/librelane/steps/yosys.py +0 -0
|
@@ -38,7 +38,7 @@ from typing import List, Optional
|
|
|
38
38
|
|
|
39
39
|
import click
|
|
40
40
|
|
|
41
|
-
from ys_common import ys
|
|
41
|
+
from ys_common import ys, yosys_version_at_least
|
|
42
42
|
from construct_abc_script import ABCScriptCreator
|
|
43
43
|
|
|
44
44
|
|
|
@@ -225,9 +225,12 @@ def librelane_synth(
|
|
|
225
225
|
librelane_opt(d, fast=True)
|
|
226
226
|
librelane_opt(d, fast=True)
|
|
227
227
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
228
|
+
abc_pass = ["abc"]
|
|
229
|
+
if not yosys_version_at_least(0, 68):
|
|
230
|
+
abc_pass.append("-fast")
|
|
231
|
+
if abc_dff:
|
|
232
|
+
abc_pass.append("-dff")
|
|
233
|
+
d.run_pass(*abc_pass)
|
|
231
234
|
d.run_pass("opt", "-fast") # MORE fast optimization
|
|
232
235
|
|
|
233
236
|
# Checks and Stats
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
# See the License for the specific language governing permissions and
|
|
17
17
|
# limitations under the License.
|
|
18
18
|
import os
|
|
19
|
+
import re
|
|
19
20
|
import sys
|
|
20
|
-
from typing import Iterable, List, Union
|
|
21
|
+
from typing import Iterable, List, Optional, Tuple, Union
|
|
21
22
|
|
|
22
23
|
try:
|
|
23
24
|
from pyosys import libyosys as ys
|
|
@@ -26,15 +27,41 @@ except ImportError:
|
|
|
26
27
|
# flake8: noqa F401
|
|
27
28
|
import libyosys
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
print(
|
|
31
|
+
"Current versions of LibreLane require Yosys 0.59.1 or higher.",
|
|
32
|
+
file=sys.stderr,
|
|
33
|
+
)
|
|
30
34
|
exit(-1)
|
|
31
35
|
except ImportError:
|
|
32
|
-
|
|
36
|
+
print(
|
|
33
37
|
"Failed to import pyosys -- make sure Yosys is compiled with ENABLE_PYTHON set to 1.",
|
|
34
38
|
file=sys.stderr,
|
|
35
39
|
)
|
|
36
40
|
exit(-1)
|
|
37
41
|
|
|
42
|
+
_yosys_version_extracted: Optional[Tuple[int, int]] = None
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def yosys_version_at_least(*target: Tuple[int, ...]) -> Tuple[int, int]:
|
|
46
|
+
"""
|
|
47
|
+
check if version is >= the target components, i.e.
|
|
48
|
+
|
|
49
|
+
yosys_version_at_least(0, 68) checks if the verison >= 0.68
|
|
50
|
+
"""
|
|
51
|
+
global _yosys_version_extracted
|
|
52
|
+
yosys_version_rx = re.compile(r"^\s*Yosys (\d+)\.(\d+)")
|
|
53
|
+
if _yosys_version_extracted is None:
|
|
54
|
+
_yosys_version_extracted = (999, 999)
|
|
55
|
+
try:
|
|
56
|
+
match = yosys_version_rx.search(ys.Globals.yosys_version_str)
|
|
57
|
+
_yosys_version_extracted = (int(match.group(1)), int(match.group(2)))
|
|
58
|
+
except Exception:
|
|
59
|
+
ys.log_warning(
|
|
60
|
+
"Could not identify Yosys version. "
|
|
61
|
+
"Defaulting to the latest version's behavior on all code.\n"
|
|
62
|
+
)
|
|
63
|
+
return _yosys_version_extracted >= target
|
|
64
|
+
|
|
38
65
|
|
|
39
66
|
def _Design_run_pass(self, *command):
|
|
40
67
|
ys.Pass.call(self, command)
|
|
@@ -71,9 +98,9 @@ def _Design_read_verilog_files(
|
|
|
71
98
|
chparams[param] = value
|
|
72
99
|
slang_chparam_args.append(f"-G{param}={value}")
|
|
73
100
|
|
|
74
|
-
ys.log("use_slang" if use_slang else "wtaf")
|
|
75
101
|
if use_slang:
|
|
76
|
-
|
|
102
|
+
if not yosys_version_at_least(0, 67):
|
|
103
|
+
self.run_pass("plugin", "-i", "slang")
|
|
77
104
|
self.run_pass(
|
|
78
105
|
"read_slang",
|
|
79
106
|
"--top",
|
|
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.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/SPM_example.v
RENAMED
|
File without changes
|
{librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/base_sdc_file.sdc
RENAMED
|
File without changes
|
{librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/config-tut.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.7 → librelane-3.0.8}/librelane/examples/spm-user_project_wrapper/template.def
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
|
|
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.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_global_connections.tcl
RENAMED
|
File without changes
|
{librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_layer_adjustments.tcl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{librelane-3.0.7 → librelane-3.0.8}/librelane/scripts/openroad/common/set_routing_layers.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
|
|
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.7 → librelane-3.0.8}/librelane/scripts/openroad/sta/check_macro_instances.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
|
|
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
|