librelane 3.0.0.dev33__tar.gz → 3.0.0.dev34__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.

Files changed (172) hide show
  1. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/PKG-INFO +1 -1
  2. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/extract_spice.tcl +4 -2
  3. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/magic.py +9 -6
  4. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/pyproject.toml +1 -1
  5. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/Readme.md +0 -0
  6. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/__init__.py +0 -0
  7. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/__main__.py +0 -0
  8. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/__version__.py +0 -0
  9. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/__init__.py +0 -0
  10. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/cli.py +0 -0
  11. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/drc.py +0 -0
  12. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/generic_dict.py +0 -0
  13. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/metrics/__init__.py +0 -0
  14. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/metrics/__main__.py +0 -0
  15. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/metrics/library.py +0 -0
  16. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/metrics/metric.py +0 -0
  17. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/metrics/util.py +0 -0
  18. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/misc.py +0 -0
  19. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/ring_buffer.py +0 -0
  20. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/tcl.py +0 -0
  21. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/toolbox.py +0 -0
  22. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/tpe.py +0 -0
  23. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/common/types.py +0 -0
  24. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/__init__.py +0 -0
  25. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/__main__.py +0 -0
  26. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/config.py +0 -0
  27. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/flow.py +0 -0
  28. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/pdk_compat.py +0 -0
  29. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/preprocessor.py +0 -0
  30. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/removals.py +0 -0
  31. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/config/variable.py +0 -0
  32. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/container.py +0 -0
  33. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/env_info.py +0 -0
  34. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm/config.yaml +0 -0
  35. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm/pin_order.cfg +0 -0
  36. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm/src/impl.sdc +0 -0
  37. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm/src/signoff.sdc +0 -0
  38. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm/src/spm.v +0 -0
  39. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm/verify/spm_tb.v +0 -0
  40. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/SPM_example.v +0 -0
  41. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/base_sdc_file.sdc +0 -0
  42. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/config-tut.json +0 -0
  43. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/config.json +0 -0
  44. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/defines.v +0 -0
  45. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/template.def +0 -0
  46. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/examples/spm-user_project_wrapper/user_project_wrapper.v +0 -0
  47. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/__init__.py +0 -0
  48. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/builtins.py +0 -0
  49. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/classic.py +0 -0
  50. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/cli.py +0 -0
  51. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/flow.py +0 -0
  52. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/misc.py +0 -0
  53. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/optimizing.py +0 -0
  54. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/sequential.py +0 -0
  55. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/flows/synth_explore.py +0 -0
  56. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/help/__main__.py +0 -0
  57. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/logging/__init__.py +0 -0
  58. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/logging/logger.py +0 -0
  59. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/pdk_hashes.yaml +0 -0
  60. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/plugins.py +0 -0
  61. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/py.typed +0 -0
  62. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/base.sdc +0 -0
  63. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/klayout/Readme.md +0 -0
  64. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/klayout/open_design.py +0 -0
  65. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/klayout/render.py +0 -0
  66. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/klayout/stream_out.py +0 -0
  67. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/klayout/xml_drc_report_to_json.py +0 -0
  68. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/klayout/xor.drc +0 -0
  69. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/Readme.md +0 -0
  70. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/common/read.tcl +0 -0
  71. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/def/antenna_check.tcl +0 -0
  72. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/def/mag.tcl +0 -0
  73. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/def/mag_gds.tcl +0 -0
  74. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/drc.tcl +0 -0
  75. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/gds/drc_batch.tcl +0 -0
  76. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/gds/erase_box.tcl +0 -0
  77. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/gds/extras_mag.tcl +0 -0
  78. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/gds/mag_with_pointers.tcl +0 -0
  79. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/get_bbox.tcl +0 -0
  80. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/lef/extras_maglef.tcl +0 -0
  81. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/lef/maglef.tcl +0 -0
  82. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/lef.tcl +0 -0
  83. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/open.tcl +0 -0
  84. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/magic/wrapper.tcl +0 -0
  85. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/netgen/setup.tcl +0 -0
  86. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/apply_def_template.py +0 -0
  87. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/cell_frequency.py +0 -0
  88. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/check_antenna_properties.py +0 -0
  89. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/contextualize.py +0 -0
  90. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/defutil.py +0 -0
  91. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/diodes.py +0 -0
  92. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/disconnected_pins.py +0 -0
  93. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/eco_buffer.py +0 -0
  94. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/eco_diode.py +0 -0
  95. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/filter_unannotated.py +0 -0
  96. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/io_place.py +0 -0
  97. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/ioplace_parser/__init__.py +0 -0
  98. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/ioplace_parser/parse.py +0 -0
  99. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/label_macro_pins.py +0 -0
  100. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/lefutil.py +0 -0
  101. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/placers.py +0 -0
  102. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/power_utils.py +0 -0
  103. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/random_place.py +0 -0
  104. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/reader.py +0 -0
  105. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/remove_buffers.py +0 -0
  106. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/snap_to_grid.py +0 -0
  107. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/odbpy/wire_lengths.py +0 -0
  108. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/antenna_check.tcl +0 -0
  109. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/antenna_repair.tcl +0 -0
  110. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/basic_mp.tcl +0 -0
  111. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/buffer_list.tcl +0 -0
  112. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/dpl.tcl +0 -0
  113. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/dpl_cell_pad.tcl +0 -0
  114. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/grt.tcl +0 -0
  115. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/io.tcl +0 -0
  116. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/pdn_cfg.tcl +0 -0
  117. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/resizer.tcl +0 -0
  118. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/set_global_connections.tcl +0 -0
  119. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/set_layer_adjustments.tcl +0 -0
  120. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/set_power_nets.tcl +0 -0
  121. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/set_rc.tcl +0 -0
  122. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/common/set_routing_layers.tcl +0 -0
  123. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/cts.tcl +0 -0
  124. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/cut_rows.tcl +0 -0
  125. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/dpl.tcl +0 -0
  126. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/drt.tcl +0 -0
  127. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/dump_rc.tcl +0 -0
  128. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/fill.tcl +0 -0
  129. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/floorplan.tcl +0 -0
  130. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/gpl.tcl +0 -0
  131. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/grt.tcl +0 -0
  132. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/gui.tcl +0 -0
  133. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/insert_buffer.tcl +0 -0
  134. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/ioplacer.tcl +0 -0
  135. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/irdrop.tcl +0 -0
  136. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/pdn.tcl +0 -0
  137. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/rcx.tcl +0 -0
  138. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/repair_design.tcl +0 -0
  139. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/repair_design_postgrt.tcl +0 -0
  140. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/rsz_timing_postcts.tcl +0 -0
  141. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/rsz_timing_postgrt.tcl +0 -0
  142. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/sta/check_macro_instances.tcl +0 -0
  143. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/sta/corner.tcl +0 -0
  144. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/tapcell.tcl +0 -0
  145. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/ungpl.tcl +0 -0
  146. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/write_cdl.tcl +0 -0
  147. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/openroad/write_views.tcl +0 -0
  148. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/pyosys/construct_abc_script.py +0 -0
  149. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/pyosys/json_header.py +0 -0
  150. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/pyosys/synthesize.py +0 -0
  151. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/pyosys/ys_common.py +0 -0
  152. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/scripts/tclsh/hello.tcl +0 -0
  153. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/state/__init__.py +0 -0
  154. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/state/__main__.py +0 -0
  155. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/state/design_format.py +0 -0
  156. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/state/state.py +0 -0
  157. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/__init__.py +0 -0
  158. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/__main__.py +0 -0
  159. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/checker.py +0 -0
  160. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/common_variables.py +0 -0
  161. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/cvc_rv.py +0 -0
  162. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/klayout.py +0 -0
  163. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/misc.py +0 -0
  164. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/netgen.py +0 -0
  165. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/odb.py +0 -0
  166. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/openroad.py +0 -0
  167. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/openroad_alerts.py +0 -0
  168. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/pyosys.py +0 -0
  169. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/step.py +0 -0
  170. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/tclstep.py +0 -0
  171. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/verilator.py +0 -0
  172. {librelane-3.0.0.dev33 → librelane-3.0.0.dev34}/librelane/steps/yosys.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: librelane
3
- Version: 3.0.0.dev33
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
@@ -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
 
@@ -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",
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "librelane"
3
- version = "3.0.0.dev33"
3
+ version = "3.0.0.dev34"
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