librelane 3.0.0.dev32__py3-none-any.whl → 3.0.0.dev34__py3-none-any.whl

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.

@@ -79,9 +79,11 @@ extract no capacitance
79
79
  extract no coupling
80
80
  extract no resistance
81
81
  extract no adjust
82
- if { ! $::env(MAGIC_NO_EXT_UNIQUE) } {
83
- extract unique
82
+
83
+ if { $::env(MAGIC_EXT_UNIQUE) != "none" } {
84
+ extract unique $::env(MAGIC_EXT_UNIQUE)
84
85
  }
86
+
85
87
  # extract warn all
86
88
  extract
87
89
 
@@ -63,6 +63,7 @@ def json_header(
63
63
  includes=includes,
64
64
  defines=defines,
65
65
  use_slang=config["USE_SLANG"],
66
+ slang_arguments=config["SLANG_ARGUMENTS"] or [],
66
67
  )
67
68
  d.run_pass(
68
69
  "hierarchy",
@@ -263,6 +263,7 @@ def synthesize(
263
263
  includes=includes,
264
264
  defines=defines,
265
265
  use_slang=False,
266
+ slang_arguments=[],
266
267
  )
267
268
  elif verilog_files := config.get("VERILOG_FILES"):
268
269
  d.read_verilog_files(
@@ -272,6 +273,7 @@ def synthesize(
272
273
  includes=includes,
273
274
  defines=defines,
274
275
  use_slang=config["USE_SLANG"],
276
+ slang_arguments=config["SLANG_ARGUMENTS"] or [],
275
277
  )
276
278
  elif vhdl_files := config.get("VHDL_FILES"):
277
279
  d.run_pass("plugin", "-i", "ghdl")
@@ -51,6 +51,7 @@ def _Design_read_verilog_files(
51
51
  includes: Iterable[str],
52
52
  defines: Iterable[str],
53
53
  use_slang: bool = False,
54
+ slang_arguments: Iterable[str],
54
55
  ):
55
56
  files = list(files) # for easier concatenation
56
57
  include_args = [f"-I{dir}" for dir in includes]
@@ -72,6 +73,7 @@ def _Design_read_verilog_files(
72
73
  *define_args,
73
74
  *include_args,
74
75
  *slang_chparam_args,
76
+ *slang_arguments,
75
77
  *files,
76
78
  )
77
79
  else:
librelane/steps/magic.py CHANGED
@@ -458,15 +458,18 @@ class SpiceExtraction(MagicStep):
458
458
  Variable(
459
459
  "MAGIC_EXT_ABSTRACT_CELLS",
460
460
  Optional[List[str]],
461
- "A list of regular experssions which are matched against the cells of a "
461
+ "A list of regular expressions which are matched against the cells of a "
462
462
  + "the design. Matches are abstracted (black-boxed) during SPICE extraction.",
463
463
  ),
464
464
  Variable(
465
- "MAGIC_NO_EXT_UNIQUE",
466
- bool,
467
- "Enables connections by label in LVS by skipping `extract unique` in Magic extractions.",
468
- default=False,
469
- deprecated_names=["LVS_CONNECT_BY_LABEL"],
465
+ "MAGIC_EXT_UNIQUE",
466
+ Literal["all", "notopports", "noports", "none"],
467
+ 'Runs `extract unique` with the specified option. The default is "all", and "none" disables `extract unique`, allowing connections between separate nets by label in LVS.',
468
+ default="all",
469
+ deprecated_names=[
470
+ ("MAGIC_NO_EXT_UNIQUE", lambda o: "none" if o else "all"),
471
+ ("LVS_CONNECT_BY_LABEL", lambda o: "none" if o else "all"),
472
+ ],
470
473
  ),
471
474
  Variable(
472
475
  "MAGIC_EXT_SHORT_RESISTOR",
librelane/steps/pyosys.py CHANGED
@@ -128,6 +128,11 @@ verilog_rtl_cfg_vars = [
128
128
  default=False,
129
129
  deprecated_names=["USE_SYNLIG"],
130
130
  ),
131
+ Variable(
132
+ "SLANG_ARGUMENTS",
133
+ Optional[List[str]],
134
+ "Pass arguments to the Slang frontend.",
135
+ ),
131
136
  ]
132
137
 
133
138
  DesignFormat(
@@ -439,7 +444,7 @@ class SynthesisCommon(VerilogStep):
439
444
  Variable(
440
445
  "SYNTH_HIERARCHY_MODE",
441
446
  Literal["flatten", "deferred_flatten", "keep"],
442
- "Affects how hierarchy is maintained throughout and after synthesis. 'flatten' flattens it during and after synthesis. 'deferred_flatten' flattens it after synthesis. 'keep' never flattens it.",
447
+ "Affects how hierarchy is maintained throughout and after synthesis. 'flatten' flattens it during and after synthesis. 'deferred_flatten' flattens it after synthesis. 'keep' never flattens it. Please note that when using the Slang plugin, you need to pass '--keep-hierarchy' to `SLANG_ARGUMENTS` separately.",
443
448
  default="flatten",
444
449
  deprecated_names=[
445
450
  (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: librelane
3
- Version: 3.0.0.dev32
3
+ Version: 3.0.0.dev34
4
4
  Summary: An infrastructure for implementing chip design flows
5
5
  Home-page: https://github.com/librelane/librelane
6
6
  License: Apache-2.0
@@ -67,7 +67,7 @@ librelane/scripts/magic/def/antenna_check.tcl,sha256=T_r1CWgySFVlLMcoTrNXQ_aMRs_
67
67
  librelane/scripts/magic/def/mag.tcl,sha256=PuL3MH6pmZP5Qh2cJ0GygWNzaYjdCSCoAbOli-JB4fs,707
68
68
  librelane/scripts/magic/def/mag_gds.tcl,sha256=fwtQR9zPZpWqVmmLb-1hzY4WMCr4gbA3S0pTZsS9sss,2144
69
69
  librelane/scripts/magic/drc.tcl,sha256=gPGyI96lR10dJXcJACajzHaHiT6ayAYPJqrmmuQkABc,2395
70
- librelane/scripts/magic/extract_spice.tcl,sha256=-jDxVEGddch1YZLZXW1vFXhdLkeTjxk0d8eU1tBMBWc,2788
70
+ librelane/scripts/magic/extract_spice.tcl,sha256=2NjDFbqRfTsWhD1s-NGcDr8e4o3Ejg-4vCEoLt22RCc,2820
71
71
  librelane/scripts/magic/gds/drc_batch.tcl,sha256=O76rwxSrQgoCuoxk36tRBZkQaeMfJknlHrQA3mtU2JU,2198
72
72
  librelane/scripts/magic/gds/erase_box.tcl,sha256=wsVSwMlkZFJa_MEGNsdXLnXFvjZlrl_lzIWkJjcDBgg,929
73
73
  librelane/scripts/magic/gds/extras_mag.tcl,sha256=1raG0URUezUDEKkdDeJqdlS0Y5gb4IzQFnjFysHHlmU,1304
@@ -142,9 +142,9 @@ librelane/scripts/openroad/ungpl.tcl,sha256=vhHxou1W3VROwJePoQzmWn0h0d5lQrrt1vof
142
142
  librelane/scripts/openroad/write_cdl.tcl,sha256=uPO1IROPTr5NrW0-VZA8tXQD8aseGeXDXDsU8TX-9nQ,460
143
143
  librelane/scripts/openroad/write_views.tcl,sha256=-MxTJsB4EF7l5trDaZe-VBFjhfzqRt8F5_DZrADTs0U,892
144
144
  librelane/scripts/pyosys/construct_abc_script.py,sha256=3CCDz5ZTEPpWLco-OvikTmn361-BNitqjQE_-5zHm14,6733
145
- librelane/scripts/pyosys/json_header.py,sha256=gKla0V4tFhF5fR-zzudrTr6TjpqkV3c69PWk1fVfMgg,2332
146
- librelane/scripts/pyosys/synthesize.py,sha256=soDbOObGdCix3zDUQFIF6FvZn6_mT_GonkvH5exGQiA,16927
147
- librelane/scripts/pyosys/ys_common.py,sha256=t5LLEYoy4cfCIeEaAo8Nr51rXtlI8ZPe1h_kSbrky5M,3891
145
+ librelane/scripts/pyosys/json_header.py,sha256=fbHPjUkTQHKbdGPh7P1jZjip3nat4k8oSD1N7rpXxFk,2389
146
+ librelane/scripts/pyosys/synthesize.py,sha256=5BlgXK5gfJWv9E8ki9UXUDLxlfKoGwXgqjdDMiPrms8,17020
147
+ librelane/scripts/pyosys/ys_common.py,sha256=r9BQ7j8gN6sgJM9nC3QPNZcZX10m_PF8We4S93qZ5w0,3957
148
148
  librelane/scripts/tclsh/hello.tcl,sha256=kkR3akY7QnGHYXsQODYwLkMkUEOgWcNFtzaMTTEV2bY,34
149
149
  librelane/state/__init__.py,sha256=DZ_RyKMr2oj4p5d32u8MmDKfCxR7OEdDw-1HWKTpatA,949
150
150
  librelane/state/__main__.py,sha256=Ici4Ejg1ICUZNSYZRguC3BfEk_wFxsmE0ag0Vv8iY1I,1679
@@ -156,18 +156,18 @@ librelane/steps/checker.py,sha256=HD5YFPAbHQKsFmBDrIAbo_0clZcCszNhIXb4lHaNIeQ,21
156
156
  librelane/steps/common_variables.py,sha256=eih2eA1m0FpL8ydF5WWattwh_SxtzI55eb8gggJtBuY,12494
157
157
  librelane/steps/cvc_rv.py,sha256=qeroQPjidSAMYSp3nJNiQBYt8V73kkz3JK97uioo7J8,5294
158
158
  librelane/steps/klayout.py,sha256=18B7trKjyD8HnGUVwrjQV8XRzGu298CuosM1WOzg9oM,23255
159
- librelane/steps/magic.py,sha256=m4cZH2VomJs0RudtV8avSaZVqRj1NP7Pm2P6qo2z2X0,20919
159
+ librelane/steps/magic.py,sha256=Cc_qApOgeltIn7lKA7dBQ4Ud9EQtbMatsuGPEvqvpcQ,21183
160
160
  librelane/steps/misc.py,sha256=8ubCvFeFEspXrgnzNWINY5-TXTyalNtlvcX8TSw0qdg,5685
161
161
  librelane/steps/netgen.py,sha256=R9sDWv-9wKMdi2rkuLQdOc4uLlbYhXcKKd6WsZsnLt0,8953
162
162
  librelane/steps/odb.py,sha256=-zsXi0jVdtfBfAJI0OC4x1jI_B2OX5YVn4uAn6NyFdk,38424
163
163
  librelane/steps/openroad.py,sha256=hgpqsVQi7tFRlj75zefQkD3Vdmq21ubZAFWyU12WxUg,99586
164
164
  librelane/steps/openroad_alerts.py,sha256=IJyB4piBDCKXhkJswHGMYCRDwbdQsR0GZlrGGDhmW6Q,3364
165
- librelane/steps/pyosys.py,sha256=LY7qqxkhjfoyBBR7vdkm7ylabbxMJDwIoYm7mAUbLVY,23348
165
+ librelane/steps/pyosys.py,sha256=BzTUYCFxXJWtHqPtEPAztoWNLbDWvECWnsWVdK_lljU,23589
166
166
  librelane/steps/step.py,sha256=THIxZkhtkNYt1iRgMduD0ywrOTCaV7cCfUB2EqXN6-k,55751
167
167
  librelane/steps/tclstep.py,sha256=68AjCmbLhBscbzQDxRcPQVU-6UvZQNOalO7qNwUXCa4,10138
168
168
  librelane/steps/verilator.py,sha256=MWx2TpLqYyea9_jSeLG9c2S5ujvYERQZRFNaMhfHxZE,7916
169
169
  librelane/steps/yosys.py,sha256=lYdZPFvjcmdu_NE6rtB94_dysIK2qwGdGb480W6pg2w,12711
170
- librelane-3.0.0.dev32.dist-info/METADATA,sha256=djo0K7TzkitmcNUdzjBIlZyhud9u389_OeTWGcmdyjk,6561
171
- librelane-3.0.0.dev32.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
172
- librelane-3.0.0.dev32.dist-info/entry_points.txt,sha256=0eZs2NOH-w-W_GVRCs-ualst26XplkPpJkOnGWMaFw0,306
173
- librelane-3.0.0.dev32.dist-info/RECORD,,
170
+ librelane-3.0.0.dev34.dist-info/METADATA,sha256=qoArrX0bEBJJAvuN8-edEBPE33CRzB_XIie0ZtGxTJo,6561
171
+ librelane-3.0.0.dev34.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
172
+ librelane-3.0.0.dev34.dist-info/entry_points.txt,sha256=0eZs2NOH-w-W_GVRCs-ualst26XplkPpJkOnGWMaFw0,306
173
+ librelane-3.0.0.dev34.dist-info/RECORD,,