@modular-circuit/perc 0.0.56 → 0.0.57
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/build/erc/connect_graph_visitor/index.js +1 -17
- package/build/erc/connect_graph_visitor/visitor.js +0 -2
- package/build/erc/context/connection_graph_builder_ctx.js +0 -2
- package/build/erc/context/error_severity.js +2 -5
- package/build/erc/context/graph.js +0 -2
- package/build/erc/context/graph_converter.js +0 -2
- package/build/erc/context/index.js +5 -21
- package/build/erc/context/pin_to_pin_test_ctx.js +0 -2
- package/build/erc/index.js +4 -20
- package/build/erc/netlist/constraints.js +9 -12
- package/build/erc/netlist/index.js +2 -18
- package/build/erc/netlist/tester.js +54 -35
- package/build/erc/parameter_propagation/error_code.js +37 -39
- package/build/erc/parameter_propagation/index.js +2 -18
- package/build/erc/parameter_propagation/link_testers/index.js +1 -17
- package/build/erc/parameter_propagation/link_testers/link_tester_base.js +101 -33
- package/build/erc/parameter_propagation/link_testers/tester_impl.js +953 -511
- package/build/erc/parameter_propagation/tester.js +195 -131
- package/build/erc/pin_compatibility_matrix/erc_setting.js +80 -82
- package/build/erc/pin_compatibility_matrix/error_code.js +2 -5
- package/build/erc/pin_compatibility_matrix/index.js +4 -20
- package/build/erc/pin_compatibility_matrix/pin_error.js +2 -5
- package/build/erc/pin_compatibility_matrix/tester.js +18 -21
- package/build/graphics/index.js +2 -18
- package/build/graphics/maker/index.js +3 -19
- package/build/graphics/maker/maker_base.js +0 -2
- package/build/graphics/maker/maker_type.js +2 -5
- package/build/graphics/maker/sch_maker.js +0 -2
- package/build/graphics/sch_erc_item.js +0 -2
- package/build/index.js +5 -21
- package/build/report/erc_report.js +9 -12
- package/build/report/erc_reporter.js +68 -88
- package/build/report/index.js +2 -18
- package/build/rule_check_item/erc_item.js +0 -2
- package/build/rule_check_item/index.js +2 -18
- package/build/rule_check_item/rc_item.js +0 -2
- package/build/tester/erc_tester.js +61 -27
- package/build/tester/graph/connection_graphs_builder.js +167 -84
- package/build/tester/graph/graph_erc.js +61 -12
- package/build/tester/graph/index.js +3 -19
- package/build/tester/graph/ir_graph_converter.js +254 -117
- package/build/tester/index.js +2 -18
- package/build/utils/get_dependent_modules_definition.js +141 -17
- package/build/utils/index.js +1 -17
- package/package.json +4 -4
package/build/graphics/index.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./maker"), exports);
|
|
18
|
-
__exportStar(require("./sch_erc_item"), exports);
|
|
1
|
+
export * from './maker';
|
|
2
|
+
export * from './sch_erc_item';
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./maker_base"), exports);
|
|
18
|
-
__exportStar(require("./maker_type"), exports);
|
|
19
|
-
__exportStar(require("./sch_maker"), exports);
|
|
1
|
+
export * from './maker_base';
|
|
2
|
+
export * from './maker_type';
|
|
3
|
+
export * from './sch_maker';
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MakerType = void 0;
|
|
4
|
-
var MakerType;
|
|
1
|
+
export var MakerType;
|
|
5
2
|
(function (MakerType) {
|
|
6
3
|
MakerType[MakerType["MARKER_UNSPEC"] = 0] = "MARKER_UNSPEC";
|
|
7
4
|
MakerType[MakerType["MARKER_ERC"] = 1] = "MARKER_ERC";
|
|
@@ -10,4 +7,4 @@ var MakerType;
|
|
|
10
7
|
MakerType[MakerType["MARKER_RATSNEST"] = 4] = "MARKER_RATSNEST";
|
|
11
8
|
MakerType[MakerType["MARKER_PARITY"] = 5] = "MARKER_PARITY";
|
|
12
9
|
MakerType[MakerType["MARKER_SIMUL"] = 6] = "MARKER_SIMUL";
|
|
13
|
-
})(MakerType || (
|
|
10
|
+
})(MakerType || (MakerType = {}));
|
package/build/index.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./graphics"), exports);
|
|
18
|
-
__exportStar(require("./rule_check_item"), exports);
|
|
19
|
-
__exportStar(require("./tester"), exports);
|
|
20
|
-
__exportStar(require("./report"), exports);
|
|
21
|
-
__exportStar(require("./erc"), exports);
|
|
1
|
+
export * from './graphics';
|
|
2
|
+
export * from './rule_check_item';
|
|
3
|
+
export * from './tester';
|
|
4
|
+
export * from './report';
|
|
5
|
+
export * from './erc';
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.fmt_erc_item_description = fmt_erc_item_description;
|
|
4
|
-
exports.get_erc_severity = get_erc_severity;
|
|
5
|
-
const erc_1 = require("../erc");
|
|
6
|
-
function fmt_erc_item_description(id, ctx) {
|
|
1
|
+
import { DEFAULT_PP_ERROR_SEVERITY, DEFAULT_SEVERITY } from '../erc';
|
|
2
|
+
export function fmt_erc_item_description(id, ctx) {
|
|
7
3
|
if (id in ctx.pin_module_name_table)
|
|
8
|
-
return
|
|
4
|
+
return "Module ".concat(ctx.pin_module_name_table[id], " port ").concat(ctx.pin_name_table[id]);
|
|
9
5
|
// Shall be global power symbols
|
|
10
6
|
return ctx.pin_name_table[id];
|
|
11
7
|
}
|
|
12
|
-
function get_erc_severity(code, settings) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
export function get_erc_severity(code, settings) {
|
|
9
|
+
var _a;
|
|
10
|
+
var erc_setting = (settings === null || settings === void 0 ? void 0 : settings.erc_setting) || DEFAULT_SEVERITY;
|
|
11
|
+
var pp_erc_setting = (settings === null || settings === void 0 ? void 0 : settings.pp_erc_setting) || DEFAULT_PP_ERROR_SEVERITY;
|
|
12
|
+
var severity = (_a = erc_setting[code]) !== null && _a !== void 0 ? _a : pp_erc_setting[code];
|
|
16
13
|
if (severity === undefined)
|
|
17
|
-
throw new Error(
|
|
14
|
+
throw new Error("Unknown ERC code: ".concat(code));
|
|
18
15
|
return severity;
|
|
19
16
|
}
|
|
@@ -1,107 +1,87 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const erc_1 = require("../erc");
|
|
6
|
-
const ERCE_UNANNOTATED = (id) => ({
|
|
7
|
-
error_code: erc_1.ERCE_T.ERCE_UNANNOTATED,
|
|
1
|
+
import { get_electrical_pin_type } from '@modular-circuit/electronics-model';
|
|
2
|
+
import { ERCE_T, PP_ERROR } from '../erc';
|
|
3
|
+
export var ERCE_UNANNOTATED = function (id) { return ({
|
|
4
|
+
error_code: ERCE_T.ERCE_UNANNOTATED,
|
|
8
5
|
error_message: 'Port has no electrical type specified.',
|
|
9
6
|
eda_item_ids: [id],
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
error_message: `Port ${(0, electronics_model_1.get_electrical_pin_type)(a)} and port ${(0, electronics_model_1.get_electrical_pin_type)(b)} are not compatible.`,
|
|
7
|
+
}); };
|
|
8
|
+
export var ERCE_PIN_TO_PIN_ERROR = function (a, b) { return ({
|
|
9
|
+
error_code: ERCE_T.ERCE_PIN_TO_PIN_ERROR,
|
|
10
|
+
error_message: "Port ".concat(get_electrical_pin_type(a), " and port ").concat(get_electrical_pin_type(b), " are not compatible."),
|
|
15
11
|
eda_item_ids: [a.uuid, b.uuid],
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
error_code: erc_1.ERCE_T.ERCE_PIN_NOT_CONNECTED,
|
|
12
|
+
}); };
|
|
13
|
+
export var ERCE_PIN_NOT_CONNECTED = function (id) { return ({
|
|
14
|
+
error_code: ERCE_T.ERCE_PIN_NOT_CONNECTED,
|
|
20
15
|
error_message: 'Port not connected.',
|
|
21
16
|
eda_item_ids: [id],
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
|
|
31
|
-
error_code: erc_1.PP_ERROR.INAPPROPRIATE_FUNC,
|
|
17
|
+
}); };
|
|
18
|
+
export var ERCE_DRIVER_CONFLICT = function (eda_item_ids, primaryName, secondaryName) { return ({
|
|
19
|
+
error_code: PP_ERROR.INAPPROPRIATE_FUNC,
|
|
20
|
+
error_message: "Both ".concat(primaryName, " and ").concat(secondaryName, " are attached to the same net. "),
|
|
21
|
+
eda_item_ids: eda_item_ids,
|
|
22
|
+
}); };
|
|
23
|
+
export var PP_INAPPROPRIATE_FUNC = function (eda_item_ids) { return ({
|
|
24
|
+
error_code: PP_ERROR.INAPPROPRIATE_FUNC,
|
|
32
25
|
error_message: 'Inappropriate ports functions.',
|
|
33
|
-
eda_item_ids,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
error_code: erc_1.PP_ERROR.NOT_DRIVEN,
|
|
26
|
+
eda_item_ids: eda_item_ids,
|
|
27
|
+
}); };
|
|
28
|
+
export var PP_NOT_DRIVEN = function (eda_item_ids) { return ({
|
|
29
|
+
error_code: PP_ERROR.NOT_DRIVEN,
|
|
38
30
|
error_message: 'Net not driven.',
|
|
39
|
-
eda_item_ids,
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
error_code: erc_1.PP_ERROR.DUPLICATED_PWR_SOURCES,
|
|
31
|
+
eda_item_ids: eda_item_ids,
|
|
32
|
+
}); };
|
|
33
|
+
export var PP_DUPLICATED_SOURCES = function (eda_item_ids) { return ({
|
|
34
|
+
error_code: PP_ERROR.DUPLICATED_PWR_SOURCES,
|
|
44
35
|
error_message: 'Net connected to multiple power sources.',
|
|
45
|
-
eda_item_ids,
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
exports.PP_OVER_DRIVEN = PP_OVER_DRIVEN;
|
|
60
|
-
const PP_IMPEDANCE_SIGNAL_INTEGRITY = (eda_item_ids) => ({
|
|
61
|
-
error_code: erc_1.PP_ERROR.IMPEDANCE_SIGNAL_INTEGRITY,
|
|
36
|
+
eda_item_ids: eda_item_ids,
|
|
37
|
+
}); };
|
|
38
|
+
export var PP_INSUFFICIENT_DRIVER = function (eda_item_ids, desc) { return ({
|
|
39
|
+
error_code: PP_ERROR.INSUFFICIENT_DRIVER,
|
|
40
|
+
error_message: "Insufficient ".concat(desc, " driver."),
|
|
41
|
+
eda_item_ids: eda_item_ids,
|
|
42
|
+
}); };
|
|
43
|
+
export var PP_OVER_DRIVEN = function (eda_item_ids, desc) { return ({
|
|
44
|
+
error_code: PP_ERROR.OVER_DRIVEN,
|
|
45
|
+
error_message: "".concat(desc, " over driven."),
|
|
46
|
+
eda_item_ids: eda_item_ids,
|
|
47
|
+
}); };
|
|
48
|
+
export var PP_IMPEDANCE_SIGNAL_INTEGRITY = function (eda_item_ids) { return ({
|
|
49
|
+
error_code: PP_ERROR.IMPEDANCE_SIGNAL_INTEGRITY,
|
|
62
50
|
error_message: 'Source impedance shall be 10x lower than sink impedance for signal integrity.',
|
|
63
|
-
eda_item_ids,
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
error_code: erc_1.PP_ERROR.IMPEDANCE_SIGNAL_INTEGRITY,
|
|
51
|
+
eda_item_ids: eda_item_ids,
|
|
52
|
+
}); };
|
|
53
|
+
export var PP_INCOMPATIBLE_VOLTAGE_LEVELS = function (source) { return ({
|
|
54
|
+
error_code: PP_ERROR.IMPEDANCE_SIGNAL_INTEGRITY,
|
|
68
55
|
error_message: 'Incompatible voltage levels.',
|
|
69
56
|
eda_item_ids: [source],
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
error_code: erc_1.PP_ERROR.SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE,
|
|
57
|
+
}); };
|
|
58
|
+
export var PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE = function (source) { return ({
|
|
59
|
+
error_code: PP_ERROR.SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE,
|
|
74
60
|
error_message: 'Signal levels not contained within voltage.',
|
|
75
61
|
eda_item_ids: [source],
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
error_code: erc_1.PP_ERROR.INCOMPATIBLE_SIGNAL_LEVELS,
|
|
62
|
+
}); };
|
|
63
|
+
export var PP_INCOMPATIBLE_SIGNAL_LEVELS = function (source) { return ({
|
|
64
|
+
error_code: PP_ERROR.INCOMPATIBLE_SIGNAL_LEVELS,
|
|
80
65
|
error_message: 'Incompatible signal levels.',
|
|
81
66
|
eda_item_ids: [source],
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
error_code: erc_1.PP_ERROR.OVERCURRENT,
|
|
67
|
+
}); };
|
|
68
|
+
export var PP_OVERCURRENT = function (source) { return ({
|
|
69
|
+
error_code: PP_ERROR.OVERCURRENT,
|
|
86
70
|
error_message: 'overcurrent.',
|
|
87
71
|
eda_item_ids: [source],
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
error_code: erc_1.PP_ERROR.INCOMPATIBLE_DIGITAL_THRESHOLDS,
|
|
72
|
+
}); };
|
|
73
|
+
export var PP_INCOMPATIBLE_DIGITAL_THRESHOLDS = function (eda_item_ids) { return ({
|
|
74
|
+
error_code: PP_ERROR.INCOMPATIBLE_DIGITAL_THRESHOLDS,
|
|
92
75
|
error_message: 'Incompatible digital thresholds.',
|
|
93
|
-
eda_item_ids,
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
error_code: erc_1.PP_ERROR.REQUIRES_CONNECTED_SOURCE_OR_BIDIR,
|
|
76
|
+
eda_item_ids: eda_item_ids,
|
|
77
|
+
}); };
|
|
78
|
+
export var PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR = function (eda_item_ids) { return ({
|
|
79
|
+
error_code: PP_ERROR.REQUIRES_CONNECTED_SOURCE_OR_BIDIR,
|
|
98
80
|
error_message: 'Requires connected source or bidir.',
|
|
99
|
-
eda_item_ids,
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
});
|
|
107
|
-
exports.PP_ILLEGAL_CONNECTION = PP_ILLEGAL_CONNECTION;
|
|
81
|
+
eda_item_ids: eda_item_ids,
|
|
82
|
+
}); };
|
|
83
|
+
export var PP_ILLEGAL_CONNECTION = function (eda_item_ids, detail) { return ({
|
|
84
|
+
error_code: PP_ERROR.ILLEGAL_CONNECTION,
|
|
85
|
+
error_message: "Illegal connection: ".concat(detail),
|
|
86
|
+
eda_item_ids: eda_item_ids,
|
|
87
|
+
}); };
|
package/build/report/index.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./erc_report"), exports);
|
|
18
|
-
__exportStar(require("./erc_reporter"), exports);
|
|
1
|
+
export * from './erc_report';
|
|
2
|
+
export * from './erc_reporter';
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./erc_item"), exports);
|
|
18
|
-
__exportStar(require("./rc_item"), exports);
|
|
1
|
+
export * from './erc_item';
|
|
2
|
+
export * from './rc_item';
|
|
@@ -1,32 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __values = (this && this.__values) || function(o) {
|
|
13
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
14
|
+
if (m) return m.call(o);
|
|
15
|
+
if (o && typeof o.length === "number") return {
|
|
16
|
+
next: function () {
|
|
17
|
+
if (o && i >= o.length) o = void 0;
|
|
18
|
+
return { value: o && o[i++], done: !o };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
22
|
+
};
|
|
23
|
+
import { NetlistTester, PIN_COMPATIBILITY_MATRIX_TESTER, ParameterPropagationTester, } from '../erc';
|
|
24
|
+
var ERC_TESTER = /** @class */ (function () {
|
|
25
|
+
function ERC_TESTER(ctx) {
|
|
8
26
|
this.ctx = ctx;
|
|
9
27
|
}
|
|
10
|
-
run_test() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
new
|
|
18
|
-
new erc_1.ParameterPropagationTester(tester_context),
|
|
19
|
-
new erc_1.NetlistTester(tester_context),
|
|
28
|
+
ERC_TESTER.prototype.run_test = function () {
|
|
29
|
+
var e_1, _a, e_2, _b;
|
|
30
|
+
var report = { erc_errors: [], markers: [] };
|
|
31
|
+
var tester_context = __assign({ report: report }, this.ctx);
|
|
32
|
+
var visitors = [
|
|
33
|
+
new PIN_COMPATIBILITY_MATRIX_TESTER(tester_context),
|
|
34
|
+
new ParameterPropagationTester(tester_context),
|
|
35
|
+
new NetlistTester(tester_context),
|
|
20
36
|
];
|
|
21
|
-
|
|
22
|
-
for (
|
|
23
|
-
|
|
37
|
+
try {
|
|
38
|
+
for (var _c = __values(this.ctx.connection_graph.subgraphs), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
39
|
+
var cc = _d.value;
|
|
40
|
+
try {
|
|
41
|
+
for (var visitors_1 = (e_2 = void 0, __values(visitors)), visitors_1_1 = visitors_1.next(); !visitors_1_1.done; visitors_1_1 = visitors_1.next()) {
|
|
42
|
+
var visitor = visitors_1_1.value;
|
|
43
|
+
visitor.visit_cc(cc);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
47
|
+
finally {
|
|
48
|
+
try {
|
|
49
|
+
if (visitors_1_1 && !visitors_1_1.done && (_b = visitors_1.return)) _b.call(visitors_1);
|
|
50
|
+
}
|
|
51
|
+
finally { if (e_2) throw e_2.error; }
|
|
52
|
+
}
|
|
24
53
|
}
|
|
25
54
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
55
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
56
|
+
finally {
|
|
57
|
+
try {
|
|
58
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
59
|
+
}
|
|
60
|
+
finally { if (e_1) throw e_1.error; }
|
|
61
|
+
}
|
|
62
|
+
return __assign(__assign({}, report), { connection_graph: this.ctx.connection_graph });
|
|
63
|
+
};
|
|
64
|
+
return ERC_TESTER;
|
|
65
|
+
}());
|
|
66
|
+
export { ERC_TESTER };
|