librelane 2.4.0.dev5__py3-none-any.whl → 2.4.0.dev7__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.
- librelane/common/generic_dict.py +1 -1
- librelane/scripts/openroad/gui.tcl +3 -1
- librelane/steps/openroad.py +36 -16
- {librelane-2.4.0.dev5.dist-info → librelane-2.4.0.dev7.dist-info}/METADATA +4 -5
- {librelane-2.4.0.dev5.dist-info → librelane-2.4.0.dev7.dist-info}/RECORD +7 -7
- {librelane-2.4.0.dev5.dist-info → librelane-2.4.0.dev7.dist-info}/WHEEL +0 -0
- {librelane-2.4.0.dev5.dist-info → librelane-2.4.0.dev7.dist-info}/entry_points.txt +0 -0
librelane/common/generic_dict.py
CHANGED
|
@@ -69,7 +69,7 @@ VT = TypeVar("VT")
|
|
|
69
69
|
|
|
70
70
|
class GenericDict(Mapping[KT, VT]):
|
|
71
71
|
"""
|
|
72
|
-
A dictionary with generic keys and values that is compatible with Python 3.8.
|
|
72
|
+
A dictionary with generic keys and values that is compatible with Python 3.8.1.
|
|
73
73
|
|
|
74
74
|
:param copying: A base Mapping object to copy values from.
|
|
75
75
|
:param overrides: Another mapping object to override the value from `copying`
|
librelane/steps/openroad.py
CHANGED
|
@@ -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");
|
|
@@ -15,7 +19,6 @@ import io
|
|
|
15
19
|
import os
|
|
16
20
|
import re
|
|
17
21
|
import json
|
|
18
|
-
import tempfile
|
|
19
22
|
import functools
|
|
20
23
|
import subprocess
|
|
21
24
|
from enum import Enum
|
|
@@ -2414,30 +2417,47 @@ class DEFtoODB(OpenROADStep):
|
|
|
2414
2417
|
|
|
2415
2418
|
|
|
2416
2419
|
@Step.factory.register()
|
|
2417
|
-
class OpenGUI(
|
|
2420
|
+
class OpenGUI(OpenSTAStep):
|
|
2418
2421
|
"""
|
|
2419
2422
|
Opens the ODB view in the OpenROAD GUI. Useful to inspect some parameters,
|
|
2420
|
-
such as routing density and whatnot.
|
|
2423
|
+
such as routing density, timing paths, clock tree and whatnot.
|
|
2424
|
+
The LIBs are loaded by default and the SPEFs if available.
|
|
2421
2425
|
"""
|
|
2422
2426
|
|
|
2423
2427
|
id = "OpenROAD.OpenGUI"
|
|
2424
2428
|
name = "Open In GUI"
|
|
2425
2429
|
|
|
2426
|
-
inputs = [
|
|
2430
|
+
inputs = [
|
|
2431
|
+
DesignFormat.ODB,
|
|
2432
|
+
DesignFormat.SPEF.mkOptional(),
|
|
2433
|
+
]
|
|
2427
2434
|
outputs = []
|
|
2428
2435
|
|
|
2436
|
+
def get_script_path(self) -> str:
|
|
2437
|
+
return os.path.join(get_script_dir(), "openroad", "gui.tcl")
|
|
2438
|
+
|
|
2439
|
+
def get_command(self) -> List[str]:
|
|
2440
|
+
return [
|
|
2441
|
+
"openroad",
|
|
2442
|
+
"-no_splash",
|
|
2443
|
+
"-gui",
|
|
2444
|
+
self.get_script_path(),
|
|
2445
|
+
]
|
|
2446
|
+
|
|
2429
2447
|
def run(self, state_in: State, **kwargs) -> Tuple[ViewsUpdate, MetricsUpdate]:
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2448
|
+
kwargs, env = self.extract_env(kwargs)
|
|
2449
|
+
|
|
2450
|
+
corner_name, file_list = self._get_corner_files(prioritize_nl=True)
|
|
2451
|
+
file_list.set_env(env)
|
|
2452
|
+
env["_CURRENT_CORNER_NAME"] = corner_name
|
|
2453
|
+
|
|
2454
|
+
env = self.prepare_env(env, state_in)
|
|
2455
|
+
|
|
2456
|
+
command = self.get_command()
|
|
2457
|
+
self.run_subprocess(
|
|
2458
|
+
command,
|
|
2459
|
+
env=env,
|
|
2460
|
+
**kwargs,
|
|
2461
|
+
)
|
|
2442
2462
|
|
|
2443
2463
|
return {}, {}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: librelane
|
|
3
|
-
Version: 2.4.0.
|
|
3
|
+
Version: 2.4.0.dev7
|
|
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
|
|
7
7
|
Author: Mohamed Gaber
|
|
8
8
|
Author-email: me@donn.website
|
|
9
|
-
Requires-Python: >=3.8,<4
|
|
9
|
+
Requires-Python: >=3.8.1,<4
|
|
10
10
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -36,7 +35,7 @@ Description-Content-Type: text/markdown
|
|
|
36
35
|
<h1 align="center">LibreLane</h1>
|
|
37
36
|
<p align="center">
|
|
38
37
|
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0"/></a>
|
|
39
|
-
<a href="https://www.python.org"><img src="https://img.shields.io/badge/Python-3.8-3776AB.svg?style=flat&logo=python&logoColor=white" alt="Python 3.8 or higher" /></a>
|
|
38
|
+
<a href="https://www.python.org"><img src="https://img.shields.io/badge/Python-3.8-3776AB.svg?style=flat&logo=python&logoColor=white" alt="Python 3.8.1 or higher" /></a>
|
|
40
39
|
<a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code Style: black"/></a>
|
|
41
40
|
<a href="https://mypy-lang.org/"><img src="https://www.mypy-lang.org/static/mypy_badge.svg" alt="Checked with mypy"/></a>
|
|
42
41
|
<a href="https://nixos.org/"><img src="https://img.shields.io/static/v1?logo=nixos&logoColor=white&label=&message=Built%20with%20Nix&color=41439a" alt="Built with Nix"/></a>
|
|
@@ -73,7 +72,7 @@ Colaboratory by following
|
|
|
73
72
|
|
|
74
73
|
You'll need the following:
|
|
75
74
|
|
|
76
|
-
* Python **3.8** or higher with PIP, Venv and Tkinter
|
|
75
|
+
* Python **3.8.1** or higher with PIP, Venv and Tkinter
|
|
77
76
|
|
|
78
77
|
### Nix (Recommended)
|
|
79
78
|
|
|
@@ -4,7 +4,7 @@ librelane/__version__.py,sha256=dbE4stCACDmIoxgKksesAkTa-_hi5dW6nPLWw9Pfq3Q,1486
|
|
|
4
4
|
librelane/common/__init__.py,sha256=LrzxjZKJu3-i8oEYdXtV1IxkXicHtoSUNRcOGrGVGsw,1516
|
|
5
5
|
librelane/common/cli.py,sha256=xi48GBGHRsYrLGwx40ARwpykHx7GnuHbJjHxjOwtZ5Y,2349
|
|
6
6
|
librelane/common/drc.py,sha256=2N5jPbM0cxnOj2Kci2AhHTTgHcynTtkV118ii3kq7IU,9603
|
|
7
|
-
librelane/common/generic_dict.py,sha256=
|
|
7
|
+
librelane/common/generic_dict.py,sha256=ASa5wtVcLuGlsBqGfLxLYXrYksqQB62iHljV04plIqI,10010
|
|
8
8
|
librelane/common/metrics/__init__.py,sha256=nzdmeia1fN4CDPT604v-OHaBVydz-M4hz232g-jxJ6M,1521
|
|
9
9
|
librelane/common/metrics/__main__.py,sha256=VfoOHFkGXtei6GLkPUD42X6io8QKFCHhxLMWOXPz_5E,12473
|
|
10
10
|
librelane/common/metrics/library.py,sha256=CG7rubLdjuCQL9-9bzAC-64hf-KlH-iu_Fg0oKuesqs,7373
|
|
@@ -123,7 +123,7 @@ librelane/scripts/openroad/fill.tcl,sha256=LzXVqnaFbsGnIRTXuvrGNHqqWBv-T2OGcP828
|
|
|
123
123
|
librelane/scripts/openroad/floorplan.tcl,sha256=akWifUeTsfplmFi11_ApU6hRcCaCmCyd0Su5ZWiTf50,5397
|
|
124
124
|
librelane/scripts/openroad/gpl.tcl,sha256=OkTGsatlgnTj-sGg20LOhV2Ws87up8K8Ts52vPMC_NM,2540
|
|
125
125
|
librelane/scripts/openroad/grt.tcl,sha256=r_73hbvc4wMi2EFoPbGTh29Lh5ATT4vVwKjxyPIOFcM,1022
|
|
126
|
-
librelane/scripts/openroad/gui.tcl,sha256=
|
|
126
|
+
librelane/scripts/openroad/gui.tcl,sha256=PmZUOi06cNPUODaJF0PNWEaXLIITgcV90XXENj7R8Po,664
|
|
127
127
|
librelane/scripts/openroad/insert_buffer.tcl,sha256=BMTovQa4_CO8LSCeEqqiDAcTs5ELZt7X3ifJy1pDBVs,4403
|
|
128
128
|
librelane/scripts/openroad/ioplacer.tcl,sha256=FdBr8Yg_qT1VhNVTmvR-x6j_Fyh94ZuAm_K6D7k4jTY,1896
|
|
129
129
|
librelane/scripts/openroad/irdrop.tcl,sha256=wouIIPS_C_PeYFkCBQz0ERHcsobf74QB2x1NYAxNpjc,1950
|
|
@@ -156,14 +156,14 @@ librelane/steps/magic.py,sha256=4o_WarBAQdTTuekP72uovjvqW5wsaDCpMB3LtAhC_IY,2005
|
|
|
156
156
|
librelane/steps/misc.py,sha256=Xk_a6JJPljkk8pemu-NtlzDRs-8S7vuRKZKj4pnCRlE,5690
|
|
157
157
|
librelane/steps/netgen.py,sha256=R9sDWv-9wKMdi2rkuLQdOc4uLlbYhXcKKd6WsZsnLt0,8953
|
|
158
158
|
librelane/steps/odb.py,sha256=_WhAFEVbFioSGsVrGbXQVqcXYAnE22gLA4eF1v028EQ,38030
|
|
159
|
-
librelane/steps/openroad.py,sha256=
|
|
159
|
+
librelane/steps/openroad.py,sha256=8YLMPq22ceG3TVRGghafuCD5a7DxwLtSSuPu4_7thPs,86513
|
|
160
160
|
librelane/steps/openroad_alerts.py,sha256=IJyB4piBDCKXhkJswHGMYCRDwbdQsR0GZlrGGDhmW6Q,3364
|
|
161
161
|
librelane/steps/pyosys.py,sha256=mnbPR267XzJvDhtXW4cdTAB3IqvksUZt4ch5xQHgdY0,22705
|
|
162
162
|
librelane/steps/step.py,sha256=OkFNyW86ZY9VlNQHUeJIOLHtOuO1bioXsnwky7_l1pc,55154
|
|
163
163
|
librelane/steps/tclstep.py,sha256=0PMWJ6C3dKnlQf9mA9rZntgxUBCiByE9csHcEcM1iq0,10027
|
|
164
164
|
librelane/steps/verilator.py,sha256=MWx2TpLqYyea9_jSeLG9c2S5ujvYERQZRFNaMhfHxZE,7916
|
|
165
165
|
librelane/steps/yosys.py,sha256=GX6rTiQG-ZhDxfB9SxrPQ9Sab3WC84p0OUtqiL1Nubk,12533
|
|
166
|
-
librelane-2.4.0.
|
|
167
|
-
librelane-2.4.0.
|
|
168
|
-
librelane-2.4.0.
|
|
169
|
-
librelane-2.4.0.
|
|
166
|
+
librelane-2.4.0.dev7.dist-info/METADATA,sha256=Dpvz5yGVJ-3v0gkCKqENV4zi6HsPqAZR-iDmsrVHibA,6558
|
|
167
|
+
librelane-2.4.0.dev7.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
168
|
+
librelane-2.4.0.dev7.dist-info/entry_points.txt,sha256=GTBvXykNMMFsNKiJFgtEw7P1wb_VZIqVM35EFSpyZQE,263
|
|
169
|
+
librelane-2.4.0.dev7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|