siliconcompiler 0.35.3__py3-none-any.whl → 0.35.4__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.
- siliconcompiler/_metadata.py +1 -1
- siliconcompiler/apps/sc_issue.py +18 -2
- siliconcompiler/checklist.py +2 -1
- siliconcompiler/constraints/asic_component.py +49 -11
- siliconcompiler/constraints/asic_floorplan.py +23 -21
- siliconcompiler/constraints/asic_pins.py +55 -17
- siliconcompiler/constraints/asic_timing.py +53 -22
- siliconcompiler/constraints/fpga_timing.py +5 -6
- siliconcompiler/data/templates/replay/replay.sh.j2 +27 -14
- siliconcompiler/package/__init__.py +17 -6
- siliconcompiler/project.py +9 -1
- siliconcompiler/scheduler/docker.py +24 -25
- siliconcompiler/scheduler/scheduler.py +82 -68
- siliconcompiler/scheduler/schedulernode.py +133 -20
- siliconcompiler/scheduler/slurm.py +113 -29
- siliconcompiler/scheduler/taskscheduler.py +0 -7
- siliconcompiler/schema/editableschema.py +29 -0
- siliconcompiler/schema/parametervalue.py +14 -2
- siliconcompiler/schema_support/option.py +82 -1
- siliconcompiler/schema_support/pathschema.py +7 -13
- siliconcompiler/tool.py +47 -25
- siliconcompiler/tools/klayout/__init__.py +3 -0
- siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py +1 -0
- siliconcompiler/tools/klayout/scripts/klayout_export.py +1 -0
- siliconcompiler/tools/klayout/scripts/klayout_operations.py +1 -0
- siliconcompiler/tools/klayout/scripts/klayout_show.py +1 -0
- siliconcompiler/tools/klayout/scripts/klayout_utils.py +3 -4
- siliconcompiler/tools/openroad/__init__.py +27 -1
- siliconcompiler/tools/openroad/_apr.py +81 -4
- siliconcompiler/tools/openroad/clock_tree_synthesis.py +1 -0
- siliconcompiler/tools/openroad/global_placement.py +1 -0
- siliconcompiler/tools/openroad/init_floorplan.py +116 -7
- siliconcompiler/tools/openroad/power_grid_analysis.py +174 -0
- siliconcompiler/tools/openroad/repair_design.py +1 -0
- siliconcompiler/tools/openroad/repair_timing.py +1 -0
- siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +42 -4
- siliconcompiler/tools/openroad/scripts/apr/sc_irdrop.tcl +146 -0
- siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +4 -6
- siliconcompiler/tools/openroad/scripts/common/procs.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/common/reports.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +2 -4
- siliconcompiler/tools/opensta/__init__.py +1 -1
- siliconcompiler/tools/opensta/scripts/sc_timing.tcl +17 -12
- siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +11 -0
- siliconcompiler/tools/vivado/scripts/sc_place.tcl +11 -0
- siliconcompiler/tools/vivado/scripts/sc_route.tcl +11 -0
- siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +10 -0
- siliconcompiler/tools/vpr/__init__.py +28 -0
- siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl +1 -1
- siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl +40 -4
- siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl +15 -5
- siliconcompiler/tools/yosys/syn_asic.py +42 -0
- siliconcompiler/tools/yosys/syn_fpga.py +8 -0
- siliconcompiler/toolscripts/_tools.json +6 -6
- siliconcompiler/utils/__init__.py +243 -51
- siliconcompiler/utils/curation.py +89 -56
- siliconcompiler/utils/issue.py +6 -1
- siliconcompiler/utils/multiprocessing.py +35 -2
- siliconcompiler/utils/paths.py +21 -0
- siliconcompiler/utils/settings.py +141 -0
- {siliconcompiler-0.35.3.dist-info → siliconcompiler-0.35.4.dist-info}/METADATA +4 -3
- {siliconcompiler-0.35.3.dist-info → siliconcompiler-0.35.4.dist-info}/RECORD +68 -65
- {siliconcompiler-0.35.3.dist-info → siliconcompiler-0.35.4.dist-info}/WHEEL +0 -0
- {siliconcompiler-0.35.3.dist-info → siliconcompiler-0.35.4.dist-info}/entry_points.txt +0 -0
- {siliconcompiler-0.35.3.dist-info → siliconcompiler-0.35.4.dist-info}/licenses/LICENSE +0 -0
- {siliconcompiler-0.35.3.dist-info → siliconcompiler-0.35.4.dist-info}/top_level.txt +0 -0
siliconcompiler/utils/issue.py
CHANGED
|
@@ -237,6 +237,10 @@ def generate_testcase(project: "Project",
|
|
|
237
237
|
with open(issue_path, 'w') as fd:
|
|
238
238
|
json.dump(issue_information, fd, indent=4, sort_keys=True)
|
|
239
239
|
|
|
240
|
+
gitignore_path = os.path.join(issue_dir.name, '.gitignore')
|
|
241
|
+
with open(gitignore_path, 'w') as fd:
|
|
242
|
+
fd.write("/*\n")
|
|
243
|
+
|
|
240
244
|
readme_path = os.path.join(issue_dir.name, 'README.txt')
|
|
241
245
|
with open(readme_path, 'w') as f:
|
|
242
246
|
f.write(get_file_template('issue/README.txt').render(
|
|
@@ -268,7 +272,8 @@ def generate_testcase(project: "Project",
|
|
|
268
272
|
# Add individual files
|
|
269
273
|
add_files = [manifest_path,
|
|
270
274
|
issue_path,
|
|
271
|
-
readme_path
|
|
275
|
+
readme_path,
|
|
276
|
+
gitignore_path]
|
|
272
277
|
if not is_python_tool and run_path:
|
|
273
278
|
add_files.append(run_path)
|
|
274
279
|
for path in add_files:
|
|
@@ -8,7 +8,11 @@ import os.path
|
|
|
8
8
|
from typing import Union, Optional
|
|
9
9
|
|
|
10
10
|
from datetime import datetime
|
|
11
|
-
from
|
|
11
|
+
from logging.handlers import QueueHandler
|
|
12
|
+
from multiprocessing.managers import SyncManager, RemoteError
|
|
13
|
+
|
|
14
|
+
from siliconcompiler.utils.settings import SettingsManager
|
|
15
|
+
from siliconcompiler.utils import default_sc_path
|
|
12
16
|
|
|
13
17
|
from siliconcompiler.report.dashboard.cli.board import Board
|
|
14
18
|
|
|
@@ -139,6 +143,9 @@ class MPManager(metaclass=_ManagerSingleton):
|
|
|
139
143
|
self.__board_lock = self.__manager.Lock()
|
|
140
144
|
self.__board = None
|
|
141
145
|
|
|
146
|
+
# Settings
|
|
147
|
+
self.__settings = SettingsManager(default_sc_path("settings.json"), self.__logger)
|
|
148
|
+
|
|
142
149
|
# Register cleanup function to run at exit
|
|
143
150
|
atexit.register(MPManager.stop)
|
|
144
151
|
|
|
@@ -205,7 +212,13 @@ class MPManager(metaclass=_ManagerSingleton):
|
|
|
205
212
|
|
|
206
213
|
# Stop the dashboard service if it's running
|
|
207
214
|
if manager.__board:
|
|
208
|
-
|
|
215
|
+
try:
|
|
216
|
+
with manager.__board_lock:
|
|
217
|
+
if manager.__board:
|
|
218
|
+
manager.__board.stop()
|
|
219
|
+
manager.__board = None
|
|
220
|
+
except RemoteError:
|
|
221
|
+
# Try without the lock
|
|
209
222
|
if manager.__board:
|
|
210
223
|
manager.__board.stop()
|
|
211
224
|
manager.__board = None
|
|
@@ -249,6 +262,16 @@ class MPManager(metaclass=_ManagerSingleton):
|
|
|
249
262
|
"""
|
|
250
263
|
return MPManager().__manager
|
|
251
264
|
|
|
265
|
+
@staticmethod
|
|
266
|
+
def get_settings() -> SettingsManager:
|
|
267
|
+
"""
|
|
268
|
+
Provides access to the shared SettingsManager instance.
|
|
269
|
+
|
|
270
|
+
Returns:
|
|
271
|
+
SettingsManager: The singleton settings instance.
|
|
272
|
+
"""
|
|
273
|
+
return MPManager().__settings
|
|
274
|
+
|
|
252
275
|
@staticmethod
|
|
253
276
|
def get_dashboard() -> Board:
|
|
254
277
|
"""
|
|
@@ -292,3 +315,13 @@ class MPManager(metaclass=_ManagerSingleton):
|
|
|
292
315
|
Get the address of the manager
|
|
293
316
|
"""
|
|
294
317
|
return MPManager.__address
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
class MPQueueHandler(QueueHandler):
|
|
321
|
+
def enqueue(self, record):
|
|
322
|
+
try:
|
|
323
|
+
super().enqueue(record)
|
|
324
|
+
except BrokenPipeError:
|
|
325
|
+
# The pipe is broken so fail silently as this is likely
|
|
326
|
+
# at exit
|
|
327
|
+
pass
|
siliconcompiler/utils/paths.py
CHANGED
|
@@ -13,6 +13,27 @@ def cwdir(project: "Project") -> str:
|
|
|
13
13
|
return project._Project__cwd
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
def cwdirsafe(project: "Project") -> str:
|
|
17
|
+
"""
|
|
18
|
+
Returns the current working directory for the project, with safe fallback.
|
|
19
|
+
|
|
20
|
+
This function attempts to retrieve the project's current working directory.
|
|
21
|
+
If the provided object is not a valid Project instance, it falls back to
|
|
22
|
+
the system's current working directory.
|
|
23
|
+
|
|
24
|
+
Args:
|
|
25
|
+
project (Project): The SiliconCompiler project object.
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
str: The absolute path to the project's working directory, or the
|
|
29
|
+
system's current working directory if the project is invalid.
|
|
30
|
+
"""
|
|
31
|
+
try:
|
|
32
|
+
return cwdir(project)
|
|
33
|
+
except TypeError:
|
|
34
|
+
return os.getcwd()
|
|
35
|
+
|
|
36
|
+
|
|
16
37
|
def builddir(project: "Project") -> str:
|
|
17
38
|
"""
|
|
18
39
|
Returns the absolute path to the project's build directory.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import os
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
import os.path
|
|
6
|
+
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from fasteners import InterProcessLock
|
|
10
|
+
|
|
11
|
+
from siliconcompiler import sc_open
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class SettingsManager:
|
|
15
|
+
"""
|
|
16
|
+
A class to manage user settings stored in a JSON file.
|
|
17
|
+
Supports categories, robust error handling for malformed files,
|
|
18
|
+
and simple get/set operations.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
def __init__(self, filepath: str, logger: logging.Logger, timeout: float = 1.0):
|
|
22
|
+
"""
|
|
23
|
+
Initialize the settings manager.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
filepath (str): The path to the JSON file where settings are stored.
|
|
27
|
+
"""
|
|
28
|
+
self.__filepath = filepath
|
|
29
|
+
self.__lock = InterProcessLock(self.__filepath + ".lock")
|
|
30
|
+
self.__timeout = timeout
|
|
31
|
+
self.__logger = logger.getChild("settings")
|
|
32
|
+
self.__settings = {}
|
|
33
|
+
self._load()
|
|
34
|
+
|
|
35
|
+
def _load(self):
|
|
36
|
+
"""
|
|
37
|
+
Internal method to load settings from disk.
|
|
38
|
+
It handles missing files and malformed JSON gracefully.
|
|
39
|
+
"""
|
|
40
|
+
if not os.path.exists(self.__filepath):
|
|
41
|
+
self.__settings = {}
|
|
42
|
+
return
|
|
43
|
+
|
|
44
|
+
try:
|
|
45
|
+
if self.__lock.acquire(timeout=self.__timeout):
|
|
46
|
+
try:
|
|
47
|
+
with sc_open(self.__filepath, encoding='utf-8') as f:
|
|
48
|
+
data = json.load(f)
|
|
49
|
+
finally:
|
|
50
|
+
self.__lock.release()
|
|
51
|
+
else:
|
|
52
|
+
self.__logger.error(f"Timeout acquiring lock for {self.__filepath}. "
|
|
53
|
+
"Starting with empty settings.")
|
|
54
|
+
data = {}
|
|
55
|
+
|
|
56
|
+
# Ensure the loaded data is actually a dictionary
|
|
57
|
+
if isinstance(data, dict):
|
|
58
|
+
self.__settings = data
|
|
59
|
+
else:
|
|
60
|
+
# If valid JSON but not a dict (e.g. a list), reset to empty
|
|
61
|
+
self.__logger.warning(f"File {self.__filepath} did not contain a JSON object. "
|
|
62
|
+
"Resetting.")
|
|
63
|
+
self.__settings = {}
|
|
64
|
+
|
|
65
|
+
except json.JSONDecodeError:
|
|
66
|
+
self.__logger.error(f"File {self.__filepath} is malformed. "
|
|
67
|
+
"Starting with empty settings.")
|
|
68
|
+
self.__settings = {}
|
|
69
|
+
except Exception as e:
|
|
70
|
+
# Catch-all for permission errors, etc., to ensure __init__ doesn't crash
|
|
71
|
+
self.__logger.error(f"Unexpected error loading settings: {e}")
|
|
72
|
+
self.__settings = {}
|
|
73
|
+
|
|
74
|
+
def save(self):
|
|
75
|
+
"""
|
|
76
|
+
Save the current settings to the disk in JSON format.
|
|
77
|
+
"""
|
|
78
|
+
try:
|
|
79
|
+
# Ensure directory exists
|
|
80
|
+
directory = os.path.dirname(self.__filepath)
|
|
81
|
+
if directory and not os.path.exists(directory):
|
|
82
|
+
os.makedirs(directory)
|
|
83
|
+
|
|
84
|
+
with self.__lock:
|
|
85
|
+
with open(self.__filepath, 'w', encoding='utf-8') as f:
|
|
86
|
+
json.dump(self.__settings, f, indent=4)
|
|
87
|
+
except Exception as e:
|
|
88
|
+
self.__logger.error(f"Failed to save settings to {self.__filepath}: {e}")
|
|
89
|
+
raise e
|
|
90
|
+
|
|
91
|
+
def set(self, category: str, key: str, value):
|
|
92
|
+
"""
|
|
93
|
+
Set a specific setting within a category.
|
|
94
|
+
|
|
95
|
+
Args:
|
|
96
|
+
category (str): The group name (e.g., 'showtools', 'options').
|
|
97
|
+
key (str): The specific setting name.
|
|
98
|
+
value: The value to store (must be JSON serializable).
|
|
99
|
+
"""
|
|
100
|
+
if category not in self.__settings:
|
|
101
|
+
self.__settings[category] = {}
|
|
102
|
+
|
|
103
|
+
self.__settings[category][key] = value
|
|
104
|
+
|
|
105
|
+
def get(self, category: str, key: str, default=None):
|
|
106
|
+
"""
|
|
107
|
+
Retrieve a setting.
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
category (str): The group name.
|
|
111
|
+
key (str): The specific setting name.
|
|
112
|
+
default: The value to return if the category or key is missing.
|
|
113
|
+
|
|
114
|
+
Returns:
|
|
115
|
+
The stored value or the default.
|
|
116
|
+
"""
|
|
117
|
+
if category not in self.__settings:
|
|
118
|
+
return default
|
|
119
|
+
|
|
120
|
+
return self.__settings[category].get(key, default)
|
|
121
|
+
|
|
122
|
+
def get_category(self, category: str):
|
|
123
|
+
"""
|
|
124
|
+
Retrieve all settings for a specific category.
|
|
125
|
+
Returns an empty dict if category does not exist.
|
|
126
|
+
"""
|
|
127
|
+
return self.__settings.get(category, {})
|
|
128
|
+
|
|
129
|
+
def delete(self, category: str, key: Optional[str] = None):
|
|
130
|
+
"""
|
|
131
|
+
Remove a setting.
|
|
132
|
+
"""
|
|
133
|
+
if category in self.__settings:
|
|
134
|
+
if key:
|
|
135
|
+
if key in self.__settings[category]:
|
|
136
|
+
del self.__settings[category][key]
|
|
137
|
+
# Clean up empty categories
|
|
138
|
+
if not self.__settings[category]:
|
|
139
|
+
del self.__settings[category]
|
|
140
|
+
else:
|
|
141
|
+
del self.__settings[category]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.35.
|
|
3
|
+
Version: 0.35.4
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author: Zero ASIC
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
19
20
|
Classifier: Operating System :: POSIX :: Linux
|
|
20
21
|
Classifier: Operating System :: MacOS
|
|
21
22
|
Classifier: Operating System :: Microsoft :: Windows
|
|
@@ -60,7 +61,7 @@ Requires-Dist: responses==0.25.8; extra == "test"
|
|
|
60
61
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
61
62
|
Provides-Extra: lint
|
|
62
63
|
Requires-Dist: flake8==7.3.0; extra == "lint"
|
|
63
|
-
Requires-Dist: tclint==0.6.
|
|
64
|
+
Requires-Dist: tclint==0.6.2; extra == "lint"
|
|
64
65
|
Requires-Dist: codespell==2.4.1; extra == "lint"
|
|
65
66
|
Provides-Extra: docs
|
|
66
67
|
Requires-Dist: Sphinx<8.3,>=7.4; extra == "docs"
|
|
@@ -102,7 +103,7 @@ SiliconCompiler is a modular hardware build system ("make for silicon"). The pro
|
|
|
102
103
|
# Getting Started
|
|
103
104
|
|
|
104
105
|
SiliconCompiler is available as wheel packages on PyPI for macOS, Windows and
|
|
105
|
-
Linux platforms. For working Python 3.9-3.
|
|
106
|
+
Linux platforms. For working Python 3.9-3.14 environment, just use pip.
|
|
106
107
|
|
|
107
108
|
```sh
|
|
108
109
|
pip install --upgrade siliconcompiler
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
siliconcompiler/__init__.py,sha256=I1RN8BMRpuAx9tdx5CLNlpIqT-xg2EwvOB8TcqHQSN0,1114
|
|
2
2
|
siliconcompiler/_common.py,sha256=1bY1qdFxnstAyhJrkJCBhSlZ614dlmcwL0Bf7NOneyY,1047
|
|
3
|
-
siliconcompiler/_metadata.py,sha256=
|
|
3
|
+
siliconcompiler/_metadata.py,sha256=41z6X_WgZYacn-LI3m1ax_ddyf9ye0qU76KAk8jtc84,1286
|
|
4
4
|
siliconcompiler/asic.py,sha256=KXs-mjFHjiCRlyUClNIb-Zvdkxa8dGafStHm-rX3vu8,28912
|
|
5
|
-
siliconcompiler/checklist.py,sha256=
|
|
5
|
+
siliconcompiler/checklist.py,sha256=MD0cVYm5RrxSDCBVO1nakGC6LH5hWnzisaF4e0V6eV8,24909
|
|
6
6
|
siliconcompiler/design.py,sha256=vFcenCV1Q3IVsdpeh4h9wCm4lyAfJMH5e-Oqg4Ji4sQ,34555
|
|
7
7
|
siliconcompiler/flowgraph.py,sha256=OGaXd88alyrSQizHyeRPK9UkNz1fqrLg0AkIkrc70y4,63295
|
|
8
8
|
siliconcompiler/fpga.py,sha256=8uvmIyvWOWx5X1JP3xaSpkA9hVyox4l-hK63aYzN8-w,9075
|
|
9
9
|
siliconcompiler/library.py,sha256=5MnryNBF9Dsg9mcD-Nl0NWrsE6hBlUo3tE2fdWXqt5E,16033
|
|
10
10
|
siliconcompiler/pdk.py,sha256=rENDQve5edt7EkdgnNfW-mfgJVklShLbvYddaEA1-_k,31581
|
|
11
|
-
siliconcompiler/project.py,sha256=
|
|
11
|
+
siliconcompiler/project.py,sha256=2qtXA_J-biNj5yjSPAL3GSVAsjphyu9Zsn0sqyAUjho,51678
|
|
12
12
|
siliconcompiler/schematic.py,sha256=0PVFqZvJZW_e2NRGvv6DJPHGjwOlao1qHgZLhgCaEcQ,18385
|
|
13
|
-
siliconcompiler/tool.py,sha256=
|
|
13
|
+
siliconcompiler/tool.py,sha256=sS6oOX9gvGn29WGawL11OWm8DcDFZmLP1_hsOoNpzp8,110305
|
|
14
14
|
siliconcompiler/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
siliconcompiler/apps/_common.py,sha256=uldDgTeAEfo1Y0X_hxpr0yjSW0W0c5UaiuSpgk7aUuk,8605
|
|
16
16
|
siliconcompiler/apps/sc_dashboard.py,sha256=BU3hPC7OzfUpkKEVsBD_46zd4OzHO86eJMB5CaWpVf0,3496
|
|
17
17
|
siliconcompiler/apps/sc_install.py,sha256=OiYZ4Z6D-oFvHy789dmHpi8Y8WCqquX11Zi_k7kjcq8,13848
|
|
18
|
-
siliconcompiler/apps/sc_issue.py,sha256=
|
|
18
|
+
siliconcompiler/apps/sc_issue.py,sha256=m8BUxvtZo_ce_ceK4Z44Sz91rlf9Q3mXD_ZHFtpaREw,7230
|
|
19
19
|
siliconcompiler/apps/sc_remote.py,sha256=ve-4Z3c79noYe9PcYY-V7DfkLMa603J16SiIpmOCLQg,6887
|
|
20
20
|
siliconcompiler/apps/sc_server.py,sha256=Jup3QYs6R3LRbok4PO7h8l9-1Q1I82P9nJMjjojt4YA,814
|
|
21
21
|
siliconcompiler/apps/sc_show.py,sha256=w-AuHjDEOiyHoKu68fWf_ImsbGgyfnrv5afI9Vr6Ib4,3506
|
|
@@ -25,11 +25,11 @@ siliconcompiler/apps/utils/summarize.py,sha256=NbY04DDRSjEDhu0at46dRXX8-0iHxWIcP
|
|
|
25
25
|
siliconcompiler/checklists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
siliconcompiler/checklists/oh_tapeout.py,sha256=mw2JX9wy2rhRhHZ0kmfifDoi9l8yasM0ci1G1gGPDls,968
|
|
27
27
|
siliconcompiler/constraints/__init__.py,sha256=Tc8QtY-DGcluZqJTpZvst4h3F8pbiiTgH3dm2F0aB74,940
|
|
28
|
-
siliconcompiler/constraints/asic_component.py,sha256=
|
|
29
|
-
siliconcompiler/constraints/asic_floorplan.py,sha256=
|
|
30
|
-
siliconcompiler/constraints/asic_pins.py,sha256
|
|
31
|
-
siliconcompiler/constraints/asic_timing.py,sha256=
|
|
32
|
-
siliconcompiler/constraints/fpga_timing.py,sha256=
|
|
28
|
+
siliconcompiler/constraints/asic_component.py,sha256=VPied32JQdoFBo8LsBKjo8r1-f9PXMdxCXpsOjUqwxA,17872
|
|
29
|
+
siliconcompiler/constraints/asic_floorplan.py,sha256=79Qqm3MhWrXDXBEG3tkoIFcxg5GGRqZZzrrzuVn0tww,21507
|
|
30
|
+
siliconcompiler/constraints/asic_pins.py,sha256=hpJ1tWcAt45EInHGLcRBtY5xgvff3_QuOF8eeHZbuW8,21179
|
|
31
|
+
siliconcompiler/constraints/asic_timing.py,sha256=Vgdlg_Z7ncLyIEZU5M8Pv6q0jP9wKH7bc-V9bPpT_FY,21768
|
|
32
|
+
siliconcompiler/constraints/fpga_timing.py,sha256=x36PVBYaR2JPCFOY8V59lyyPfj-fq3cPgsYMxLV-p90,7310
|
|
33
33
|
siliconcompiler/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
34
|
siliconcompiler/data/heartbeat.sdc,sha256=4VirwToHzr1PI4sxiEx8ArRoDdxbIPnMiNKaMVUs22g,139
|
|
35
35
|
siliconcompiler/data/heartbeat.v,sha256=6HKc1j1JuuCj8oTIsbFBlDEoytzzEheUyTyokte2b18,420
|
|
@@ -54,7 +54,7 @@ siliconcompiler/data/templates/issue/README.txt,sha256=hbJsLPWLgxN5WfSJluhQYCxdf
|
|
|
54
54
|
siliconcompiler/data/templates/issue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
55
|
siliconcompiler/data/templates/issue/run.sh,sha256=pwWNRym9P06jtns7_acKTu1zrTEjK4dA9EDV_eKdLds,147
|
|
56
56
|
siliconcompiler/data/templates/replay/replay.py.j2,sha256=LbkPlRldsJNyREV4WfY5o6PlnlBzr6-7gqj4bWI7I6o,1552
|
|
57
|
-
siliconcompiler/data/templates/replay/replay.sh.j2,sha256=
|
|
57
|
+
siliconcompiler/data/templates/replay/replay.sh.j2,sha256=HtURC0DG9DRtAob8R3grbCWPVcVy_7zDhbaHUT3l1u8,3128
|
|
58
58
|
siliconcompiler/data/templates/replay/requirements.txt,sha256=7MAUxEkDe1GiOoJ6XN1uS3KSnMucy4eDTCIuFQhkG4E,149
|
|
59
59
|
siliconcompiler/data/templates/replay/setup.sh,sha256=bZMAd_moGtqDB8wRWMJBbktdFwoVyodLWamW3llQE80,2747
|
|
60
60
|
siliconcompiler/data/templates/slurm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -82,7 +82,7 @@ siliconcompiler/metrics/asic.py,sha256=SwhBh2xSni4yYcV-PMfW4V3UhBptLtHhKlv-sv7CJ
|
|
|
82
82
|
siliconcompiler/metrics/fpga.py,sha256=UgAi0O67aIc2evdBvSsy226UcHlxqYOZqPv8NfEfys8,10057
|
|
83
83
|
siliconcompiler/optimizer/__init__.py,sha256=wdSuv3U7hoSdZn-TkaQtYehVdhS5F35Mb1McgaUw3hc,6599
|
|
84
84
|
siliconcompiler/optimizer/vizier.py,sha256=JtoPktsa-qHN0i4PsfRnxvQAT0yVvQVRfdyYNOCYgU4,9011
|
|
85
|
-
siliconcompiler/package/__init__.py,sha256=
|
|
85
|
+
siliconcompiler/package/__init__.py,sha256=DYM7FASvn1uonQyvu7bx1xTP2RQ0Pyifr3Ap2jOwGyU,25646
|
|
86
86
|
siliconcompiler/package/git.py,sha256=xq8_qi-2pmhswJ9ssUtRgSUNxpMGKZLDmnkdFYeq9iA,5950
|
|
87
87
|
siliconcompiler/package/github.py,sha256=bzV-XrcmFMloa7_yhdxFjfe4r9OH36xHGY6ZCgHv0mA,6785
|
|
88
88
|
siliconcompiler/package/https.py,sha256=OJL1PxOf6FbuGUrEx3gWpLEocd7p9gf9uvKh6a-7OQc,5753
|
|
@@ -126,26 +126,26 @@ siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_sac_tabs.py,sha2
|
|
|
126
126
|
siliconcompiler/report/dashboard/web/utils/__init__.py,sha256=xfzH8OL3eN3LQlB6ghJxAyVOkrU7GvPV5hTpsYxlZY4,5147
|
|
127
127
|
siliconcompiler/report/dashboard/web/utils/file_utils.py,sha256=4VV-WUE4O0uYeo56L0Xg-elb0lZIhP0U1V76xc56vug,5602
|
|
128
128
|
siliconcompiler/scheduler/__init__.py,sha256=4ugpwR-X1BoSn38wEtR8nB1ZW77ktQW3eqANNROkuGg,525
|
|
129
|
-
siliconcompiler/scheduler/docker.py,sha256=
|
|
129
|
+
siliconcompiler/scheduler/docker.py,sha256=7eYlV0aMZISLov0af-LoX2TV3BnG8XYjGGhWXe3pgUY,12243
|
|
130
130
|
siliconcompiler/scheduler/error.py,sha256=B1DhBhzqK5f8OCodmQIXdrGzRwE2cnfL9zbHLLQZPzw,193
|
|
131
131
|
siliconcompiler/scheduler/run_node.py,sha256=MALxjvpM-pFkT9qzCQ9l_N12NMbFek3h8VYk5S2X5Tg,5739
|
|
132
|
-
siliconcompiler/scheduler/scheduler.py,sha256=
|
|
133
|
-
siliconcompiler/scheduler/schedulernode.py,sha256=
|
|
132
|
+
siliconcompiler/scheduler/scheduler.py,sha256=BXiSmCS2yaGk6vAxa-QpHNAVuJndKW95BwgUjpEGc5k,40788
|
|
133
|
+
siliconcompiler/scheduler/schedulernode.py,sha256=mX7vvHjG9SF1K5_oS2dvK-1yZSjzY70c-aHJ9f98slg,59164
|
|
134
134
|
siliconcompiler/scheduler/send_messages.py,sha256=zK5JVHu9qKlwFDiDboGJcy32zdnHBKxnafOTfFNzMl8,9411
|
|
135
|
-
siliconcompiler/scheduler/slurm.py,sha256=
|
|
136
|
-
siliconcompiler/scheduler/taskscheduler.py,sha256=
|
|
135
|
+
siliconcompiler/scheduler/slurm.py,sha256=oYvGr5Uxbo4G2lK2F3IS5hhSFKm3a5nEdiucUg4T-E4,11901
|
|
136
|
+
siliconcompiler/scheduler/taskscheduler.py,sha256=yNfFNVTCPPeMX14-umjJA-b6UbmClcRFjrmK3xAtbWw,17645
|
|
137
137
|
siliconcompiler/scheduler/validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
138
|
siliconcompiler/scheduler/validation/email_credentials.json,sha256=hkJs0U2h2Bgm1zxeXvanIJ-prPhpn_aU6e3qwIs7qA0,1997
|
|
139
139
|
siliconcompiler/schema/__init__.py,sha256=z5zc_4MG53d-Io5ZOFQT0suHkW8oN5CrdpJx28mwGUk,547
|
|
140
140
|
siliconcompiler/schema/_metadata.py,sha256=SFDemUQc9rU-_cnUpbqbcecVVB1ceLxzcuPZALPqzGI,63
|
|
141
141
|
siliconcompiler/schema/baseschema.py,sha256=ZSXwGaF7HiiSSxUFZwYczCOruxnnW1FnPz4_2MRKum8,51690
|
|
142
142
|
siliconcompiler/schema/docschema.py,sha256=Hzmq_YDxXDol2iWAwP1grhqYga43NvqVtysCCVMBn3E,924
|
|
143
|
-
siliconcompiler/schema/editableschema.py,sha256=
|
|
143
|
+
siliconcompiler/schema/editableschema.py,sha256=3U_pIi_BFrFIdeXgJP-xj8GfUe0ZVvDtPmYGHDgxlSE,6067
|
|
144
144
|
siliconcompiler/schema/journal.py,sha256=i3TYcuqdwq-FCCit8M02W8YbIUsY61mlPHSS-7Y0axc,6538
|
|
145
145
|
siliconcompiler/schema/namedschema.py,sha256=bu3x0D7UdnkeZs3RXksn_5llUFrWwO3QItOEEWKLCDw,3820
|
|
146
146
|
siliconcompiler/schema/parameter.py,sha256=Y-TfK__m6NsudJXG3iTZHr5XlUg8JbIUZsg-VG6jnPo,34721
|
|
147
147
|
siliconcompiler/schema/parametertype.py,sha256=oEkZN81sftAgnEEv84M9Vz8UPxwIRioxE6sJszV1A8o,11549
|
|
148
|
-
siliconcompiler/schema/parametervalue.py,sha256=
|
|
148
|
+
siliconcompiler/schema/parametervalue.py,sha256=uqzWZ9lEmvqZsc0izkCd-anQVjdlLLitj4utEQQQzCY,30163
|
|
149
149
|
siliconcompiler/schema/safeschema.py,sha256=otjZCv2jS4qsqhbIfdoR8IQ2oPo5ee87BSm-bt-gQTU,2655
|
|
150
150
|
siliconcompiler/schema/utils.py,sha256=-rNHCElu7z6Y5ig3lCZVxqIHq7VM6m7Wnyhll5VfxBM,1438
|
|
151
151
|
siliconcompiler/schema/docs/__init__.py,sha256=alRd_dr35ryJDKRaMx1dPpQ-NMBI-ldwHpZQBRyi-qY,993
|
|
@@ -156,9 +156,9 @@ siliconcompiler/schema_support/cmdlineschema.py,sha256=B4eQS7goBB4lq1tGb-qgssXrs
|
|
|
156
156
|
siliconcompiler/schema_support/dependencyschema.py,sha256=KTpDV_e4frVnbHQLNcQPbC7uPKODWAvEqXmEHgiI8vo,10238
|
|
157
157
|
siliconcompiler/schema_support/filesetschema.py,sha256=CE_JpDJYWqQzGgImgwPWOS7z_ymk4hY3H5I0qVU33Qo,11513
|
|
158
158
|
siliconcompiler/schema_support/metric.py,sha256=mLzdtpM76l2cPINGWONrAjBMU28ZnQR_yLOGMYBLBV4,16158
|
|
159
|
-
siliconcompiler/schema_support/option.py,sha256=
|
|
159
|
+
siliconcompiler/schema_support/option.py,sha256=URcEzo4qL34BU5j55hw0hnGy1Q-cVaHefTVmuYzYnOE,56105
|
|
160
160
|
siliconcompiler/schema_support/packageschema.py,sha256=tB6wYEhZliaUVZDq40DlEfoo8ken6-Xh6zIafBRrxr4,10508
|
|
161
|
-
siliconcompiler/schema_support/pathschema.py,sha256=
|
|
161
|
+
siliconcompiler/schema_support/pathschema.py,sha256=Itr7HXf2xpGrZYzh4KIwBpuMqiD8KvWGyqHwkFyffVw,20876
|
|
162
162
|
siliconcompiler/schema_support/record.py,sha256=pmo353Rw2_ptAPCfc5e-odYSgsVD5vF38udpwJ5HIZw,19646
|
|
163
163
|
siliconcompiler/targets/__init__.py,sha256=eWgvV4DeombChYqLxs5z_rOZ7Mt1q7N0WEetuBcNjZ4,1678
|
|
164
164
|
siliconcompiler/targets/asap7_demo.py,sha256=sG3GdqkqGjhco43JHVV6-ys734fYTksx68VIJpZ4_IU,4760
|
|
@@ -207,18 +207,18 @@ siliconcompiler/tools/icarus/__init__.py,sha256=D6gM01JUjLySY6kf8gVXee_xVXr6oDzJ
|
|
|
207
207
|
siliconcompiler/tools/icarus/compile.py,sha256=xPMuYw_UHc1Dq_hbSTQQF0yGUbenobDj7FzHrigJqAk,4755
|
|
208
208
|
siliconcompiler/tools/icepack/__init__.py,sha256=FJnRz9I3Y5c2stJJXHSSBySTkpwJsYJ_HP1IuTPNZTo,226
|
|
209
209
|
siliconcompiler/tools/icepack/bitstream.py,sha256=3tkwpZ84kQT7Rk0BlWdNEcx1KginTqNkKfyXIrcYKlY,598
|
|
210
|
-
siliconcompiler/tools/klayout/__init__.py,sha256=
|
|
210
|
+
siliconcompiler/tools/klayout/__init__.py,sha256=t2WHhiUAltGLFkw0N7wzs0m9Hx1xZo2tGx4d3uKSusY,8670
|
|
211
211
|
siliconcompiler/tools/klayout/convert_drc_db.py,sha256=ekzfQJ5Gef0Xo9KzrbXgCC4P5KpGKS4ZSfWHrM9Gmic,812
|
|
212
212
|
siliconcompiler/tools/klayout/drc.py,sha256=SbCl9PxlJ0irGmUZE-Ls8asF0M8jMorcQEWhtgbMMBM,2971
|
|
213
213
|
siliconcompiler/tools/klayout/export.py,sha256=cdw-VcuBIybl2cAl923QpSnPHoRSfeok0003wkJXelg,3317
|
|
214
214
|
siliconcompiler/tools/klayout/operations.py,sha256=Mjolv916cGpKSOI6b5o9KMWA5SXr_odW3wMFH8UbXmA,6942
|
|
215
215
|
siliconcompiler/tools/klayout/screenshot.py,sha256=fZkvjvNuV93AlbE5WXZqDoTF2mRkJY0l-8OGF7ZOv-k,1910
|
|
216
216
|
siliconcompiler/tools/klayout/show.py,sha256=Lkmf90qOomLvrYELRhSSzH9F2i7cgsAfETHU2lVRxDs,1494
|
|
217
|
-
siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py,sha256=
|
|
218
|
-
siliconcompiler/tools/klayout/scripts/klayout_export.py,sha256=
|
|
219
|
-
siliconcompiler/tools/klayout/scripts/klayout_operations.py,sha256=
|
|
220
|
-
siliconcompiler/tools/klayout/scripts/klayout_show.py,sha256=
|
|
221
|
-
siliconcompiler/tools/klayout/scripts/klayout_utils.py,sha256=
|
|
217
|
+
siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py,sha256=QHsaiKybpj6Uisq7wLapx5xjABA1OMvxXYBHoaopPV4,5791
|
|
218
|
+
siliconcompiler/tools/klayout/scripts/klayout_export.py,sha256=2kN05dejM3RbK1BzYS9fPfDpB2vxSDKnXLP9PkGp2DI,7537
|
|
219
|
+
siliconcompiler/tools/klayout/scripts/klayout_operations.py,sha256=whe-S6APZ9kreybanTvGGotd043NgatbFg6NEd6eka0,13264
|
|
220
|
+
siliconcompiler/tools/klayout/scripts/klayout_show.py,sha256=CHXhr7tNQjlx4jbKkQv0E95xYq-l0a3pVlkAaQUfGRg,10232
|
|
221
|
+
siliconcompiler/tools/klayout/scripts/klayout_utils.py,sha256=G0EcphgWqQU6C3ar4yhSkMhbPZY_dwD3fb8DMSYsqDU,7258
|
|
222
222
|
siliconcompiler/tools/magic/__init__.py,sha256=NtsbRts5QE17ffDw08rtASAw2ZVDH0nTj3jYSb23r5o,3052
|
|
223
223
|
siliconcompiler/tools/magic/drc.py,sha256=qqO7byf2OgrGXSjL-90Mx21CviEaP0dZZS9mJZjuBVY,626
|
|
224
224
|
siliconcompiler/tools/magic/extspice.py,sha256=DQN9dSPdFoq_gd3-Zii9Q7k5qZkUA99ya3WoykHmomI,295
|
|
@@ -233,27 +233,28 @@ siliconcompiler/tools/netgen/lvs.py,sha256=IWgQfUEUMsBu8w7FXyjg7MQJAL1wTjXbDAD8v
|
|
|
233
233
|
siliconcompiler/tools/netgen/scripts/sc_lvs.tcl,sha256=8zZGe5WS6LNnvNiw7zouCvOycxeb6XUvxM01Iz2n4AM,1552
|
|
234
234
|
siliconcompiler/tools/nextpnr/__init__.py,sha256=IbOR4eOErXQ2fETrFZTW1LYECkp-umXad2iNBGnp7rk,274
|
|
235
235
|
siliconcompiler/tools/nextpnr/apr.py,sha256=pWkV3gnz4m8Nap7HvMSJNCfYBnhEE6EtfU4fzADGMzs,2540
|
|
236
|
-
siliconcompiler/tools/openroad/__init__.py,sha256=
|
|
237
|
-
siliconcompiler/tools/openroad/_apr.py,sha256=
|
|
236
|
+
siliconcompiler/tools/openroad/__init__.py,sha256=Tz8btFKq0yx0G4A6QrPQY9uf8Twf99tColXwg9jKblw,19077
|
|
237
|
+
siliconcompiler/tools/openroad/_apr.py,sha256=L7Mgf5L70IjGszqXAFoDcmo5zKo8BqAa7uj_HUuyI6Y,45888
|
|
238
238
|
siliconcompiler/tools/openroad/antenna_repair.py,sha256=eKKGKR85RGLWZXHR8uXU5X4j-FdbUrbrjnBVbvoTM3M,1727
|
|
239
|
-
siliconcompiler/tools/openroad/clock_tree_synthesis.py,sha256=
|
|
239
|
+
siliconcompiler/tools/openroad/clock_tree_synthesis.py,sha256=w6xXtx3y1hXnjIYk3qX46JyghGne2yCTfgRz97sACIU,1009
|
|
240
240
|
siliconcompiler/tools/openroad/detailed_placement.py,sha256=dZDRwjkExZjPRRJjgxQLX3khpOR3mJe5mnJ7rc_32Os,911
|
|
241
241
|
siliconcompiler/tools/openroad/detailed_route.py,sha256=al8Ib8esbCQbLByL6Xb0uyk_xIc35cDEBZwS_CXqxrQ,988
|
|
242
242
|
siliconcompiler/tools/openroad/endcap_tapcell_insertion.py,sha256=Kl9-e9SLOvn-GaigdK7Ii7HM1scN5nquzhlysbVW6Wg,558
|
|
243
243
|
siliconcompiler/tools/openroad/fillercell_insertion.py,sha256=80cqMQDNjD-jAX0QGWfGE-qVJnpjZPtAVxKHUkk3RM8,875
|
|
244
244
|
siliconcompiler/tools/openroad/fillmetal_insertion.py,sha256=23nkzQ2MTrj5IGVtqT6f9ugyGHE1eKF8x5sFIzFVA_o,2218
|
|
245
|
-
siliconcompiler/tools/openroad/global_placement.py,sha256=
|
|
245
|
+
siliconcompiler/tools/openroad/global_placement.py,sha256=HXZDmc0oOyKhhOrUC9w70agABqABGoBpmJ4gRv_K_Uk,2141
|
|
246
246
|
siliconcompiler/tools/openroad/global_route.py,sha256=Ffi9btkzIiK-w28AyjWK19ynWts1ucQX9DZDBeB_Kv8,1232
|
|
247
|
-
siliconcompiler/tools/openroad/init_floorplan.py,sha256=
|
|
247
|
+
siliconcompiler/tools/openroad/init_floorplan.py,sha256=gsH0Q14atsD5FON7sjvh68xHKgh3-ccNhsSydBejMMs,8307
|
|
248
248
|
siliconcompiler/tools/openroad/macro_placement.py,sha256=-hCxwFywui0Rr8m5MsVRAeb8gMZnAY8iQuOFdz3b4tU,7124
|
|
249
249
|
siliconcompiler/tools/openroad/metrics.py,sha256=rJc3Ea9PS6C6Qp1dOJqcIFRF3sX-FnyvYIKNRQm1I1s,771
|
|
250
250
|
siliconcompiler/tools/openroad/pin_placement.py,sha256=utwYKDk0SlZVoBkPCp_40qzjHRN_7P8lVasT47T8WEw,768
|
|
251
251
|
siliconcompiler/tools/openroad/power_grid.py,sha256=XSQ0hCUJfZ7JMf-qmUWa7k4z8FeSfv1taNtOfcNjZHw,2527
|
|
252
|
+
siliconcompiler/tools/openroad/power_grid_analysis.py,sha256=p3AZ9-yGtEC0a4jsDAeWJwcCtuUuwmXW563FHQXSHOo,7233
|
|
252
253
|
siliconcompiler/tools/openroad/rcx_bench.py,sha256=lhYhqSYwLZmp73ytgHcW5RG9oH1nkT5maJ7FdA98O-Y,769
|
|
253
254
|
siliconcompiler/tools/openroad/rcx_extract.py,sha256=wQtqXnwtK0-WBvZjfKHWVA7tvpp3lud3q_-YDn3c_Jo,687
|
|
254
255
|
siliconcompiler/tools/openroad/rdlroute.py,sha256=d14hpYJPOlvG3cGIaZ8CYibqBxqsOMKKdiM_qWRf_Aw,1838
|
|
255
|
-
siliconcompiler/tools/openroad/repair_design.py,sha256=
|
|
256
|
-
siliconcompiler/tools/openroad/repair_timing.py,sha256=
|
|
256
|
+
siliconcompiler/tools/openroad/repair_design.py,sha256=8TG7jhZXIPI-GTTJRaEj_Xb3PA8FECmw2VFtM11fPnY,1636
|
|
257
|
+
siliconcompiler/tools/openroad/repair_timing.py,sha256=eQc64Jvnmn4duwiTPJkrZkNrX5Ir6KxDNw2Ptrx279A,1950
|
|
257
258
|
siliconcompiler/tools/openroad/screenshot.py,sha256=Smduxvuvi1HZAhjxh77VNOIYENlCVXshfIm0FnXlMxI,1192
|
|
258
259
|
siliconcompiler/tools/openroad/show.py,sha256=53YN-0kdWl55WY8BBzj72Ueeun-iw0_w8su4UvB9c9U,2539
|
|
259
260
|
siliconcompiler/tools/openroad/write_data.py,sha256=RY4S9oIk62ctSyOyAZWwgtCUH31zpmT9ahV9e2LmDts,3523
|
|
@@ -261,7 +262,7 @@ siliconcompiler/tools/openroad/scripts/sc_rcx.tcl,sha256=UEmadWu1jtLtFVtWWdEriWO
|
|
|
261
262
|
siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl,sha256=uXr-W-YmHejS6v8rPyit7aoPr4vcqLwlmD-4ZzrfhVA,4223
|
|
262
263
|
siliconcompiler/tools/openroad/scripts/sc_show.tcl,sha256=1pWahJDOUh1PUMLkvm1mtEH9y8q__gGgy8ar92A-iKY,1750
|
|
263
264
|
siliconcompiler/tools/openroad/scripts/apr/postamble.tcl,sha256=i6hAGfQxeYc3VxcwTaisoKoX-1pez7V7EzUlp741J_4,1103
|
|
264
|
-
siliconcompiler/tools/openroad/scripts/apr/preamble.tcl,sha256=
|
|
265
|
+
siliconcompiler/tools/openroad/scripts/apr/preamble.tcl,sha256=hoJBQyolVyDadagS78I7M_wuLWKpc5SGONH8foJjdO4,2381
|
|
265
266
|
siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl,sha256=lb-O3AhU678Xc1X-qm4eVnZnqMa6gJWeAMVaTv8ubBM,1462
|
|
266
267
|
siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl,sha256=G31-Zqan3Bmet_TjSVHASV7GCvGaiIwMrK0oya6bL0Y,1956
|
|
267
268
|
siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl,sha256=EPbnsSzBOM9L2rZ_OicRDQsPlgsS8oF-ghbxPXWdlOE,868
|
|
@@ -271,30 +272,31 @@ siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl,sha256=SI
|
|
|
271
272
|
siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl,sha256=6pk8zBEsOiHrhh0HiktiIDn0MnKmFh7uPKm8tI-toDo,879
|
|
272
273
|
siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl,sha256=fPS0lTd-_8Mss7TGpp-B_ddNcFtl2SXAtXiTOxvvDZA,2446
|
|
273
274
|
siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl,sha256=1GyLe5vnacYyyxCFvJJCzNuQkVFo63pzd2-Q7V5jzgI,2029
|
|
274
|
-
siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl,sha256=
|
|
275
|
+
siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl,sha256=91VMK5za6S6kYumjvq4OUN2Rie8t0_vXtIjqLIpLPtE,11467
|
|
276
|
+
siliconcompiler/tools/openroad/scripts/apr/sc_irdrop.tcl,sha256=vKKJ_LZyqq0U_SERXX4-UWWTEmgaNhdjtImHmuKZ5ZI,4373
|
|
275
277
|
siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl,sha256=3Nw3MJTmf-QtF2OIHpJMIGUbko_a9x71hWGOzkbR77M,4326
|
|
276
278
|
siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl,sha256=SzCv0_evux_3ROliKkcXDl8__4cS4I1RPk2ufBoBOtE,476
|
|
277
279
|
siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl,sha256=Hn8Il8F2TH3qwF1Sn6gMhonLOCKHrYypfstpouD-Mjg,1067
|
|
278
280
|
siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl,sha256=7_a2sj1hEXzP5nb7MJY0jZ5DR2fLN-NC1OfEBuYdeVw,3618
|
|
279
|
-
siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl,sha256=
|
|
281
|
+
siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl,sha256=7tdUjfjYJ9mMX3SUW5vUrxPBielxPyGx17LgmNPbLMo,1717
|
|
280
282
|
siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl,sha256=18YF3C4K0G4DcO0k1bw1kW_5FjdoPH_EfqvrrvuZaVA,4686
|
|
281
|
-
siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl,sha256=
|
|
283
|
+
siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl,sha256=wnKt9b6ht_3uuLEWH9J6DuH25VjeRiQohHMCVk6_BuE,3869
|
|
282
284
|
siliconcompiler/tools/openroad/scripts/common/debugging.tcl,sha256=i4oNtC0rQq3JaFf1-oKyr_jZQyu5ZF_--zskvG0hdKg,943
|
|
283
|
-
siliconcompiler/tools/openroad/scripts/common/procs.tcl,sha256=
|
|
285
|
+
siliconcompiler/tools/openroad/scripts/common/procs.tcl,sha256=YaeE25Au68rztovytoJil9KSIttDCbWE8JS3OtURG8w,26079
|
|
284
286
|
siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl,sha256=ghCw5V7GzM6sNUrNVh31rHd36re-ueZWtWaqesFcQmc,1888
|
|
285
287
|
siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl,sha256=uGcRJO4UULQ24vdWEPPhhDLbmYrlh5zSdudUs9eQFG0,862
|
|
286
288
|
siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl,sha256=gUYXIH_cUXBU1WnJOd6_V2sVKkoDz_3TrTGSV7IC05Q,723
|
|
287
|
-
siliconcompiler/tools/openroad/scripts/common/reports.tcl,sha256=
|
|
289
|
+
siliconcompiler/tools/openroad/scripts/common/reports.tcl,sha256=i7oZJqB4zOMOXRFgCCd5RDkvF8qy8QbrrvmS-Vwo0W0,7249
|
|
288
290
|
siliconcompiler/tools/openroad/scripts/common/screenshot.tcl,sha256=8_1_-YFW4Q9-8hUdj-QcAcFImQ9Q6ByFyQEZYkEIjxg,333
|
|
289
291
|
siliconcompiler/tools/openroad/scripts/common/write_data.tcl,sha256=xFFgR6mCpQEy8ATfSz1kUFr2BBnaPsv4cSHnWh7JqC8,100
|
|
290
292
|
siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl,sha256=0djFSkFDZF8oEqbAcZcL_nMM1ustsMXaf0TGwznQBWM,139
|
|
291
293
|
siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl,sha256=_Axy9V9r0xWU0xLVwMdgkPUF6-C3cVmtE8J-j0OIzII,40
|
|
292
294
|
siliconcompiler/tools/openroad/scripts/common/write_images.tcl,sha256=c2-346XfqJaMQjgDsBeJSqSKGZld4aG6_cZHTSwe0EQ,13626
|
|
293
|
-
siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl,sha256=
|
|
295
|
+
siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl,sha256=eEYI8U26LYGR-zIaYPKCxg1IzohudquhpmuWYkTA4-Q,664
|
|
294
296
|
siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl,sha256=1mPpVpBAX7uiBESb1rVBrYk-IzCkd-GaH2ghFSuguMo,487
|
|
295
297
|
siliconcompiler/tools/openroad/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
296
298
|
siliconcompiler/tools/openroad/templates/pex.tcl,sha256=t-54kEYkIFkC5hIiMWw6IZD9guRwG90zT4Mt9erYUnY,299
|
|
297
|
-
siliconcompiler/tools/opensta/__init__.py,sha256=
|
|
299
|
+
siliconcompiler/tools/opensta/__init__.py,sha256=pIXOzzUQoTR5wpjD0BPt63lhxS2mvQqWAtXT1GNVFC8,3146
|
|
298
300
|
siliconcompiler/tools/opensta/check_library.py,sha256=MmMgJAwDTAv7ob93pr7YBUjJa7UiQqBfFVit7a3vwiY,342
|
|
299
301
|
siliconcompiler/tools/opensta/report_libraries.py,sha256=Mn5O2LYKhOh9DVidGzJaTi4lEDAxx4x8YeCjv2IXX4Q,313
|
|
300
302
|
siliconcompiler/tools/opensta/timing.py,sha256=GPuuXG2rkg6R2BS9M9qpkMqtVYj4dp17_6jhVy4sxUI,10928
|
|
@@ -302,7 +304,7 @@ siliconcompiler/tools/opensta/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
302
304
|
siliconcompiler/tools/opensta/scripts/sc_check_library.tcl,sha256=1VLKsPCkY8joYOJl7WQ1iX8KZnSp18Z2n7rbk7Wqvz0,8783
|
|
303
305
|
siliconcompiler/tools/opensta/scripts/sc_procs.tcl,sha256=JHOn1pn9VqaZY_PrGMstEfe6YzlbSHgnV-8KZ8kZMHY,1490
|
|
304
306
|
siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl,sha256=M5zfz7xGYmQYnNM-Y-T18SUXN38YkO4M1gLroQ0m58I,2608
|
|
305
|
-
siliconcompiler/tools/opensta/scripts/sc_timing.tcl,sha256=
|
|
307
|
+
siliconcompiler/tools/opensta/scripts/sc_timing.tcl,sha256=caaNlYJufoHfpE3KrgSzYtGxTcRsai7gGHFVy89InvI,10995
|
|
306
308
|
siliconcompiler/tools/slang/__init__.py,sha256=ZGxjqXIUnhZs5vBp5ZJVeCKqsGSNwyAN9hKFnIJc2cA,8270
|
|
307
309
|
siliconcompiler/tools/slang/elaborate.py,sha256=9uqbMGZyOegKKXklyz9eHWzjq7dWgPu58yiCvXRMTlc,3990
|
|
308
310
|
siliconcompiler/tools/slang/lint.py,sha256=BxDBZjdgegiPNKhFctTxZQlN_ce4cAm7ATThBdohlLs,562
|
|
@@ -323,12 +325,12 @@ siliconcompiler/tools/vivado/place.py,sha256=3ovfmKlwzotTTI39R_qmDW8e1T2ouKf1dPT
|
|
|
323
325
|
siliconcompiler/tools/vivado/route.py,sha256=zzgaBj1lu28ePO284lUv8yaJNgYlKk2VmtQSYmad87I,359
|
|
324
326
|
siliconcompiler/tools/vivado/syn_fpga.py,sha256=c6DjcmGSEcHMrLflNrv8ESIRwWovttMGknJvbjTS7nk,711
|
|
325
327
|
siliconcompiler/tools/vivado/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
326
|
-
siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl,sha256=
|
|
327
|
-
siliconcompiler/tools/vivado/scripts/sc_place.tcl,sha256=
|
|
328
|
-
siliconcompiler/tools/vivado/scripts/sc_route.tcl,sha256=
|
|
328
|
+
siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl,sha256=xJrZK9iiGkPz0nTJMKRFBEyCURsbAwkv-eZOeNgl7ZQ,380
|
|
329
|
+
siliconcompiler/tools/vivado/scripts/sc_place.tcl,sha256=QwxhxL69lCrReqwx_lnHMqfszP7wFzBdJH7bLTEMEIk,334
|
|
330
|
+
siliconcompiler/tools/vivado/scripts/sc_route.tcl,sha256=rdKwlSkpTEh_c95GnSaywfeh14sddBKjXaKZ3l-rqLA,367
|
|
329
331
|
siliconcompiler/tools/vivado/scripts/sc_run.tcl,sha256=FwW6-_EdryI3eZ7lFKSRK3oVIk5Y51B9tRVSSlDEPrY,1052
|
|
330
|
-
siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl,sha256=
|
|
331
|
-
siliconcompiler/tools/vpr/__init__.py,sha256=
|
|
332
|
+
siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl,sha256=Eyc1zxdmm0K0g8efee3qbWhhXs61XwIHcg6-0l28V4Q,1259
|
|
333
|
+
siliconcompiler/tools/vpr/__init__.py,sha256=n55Cghyzlw_gQ7gdSdAh1hHMXYqrbUcs-vfV_hKtl10,23014
|
|
332
334
|
siliconcompiler/tools/vpr/_json_constraint.py,sha256=KcNcOQq7LZDiOXmQTwcGKczljs-7ugr-b8CNGHilnRc,2251
|
|
333
335
|
siliconcompiler/tools/vpr/_xml_constraint.py,sha256=f7AeAtu4gDV08hPuorjRcniCyM5CLxJ6e8NgTbE79tw,2995
|
|
334
336
|
siliconcompiler/tools/vpr/place.py,sha256=2D_Uc_-rRLIBABDUobXTFLkAktjuchVpSLsC2hFtgxU,3175
|
|
@@ -342,19 +344,19 @@ siliconcompiler/tools/xyce/simulate.py,sha256=XzFcbmn9-BSTE9sqyPyL3WVbY6zE_3kjFx
|
|
|
342
344
|
siliconcompiler/tools/yosys/__init__.py,sha256=prf36_x6A61lMnLXM3FRzlRZrJqEEMv-C7hyEi1b2Oo,18451
|
|
343
345
|
siliconcompiler/tools/yosys/lec_asic.py,sha256=tA2N_nU3hkgv6DpJv68nEg_IJgLXV-9Lm1GE3HjHyFE,1593
|
|
344
346
|
siliconcompiler/tools/yosys/prepareLib.py,sha256=8ppIR-o_EJiNZrpGg_sewJ4qyjtFXre9-iwo-a5Ev_g,2438
|
|
345
|
-
siliconcompiler/tools/yosys/syn_asic.py,sha256=
|
|
346
|
-
siliconcompiler/tools/yosys/syn_fpga.py,sha256=
|
|
347
|
+
siliconcompiler/tools/yosys/syn_asic.py,sha256=wk6zpAdKLgRljsr_k-ZT25Tvoao1J-nBNdPvC_Cmj1g,20882
|
|
348
|
+
siliconcompiler/tools/yosys/syn_fpga.py,sha256=NT1StMpm8zOGELeGxXSZS7VDz6P1KzXxoaxNN9cqwFM,3859
|
|
347
349
|
siliconcompiler/tools/yosys/scripts/procs.tcl,sha256=oJZJrcMHUyBLEKlUEd3PwwNBIDSCUIZlpfjsAuM2WUQ,4607
|
|
348
350
|
siliconcompiler/tools/yosys/scripts/sc_lec.tcl,sha256=K2gsSg2cs1Dx3g4MP1EbkSv-ZkYDnU4iSHepj20TXSE,2996
|
|
349
|
-
siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl,sha256
|
|
350
|
-
siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl,sha256=
|
|
351
|
-
siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl,sha256
|
|
351
|
+
siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl,sha256=Ss1c4ebLHy7QU1qX5Dn3OsDUOUVXmW9kvkMbr5TcMMw,2842
|
|
352
|
+
siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl,sha256=jc7H9wm8g8CJaKJhV0Mcbz5J4iyLC0i_SRXIJVOVQgk,16004
|
|
353
|
+
siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl,sha256=-OldBAFM7LqqiTKyH7pCJ3JfH0lcGT3xAZn-HnrRSqU,6669
|
|
352
354
|
siliconcompiler/tools/yosys/scripts/syn_strategies.tcl,sha256=YJ5bXCdUNDZZ4EY4wBGS-9m0EeNlANBIO9e5a_6A0KA,5329
|
|
353
355
|
siliconcompiler/tools/yosys/techmaps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
354
356
|
siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v,sha256=M4T-ygiKmlsprl5eGGLaV5w6HVqlEepn0wlUDmOkapg,773
|
|
355
357
|
siliconcompiler/tools/yosys/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
356
358
|
siliconcompiler/tools/yosys/templates/abc.const,sha256=TAq9ThdLMYCJGrtToEU0gWcLuEtjE4Gk8huBbTm1v-I,116
|
|
357
|
-
siliconcompiler/toolscripts/_tools.json,sha256=
|
|
359
|
+
siliconcompiler/toolscripts/_tools.json,sha256=PLlv0wQwGkr8h1jk7M-Zy89Hb9rdjeUwRDl6c1ogiwI,5094
|
|
358
360
|
siliconcompiler/toolscripts/_tools.py,sha256=P30KY_xbbjl8eHGsPAxDcAzWvJJpiL07ZfGZZDQbdR8,7174
|
|
359
361
|
siliconcompiler/toolscripts/rhel8/install-chisel.sh,sha256=RJ7BiZhsXBLTgQhHUcRZmHqhKB6syVaC2nvVoGrIXOI,709
|
|
360
362
|
siliconcompiler/toolscripts/rhel8/install-icarus.sh,sha256=EW7308IUGYOx7A22s7s0tNq90nHhrpHHUMrx3cd9lMM,962
|
|
@@ -464,17 +466,18 @@ siliconcompiler/toolscripts/ubuntu24/install-xyce.sh,sha256=AV_4rEBN3iYIlBS0SUVW
|
|
|
464
466
|
siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh,sha256=UAmqse5nQtInjsz7jSqtsuC7FPhPLBYMDjl8Lf9F_dA,571
|
|
465
467
|
siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh,sha256=0cYzZ5HNPYubCYgMq1u2oUUUDi5maXp1Ygf1KNXe0vY,727
|
|
466
468
|
siliconcompiler/toolscripts/ubuntu24/install-yosys.sh,sha256=0ZKbB8f7MrNd_u8IVavYrZVoJougO_R_bVJbTeXP_Zo,943
|
|
467
|
-
siliconcompiler/utils/__init__.py,sha256=
|
|
468
|
-
siliconcompiler/utils/curation.py,sha256=
|
|
469
|
-
siliconcompiler/utils/issue.py,sha256=
|
|
469
|
+
siliconcompiler/utils/__init__.py,sha256=bGyb85ncMnc4NpKR4y3g4I6WX9mQPhFw6l_AlSpYCg4,19444
|
|
470
|
+
siliconcompiler/utils/curation.py,sha256=xVozvS1w77hLUomeVyWKUWxD5LJ7BZPjpd35D7zoY50,9228
|
|
471
|
+
siliconcompiler/utils/issue.py,sha256=R6_HvVgp5uPQ72QKwAM8CQfDfKs3IKutykisq8Ht5vs,11029
|
|
470
472
|
siliconcompiler/utils/logging.py,sha256=V3l07YocXPfD_0QbBDiW11bnnF4AWQMEmFvJfQscJnI,4667
|
|
471
|
-
siliconcompiler/utils/multiprocessing.py,sha256
|
|
472
|
-
siliconcompiler/utils/paths.py,sha256=
|
|
473
|
+
siliconcompiler/utils/multiprocessing.py,sha256=-J2DLVJ7uDeRVuF9SyBHsCm_vVM9WTW4fXEndW78NsM,11243
|
|
474
|
+
siliconcompiler/utils/paths.py,sha256=322TbbEaU5wM-06Xo-E8IlzMNV3DRi4GKDwg2EgTry4,4813
|
|
475
|
+
siliconcompiler/utils/settings.py,sha256=UHrxUqCB-_mIGggiYFqvx78eS2cHsHaezogMPzZOCaQ,4746
|
|
473
476
|
siliconcompiler/utils/showtools.py,sha256=ZWD2frgt0t2Eh8S9Hl3CwGEa1cnNiQx-06pWtyDTiic,1375
|
|
474
477
|
siliconcompiler/utils/units.py,sha256=mppo7T5xI2P2S7SweE_qsOuoTc7RezVX61G2whCzpV4,6261
|
|
475
|
-
siliconcompiler-0.35.
|
|
476
|
-
siliconcompiler-0.35.
|
|
477
|
-
siliconcompiler-0.35.
|
|
478
|
-
siliconcompiler-0.35.
|
|
479
|
-
siliconcompiler-0.35.
|
|
480
|
-
siliconcompiler-0.35.
|
|
478
|
+
siliconcompiler-0.35.4.dist-info/licenses/LICENSE,sha256=lbLR6sRo_CYJOf7SVgHi-U6CZdD8esESEZE5TZazOQE,10766
|
|
479
|
+
siliconcompiler-0.35.4.dist-info/METADATA,sha256=T6zMN9O35Xp9sSeV1dCdGJqFiUasxtdBACex4nA7-B4,11302
|
|
480
|
+
siliconcompiler-0.35.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
481
|
+
siliconcompiler-0.35.4.dist-info/entry_points.txt,sha256=5I-z7cmFNPRpD_x1dMQnm-oLwTPOMURxD5frvUM0GE8,832
|
|
482
|
+
siliconcompiler-0.35.4.dist-info/top_level.txt,sha256=H8TOYhnEUZAV1RJTa8JRtjLIebwHzkQUhA2wkNU2O6M,16
|
|
483
|
+
siliconcompiler-0.35.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|