@modular-circuit/perc 0.2.8 → 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 +138 -124
- package/dist/index.mjs +138 -124
- 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,22 +1229,15 @@ var ParameterPropagationTester = class {
|
|
|
1208
1229
|
);
|
|
1209
1230
|
return;
|
|
1210
1231
|
}
|
|
1211
|
-
|
|
1212
|
-
p.param = zod_schema.parse(p.param);
|
|
1213
|
-
this.ctx.report.erc_errors.push(
|
|
1214
|
-
INVALID_INPUT([p.uuid], {
|
|
1215
|
-
input: p,
|
|
1216
|
-
old_port: port_old,
|
|
1217
|
-
new_port: p.param
|
|
1218
|
-
})
|
|
1219
|
-
);
|
|
1232
|
+
zod_schema.parse(port);
|
|
1220
1233
|
ports.push(p);
|
|
1221
1234
|
} catch (err) {
|
|
1222
1235
|
if (err instanceof z.ZodError) {
|
|
1223
1236
|
this.ctx.report.erc_errors.push(
|
|
1224
1237
|
INVALID_INPUT([p.uuid], {
|
|
1225
1238
|
input: p,
|
|
1226
|
-
issues: err.issues
|
|
1239
|
+
issues: err.issues,
|
|
1240
|
+
port
|
|
1227
1241
|
})
|
|
1228
1242
|
);
|
|
1229
1243
|
}
|
|
@@ -1259,7 +1273,7 @@ var ParameterPropagationTester = class {
|
|
|
1259
1273
|
if (port.type === import_electronics_model4.PortType.Passive) this.has_passive_port = true;
|
|
1260
1274
|
let link_type = (0, import_electronics_model4.get_port_link_type)(port);
|
|
1261
1275
|
if (link_type instanceof Error) {
|
|
1262
|
-
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
|
|
1276
|
+
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
|
|
1263
1277
|
link_type = import_electronics_model4.LinkType.PassiveLink;
|
|
1264
1278
|
}
|
|
1265
1279
|
const arr = this.link_map[link_type];
|
|
@@ -1425,7 +1439,7 @@ var ERC_SETTING = class {
|
|
|
1425
1439
|
this.rule_severities = rule_severities;
|
|
1426
1440
|
}
|
|
1427
1441
|
IsTestEnabled(code) {
|
|
1428
|
-
return this.rule_severities[code] !==
|
|
1442
|
+
return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
|
|
1429
1443
|
}
|
|
1430
1444
|
GetPinMapValue(aFirstType, aSecondType) {
|
|
1431
1445
|
return this.pin_map[aFirstType][aSecondType];
|
|
@@ -1481,54 +1495,54 @@ var DEFAULT_PIN_MAP = [
|
|
|
1481
1495
|
[ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
|
|
1482
1496
|
];
|
|
1483
1497
|
var DEFAULT_SEVERITY = {
|
|
1484
|
-
["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]:
|
|
1485
|
-
["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]:
|
|
1486
|
-
["similar_labels" /* ERCE_SIMILAR_LABELS */]:
|
|
1487
|
-
["similar_power" /* ERCE_SIMILAR_POWER */]:
|
|
1488
|
-
["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]:
|
|
1489
|
-
["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]:
|
|
1490
|
-
["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]:
|
|
1491
|
-
["global_label_dangling" /* ERCE_GLOBLABEL */]:
|
|
1492
|
-
["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]:
|
|
1493
|
-
["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]:
|
|
1494
|
-
["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]:
|
|
1495
|
-
["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]:
|
|
1496
|
-
["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]:
|
|
1497
|
-
["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]:
|
|
1498
|
-
["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]:
|
|
1499
|
-
["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]:
|
|
1500
|
-
["missing_unit" /* ERCE_MISSING_UNIT */]:
|
|
1501
|
-
["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]:
|
|
1502
|
-
["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]:
|
|
1503
|
-
["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]:
|
|
1504
|
-
["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]:
|
|
1505
|
-
["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]:
|
|
1506
|
-
["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]:
|
|
1507
|
-
["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]:
|
|
1508
|
-
["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]:
|
|
1509
|
-
["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]:
|
|
1510
|
-
["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]:
|
|
1511
|
-
["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]:
|
|
1512
|
-
["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]:
|
|
1513
|
-
["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]:
|
|
1514
|
-
["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]:
|
|
1515
|
-
["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]:
|
|
1516
|
-
["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]:
|
|
1517
|
-
["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]:
|
|
1518
|
-
["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]:
|
|
1519
|
-
["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]:
|
|
1520
|
-
["wire_dangling" /* ERCE_WIRE_DANGLING */]:
|
|
1521
|
-
["unannotated" /* ERCE_UNANNOTATED */]:
|
|
1522
|
-
["extra_units" /* ERCE_EXTRA_UNITS */]:
|
|
1523
|
-
["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]:
|
|
1524
|
-
["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]:
|
|
1525
|
-
["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]:
|
|
1526
|
-
["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]:
|
|
1527
|
-
["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]:
|
|
1528
|
-
["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]:
|
|
1529
|
-
["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]:
|
|
1530
|
-
["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]:
|
|
1531
|
-
["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 */
|
|
1532
1546
|
};
|
|
1533
1547
|
var DEFAULT_ERC_SETTING = new ERC_SETTING({
|
|
1534
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,22 +1169,15 @@ var ParameterPropagationTester = class {
|
|
|
1148
1169
|
);
|
|
1149
1170
|
return;
|
|
1150
1171
|
}
|
|
1151
|
-
|
|
1152
|
-
p.param = zod_schema.parse(p.param);
|
|
1153
|
-
this.ctx.report.erc_errors.push(
|
|
1154
|
-
INVALID_INPUT([p.uuid], {
|
|
1155
|
-
input: p,
|
|
1156
|
-
old_port: port_old,
|
|
1157
|
-
new_port: p.param
|
|
1158
|
-
})
|
|
1159
|
-
);
|
|
1172
|
+
zod_schema.parse(port);
|
|
1160
1173
|
ports.push(p);
|
|
1161
1174
|
} catch (err) {
|
|
1162
1175
|
if (err instanceof z.ZodError) {
|
|
1163
1176
|
this.ctx.report.erc_errors.push(
|
|
1164
1177
|
INVALID_INPUT([p.uuid], {
|
|
1165
1178
|
input: p,
|
|
1166
|
-
issues: err.issues
|
|
1179
|
+
issues: err.issues,
|
|
1180
|
+
port
|
|
1167
1181
|
})
|
|
1168
1182
|
);
|
|
1169
1183
|
}
|
|
@@ -1199,7 +1213,7 @@ var ParameterPropagationTester = class {
|
|
|
1199
1213
|
if (port.type === PortType2.Passive) this.has_passive_port = true;
|
|
1200
1214
|
let link_type = get_port_link_type(port);
|
|
1201
1215
|
if (link_type instanceof Error) {
|
|
1202
|
-
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
|
|
1216
|
+
this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
|
|
1203
1217
|
link_type = LinkType.PassiveLink;
|
|
1204
1218
|
}
|
|
1205
1219
|
const arr = this.link_map[link_type];
|
|
@@ -1365,7 +1379,7 @@ var ERC_SETTING = class {
|
|
|
1365
1379
|
this.rule_severities = rule_severities;
|
|
1366
1380
|
}
|
|
1367
1381
|
IsTestEnabled(code) {
|
|
1368
|
-
return this.rule_severities[code] !==
|
|
1382
|
+
return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
|
|
1369
1383
|
}
|
|
1370
1384
|
GetPinMapValue(aFirstType, aSecondType) {
|
|
1371
1385
|
return this.pin_map[aFirstType][aSecondType];
|
|
@@ -1421,54 +1435,54 @@ var DEFAULT_PIN_MAP = [
|
|
|
1421
1435
|
[ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
|
|
1422
1436
|
];
|
|
1423
1437
|
var DEFAULT_SEVERITY = {
|
|
1424
|
-
["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]:
|
|
1425
|
-
["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]:
|
|
1426
|
-
["similar_labels" /* ERCE_SIMILAR_LABELS */]:
|
|
1427
|
-
["similar_power" /* ERCE_SIMILAR_POWER */]:
|
|
1428
|
-
["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]:
|
|
1429
|
-
["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]:
|
|
1430
|
-
["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]:
|
|
1431
|
-
["global_label_dangling" /* ERCE_GLOBLABEL */]:
|
|
1432
|
-
["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]:
|
|
1433
|
-
["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]:
|
|
1434
|
-
["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]:
|
|
1435
|
-
["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]:
|
|
1436
|
-
["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]:
|
|
1437
|
-
["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]:
|
|
1438
|
-
["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]:
|
|
1439
|
-
["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]:
|
|
1440
|
-
["missing_unit" /* ERCE_MISSING_UNIT */]:
|
|
1441
|
-
["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]:
|
|
1442
|
-
["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]:
|
|
1443
|
-
["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]:
|
|
1444
|
-
["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]:
|
|
1445
|
-
["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]:
|
|
1446
|
-
["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]:
|
|
1447
|
-
["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]:
|
|
1448
|
-
["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]:
|
|
1449
|
-
["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]:
|
|
1450
|
-
["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]:
|
|
1451
|
-
["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]:
|
|
1452
|
-
["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]:
|
|
1453
|
-
["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]:
|
|
1454
|
-
["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]:
|
|
1455
|
-
["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]:
|
|
1456
|
-
["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]:
|
|
1457
|
-
["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]:
|
|
1458
|
-
["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]:
|
|
1459
|
-
["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]:
|
|
1460
|
-
["wire_dangling" /* ERCE_WIRE_DANGLING */]:
|
|
1461
|
-
["unannotated" /* ERCE_UNANNOTATED */]:
|
|
1462
|
-
["extra_units" /* ERCE_EXTRA_UNITS */]:
|
|
1463
|
-
["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]:
|
|
1464
|
-
["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]:
|
|
1465
|
-
["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]:
|
|
1466
|
-
["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]:
|
|
1467
|
-
["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]:
|
|
1468
|
-
["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]:
|
|
1469
|
-
["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]:
|
|
1470
|
-
["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]:
|
|
1471
|
-
["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 */
|
|
1472
1486
|
};
|
|
1473
1487
|
var DEFAULT_ERC_SETTING = new ERC_SETTING({
|
|
1474
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",
|