@modular-circuit/perc 0.2.8 → 0.2.10

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 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 = 1,
9
- RPT_SEVERITY_INFO = 2,
10
- RPT_SEVERITY_EXCLUSION = 4,
11
- RPT_SEVERITY_ACTION = 8,
12
- RPT_SEVERITY_WARNING = 16,
13
- RPT_SEVERITY_ERROR = 32,
14
- RPT_SEVERITY_IGNORE = 64,
15
- RPT_SEVERITY_DEBUG = 128
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 {
@@ -326,10 +326,10 @@ declare enum PP_ERROR {
326
326
  FAILED_ASSERTION = "failed_assertion",
327
327
  UN_EVALUATED_ASSERTION = "un_evaluated_assertion",
328
328
  INCONSISTENT_LINK_ARRAY_ELEMENTS = "inconsistent_link_array_elements",
329
- PP_UNANNOTATED = "pp_unannotated",
330
- PP_UNKNOWN_PORT_TYPE = "pp_unknown_port_type",
329
+ PP_UNANNOTATED = "unannotated",
330
+ PP_UNKNOWN_PORT_TYPE = "unknown_port_type",
331
331
  INAPPROPRIATE_FUNC = "Functionally inappropriate link",
332
- NOT_DRIVEN = "pp_not_driven",
332
+ NOT_DRIVEN = "not_driven",
333
333
  DUPLICATED_PWR_SOURCES = "duplicated_pwr_sources",
334
334
  INSUFFICIENT_DRIVER = "Insufficient_driver",
335
335
  OVER_DRIVEN = "over_driven",
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 = 1,
9
- RPT_SEVERITY_INFO = 2,
10
- RPT_SEVERITY_EXCLUSION = 4,
11
- RPT_SEVERITY_ACTION = 8,
12
- RPT_SEVERITY_WARNING = 16,
13
- RPT_SEVERITY_ERROR = 32,
14
- RPT_SEVERITY_IGNORE = 64,
15
- RPT_SEVERITY_DEBUG = 128
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 {
@@ -326,10 +326,10 @@ declare enum PP_ERROR {
326
326
  FAILED_ASSERTION = "failed_assertion",
327
327
  UN_EVALUATED_ASSERTION = "un_evaluated_assertion",
328
328
  INCONSISTENT_LINK_ARRAY_ELEMENTS = "inconsistent_link_array_elements",
329
- PP_UNANNOTATED = "pp_unannotated",
330
- PP_UNKNOWN_PORT_TYPE = "pp_unknown_port_type",
329
+ PP_UNANNOTATED = "unannotated",
330
+ PP_UNKNOWN_PORT_TYPE = "unknown_port_type",
331
331
  INAPPROPRIATE_FUNC = "Functionally inappropriate link",
332
- NOT_DRIVEN = "pp_not_driven",
332
+ NOT_DRIVEN = "not_driven",
333
333
  DUPLICATED_PWR_SOURCES = "duplicated_pwr_sources",
334
334
  INSUFFICIENT_DRIVER = "Insufficient_driver",
335
335
  OVER_DRIVEN = "over_driven",
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[SEVERITY2["RPT_SEVERITY_UNDEFINED"] = 1] = "RPT_SEVERITY_UNDEFINED";
94
- SEVERITY2[SEVERITY2["RPT_SEVERITY_INFO"] = 2] = "RPT_SEVERITY_INFO";
95
- SEVERITY2[SEVERITY2["RPT_SEVERITY_EXCLUSION"] = 4] = "RPT_SEVERITY_EXCLUSION";
96
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ACTION"] = 8] = "RPT_SEVERITY_ACTION";
97
- SEVERITY2[SEVERITY2["RPT_SEVERITY_WARNING"] = 16] = "RPT_SEVERITY_WARNING";
98
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ERROR"] = 32] = "RPT_SEVERITY_ERROR";
99
- SEVERITY2[SEVERITY2["RPT_SEVERITY_IGNORE"] = 64] = "RPT_SEVERITY_IGNORE";
100
- SEVERITY2[SEVERITY2["RPT_SEVERITY_DEBUG"] = 128] = "RPT_SEVERITY_DEBUG";
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
 
@@ -119,10 +119,10 @@ var PP_ERROR = /* @__PURE__ */ ((PP_ERROR2) => {
119
119
  PP_ERROR2["FAILED_ASSERTION"] = "failed_assertion";
120
120
  PP_ERROR2["UN_EVALUATED_ASSERTION"] = "un_evaluated_assertion";
121
121
  PP_ERROR2["INCONSISTENT_LINK_ARRAY_ELEMENTS"] = "inconsistent_link_array_elements";
122
- PP_ERROR2["PP_UNANNOTATED"] = "pp_unannotated";
123
- PP_ERROR2["PP_UNKNOWN_PORT_TYPE"] = "pp_unknown_port_type";
122
+ PP_ERROR2["PP_UNANNOTATED"] = "unannotated";
123
+ PP_ERROR2["PP_UNKNOWN_PORT_TYPE"] = "unknown_port_type";
124
124
  PP_ERROR2["INAPPROPRIATE_FUNC"] = "Functionally inappropriate link";
125
- PP_ERROR2["NOT_DRIVEN"] = "pp_not_driven";
125
+ PP_ERROR2["NOT_DRIVEN"] = "not_driven";
126
126
  PP_ERROR2["DUPLICATED_PWR_SOURCES"] = "duplicated_pwr_sources";
127
127
  PP_ERROR2["INSUFFICIENT_DRIVER"] = "Insufficient_driver";
128
128
  PP_ERROR2["OVER_DRIVEN"] = "over_driven";
@@ -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 */]: 16 /* RPT_SEVERITY_WARNING */,
144
- ["un_compiled_link" /* UN_COMPILED_LINK */]: 16 /* RPT_SEVERITY_WARNING */,
145
- ["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
146
- ["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: 16 /* RPT_SEVERITY_WARNING */,
147
- ["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
148
- ["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
149
- ["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
150
- ["library_error" /* LIBRARY_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
151
- ["generator_error" /* GENERATOR_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
152
- ["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
153
- ["over_assign" /* OVER_ASSIGN */]: 32 /* RPT_SEVERITY_ERROR */,
154
- ["bad_reference" /* BAD_REFERENCE */]: 16 /* RPT_SEVERITY_WARNING */,
155
- ["abstract_block" /* ABSTRACT_BLOCK */]: 16 /* RPT_SEVERITY_WARNING */,
156
- ["failed_assertion" /* FAILED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
157
- ["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
158
- ["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: 16 /* RPT_SEVERITY_WARNING */,
159
- ["pp_unannotated" /* PP_UNANNOTATED */]: 16 /* RPT_SEVERITY_WARNING */,
160
- ["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: 32 /* RPT_SEVERITY_ERROR */,
161
- ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: 32 /* RPT_SEVERITY_ERROR */,
162
- ["pp_not_driven" /* NOT_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
163
- ["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: 16 /* RPT_SEVERITY_WARNING */,
164
- ["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: 16 /* RPT_SEVERITY_WARNING */,
165
- ["over_driven" /* OVER_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
166
- ["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: 16 /* RPT_SEVERITY_WARNING */,
167
- ["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
168
- ["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: 16 /* RPT_SEVERITY_WARNING */,
169
- ["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
170
- ["overcurrent" /* OVERCURRENT */]: 16 /* RPT_SEVERITY_WARNING */,
171
- ["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: 16 /* RPT_SEVERITY_WARNING */,
172
- ["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: 16 /* RPT_SEVERITY_WARNING */,
173
- ["Illegal_connection" /* ILLEGAL_CONNECTION */]: 32 /* RPT_SEVERITY_ERROR */,
174
- ["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: 32 /* RPT_SEVERITY_ERROR */,
175
- ["Invalid input" /* INVALID_INPUT */]: 16 /* RPT_SEVERITY_WARNING */,
176
- ["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: 16 /* RPT_SEVERITY_WARNING */
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
+ ["unannotated" /* PP_UNANNOTATED */]: "warning" /* RPT_SEVERITY_WARNING */,
160
+ ["unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: "error" /* RPT_SEVERITY_ERROR */,
161
+ ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: "error" /* RPT_SEVERITY_ERROR */,
162
+ ["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
@@ -212,7 +212,7 @@ var ERCE_PIN_NOT_CONNECTED = (id) => ({
212
212
  });
213
213
  var ERCE_DRIVER_CONFLICT = (eda_item_ids, primaryName, secondaryName) => ({
214
214
  error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
215
- error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net. `,
215
+ error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net.`,
216
216
  eda_item_ids
217
217
  });
218
218
  var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
@@ -221,7 +221,7 @@ var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
221
221
  eda_item_ids
222
222
  });
223
223
  var PP_NOT_DRIVEN = (eda_item_ids) => ({
224
- error_code: "pp_not_driven" /* NOT_DRIVEN */,
224
+ error_code: "not_driven" /* NOT_DRIVEN */,
225
225
  error_message: "Net not driven.",
226
226
  eda_item_ids
227
227
  });
@@ -1198,32 +1198,26 @@ var ParameterPropagationTester = class {
1198
1198
  this.link_map = (0, import_electronics_model4.gen_link_map)();
1199
1199
  const ports = [];
1200
1200
  const valid_port = (p) => {
1201
+ const port = p.param;
1201
1202
  try {
1202
- const zod_schema = (0, import_electronics_model4.get_port_schema)(p.param);
1203
+ const zod_schema = (0, import_electronics_model4.get_port_schema)(port);
1203
1204
  if (!zod_schema) {
1204
1205
  this.ctx.report.erc_errors.push(
1205
1206
  INVALID_INPUT([p.uuid], {
1206
- unknown_port_type: p
1207
+ message: "Unknown port type.",
1208
+ port
1207
1209
  })
1208
1210
  );
1209
1211
  return;
1210
1212
  }
1211
- const port_old = { ...p.param };
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
- );
1213
+ zod_schema.parse(port);
1220
1214
  ports.push(p);
1221
1215
  } catch (err) {
1222
1216
  if (err instanceof z.ZodError) {
1223
1217
  this.ctx.report.erc_errors.push(
1224
1218
  INVALID_INPUT([p.uuid], {
1225
- input: p,
1226
- issues: err.issues
1219
+ message: err.issues,
1220
+ port
1227
1221
  })
1228
1222
  );
1229
1223
  }
@@ -1259,7 +1253,7 @@ var ParameterPropagationTester = class {
1259
1253
  if (port.type === import_electronics_model4.PortType.Passive) this.has_passive_port = true;
1260
1254
  let link_type = (0, import_electronics_model4.get_port_link_type)(port);
1261
1255
  if (link_type instanceof Error) {
1262
- this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
1256
+ this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
1263
1257
  link_type = import_electronics_model4.LinkType.PassiveLink;
1264
1258
  }
1265
1259
  const arr = this.link_map[link_type];
@@ -1425,7 +1419,7 @@ var ERC_SETTING = class {
1425
1419
  this.rule_severities = rule_severities;
1426
1420
  }
1427
1421
  IsTestEnabled(code) {
1428
- return this.rule_severities[code] !== 64 /* RPT_SEVERITY_IGNORE */;
1422
+ return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
1429
1423
  }
1430
1424
  GetPinMapValue(aFirstType, aSecondType) {
1431
1425
  return this.pin_map[aFirstType][aSecondType];
@@ -1481,54 +1475,54 @@ var DEFAULT_PIN_MAP = [
1481
1475
  [ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
1482
1476
  ];
1483
1477
  var DEFAULT_SEVERITY = {
1484
- ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: 16 /* RPT_SEVERITY_WARNING */,
1485
- ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: 16 /* RPT_SEVERITY_WARNING */,
1486
- ["similar_labels" /* ERCE_SIMILAR_LABELS */]: 16 /* RPT_SEVERITY_WARNING */,
1487
- ["similar_power" /* ERCE_SIMILAR_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1488
- ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1489
- ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1490
- ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1491
- ["global_label_dangling" /* ERCE_GLOBLABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1492
- ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1493
- ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1494
- ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1495
- ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: 16 /* RPT_SEVERITY_WARNING */,
1496
- ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1497
- ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: 64 /* RPT_SEVERITY_IGNORE */,
1498
- ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1499
- ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1500
- ["missing_unit" /* ERCE_MISSING_UNIT */]: 16 /* RPT_SEVERITY_WARNING */,
1501
- ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1502
- ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1503
- ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1504
- ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: 64 /* RPT_SEVERITY_IGNORE */,
1505
- ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: 16 /* RPT_SEVERITY_WARNING */,
1506
- ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: 16 /* RPT_SEVERITY_WARNING */,
1507
- ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1508
- ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1509
- ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1510
- ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: 32 /* RPT_SEVERITY_ERROR */,
1511
- ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1512
- ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: 32 /* RPT_SEVERITY_ERROR */,
1513
- ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: 32 /* RPT_SEVERITY_ERROR */,
1514
- ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: 32 /* RPT_SEVERITY_ERROR */,
1515
- ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1516
- ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1517
- ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1518
- ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: 32 /* RPT_SEVERITY_ERROR */,
1519
- ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: 32 /* RPT_SEVERITY_ERROR */,
1520
- ["wire_dangling" /* ERCE_WIRE_DANGLING */]: 32 /* RPT_SEVERITY_ERROR */,
1521
- ["unannotated" /* ERCE_UNANNOTATED */]: 32 /* RPT_SEVERITY_ERROR */,
1522
- ["extra_units" /* ERCE_EXTRA_UNITS */]: 32 /* RPT_SEVERITY_ERROR */,
1523
- ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: 32 /* RPT_SEVERITY_ERROR */,
1524
- ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: 32 /* RPT_SEVERITY_ERROR */,
1525
- ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: 32 /* RPT_SEVERITY_ERROR */,
1526
- ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1527
- ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1528
- ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: 32 /* RPT_SEVERITY_ERROR */,
1529
- ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: 32 /* RPT_SEVERITY_ERROR */,
1530
- ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1531
- ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: 32 /* RPT_SEVERITY_ERROR */
1478
+ ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: "warning" /* RPT_SEVERITY_WARNING */,
1479
+ ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: "warning" /* RPT_SEVERITY_WARNING */,
1480
+ ["similar_labels" /* ERCE_SIMILAR_LABELS */]: "warning" /* RPT_SEVERITY_WARNING */,
1481
+ ["similar_power" /* ERCE_SIMILAR_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1482
+ ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1483
+ ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1484
+ ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1485
+ ["global_label_dangling" /* ERCE_GLOBLABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1486
+ ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1487
+ ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1488
+ ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1489
+ ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: "warning" /* RPT_SEVERITY_WARNING */,
1490
+ ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1491
+ ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1492
+ ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1493
+ ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1494
+ ["missing_unit" /* ERCE_MISSING_UNIT */]: "warning" /* RPT_SEVERITY_WARNING */,
1495
+ ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1496
+ ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1497
+ ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1498
+ ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1499
+ ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: "warning" /* RPT_SEVERITY_WARNING */,
1500
+ ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: "warning" /* RPT_SEVERITY_WARNING */,
1501
+ ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1502
+ ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1503
+ ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1504
+ ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: "error" /* RPT_SEVERITY_ERROR */,
1505
+ ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1506
+ ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: "error" /* RPT_SEVERITY_ERROR */,
1507
+ ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: "error" /* RPT_SEVERITY_ERROR */,
1508
+ ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: "error" /* RPT_SEVERITY_ERROR */,
1509
+ ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1510
+ ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1511
+ ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1512
+ ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: "error" /* RPT_SEVERITY_ERROR */,
1513
+ ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: "error" /* RPT_SEVERITY_ERROR */,
1514
+ ["wire_dangling" /* ERCE_WIRE_DANGLING */]: "error" /* RPT_SEVERITY_ERROR */,
1515
+ ["unannotated" /* ERCE_UNANNOTATED */]: "error" /* RPT_SEVERITY_ERROR */,
1516
+ ["extra_units" /* ERCE_EXTRA_UNITS */]: "error" /* RPT_SEVERITY_ERROR */,
1517
+ ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: "error" /* RPT_SEVERITY_ERROR */,
1518
+ ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: "error" /* RPT_SEVERITY_ERROR */,
1519
+ ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: "error" /* RPT_SEVERITY_ERROR */,
1520
+ ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1521
+ ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1522
+ ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: "error" /* RPT_SEVERITY_ERROR */,
1523
+ ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: "error" /* RPT_SEVERITY_ERROR */,
1524
+ ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1525
+ ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: "error" /* RPT_SEVERITY_ERROR */
1532
1526
  };
1533
1527
  var DEFAULT_ERC_SETTING = new ERC_SETTING({
1534
1528
  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[SEVERITY2["RPT_SEVERITY_UNDEFINED"] = 1] = "RPT_SEVERITY_UNDEFINED";
16
- SEVERITY2[SEVERITY2["RPT_SEVERITY_INFO"] = 2] = "RPT_SEVERITY_INFO";
17
- SEVERITY2[SEVERITY2["RPT_SEVERITY_EXCLUSION"] = 4] = "RPT_SEVERITY_EXCLUSION";
18
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ACTION"] = 8] = "RPT_SEVERITY_ACTION";
19
- SEVERITY2[SEVERITY2["RPT_SEVERITY_WARNING"] = 16] = "RPT_SEVERITY_WARNING";
20
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ERROR"] = 32] = "RPT_SEVERITY_ERROR";
21
- SEVERITY2[SEVERITY2["RPT_SEVERITY_IGNORE"] = 64] = "RPT_SEVERITY_IGNORE";
22
- SEVERITY2[SEVERITY2["RPT_SEVERITY_DEBUG"] = 128] = "RPT_SEVERITY_DEBUG";
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
 
@@ -41,10 +41,10 @@ var PP_ERROR = /* @__PURE__ */ ((PP_ERROR2) => {
41
41
  PP_ERROR2["FAILED_ASSERTION"] = "failed_assertion";
42
42
  PP_ERROR2["UN_EVALUATED_ASSERTION"] = "un_evaluated_assertion";
43
43
  PP_ERROR2["INCONSISTENT_LINK_ARRAY_ELEMENTS"] = "inconsistent_link_array_elements";
44
- PP_ERROR2["PP_UNANNOTATED"] = "pp_unannotated";
45
- PP_ERROR2["PP_UNKNOWN_PORT_TYPE"] = "pp_unknown_port_type";
44
+ PP_ERROR2["PP_UNANNOTATED"] = "unannotated";
45
+ PP_ERROR2["PP_UNKNOWN_PORT_TYPE"] = "unknown_port_type";
46
46
  PP_ERROR2["INAPPROPRIATE_FUNC"] = "Functionally inappropriate link";
47
- PP_ERROR2["NOT_DRIVEN"] = "pp_not_driven";
47
+ PP_ERROR2["NOT_DRIVEN"] = "not_driven";
48
48
  PP_ERROR2["DUPLICATED_PWR_SOURCES"] = "duplicated_pwr_sources";
49
49
  PP_ERROR2["INSUFFICIENT_DRIVER"] = "Insufficient_driver";
50
50
  PP_ERROR2["OVER_DRIVEN"] = "over_driven";
@@ -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 */]: 16 /* RPT_SEVERITY_WARNING */,
66
- ["un_compiled_link" /* UN_COMPILED_LINK */]: 16 /* RPT_SEVERITY_WARNING */,
67
- ["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
68
- ["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: 16 /* RPT_SEVERITY_WARNING */,
69
- ["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
70
- ["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
71
- ["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
72
- ["library_error" /* LIBRARY_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
73
- ["generator_error" /* GENERATOR_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
74
- ["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
75
- ["over_assign" /* OVER_ASSIGN */]: 32 /* RPT_SEVERITY_ERROR */,
76
- ["bad_reference" /* BAD_REFERENCE */]: 16 /* RPT_SEVERITY_WARNING */,
77
- ["abstract_block" /* ABSTRACT_BLOCK */]: 16 /* RPT_SEVERITY_WARNING */,
78
- ["failed_assertion" /* FAILED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
79
- ["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
80
- ["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: 16 /* RPT_SEVERITY_WARNING */,
81
- ["pp_unannotated" /* PP_UNANNOTATED */]: 16 /* RPT_SEVERITY_WARNING */,
82
- ["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: 32 /* RPT_SEVERITY_ERROR */,
83
- ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: 32 /* RPT_SEVERITY_ERROR */,
84
- ["pp_not_driven" /* NOT_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
85
- ["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: 16 /* RPT_SEVERITY_WARNING */,
86
- ["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: 16 /* RPT_SEVERITY_WARNING */,
87
- ["over_driven" /* OVER_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
88
- ["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: 16 /* RPT_SEVERITY_WARNING */,
89
- ["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
90
- ["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: 16 /* RPT_SEVERITY_WARNING */,
91
- ["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
92
- ["overcurrent" /* OVERCURRENT */]: 16 /* RPT_SEVERITY_WARNING */,
93
- ["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: 16 /* RPT_SEVERITY_WARNING */,
94
- ["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: 16 /* RPT_SEVERITY_WARNING */,
95
- ["Illegal_connection" /* ILLEGAL_CONNECTION */]: 32 /* RPT_SEVERITY_ERROR */,
96
- ["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: 32 /* RPT_SEVERITY_ERROR */,
97
- ["Invalid input" /* INVALID_INPUT */]: 16 /* RPT_SEVERITY_WARNING */,
98
- ["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: 16 /* RPT_SEVERITY_WARNING */
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
+ ["unannotated" /* PP_UNANNOTATED */]: "warning" /* RPT_SEVERITY_WARNING */,
82
+ ["unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: "error" /* RPT_SEVERITY_ERROR */,
83
+ ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: "error" /* RPT_SEVERITY_ERROR */,
84
+ ["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
@@ -141,7 +141,7 @@ var ERCE_PIN_NOT_CONNECTED = (id) => ({
141
141
  });
142
142
  var ERCE_DRIVER_CONFLICT = (eda_item_ids, primaryName, secondaryName) => ({
143
143
  error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
144
- error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net. `,
144
+ error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net.`,
145
145
  eda_item_ids
146
146
  });
147
147
  var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
@@ -150,7 +150,7 @@ var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
150
150
  eda_item_ids
151
151
  });
152
152
  var PP_NOT_DRIVEN = (eda_item_ids) => ({
153
- error_code: "pp_not_driven" /* NOT_DRIVEN */,
153
+ error_code: "not_driven" /* NOT_DRIVEN */,
154
154
  error_message: "Net not driven.",
155
155
  eda_item_ids
156
156
  });
@@ -1138,32 +1138,26 @@ var ParameterPropagationTester = class {
1138
1138
  this.link_map = gen_link_map();
1139
1139
  const ports = [];
1140
1140
  const valid_port = (p) => {
1141
+ const port = p.param;
1141
1142
  try {
1142
- const zod_schema = get_port_schema(p.param);
1143
+ const zod_schema = get_port_schema(port);
1143
1144
  if (!zod_schema) {
1144
1145
  this.ctx.report.erc_errors.push(
1145
1146
  INVALID_INPUT([p.uuid], {
1146
- unknown_port_type: p
1147
+ message: "Unknown port type.",
1148
+ port
1147
1149
  })
1148
1150
  );
1149
1151
  return;
1150
1152
  }
1151
- const port_old = { ...p.param };
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
- );
1153
+ zod_schema.parse(port);
1160
1154
  ports.push(p);
1161
1155
  } catch (err) {
1162
1156
  if (err instanceof z.ZodError) {
1163
1157
  this.ctx.report.erc_errors.push(
1164
1158
  INVALID_INPUT([p.uuid], {
1165
- input: p,
1166
- issues: err.issues
1159
+ message: err.issues,
1160
+ port
1167
1161
  })
1168
1162
  );
1169
1163
  }
@@ -1199,7 +1193,7 @@ var ParameterPropagationTester = class {
1199
1193
  if (port.type === PortType2.Passive) this.has_passive_port = true;
1200
1194
  let link_type = get_port_link_type(port);
1201
1195
  if (link_type instanceof Error) {
1202
- this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
1196
+ this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
1203
1197
  link_type = LinkType.PassiveLink;
1204
1198
  }
1205
1199
  const arr = this.link_map[link_type];
@@ -1365,7 +1359,7 @@ var ERC_SETTING = class {
1365
1359
  this.rule_severities = rule_severities;
1366
1360
  }
1367
1361
  IsTestEnabled(code) {
1368
- return this.rule_severities[code] !== 64 /* RPT_SEVERITY_IGNORE */;
1362
+ return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
1369
1363
  }
1370
1364
  GetPinMapValue(aFirstType, aSecondType) {
1371
1365
  return this.pin_map[aFirstType][aSecondType];
@@ -1421,54 +1415,54 @@ var DEFAULT_PIN_MAP = [
1421
1415
  [ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
1422
1416
  ];
1423
1417
  var DEFAULT_SEVERITY = {
1424
- ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: 16 /* RPT_SEVERITY_WARNING */,
1425
- ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: 16 /* RPT_SEVERITY_WARNING */,
1426
- ["similar_labels" /* ERCE_SIMILAR_LABELS */]: 16 /* RPT_SEVERITY_WARNING */,
1427
- ["similar_power" /* ERCE_SIMILAR_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1428
- ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1429
- ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1430
- ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1431
- ["global_label_dangling" /* ERCE_GLOBLABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1432
- ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1433
- ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1434
- ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1435
- ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: 16 /* RPT_SEVERITY_WARNING */,
1436
- ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1437
- ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: 64 /* RPT_SEVERITY_IGNORE */,
1438
- ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1439
- ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1440
- ["missing_unit" /* ERCE_MISSING_UNIT */]: 16 /* RPT_SEVERITY_WARNING */,
1441
- ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1442
- ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1443
- ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1444
- ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: 64 /* RPT_SEVERITY_IGNORE */,
1445
- ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: 16 /* RPT_SEVERITY_WARNING */,
1446
- ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: 16 /* RPT_SEVERITY_WARNING */,
1447
- ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1448
- ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1449
- ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1450
- ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: 32 /* RPT_SEVERITY_ERROR */,
1451
- ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1452
- ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: 32 /* RPT_SEVERITY_ERROR */,
1453
- ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: 32 /* RPT_SEVERITY_ERROR */,
1454
- ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: 32 /* RPT_SEVERITY_ERROR */,
1455
- ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1456
- ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1457
- ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1458
- ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: 32 /* RPT_SEVERITY_ERROR */,
1459
- ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: 32 /* RPT_SEVERITY_ERROR */,
1460
- ["wire_dangling" /* ERCE_WIRE_DANGLING */]: 32 /* RPT_SEVERITY_ERROR */,
1461
- ["unannotated" /* ERCE_UNANNOTATED */]: 32 /* RPT_SEVERITY_ERROR */,
1462
- ["extra_units" /* ERCE_EXTRA_UNITS */]: 32 /* RPT_SEVERITY_ERROR */,
1463
- ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: 32 /* RPT_SEVERITY_ERROR */,
1464
- ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: 32 /* RPT_SEVERITY_ERROR */,
1465
- ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: 32 /* RPT_SEVERITY_ERROR */,
1466
- ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1467
- ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1468
- ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: 32 /* RPT_SEVERITY_ERROR */,
1469
- ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: 32 /* RPT_SEVERITY_ERROR */,
1470
- ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1471
- ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: 32 /* RPT_SEVERITY_ERROR */
1418
+ ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: "warning" /* RPT_SEVERITY_WARNING */,
1419
+ ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: "warning" /* RPT_SEVERITY_WARNING */,
1420
+ ["similar_labels" /* ERCE_SIMILAR_LABELS */]: "warning" /* RPT_SEVERITY_WARNING */,
1421
+ ["similar_power" /* ERCE_SIMILAR_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1422
+ ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1423
+ ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1424
+ ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1425
+ ["global_label_dangling" /* ERCE_GLOBLABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1426
+ ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1427
+ ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1428
+ ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1429
+ ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: "warning" /* RPT_SEVERITY_WARNING */,
1430
+ ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1431
+ ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1432
+ ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1433
+ ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1434
+ ["missing_unit" /* ERCE_MISSING_UNIT */]: "warning" /* RPT_SEVERITY_WARNING */,
1435
+ ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1436
+ ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1437
+ ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1438
+ ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1439
+ ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: "warning" /* RPT_SEVERITY_WARNING */,
1440
+ ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: "warning" /* RPT_SEVERITY_WARNING */,
1441
+ ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1442
+ ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1443
+ ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1444
+ ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: "error" /* RPT_SEVERITY_ERROR */,
1445
+ ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1446
+ ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: "error" /* RPT_SEVERITY_ERROR */,
1447
+ ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: "error" /* RPT_SEVERITY_ERROR */,
1448
+ ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: "error" /* RPT_SEVERITY_ERROR */,
1449
+ ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1450
+ ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1451
+ ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1452
+ ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: "error" /* RPT_SEVERITY_ERROR */,
1453
+ ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: "error" /* RPT_SEVERITY_ERROR */,
1454
+ ["wire_dangling" /* ERCE_WIRE_DANGLING */]: "error" /* RPT_SEVERITY_ERROR */,
1455
+ ["unannotated" /* ERCE_UNANNOTATED */]: "error" /* RPT_SEVERITY_ERROR */,
1456
+ ["extra_units" /* ERCE_EXTRA_UNITS */]: "error" /* RPT_SEVERITY_ERROR */,
1457
+ ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: "error" /* RPT_SEVERITY_ERROR */,
1458
+ ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: "error" /* RPT_SEVERITY_ERROR */,
1459
+ ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: "error" /* RPT_SEVERITY_ERROR */,
1460
+ ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1461
+ ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1462
+ ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: "error" /* RPT_SEVERITY_ERROR */,
1463
+ ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: "error" /* RPT_SEVERITY_ERROR */,
1464
+ ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1465
+ ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: "error" /* RPT_SEVERITY_ERROR */
1472
1466
  };
1473
1467
  var DEFAULT_ERC_SETTING = new ERC_SETTING({
1474
1468
  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.8",
3
+ "version": "0.2.10",
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.5",
31
- "@modular-circuit/ir": "0.2.3",
32
- "@modular-circuit/utils": "0.2.3"
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",