@modular-circuit/perc 0.2.7 → 0.2.9
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.
- package/dist/index.d.mts +29 -8
- package/dist/index.d.ts +29 -8
- package/dist/index.js +141 -119
- package/dist/index.mjs +141 -119
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -5,14 +5,14 @@ import { PowerBase } from '@modular-circuit/ir/build/graph/pwr_base';
|
|
|
5
5
|
import { CC_Visitor } from '@modular-circuit/utils';
|
|
6
6
|
|
|
7
7
|
declare enum SEVERITY {
|
|
8
|
-
RPT_SEVERITY_UNDEFINED =
|
|
9
|
-
RPT_SEVERITY_INFO =
|
|
10
|
-
RPT_SEVERITY_EXCLUSION =
|
|
11
|
-
RPT_SEVERITY_ACTION =
|
|
12
|
-
RPT_SEVERITY_WARNING =
|
|
13
|
-
RPT_SEVERITY_ERROR =
|
|
14
|
-
RPT_SEVERITY_IGNORE =
|
|
15
|
-
RPT_SEVERITY_DEBUG =
|
|
8
|
+
RPT_SEVERITY_UNDEFINED = "undefined",
|
|
9
|
+
RPT_SEVERITY_INFO = "info",
|
|
10
|
+
RPT_SEVERITY_EXCLUSION = "exclusion",
|
|
11
|
+
RPT_SEVERITY_ACTION = "action",
|
|
12
|
+
RPT_SEVERITY_WARNING = "warning",
|
|
13
|
+
RPT_SEVERITY_ERROR = "error",
|
|
14
|
+
RPT_SEVERITY_IGNORE = "ignore",
|
|
15
|
+
RPT_SEVERITY_DEBUG = "debug"
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
declare enum MakerType {
|
|
@@ -78,101 +78,121 @@ declare const ERCE_UNANNOTATED: (id: string) => {
|
|
|
78
78
|
error_code: ERCE_T;
|
|
79
79
|
error_message: string;
|
|
80
80
|
eda_item_ids: string[];
|
|
81
|
+
severity: SEVERITY;
|
|
81
82
|
};
|
|
82
83
|
declare const ERCE_PIN_TO_PIN_ERROR: (a: ELECTRICAL_NODE, b: ELECTRICAL_NODE) => {
|
|
83
84
|
error_code: ERCE_T;
|
|
84
85
|
error_message: string;
|
|
85
86
|
eda_item_ids: string[];
|
|
87
|
+
severity: SEVERITY;
|
|
86
88
|
};
|
|
87
89
|
declare const ERCE_PIN_NOT_CONNECTED: (id: string) => {
|
|
88
90
|
error_code: ERCE_T;
|
|
89
91
|
error_message: string;
|
|
90
92
|
eda_item_ids: string[];
|
|
93
|
+
severity: SEVERITY;
|
|
91
94
|
};
|
|
92
95
|
declare const ERCE_DRIVER_CONFLICT: (eda_item_ids: string[], primaryName: string, secondaryName: string) => {
|
|
93
96
|
error_code: PP_ERROR;
|
|
94
97
|
error_message: string;
|
|
95
98
|
eda_item_ids: string[];
|
|
99
|
+
severity: SEVERITY;
|
|
96
100
|
};
|
|
97
101
|
declare const PP_INAPPROPRIATE_FUNC: (eda_item_ids: string[]) => {
|
|
98
102
|
error_code: PP_ERROR;
|
|
99
103
|
error_message: string;
|
|
100
104
|
eda_item_ids: string[];
|
|
105
|
+
severity: SEVERITY;
|
|
101
106
|
};
|
|
102
107
|
declare const PP_NOT_DRIVEN: (eda_item_ids: string[]) => {
|
|
103
108
|
error_code: PP_ERROR;
|
|
104
109
|
error_message: string;
|
|
105
110
|
eda_item_ids: string[];
|
|
111
|
+
severity: SEVERITY;
|
|
106
112
|
};
|
|
107
113
|
declare const PP_DUPLICATED_SOURCES: (eda_item_ids: string[]) => {
|
|
108
114
|
error_code: PP_ERROR;
|
|
109
115
|
error_message: string;
|
|
110
116
|
eda_item_ids: string[];
|
|
117
|
+
severity: SEVERITY;
|
|
111
118
|
};
|
|
112
119
|
declare const PP_INSUFFICIENT_DRIVER: (eda_item_ids: string[], desc?: string) => {
|
|
113
120
|
error_code: PP_ERROR;
|
|
114
121
|
error_message: string;
|
|
115
122
|
eda_item_ids: string[];
|
|
123
|
+
severity: SEVERITY;
|
|
116
124
|
};
|
|
117
125
|
declare const PP_OVER_DRIVEN: (eda_item_ids: string[], desc?: string) => {
|
|
118
126
|
error_code: PP_ERROR;
|
|
119
127
|
error_message: string;
|
|
120
128
|
eda_item_ids: string[];
|
|
129
|
+
severity: SEVERITY;
|
|
121
130
|
};
|
|
122
131
|
declare const PP_IMPEDANCE_SIGNAL_INTEGRITY: (eda_item_ids: string[]) => {
|
|
123
132
|
error_code: PP_ERROR;
|
|
124
133
|
error_message: string;
|
|
125
134
|
eda_item_ids: string[];
|
|
135
|
+
severity: SEVERITY;
|
|
126
136
|
};
|
|
127
137
|
declare const PP_INCOMPATIBLE_VOLTAGE_LEVELS: (source: string) => {
|
|
128
138
|
error_code: PP_ERROR;
|
|
129
139
|
error_message: string;
|
|
130
140
|
eda_item_ids: string[];
|
|
141
|
+
severity: SEVERITY;
|
|
131
142
|
};
|
|
132
143
|
declare const PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE: (source: string) => {
|
|
133
144
|
error_code: PP_ERROR;
|
|
134
145
|
error_message: string;
|
|
135
146
|
eda_item_ids: string[];
|
|
147
|
+
severity: SEVERITY;
|
|
136
148
|
};
|
|
137
149
|
declare const PP_INCOMPATIBLE_SIGNAL_LEVELS: (source: string) => {
|
|
138
150
|
error_code: PP_ERROR;
|
|
139
151
|
error_message: string;
|
|
140
152
|
eda_item_ids: string[];
|
|
153
|
+
severity: SEVERITY;
|
|
141
154
|
};
|
|
142
155
|
declare const PP_OVERCURRENT: (source: string) => {
|
|
143
156
|
error_code: PP_ERROR;
|
|
144
157
|
error_message: string;
|
|
145
158
|
eda_item_ids: string[];
|
|
159
|
+
severity: SEVERITY;
|
|
146
160
|
};
|
|
147
161
|
declare const PP_INCOMPATIBLE_DIGITAL_THRESHOLDS: (eda_item_ids: string[]) => {
|
|
148
162
|
error_code: PP_ERROR;
|
|
149
163
|
error_message: string;
|
|
150
164
|
eda_item_ids: string[];
|
|
165
|
+
severity: SEVERITY;
|
|
151
166
|
};
|
|
152
167
|
declare const PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR: (eda_item_ids: string[]) => {
|
|
153
168
|
error_code: PP_ERROR;
|
|
154
169
|
error_message: string;
|
|
155
170
|
eda_item_ids: string[];
|
|
171
|
+
severity: SEVERITY;
|
|
156
172
|
};
|
|
157
173
|
declare const PP_ILLEGAL_CONNECTION: (eda_item_ids: string[], detail: string) => {
|
|
158
174
|
error_code: PP_ERROR;
|
|
159
175
|
error_message: string;
|
|
160
176
|
eda_item_ids: string[];
|
|
177
|
+
severity: SEVERITY;
|
|
161
178
|
};
|
|
162
179
|
declare const CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT: (bundle_id: string) => {
|
|
163
180
|
error_code: PP_ERROR;
|
|
164
181
|
error_message: string;
|
|
165
182
|
eda_item_ids: string[];
|
|
183
|
+
severity: SEVERITY;
|
|
166
184
|
};
|
|
167
185
|
declare const INVALID_INPUT: (eda_item_ids: string[], error_message: unknown) => {
|
|
168
186
|
error_code: PP_ERROR;
|
|
169
187
|
error_message: unknown;
|
|
170
188
|
eda_item_ids: string[];
|
|
189
|
+
severity: SEVERITY;
|
|
171
190
|
};
|
|
172
191
|
declare const INVALID_PORT_ID_REFERENCED_IN_CONNECTION: (eda_item_ids: string[]) => {
|
|
173
192
|
error_code: PP_ERROR;
|
|
174
193
|
error_message: string;
|
|
175
194
|
eda_item_ids: string[];
|
|
195
|
+
severity: SEVERITY;
|
|
176
196
|
};
|
|
177
197
|
|
|
178
198
|
interface REPORT_ITEM {
|
|
@@ -184,6 +204,7 @@ interface REPORT_ITEM {
|
|
|
184
204
|
* A message describing the details of this specific error
|
|
185
205
|
*/
|
|
186
206
|
error_message: unknown;
|
|
207
|
+
severity?: SEVERITY;
|
|
187
208
|
}
|
|
188
209
|
|
|
189
210
|
/**Token from KiCAD
|
package/dist/index.d.ts
CHANGED
|
@@ -5,14 +5,14 @@ import { PowerBase } from '@modular-circuit/ir/build/graph/pwr_base';
|
|
|
5
5
|
import { CC_Visitor } from '@modular-circuit/utils';
|
|
6
6
|
|
|
7
7
|
declare enum SEVERITY {
|
|
8
|
-
RPT_SEVERITY_UNDEFINED =
|
|
9
|
-
RPT_SEVERITY_INFO =
|
|
10
|
-
RPT_SEVERITY_EXCLUSION =
|
|
11
|
-
RPT_SEVERITY_ACTION =
|
|
12
|
-
RPT_SEVERITY_WARNING =
|
|
13
|
-
RPT_SEVERITY_ERROR =
|
|
14
|
-
RPT_SEVERITY_IGNORE =
|
|
15
|
-
RPT_SEVERITY_DEBUG =
|
|
8
|
+
RPT_SEVERITY_UNDEFINED = "undefined",
|
|
9
|
+
RPT_SEVERITY_INFO = "info",
|
|
10
|
+
RPT_SEVERITY_EXCLUSION = "exclusion",
|
|
11
|
+
RPT_SEVERITY_ACTION = "action",
|
|
12
|
+
RPT_SEVERITY_WARNING = "warning",
|
|
13
|
+
RPT_SEVERITY_ERROR = "error",
|
|
14
|
+
RPT_SEVERITY_IGNORE = "ignore",
|
|
15
|
+
RPT_SEVERITY_DEBUG = "debug"
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
declare enum MakerType {
|
|
@@ -78,101 +78,121 @@ declare const ERCE_UNANNOTATED: (id: string) => {
|
|
|
78
78
|
error_code: ERCE_T;
|
|
79
79
|
error_message: string;
|
|
80
80
|
eda_item_ids: string[];
|
|
81
|
+
severity: SEVERITY;
|
|
81
82
|
};
|
|
82
83
|
declare const ERCE_PIN_TO_PIN_ERROR: (a: ELECTRICAL_NODE, b: ELECTRICAL_NODE) => {
|
|
83
84
|
error_code: ERCE_T;
|
|
84
85
|
error_message: string;
|
|
85
86
|
eda_item_ids: string[];
|
|
87
|
+
severity: SEVERITY;
|
|
86
88
|
};
|
|
87
89
|
declare const ERCE_PIN_NOT_CONNECTED: (id: string) => {
|
|
88
90
|
error_code: ERCE_T;
|
|
89
91
|
error_message: string;
|
|
90
92
|
eda_item_ids: string[];
|
|
93
|
+
severity: SEVERITY;
|
|
91
94
|
};
|
|
92
95
|
declare const ERCE_DRIVER_CONFLICT: (eda_item_ids: string[], primaryName: string, secondaryName: string) => {
|
|
93
96
|
error_code: PP_ERROR;
|
|
94
97
|
error_message: string;
|
|
95
98
|
eda_item_ids: string[];
|
|
99
|
+
severity: SEVERITY;
|
|
96
100
|
};
|
|
97
101
|
declare const PP_INAPPROPRIATE_FUNC: (eda_item_ids: string[]) => {
|
|
98
102
|
error_code: PP_ERROR;
|
|
99
103
|
error_message: string;
|
|
100
104
|
eda_item_ids: string[];
|
|
105
|
+
severity: SEVERITY;
|
|
101
106
|
};
|
|
102
107
|
declare const PP_NOT_DRIVEN: (eda_item_ids: string[]) => {
|
|
103
108
|
error_code: PP_ERROR;
|
|
104
109
|
error_message: string;
|
|
105
110
|
eda_item_ids: string[];
|
|
111
|
+
severity: SEVERITY;
|
|
106
112
|
};
|
|
107
113
|
declare const PP_DUPLICATED_SOURCES: (eda_item_ids: string[]) => {
|
|
108
114
|
error_code: PP_ERROR;
|
|
109
115
|
error_message: string;
|
|
110
116
|
eda_item_ids: string[];
|
|
117
|
+
severity: SEVERITY;
|
|
111
118
|
};
|
|
112
119
|
declare const PP_INSUFFICIENT_DRIVER: (eda_item_ids: string[], desc?: string) => {
|
|
113
120
|
error_code: PP_ERROR;
|
|
114
121
|
error_message: string;
|
|
115
122
|
eda_item_ids: string[];
|
|
123
|
+
severity: SEVERITY;
|
|
116
124
|
};
|
|
117
125
|
declare const PP_OVER_DRIVEN: (eda_item_ids: string[], desc?: string) => {
|
|
118
126
|
error_code: PP_ERROR;
|
|
119
127
|
error_message: string;
|
|
120
128
|
eda_item_ids: string[];
|
|
129
|
+
severity: SEVERITY;
|
|
121
130
|
};
|
|
122
131
|
declare const PP_IMPEDANCE_SIGNAL_INTEGRITY: (eda_item_ids: string[]) => {
|
|
123
132
|
error_code: PP_ERROR;
|
|
124
133
|
error_message: string;
|
|
125
134
|
eda_item_ids: string[];
|
|
135
|
+
severity: SEVERITY;
|
|
126
136
|
};
|
|
127
137
|
declare const PP_INCOMPATIBLE_VOLTAGE_LEVELS: (source: string) => {
|
|
128
138
|
error_code: PP_ERROR;
|
|
129
139
|
error_message: string;
|
|
130
140
|
eda_item_ids: string[];
|
|
141
|
+
severity: SEVERITY;
|
|
131
142
|
};
|
|
132
143
|
declare const PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE: (source: string) => {
|
|
133
144
|
error_code: PP_ERROR;
|
|
134
145
|
error_message: string;
|
|
135
146
|
eda_item_ids: string[];
|
|
147
|
+
severity: SEVERITY;
|
|
136
148
|
};
|
|
137
149
|
declare const PP_INCOMPATIBLE_SIGNAL_LEVELS: (source: string) => {
|
|
138
150
|
error_code: PP_ERROR;
|
|
139
151
|
error_message: string;
|
|
140
152
|
eda_item_ids: string[];
|
|
153
|
+
severity: SEVERITY;
|
|
141
154
|
};
|
|
142
155
|
declare const PP_OVERCURRENT: (source: string) => {
|
|
143
156
|
error_code: PP_ERROR;
|
|
144
157
|
error_message: string;
|
|
145
158
|
eda_item_ids: string[];
|
|
159
|
+
severity: SEVERITY;
|
|
146
160
|
};
|
|
147
161
|
declare const PP_INCOMPATIBLE_DIGITAL_THRESHOLDS: (eda_item_ids: string[]) => {
|
|
148
162
|
error_code: PP_ERROR;
|
|
149
163
|
error_message: string;
|
|
150
164
|
eda_item_ids: string[];
|
|
165
|
+
severity: SEVERITY;
|
|
151
166
|
};
|
|
152
167
|
declare const PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR: (eda_item_ids: string[]) => {
|
|
153
168
|
error_code: PP_ERROR;
|
|
154
169
|
error_message: string;
|
|
155
170
|
eda_item_ids: string[];
|
|
171
|
+
severity: SEVERITY;
|
|
156
172
|
};
|
|
157
173
|
declare const PP_ILLEGAL_CONNECTION: (eda_item_ids: string[], detail: string) => {
|
|
158
174
|
error_code: PP_ERROR;
|
|
159
175
|
error_message: string;
|
|
160
176
|
eda_item_ids: string[];
|
|
177
|
+
severity: SEVERITY;
|
|
161
178
|
};
|
|
162
179
|
declare const CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT: (bundle_id: string) => {
|
|
163
180
|
error_code: PP_ERROR;
|
|
164
181
|
error_message: string;
|
|
165
182
|
eda_item_ids: string[];
|
|
183
|
+
severity: SEVERITY;
|
|
166
184
|
};
|
|
167
185
|
declare const INVALID_INPUT: (eda_item_ids: string[], error_message: unknown) => {
|
|
168
186
|
error_code: PP_ERROR;
|
|
169
187
|
error_message: unknown;
|
|
170
188
|
eda_item_ids: string[];
|
|
189
|
+
severity: SEVERITY;
|
|
171
190
|
};
|
|
172
191
|
declare const INVALID_PORT_ID_REFERENCED_IN_CONNECTION: (eda_item_ids: string[]) => {
|
|
173
192
|
error_code: PP_ERROR;
|
|
174
193
|
error_message: string;
|
|
175
194
|
eda_item_ids: string[];
|
|
195
|
+
severity: SEVERITY;
|
|
176
196
|
};
|
|
177
197
|
|
|
178
198
|
interface REPORT_ITEM {
|
|
@@ -184,6 +204,7 @@ interface REPORT_ITEM {
|
|
|
184
204
|
* A message describing the details of this specific error
|
|
185
205
|
*/
|
|
186
206
|
error_message: unknown;
|
|
207
|
+
severity?: SEVERITY;
|
|
187
208
|
}
|
|
188
209
|
|
|
189
210
|
/**Token from KiCAD
|
package/dist/index.js
CHANGED
|
@@ -90,14 +90,14 @@ var MakerType = /* @__PURE__ */ ((MakerType2) => {
|
|
|
90
90
|
|
|
91
91
|
// src/erc/context/error_severity.ts
|
|
92
92
|
var SEVERITY = /* @__PURE__ */ ((SEVERITY2) => {
|
|
93
|
-
SEVERITY2[
|
|
94
|
-
SEVERITY2[
|
|
95
|
-
SEVERITY2[
|
|
96
|
-
SEVERITY2[
|
|
97
|
-
SEVERITY2[
|
|
98
|
-
SEVERITY2[
|
|
99
|
-
SEVERITY2[
|
|
100
|
-
SEVERITY2[
|
|
93
|
+
SEVERITY2["RPT_SEVERITY_UNDEFINED"] = "undefined";
|
|
94
|
+
SEVERITY2["RPT_SEVERITY_INFO"] = "info";
|
|
95
|
+
SEVERITY2["RPT_SEVERITY_EXCLUSION"] = "exclusion";
|
|
96
|
+
SEVERITY2["RPT_SEVERITY_ACTION"] = "action";
|
|
97
|
+
SEVERITY2["RPT_SEVERITY_WARNING"] = "warning";
|
|
98
|
+
SEVERITY2["RPT_SEVERITY_ERROR"] = "error";
|
|
99
|
+
SEVERITY2["RPT_SEVERITY_IGNORE"] = "ignore";
|
|
100
|
+
SEVERITY2["RPT_SEVERITY_DEBUG"] = "debug";
|
|
101
101
|
return SEVERITY2;
|
|
102
102
|
})(SEVERITY || {});
|
|
103
103
|
|
|
@@ -140,40 +140,40 @@ var PP_ERROR = /* @__PURE__ */ ((PP_ERROR2) => {
|
|
|
140
140
|
return PP_ERROR2;
|
|
141
141
|
})(PP_ERROR || {});
|
|
142
142
|
var DEFAULT_PP_ERROR_SEVERITY = {
|
|
143
|
-
["un_compiled_block" /* UN_COMPILED_BLOCK */]:
|
|
144
|
-
["un_compiled_link" /* UN_COMPILED_LINK */]:
|
|
145
|
-
["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]:
|
|
146
|
-
["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]:
|
|
147
|
-
["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]:
|
|
148
|
-
["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]:
|
|
149
|
-
["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]:
|
|
150
|
-
["library_error" /* LIBRARY_ERROR */]:
|
|
151
|
-
["generator_error" /* GENERATOR_ERROR */]:
|
|
152
|
-
["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]:
|
|
153
|
-
["over_assign" /* OVER_ASSIGN */]:
|
|
154
|
-
["bad_reference" /* BAD_REFERENCE */]:
|
|
155
|
-
["abstract_block" /* ABSTRACT_BLOCK */]:
|
|
156
|
-
["failed_assertion" /* FAILED_ASSERTION */]:
|
|
157
|
-
["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]:
|
|
158
|
-
["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]:
|
|
159
|
-
["pp_unannotated" /* PP_UNANNOTATED */]:
|
|
160
|
-
["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]:
|
|
161
|
-
["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]:
|
|
162
|
-
["pp_not_driven" /* NOT_DRIVEN */]:
|
|
163
|
-
["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]:
|
|
164
|
-
["Insufficient_driver" /* INSUFFICIENT_DRIVER */]:
|
|
165
|
-
["over_driven" /* OVER_DRIVEN */]:
|
|
166
|
-
["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]:
|
|
167
|
-
["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]:
|
|
168
|
-
["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]:
|
|
169
|
-
["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]:
|
|
170
|
-
["overcurrent" /* OVERCURRENT */]:
|
|
171
|
-
["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]:
|
|
172
|
-
["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]:
|
|
173
|
-
["Illegal_connection" /* ILLEGAL_CONNECTION */]:
|
|
174
|
-
["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]:
|
|
175
|
-
["Invalid input" /* INVALID_INPUT */]:
|
|
176
|
-
["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]:
|
|
143
|
+
["un_compiled_block" /* UN_COMPILED_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
144
|
+
["un_compiled_link" /* UN_COMPILED_LINK */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
145
|
+
["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
146
|
+
["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
147
|
+
["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
148
|
+
["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
149
|
+
["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
150
|
+
["library_error" /* LIBRARY_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
151
|
+
["generator_error" /* GENERATOR_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
152
|
+
["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
153
|
+
["over_assign" /* OVER_ASSIGN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
154
|
+
["bad_reference" /* BAD_REFERENCE */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
155
|
+
["abstract_block" /* ABSTRACT_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
156
|
+
["failed_assertion" /* FAILED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
157
|
+
["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
158
|
+
["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
159
|
+
["pp_unannotated" /* PP_UNANNOTATED */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
160
|
+
["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
161
|
+
["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
162
|
+
["pp_not_driven" /* NOT_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
163
|
+
["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
164
|
+
["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
165
|
+
["over_driven" /* OVER_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
166
|
+
["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
167
|
+
["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
168
|
+
["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
169
|
+
["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
170
|
+
["overcurrent" /* OVERCURRENT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
171
|
+
["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
172
|
+
["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
173
|
+
["Illegal_connection" /* ILLEGAL_CONNECTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
174
|
+
["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
175
|
+
["Invalid input" /* INVALID_INPUT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
176
|
+
["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: "warning" /* RPT_SEVERITY_WARNING */
|
|
177
177
|
};
|
|
178
178
|
|
|
179
179
|
// src/erc/parameter_propagation/tester.ts
|
|
@@ -198,104 +198,124 @@ var import_electronics_model = require("@modular-circuit/electronics-model");
|
|
|
198
198
|
var ERCE_UNANNOTATED = (id) => ({
|
|
199
199
|
error_code: "unannotated" /* ERCE_UNANNOTATED */,
|
|
200
200
|
error_message: "Port has no electrical type specified.",
|
|
201
|
-
eda_item_ids: [id]
|
|
201
|
+
eda_item_ids: [id],
|
|
202
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
202
203
|
});
|
|
203
204
|
var ERCE_PIN_TO_PIN_ERROR = (a, b) => ({
|
|
204
205
|
error_code: "ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */,
|
|
205
206
|
error_message: `Port ${(0, import_electronics_model.get_electrical_pin_type)(a)} and port ${(0, import_electronics_model.get_electrical_pin_type)(b)} are not compatible.`,
|
|
206
|
-
eda_item_ids: [a.uuid, b.uuid]
|
|
207
|
+
eda_item_ids: [a.uuid, b.uuid],
|
|
208
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
207
209
|
});
|
|
208
210
|
var ERCE_PIN_NOT_CONNECTED = (id) => ({
|
|
209
211
|
error_code: "pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */,
|
|
210
212
|
error_message: "Port not connected.",
|
|
211
|
-
eda_item_ids: [id]
|
|
213
|
+
eda_item_ids: [id],
|
|
214
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
212
215
|
});
|
|
213
216
|
var ERCE_DRIVER_CONFLICT = (eda_item_ids, primaryName, secondaryName) => ({
|
|
214
217
|
error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
|
|
215
|
-
error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net
|
|
216
|
-
eda_item_ids
|
|
218
|
+
error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net.`,
|
|
219
|
+
eda_item_ids,
|
|
220
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
217
221
|
});
|
|
218
222
|
var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
|
|
219
223
|
error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
|
|
220
224
|
error_message: "Inappropriate ports functions.",
|
|
221
|
-
eda_item_ids
|
|
225
|
+
eda_item_ids,
|
|
226
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
222
227
|
});
|
|
223
228
|
var PP_NOT_DRIVEN = (eda_item_ids) => ({
|
|
224
229
|
error_code: "pp_not_driven" /* NOT_DRIVEN */,
|
|
225
230
|
error_message: "Net not driven.",
|
|
226
|
-
eda_item_ids
|
|
231
|
+
eda_item_ids,
|
|
232
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
227
233
|
});
|
|
228
234
|
var PP_DUPLICATED_SOURCES = (eda_item_ids) => ({
|
|
229
235
|
error_code: "duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */,
|
|
230
236
|
error_message: "Net connected to multiple power sources.",
|
|
231
|
-
eda_item_ids
|
|
237
|
+
eda_item_ids,
|
|
238
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
232
239
|
});
|
|
233
240
|
var PP_INSUFFICIENT_DRIVER = (eda_item_ids, desc) => ({
|
|
234
241
|
error_code: "Insufficient_driver" /* INSUFFICIENT_DRIVER */,
|
|
235
242
|
error_message: `Insufficient ${desc} driver.`,
|
|
236
|
-
eda_item_ids
|
|
243
|
+
eda_item_ids,
|
|
244
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
237
245
|
});
|
|
238
246
|
var PP_OVER_DRIVEN = (eda_item_ids, desc) => ({
|
|
239
247
|
error_code: "over_driven" /* OVER_DRIVEN */,
|
|
240
248
|
error_message: `${desc} over driven.`,
|
|
241
|
-
eda_item_ids
|
|
249
|
+
eda_item_ids,
|
|
250
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
242
251
|
});
|
|
243
252
|
var PP_IMPEDANCE_SIGNAL_INTEGRITY = (eda_item_ids) => ({
|
|
244
253
|
error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
|
|
245
254
|
error_message: "Source impedance shall be 10x lower than sink impedance for signal integrity.",
|
|
246
|
-
eda_item_ids
|
|
255
|
+
eda_item_ids,
|
|
256
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
247
257
|
});
|
|
248
258
|
var PP_INCOMPATIBLE_VOLTAGE_LEVELS = (source) => ({
|
|
249
259
|
error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
|
|
250
260
|
error_message: "Incompatible voltage levels.",
|
|
251
|
-
eda_item_ids: [source]
|
|
261
|
+
eda_item_ids: [source],
|
|
262
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
252
263
|
});
|
|
253
264
|
var PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE = (source) => ({
|
|
254
265
|
error_code: "signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */,
|
|
255
266
|
error_message: "Signal levels not contained within voltage.",
|
|
256
|
-
eda_item_ids: [source]
|
|
267
|
+
eda_item_ids: [source],
|
|
268
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
257
269
|
});
|
|
258
270
|
var PP_INCOMPATIBLE_SIGNAL_LEVELS = (source) => ({
|
|
259
271
|
error_code: "incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */,
|
|
260
272
|
error_message: "Incompatible signal levels.",
|
|
261
|
-
eda_item_ids: [source]
|
|
273
|
+
eda_item_ids: [source],
|
|
274
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
262
275
|
});
|
|
263
276
|
var PP_OVERCURRENT = (source) => ({
|
|
264
277
|
error_code: "overcurrent" /* OVERCURRENT */,
|
|
265
278
|
error_message: "overcurrent.",
|
|
266
|
-
eda_item_ids: [source]
|
|
279
|
+
eda_item_ids: [source],
|
|
280
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
267
281
|
});
|
|
268
282
|
var PP_INCOMPATIBLE_DIGITAL_THRESHOLDS = (eda_item_ids) => ({
|
|
269
283
|
error_code: "incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */,
|
|
270
284
|
error_message: "Incompatible digital thresholds.",
|
|
271
|
-
eda_item_ids
|
|
285
|
+
eda_item_ids,
|
|
286
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
272
287
|
});
|
|
273
288
|
var PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR = (eda_item_ids) => ({
|
|
274
289
|
error_code: "requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */,
|
|
275
290
|
error_message: "Requires connected source or bidir.",
|
|
276
|
-
eda_item_ids
|
|
291
|
+
eda_item_ids,
|
|
292
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
277
293
|
});
|
|
278
294
|
var PP_ILLEGAL_CONNECTION = (eda_item_ids, detail) => ({
|
|
279
295
|
error_code: "Illegal_connection" /* ILLEGAL_CONNECTION */,
|
|
280
296
|
error_message: `Illegal connection: ${detail}`,
|
|
281
|
-
eda_item_ids
|
|
297
|
+
eda_item_ids,
|
|
298
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
282
299
|
});
|
|
283
300
|
var CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT = (bundle_id) => ({
|
|
284
301
|
error_code: "connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */,
|
|
285
302
|
error_message: "Connections count exceeds bundle limit.",
|
|
286
|
-
eda_item_ids: [bundle_id]
|
|
303
|
+
eda_item_ids: [bundle_id],
|
|
304
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
287
305
|
});
|
|
288
306
|
var INVALID_INPUT = (eda_item_ids, error_message) => {
|
|
289
307
|
return {
|
|
290
308
|
error_code: "Invalid input" /* INVALID_INPUT */,
|
|
291
309
|
error_message,
|
|
292
|
-
eda_item_ids
|
|
310
|
+
eda_item_ids,
|
|
311
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
293
312
|
};
|
|
294
313
|
};
|
|
295
314
|
var INVALID_PORT_ID_REFERENCED_IN_CONNECTION = (eda_item_ids) => ({
|
|
296
315
|
error_code: "Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */,
|
|
297
316
|
error_message: "Invalid port id referenced in connections.",
|
|
298
|
-
eda_item_ids
|
|
317
|
+
eda_item_ids,
|
|
318
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
299
319
|
});
|
|
300
320
|
|
|
301
321
|
// src/erc/parameter_propagation/link_testers/tester_impl.ts
|
|
@@ -1198,8 +1218,9 @@ var ParameterPropagationTester = class {
|
|
|
1198
1218
|
this.link_map = (0, import_electronics_model4.gen_link_map)();
|
|
1199
1219
|
const ports = [];
|
|
1200
1220
|
const valid_port = (p) => {
|
|
1221
|
+
const port = p.param;
|
|
1201
1222
|
try {
|
|
1202
|
-
const zod_schema = (0, import_electronics_model4.get_port_schema)(
|
|
1223
|
+
const zod_schema = (0, import_electronics_model4.get_port_schema)(port);
|
|
1203
1224
|
if (!zod_schema) {
|
|
1204
1225
|
this.ctx.report.erc_errors.push(
|
|
1205
1226
|
INVALID_INPUT([p.uuid], {
|
|
@@ -1208,14 +1229,15 @@ var ParameterPropagationTester = class {
|
|
|
1208
1229
|
);
|
|
1209
1230
|
return;
|
|
1210
1231
|
}
|
|
1211
|
-
|
|
1232
|
+
zod_schema.parse(port);
|
|
1212
1233
|
ports.push(p);
|
|
1213
1234
|
} catch (err) {
|
|
1214
1235
|
if (err instanceof z.ZodError) {
|
|
1215
1236
|
this.ctx.report.erc_errors.push(
|
|
1216
1237
|
INVALID_INPUT([p.uuid], {
|
|
1217
1238
|
input: p,
|
|
1218
|
-
issues: err.issues
|
|
1239
|
+
issues: err.issues,
|
|
1240
|
+
port
|
|
1219
1241
|
})
|
|
1220
1242
|
);
|
|
1221
1243
|
}
|
|
@@ -1245,14 +1267,14 @@ var ParameterPropagationTester = class {
|
|
|
1245
1267
|
}
|
|
1246
1268
|
}
|
|
1247
1269
|
this.port_id = /* @__PURE__ */ new Map();
|
|
1248
|
-
for (const p of ports) this.port_id.set(p.param, p.uuid);
|
|
1249
1270
|
for (const v of ports) {
|
|
1271
|
+
this.port_id.set(v.param, v.uuid);
|
|
1250
1272
|
const port = v.param;
|
|
1251
1273
|
if (port.type === import_electronics_model4.PortType.Passive) this.has_passive_port = true;
|
|
1252
|
-
|
|
1274
|
+
let link_type = (0, import_electronics_model4.get_port_link_type)(port);
|
|
1253
1275
|
if (link_type instanceof Error) {
|
|
1254
|
-
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
|
|
1255
|
-
|
|
1276
|
+
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
|
|
1277
|
+
link_type = import_electronics_model4.LinkType.PassiveLink;
|
|
1256
1278
|
}
|
|
1257
1279
|
const arr = this.link_map[link_type];
|
|
1258
1280
|
arr.push(port);
|
|
@@ -1417,7 +1439,7 @@ var ERC_SETTING = class {
|
|
|
1417
1439
|
this.rule_severities = rule_severities;
|
|
1418
1440
|
}
|
|
1419
1441
|
IsTestEnabled(code) {
|
|
1420
|
-
return this.rule_severities[code] !==
|
|
1442
|
+
return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
|
|
1421
1443
|
}
|
|
1422
1444
|
GetPinMapValue(aFirstType, aSecondType) {
|
|
1423
1445
|
return this.pin_map[aFirstType][aSecondType];
|
|
@@ -1473,54 +1495,54 @@ var DEFAULT_PIN_MAP = [
|
|
|
1473
1495
|
[ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
|
|
1474
1496
|
];
|
|
1475
1497
|
var DEFAULT_SEVERITY = {
|
|
1476
|
-
["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]:
|
|
1477
|
-
["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]:
|
|
1478
|
-
["similar_labels" /* ERCE_SIMILAR_LABELS */]:
|
|
1479
|
-
["similar_power" /* ERCE_SIMILAR_POWER */]:
|
|
1480
|
-
["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]:
|
|
1481
|
-
["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]:
|
|
1482
|
-
["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]:
|
|
1483
|
-
["global_label_dangling" /* ERCE_GLOBLABEL */]:
|
|
1484
|
-
["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]:
|
|
1485
|
-
["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]:
|
|
1486
|
-
["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]:
|
|
1487
|
-
["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]:
|
|
1488
|
-
["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]:
|
|
1489
|
-
["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]:
|
|
1490
|
-
["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]:
|
|
1491
|
-
["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]:
|
|
1492
|
-
["missing_unit" /* ERCE_MISSING_UNIT */]:
|
|
1493
|
-
["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]:
|
|
1494
|
-
["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]:
|
|
1495
|
-
["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]:
|
|
1496
|
-
["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]:
|
|
1497
|
-
["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]:
|
|
1498
|
-
["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]:
|
|
1499
|
-
["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]:
|
|
1500
|
-
["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]:
|
|
1501
|
-
["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]:
|
|
1502
|
-
["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]:
|
|
1503
|
-
["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]:
|
|
1504
|
-
["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]:
|
|
1505
|
-
["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]:
|
|
1506
|
-
["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]:
|
|
1507
|
-
["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]:
|
|
1508
|
-
["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]:
|
|
1509
|
-
["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]:
|
|
1510
|
-
["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]:
|
|
1511
|
-
["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]:
|
|
1512
|
-
["wire_dangling" /* ERCE_WIRE_DANGLING */]:
|
|
1513
|
-
["unannotated" /* ERCE_UNANNOTATED */]:
|
|
1514
|
-
["extra_units" /* ERCE_EXTRA_UNITS */]:
|
|
1515
|
-
["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]:
|
|
1516
|
-
["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]:
|
|
1517
|
-
["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]:
|
|
1518
|
-
["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]:
|
|
1519
|
-
["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]:
|
|
1520
|
-
["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]:
|
|
1521
|
-
["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]:
|
|
1522
|
-
["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]:
|
|
1523
|
-
["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]:
|
|
1498
|
+
["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1499
|
+
["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1500
|
+
["similar_labels" /* ERCE_SIMILAR_LABELS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1501
|
+
["similar_power" /* ERCE_SIMILAR_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1502
|
+
["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1503
|
+
["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1504
|
+
["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1505
|
+
["global_label_dangling" /* ERCE_GLOBLABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1506
|
+
["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1507
|
+
["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1508
|
+
["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1509
|
+
["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1510
|
+
["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1511
|
+
["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1512
|
+
["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1513
|
+
["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1514
|
+
["missing_unit" /* ERCE_MISSING_UNIT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1515
|
+
["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1516
|
+
["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1517
|
+
["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1518
|
+
["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1519
|
+
["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1520
|
+
["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1521
|
+
["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1522
|
+
["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1523
|
+
["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1524
|
+
["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1525
|
+
["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1526
|
+
["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1527
|
+
["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1528
|
+
["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1529
|
+
["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1530
|
+
["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1531
|
+
["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1532
|
+
["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1533
|
+
["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1534
|
+
["wire_dangling" /* ERCE_WIRE_DANGLING */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1535
|
+
["unannotated" /* ERCE_UNANNOTATED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1536
|
+
["extra_units" /* ERCE_EXTRA_UNITS */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1537
|
+
["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1538
|
+
["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1539
|
+
["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1540
|
+
["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1541
|
+
["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1542
|
+
["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1543
|
+
["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1544
|
+
["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1545
|
+
["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: "error" /* RPT_SEVERITY_ERROR */
|
|
1524
1546
|
};
|
|
1525
1547
|
var DEFAULT_ERC_SETTING = new ERC_SETTING({
|
|
1526
1548
|
pin_map: DEFAULT_PIN_MAP,
|
package/dist/index.mjs
CHANGED
|
@@ -12,14 +12,14 @@ var MakerType = /* @__PURE__ */ ((MakerType2) => {
|
|
|
12
12
|
|
|
13
13
|
// src/erc/context/error_severity.ts
|
|
14
14
|
var SEVERITY = /* @__PURE__ */ ((SEVERITY2) => {
|
|
15
|
-
SEVERITY2[
|
|
16
|
-
SEVERITY2[
|
|
17
|
-
SEVERITY2[
|
|
18
|
-
SEVERITY2[
|
|
19
|
-
SEVERITY2[
|
|
20
|
-
SEVERITY2[
|
|
21
|
-
SEVERITY2[
|
|
22
|
-
SEVERITY2[
|
|
15
|
+
SEVERITY2["RPT_SEVERITY_UNDEFINED"] = "undefined";
|
|
16
|
+
SEVERITY2["RPT_SEVERITY_INFO"] = "info";
|
|
17
|
+
SEVERITY2["RPT_SEVERITY_EXCLUSION"] = "exclusion";
|
|
18
|
+
SEVERITY2["RPT_SEVERITY_ACTION"] = "action";
|
|
19
|
+
SEVERITY2["RPT_SEVERITY_WARNING"] = "warning";
|
|
20
|
+
SEVERITY2["RPT_SEVERITY_ERROR"] = "error";
|
|
21
|
+
SEVERITY2["RPT_SEVERITY_IGNORE"] = "ignore";
|
|
22
|
+
SEVERITY2["RPT_SEVERITY_DEBUG"] = "debug";
|
|
23
23
|
return SEVERITY2;
|
|
24
24
|
})(SEVERITY || {});
|
|
25
25
|
|
|
@@ -62,40 +62,40 @@ var PP_ERROR = /* @__PURE__ */ ((PP_ERROR2) => {
|
|
|
62
62
|
return PP_ERROR2;
|
|
63
63
|
})(PP_ERROR || {});
|
|
64
64
|
var DEFAULT_PP_ERROR_SEVERITY = {
|
|
65
|
-
["un_compiled_block" /* UN_COMPILED_BLOCK */]:
|
|
66
|
-
["un_compiled_link" /* UN_COMPILED_LINK */]:
|
|
67
|
-
["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]:
|
|
68
|
-
["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]:
|
|
69
|
-
["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]:
|
|
70
|
-
["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]:
|
|
71
|
-
["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]:
|
|
72
|
-
["library_error" /* LIBRARY_ERROR */]:
|
|
73
|
-
["generator_error" /* GENERATOR_ERROR */]:
|
|
74
|
-
["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]:
|
|
75
|
-
["over_assign" /* OVER_ASSIGN */]:
|
|
76
|
-
["bad_reference" /* BAD_REFERENCE */]:
|
|
77
|
-
["abstract_block" /* ABSTRACT_BLOCK */]:
|
|
78
|
-
["failed_assertion" /* FAILED_ASSERTION */]:
|
|
79
|
-
["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]:
|
|
80
|
-
["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]:
|
|
81
|
-
["pp_unannotated" /* PP_UNANNOTATED */]:
|
|
82
|
-
["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]:
|
|
83
|
-
["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]:
|
|
84
|
-
["pp_not_driven" /* NOT_DRIVEN */]:
|
|
85
|
-
["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]:
|
|
86
|
-
["Insufficient_driver" /* INSUFFICIENT_DRIVER */]:
|
|
87
|
-
["over_driven" /* OVER_DRIVEN */]:
|
|
88
|
-
["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]:
|
|
89
|
-
["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]:
|
|
90
|
-
["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]:
|
|
91
|
-
["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]:
|
|
92
|
-
["overcurrent" /* OVERCURRENT */]:
|
|
93
|
-
["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]:
|
|
94
|
-
["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]:
|
|
95
|
-
["Illegal_connection" /* ILLEGAL_CONNECTION */]:
|
|
96
|
-
["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]:
|
|
97
|
-
["Invalid input" /* INVALID_INPUT */]:
|
|
98
|
-
["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]:
|
|
65
|
+
["un_compiled_block" /* UN_COMPILED_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
66
|
+
["un_compiled_link" /* UN_COMPILED_LINK */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
67
|
+
["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
68
|
+
["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
69
|
+
["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
70
|
+
["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
71
|
+
["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
72
|
+
["library_error" /* LIBRARY_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
73
|
+
["generator_error" /* GENERATOR_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
74
|
+
["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
75
|
+
["over_assign" /* OVER_ASSIGN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
76
|
+
["bad_reference" /* BAD_REFERENCE */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
77
|
+
["abstract_block" /* ABSTRACT_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
78
|
+
["failed_assertion" /* FAILED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
79
|
+
["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
80
|
+
["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
81
|
+
["pp_unannotated" /* PP_UNANNOTATED */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
82
|
+
["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
83
|
+
["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
84
|
+
["pp_not_driven" /* NOT_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
85
|
+
["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
86
|
+
["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
87
|
+
["over_driven" /* OVER_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
88
|
+
["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
89
|
+
["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
90
|
+
["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
91
|
+
["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
92
|
+
["overcurrent" /* OVERCURRENT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
93
|
+
["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
94
|
+
["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
95
|
+
["Illegal_connection" /* ILLEGAL_CONNECTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
96
|
+
["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
97
|
+
["Invalid input" /* INVALID_INPUT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
98
|
+
["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: "warning" /* RPT_SEVERITY_WARNING */
|
|
99
99
|
};
|
|
100
100
|
|
|
101
101
|
// src/erc/parameter_propagation/tester.ts
|
|
@@ -127,104 +127,124 @@ import { get_electrical_pin_type } from "@modular-circuit/electronics-model";
|
|
|
127
127
|
var ERCE_UNANNOTATED = (id) => ({
|
|
128
128
|
error_code: "unannotated" /* ERCE_UNANNOTATED */,
|
|
129
129
|
error_message: "Port has no electrical type specified.",
|
|
130
|
-
eda_item_ids: [id]
|
|
130
|
+
eda_item_ids: [id],
|
|
131
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
131
132
|
});
|
|
132
133
|
var ERCE_PIN_TO_PIN_ERROR = (a, b) => ({
|
|
133
134
|
error_code: "ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */,
|
|
134
135
|
error_message: `Port ${get_electrical_pin_type(a)} and port ${get_electrical_pin_type(b)} are not compatible.`,
|
|
135
|
-
eda_item_ids: [a.uuid, b.uuid]
|
|
136
|
+
eda_item_ids: [a.uuid, b.uuid],
|
|
137
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
136
138
|
});
|
|
137
139
|
var ERCE_PIN_NOT_CONNECTED = (id) => ({
|
|
138
140
|
error_code: "pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */,
|
|
139
141
|
error_message: "Port not connected.",
|
|
140
|
-
eda_item_ids: [id]
|
|
142
|
+
eda_item_ids: [id],
|
|
143
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
141
144
|
});
|
|
142
145
|
var ERCE_DRIVER_CONFLICT = (eda_item_ids, primaryName, secondaryName) => ({
|
|
143
146
|
error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
|
|
144
|
-
error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net
|
|
145
|
-
eda_item_ids
|
|
147
|
+
error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net.`,
|
|
148
|
+
eda_item_ids,
|
|
149
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
146
150
|
});
|
|
147
151
|
var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
|
|
148
152
|
error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
|
|
149
153
|
error_message: "Inappropriate ports functions.",
|
|
150
|
-
eda_item_ids
|
|
154
|
+
eda_item_ids,
|
|
155
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
151
156
|
});
|
|
152
157
|
var PP_NOT_DRIVEN = (eda_item_ids) => ({
|
|
153
158
|
error_code: "pp_not_driven" /* NOT_DRIVEN */,
|
|
154
159
|
error_message: "Net not driven.",
|
|
155
|
-
eda_item_ids
|
|
160
|
+
eda_item_ids,
|
|
161
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
156
162
|
});
|
|
157
163
|
var PP_DUPLICATED_SOURCES = (eda_item_ids) => ({
|
|
158
164
|
error_code: "duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */,
|
|
159
165
|
error_message: "Net connected to multiple power sources.",
|
|
160
|
-
eda_item_ids
|
|
166
|
+
eda_item_ids,
|
|
167
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
161
168
|
});
|
|
162
169
|
var PP_INSUFFICIENT_DRIVER = (eda_item_ids, desc) => ({
|
|
163
170
|
error_code: "Insufficient_driver" /* INSUFFICIENT_DRIVER */,
|
|
164
171
|
error_message: `Insufficient ${desc} driver.`,
|
|
165
|
-
eda_item_ids
|
|
172
|
+
eda_item_ids,
|
|
173
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
166
174
|
});
|
|
167
175
|
var PP_OVER_DRIVEN = (eda_item_ids, desc) => ({
|
|
168
176
|
error_code: "over_driven" /* OVER_DRIVEN */,
|
|
169
177
|
error_message: `${desc} over driven.`,
|
|
170
|
-
eda_item_ids
|
|
178
|
+
eda_item_ids,
|
|
179
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
171
180
|
});
|
|
172
181
|
var PP_IMPEDANCE_SIGNAL_INTEGRITY = (eda_item_ids) => ({
|
|
173
182
|
error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
|
|
174
183
|
error_message: "Source impedance shall be 10x lower than sink impedance for signal integrity.",
|
|
175
|
-
eda_item_ids
|
|
184
|
+
eda_item_ids,
|
|
185
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
176
186
|
});
|
|
177
187
|
var PP_INCOMPATIBLE_VOLTAGE_LEVELS = (source) => ({
|
|
178
188
|
error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
|
|
179
189
|
error_message: "Incompatible voltage levels.",
|
|
180
|
-
eda_item_ids: [source]
|
|
190
|
+
eda_item_ids: [source],
|
|
191
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
181
192
|
});
|
|
182
193
|
var PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE = (source) => ({
|
|
183
194
|
error_code: "signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */,
|
|
184
195
|
error_message: "Signal levels not contained within voltage.",
|
|
185
|
-
eda_item_ids: [source]
|
|
196
|
+
eda_item_ids: [source],
|
|
197
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
186
198
|
});
|
|
187
199
|
var PP_INCOMPATIBLE_SIGNAL_LEVELS = (source) => ({
|
|
188
200
|
error_code: "incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */,
|
|
189
201
|
error_message: "Incompatible signal levels.",
|
|
190
|
-
eda_item_ids: [source]
|
|
202
|
+
eda_item_ids: [source],
|
|
203
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
191
204
|
});
|
|
192
205
|
var PP_OVERCURRENT = (source) => ({
|
|
193
206
|
error_code: "overcurrent" /* OVERCURRENT */,
|
|
194
207
|
error_message: "overcurrent.",
|
|
195
|
-
eda_item_ids: [source]
|
|
208
|
+
eda_item_ids: [source],
|
|
209
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
196
210
|
});
|
|
197
211
|
var PP_INCOMPATIBLE_DIGITAL_THRESHOLDS = (eda_item_ids) => ({
|
|
198
212
|
error_code: "incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */,
|
|
199
213
|
error_message: "Incompatible digital thresholds.",
|
|
200
|
-
eda_item_ids
|
|
214
|
+
eda_item_ids,
|
|
215
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
201
216
|
});
|
|
202
217
|
var PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR = (eda_item_ids) => ({
|
|
203
218
|
error_code: "requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */,
|
|
204
219
|
error_message: "Requires connected source or bidir.",
|
|
205
|
-
eda_item_ids
|
|
220
|
+
eda_item_ids,
|
|
221
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
206
222
|
});
|
|
207
223
|
var PP_ILLEGAL_CONNECTION = (eda_item_ids, detail) => ({
|
|
208
224
|
error_code: "Illegal_connection" /* ILLEGAL_CONNECTION */,
|
|
209
225
|
error_message: `Illegal connection: ${detail}`,
|
|
210
|
-
eda_item_ids
|
|
226
|
+
eda_item_ids,
|
|
227
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
211
228
|
});
|
|
212
229
|
var CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT = (bundle_id) => ({
|
|
213
230
|
error_code: "connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */,
|
|
214
231
|
error_message: "Connections count exceeds bundle limit.",
|
|
215
|
-
eda_item_ids: [bundle_id]
|
|
232
|
+
eda_item_ids: [bundle_id],
|
|
233
|
+
severity: "error" /* RPT_SEVERITY_ERROR */
|
|
216
234
|
});
|
|
217
235
|
var INVALID_INPUT = (eda_item_ids, error_message) => {
|
|
218
236
|
return {
|
|
219
237
|
error_code: "Invalid input" /* INVALID_INPUT */,
|
|
220
238
|
error_message,
|
|
221
|
-
eda_item_ids
|
|
239
|
+
eda_item_ids,
|
|
240
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
222
241
|
};
|
|
223
242
|
};
|
|
224
243
|
var INVALID_PORT_ID_REFERENCED_IN_CONNECTION = (eda_item_ids) => ({
|
|
225
244
|
error_code: "Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */,
|
|
226
245
|
error_message: "Invalid port id referenced in connections.",
|
|
227
|
-
eda_item_ids
|
|
246
|
+
eda_item_ids,
|
|
247
|
+
severity: "warning" /* RPT_SEVERITY_WARNING */
|
|
228
248
|
});
|
|
229
249
|
|
|
230
250
|
// src/erc/parameter_propagation/link_testers/tester_impl.ts
|
|
@@ -1138,8 +1158,9 @@ var ParameterPropagationTester = class {
|
|
|
1138
1158
|
this.link_map = gen_link_map();
|
|
1139
1159
|
const ports = [];
|
|
1140
1160
|
const valid_port = (p) => {
|
|
1161
|
+
const port = p.param;
|
|
1141
1162
|
try {
|
|
1142
|
-
const zod_schema = get_port_schema(
|
|
1163
|
+
const zod_schema = get_port_schema(port);
|
|
1143
1164
|
if (!zod_schema) {
|
|
1144
1165
|
this.ctx.report.erc_errors.push(
|
|
1145
1166
|
INVALID_INPUT([p.uuid], {
|
|
@@ -1148,14 +1169,15 @@ var ParameterPropagationTester = class {
|
|
|
1148
1169
|
);
|
|
1149
1170
|
return;
|
|
1150
1171
|
}
|
|
1151
|
-
|
|
1172
|
+
zod_schema.parse(port);
|
|
1152
1173
|
ports.push(p);
|
|
1153
1174
|
} catch (err) {
|
|
1154
1175
|
if (err instanceof z.ZodError) {
|
|
1155
1176
|
this.ctx.report.erc_errors.push(
|
|
1156
1177
|
INVALID_INPUT([p.uuid], {
|
|
1157
1178
|
input: p,
|
|
1158
|
-
issues: err.issues
|
|
1179
|
+
issues: err.issues,
|
|
1180
|
+
port
|
|
1159
1181
|
})
|
|
1160
1182
|
);
|
|
1161
1183
|
}
|
|
@@ -1185,14 +1207,14 @@ var ParameterPropagationTester = class {
|
|
|
1185
1207
|
}
|
|
1186
1208
|
}
|
|
1187
1209
|
this.port_id = /* @__PURE__ */ new Map();
|
|
1188
|
-
for (const p of ports) this.port_id.set(p.param, p.uuid);
|
|
1189
1210
|
for (const v of ports) {
|
|
1211
|
+
this.port_id.set(v.param, v.uuid);
|
|
1190
1212
|
const port = v.param;
|
|
1191
1213
|
if (port.type === PortType2.Passive) this.has_passive_port = true;
|
|
1192
|
-
|
|
1214
|
+
let link_type = get_port_link_type(port);
|
|
1193
1215
|
if (link_type instanceof Error) {
|
|
1194
|
-
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
|
|
1195
|
-
|
|
1216
|
+
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
|
|
1217
|
+
link_type = LinkType.PassiveLink;
|
|
1196
1218
|
}
|
|
1197
1219
|
const arr = this.link_map[link_type];
|
|
1198
1220
|
arr.push(port);
|
|
@@ -1357,7 +1379,7 @@ var ERC_SETTING = class {
|
|
|
1357
1379
|
this.rule_severities = rule_severities;
|
|
1358
1380
|
}
|
|
1359
1381
|
IsTestEnabled(code) {
|
|
1360
|
-
return this.rule_severities[code] !==
|
|
1382
|
+
return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
|
|
1361
1383
|
}
|
|
1362
1384
|
GetPinMapValue(aFirstType, aSecondType) {
|
|
1363
1385
|
return this.pin_map[aFirstType][aSecondType];
|
|
@@ -1413,54 +1435,54 @@ var DEFAULT_PIN_MAP = [
|
|
|
1413
1435
|
[ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
|
|
1414
1436
|
];
|
|
1415
1437
|
var DEFAULT_SEVERITY = {
|
|
1416
|
-
["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]:
|
|
1417
|
-
["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]:
|
|
1418
|
-
["similar_labels" /* ERCE_SIMILAR_LABELS */]:
|
|
1419
|
-
["similar_power" /* ERCE_SIMILAR_POWER */]:
|
|
1420
|
-
["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]:
|
|
1421
|
-
["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]:
|
|
1422
|
-
["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]:
|
|
1423
|
-
["global_label_dangling" /* ERCE_GLOBLABEL */]:
|
|
1424
|
-
["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]:
|
|
1425
|
-
["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]:
|
|
1426
|
-
["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]:
|
|
1427
|
-
["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]:
|
|
1428
|
-
["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]:
|
|
1429
|
-
["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]:
|
|
1430
|
-
["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]:
|
|
1431
|
-
["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]:
|
|
1432
|
-
["missing_unit" /* ERCE_MISSING_UNIT */]:
|
|
1433
|
-
["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]:
|
|
1434
|
-
["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]:
|
|
1435
|
-
["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]:
|
|
1436
|
-
["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]:
|
|
1437
|
-
["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]:
|
|
1438
|
-
["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]:
|
|
1439
|
-
["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]:
|
|
1440
|
-
["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]:
|
|
1441
|
-
["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]:
|
|
1442
|
-
["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]:
|
|
1443
|
-
["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]:
|
|
1444
|
-
["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]:
|
|
1445
|
-
["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]:
|
|
1446
|
-
["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]:
|
|
1447
|
-
["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]:
|
|
1448
|
-
["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]:
|
|
1449
|
-
["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]:
|
|
1450
|
-
["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]:
|
|
1451
|
-
["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]:
|
|
1452
|
-
["wire_dangling" /* ERCE_WIRE_DANGLING */]:
|
|
1453
|
-
["unannotated" /* ERCE_UNANNOTATED */]:
|
|
1454
|
-
["extra_units" /* ERCE_EXTRA_UNITS */]:
|
|
1455
|
-
["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]:
|
|
1456
|
-
["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]:
|
|
1457
|
-
["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]:
|
|
1458
|
-
["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]:
|
|
1459
|
-
["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]:
|
|
1460
|
-
["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]:
|
|
1461
|
-
["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]:
|
|
1462
|
-
["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]:
|
|
1463
|
-
["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]:
|
|
1438
|
+
["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1439
|
+
["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1440
|
+
["similar_labels" /* ERCE_SIMILAR_LABELS */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1441
|
+
["similar_power" /* ERCE_SIMILAR_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1442
|
+
["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1443
|
+
["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1444
|
+
["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1445
|
+
["global_label_dangling" /* ERCE_GLOBLABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1446
|
+
["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1447
|
+
["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1448
|
+
["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1449
|
+
["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1450
|
+
["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1451
|
+
["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1452
|
+
["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1453
|
+
["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1454
|
+
["missing_unit" /* ERCE_MISSING_UNIT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1455
|
+
["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1456
|
+
["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1457
|
+
["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1458
|
+
["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: "ignore" /* RPT_SEVERITY_IGNORE */,
|
|
1459
|
+
["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1460
|
+
["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: "warning" /* RPT_SEVERITY_WARNING */,
|
|
1461
|
+
["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1462
|
+
["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1463
|
+
["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1464
|
+
["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1465
|
+
["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1466
|
+
["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1467
|
+
["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1468
|
+
["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1469
|
+
["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1470
|
+
["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1471
|
+
["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1472
|
+
["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1473
|
+
["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1474
|
+
["wire_dangling" /* ERCE_WIRE_DANGLING */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1475
|
+
["unannotated" /* ERCE_UNANNOTATED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1476
|
+
["extra_units" /* ERCE_EXTRA_UNITS */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1477
|
+
["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1478
|
+
["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1479
|
+
["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1480
|
+
["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1481
|
+
["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1482
|
+
["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1483
|
+
["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1484
|
+
["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
|
|
1485
|
+
["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: "error" /* RPT_SEVERITY_ERROR */
|
|
1464
1486
|
};
|
|
1465
1487
|
var DEFAULT_ERC_SETTING = new ERC_SETTING({
|
|
1466
1488
|
pin_map: DEFAULT_PIN_MAP,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modular-circuit/perc",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "Programmable Electronic Circuit Check",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"zod": "^4.3.6",
|
|
30
|
-
"@modular-circuit/electronics-model": "0.2.
|
|
31
|
-
"@modular-circuit/ir": "0.2.
|
|
32
|
-
"@modular-circuit/utils": "0.2.
|
|
30
|
+
"@modular-circuit/electronics-model": "0.2.6",
|
|
31
|
+
"@modular-circuit/ir": "0.2.4",
|
|
32
|
+
"@modular-circuit/utils": "0.2.4"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"clean": "rimraf dist",
|