Skip to content

Commit 52757f7

Browse files
committed
🔧 Get precommit to pass
1 parent 0b450e4 commit 52757f7

4 files changed

Lines changed: 62 additions & 1772 deletions

File tree

gplugins/hdl21/__init__.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,19 @@
1-
from .netlist import *
2-
from .sky130 import *
1+
from .netlist import (
2+
ParsedProtoVLSIR,
3+
generate_raw_netlist_dict_from_module,
4+
generate_raw_yaml_from_module,
5+
)
6+
from .sky130 import (
7+
filter_port,
8+
find_most_relevant_gds,
9+
hdl21_module_to_schematic_editor,
10+
)
11+
12+
__all__ = [
13+
"filter_port",
14+
"find_most_relevant_gds",
15+
"hdl21_module_to_schematic_editor",
16+
"generate_raw_yaml_from_module",
17+
"generate_raw_netlist_dict_from_module",
18+
"ParsedProtoVLSIR",
19+
]

gplugins/hdl21/netlist.py

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@
55
import hdl21 as h
66
import yaml
77

8-
__all__ = [
9-
'ParsedProtoVLSIR',
10-
'generate_raw_netlist_dict_from_module',
11-
'generate_raw_yaml_from_module'
12-
]
13-
148
ParsedProtoVLSIR = dict
159

1610

@@ -72,16 +66,18 @@ def _parse_connections(proto_dict: ParsedProtoVLSIR) -> dict:
7266
target_signal = connection["target"][0]["sig"]
7367
connection_key = f"{instance_name},{portname}"
7468
# Find the target instance and port
75-
target_instance_port = _find_target_instance_port(proto_dict, target_signal, instance_name)
69+
target_instance_port = _find_target_instance_port(
70+
proto_dict, target_signal, instance_name
71+
)
7672
if target_instance_port:
7773
connections[connection_key] = target_instance_port
7874

7975
return connections
8076

8177

82-
def _find_target_instance_port(proto_dict: ParsedProtoVLSIR,
83-
target_signal,
84-
current_instance_name):
78+
def _find_target_instance_port(
79+
proto_dict: ParsedProtoVLSIR, target_signal, current_instance_name
80+
):
8581
"""
8682
Find the target instance and port of the target signal in the proto_dict.
8783
"""
@@ -114,9 +110,9 @@ def _generate_top_level_connections(proto_dict: ParsedProtoVLSIR):
114110
top_level_connections = {}
115111

116112
# Iterate over the top-level module ports
117-
for module in proto_dict.get('modules', []):
118-
for port in module.get('ports', []):
119-
port_signal = port['signal']
113+
for module in proto_dict.get("modules", []):
114+
for port in module.get("ports", []):
115+
port_signal = port["signal"]
120116
connection = _find_port_connection(proto_dict, port_signal)
121117
if connection:
122118
top_level_connections[port_signal] = connection
@@ -148,17 +144,16 @@ def _extract_instance_parameters(proto_dict: ParsedProtoVLSIR):
148144
for instance in module.get("instances", []):
149145
instance_name = instance["name"]
150146
instance_info = {
151-
152-
'component': _extract_component_name(instance),
153-
'info': {},
154-
'settings': {}
147+
"component": _extract_component_name(instance),
148+
"info": {},
149+
"settings": {},
155150
}
156151

157152
# Extract parameters into the settings
158-
for parameter in instance.get('parameters', []):
159-
param_name = parameter['name']
160-
param_value = _extract_parameter_value(parameter['value'])
161-
instance_info['settings'][param_name] = param_value
153+
for parameter in instance.get("parameters", []):
154+
param_name = parameter["name"]
155+
param_value = _extract_parameter_value(parameter["value"])
156+
instance_info["settings"][param_name] = param_value
162157

163158
# Extract connections and add to settings
164159
instance_info["settings"]["ports"] = {}
@@ -178,10 +173,9 @@ def _extract_component_name(instance):
178173
"""
179174
external_modules = instance.get("module", [])
180175
if external_modules:
181-
domain = external_modules[0].get('external', [{}])[0].get('domain', '')
182-
name = external_modules[0].get('external', [{}])[0].get('name', '')
176+
name = external_modules[0].get("external", [{}])[0].get("name", "")
183177
return f"{name}"
184-
return 'unknown_component'
178+
return "unknown_component"
185179

186180

187181
def _extract_parameter_value(value):
@@ -208,13 +202,13 @@ def _generate_raw_netlist_dict_from_proto_dict(proto_dict: ParsedProtoVLSIR):
208202
raw_netlist_dict["name"] = proto_dict["modules"][0].get("name", "")
209203

210204
# Generate instances information
211-
raw_netlist_dict['instances'] = _extract_instance_parameters(proto_dict)
205+
raw_netlist_dict["instances"] = _extract_instance_parameters(proto_dict)
212206

213207
# Generate connections
214208
raw_netlist_dict["connections"] = _parse_connections(proto_dict)
215209

216210
# Generate top-level connections
217-
raw_netlist_dict['ports'] = _generate_top_level_connections(proto_dict)
211+
raw_netlist_dict["ports"] = _generate_top_level_connections(proto_dict)
218212

219213
return raw_netlist_dict
220214

gplugins/hdl21/sky130.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from collections.abc import Callable
2+
from difflib import get_close_matches
23

34
import hdl21 as h
45
import sky130
@@ -9,10 +10,6 @@
910
_parse_module_to_proto_dict,
1011
)
1112

12-
__all__ = ["hdl21_module_to_schematic_editor", "find_most_relevant_gds", "filter_port"]
13-
14-
from difflib import get_close_matches
15-
1613
custom_mapping_dict = {
1714
"sky130_fd_pr__nfet_01v8": "sky130_fd_pr__rf_nfet_01v8_aM02W1p65L0p15",
1815
"sky130_fd_pr__pfet_01v8": "sky130_fd_pr__rf_pfet_01v8_mcM04W3p00L0p15",

0 commit comments

Comments
 (0)