@modular-circuit/transpiler 0.0.58 → 0.0.61
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/builder/graph_to_kicad/do_convert_graph_to_kicad_project.js +25 -109
- package/build/builder/graph_to_kicad/index.js +9 -61
- package/build/builder/index.js +5 -1
- package/build/converter/graph_to_netlist/context.js +2 -0
- package/build/converter/graph_to_netlist/graph_converter.js +57 -173
- package/build/converter/graph_to_netlist/index.js +18 -2
- package/build/converter/index.js +19 -3
- package/build/converter/kicad_sexpr/eeschema/drawing_sheet/index.js +7 -4
- package/build/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.js +4 -1
- package/build/converter/kicad_sexpr/eeschema/index.js +18 -2
- package/build/converter/kicad_sexpr/eeschema/printer.js +232 -281
- package/build/converter/kicad_sexpr/index.js +18 -2
- package/build/converter/kicad_sexpr/pcb/index.js +2 -1
- package/build/converter/link_to_netlist/context.js +2 -0
- package/build/converter/link_to_netlist/converter.js +84 -138
- package/build/converter/link_to_netlist/index.js +18 -2
- package/build/converter/link_to_netlist/links/converter_base.js +44 -131
- package/build/converter/link_to_netlist/links/converters.js +333 -556
- package/build/converter/link_to_netlist/links/index.js +18 -2
- package/build/converter/netlist_to_kicad/context.js +2 -0
- package/build/converter/netlist_to_kicad/index.js +19 -3
- package/build/converter/netlist_to_kicad/layout.js +26 -25
- package/build/converter/netlist_to_kicad/netlist_converter.js +93 -182
- package/build/index.js +21 -5
- package/build/kicad/constraints/index.js +4 -1
- package/build/kicad/label/index.js +18 -2
- package/build/kicad/label/net_label.js +10 -6
- package/build/kicad/label/sheet_pin.js +19 -23
- package/build/kicad/project/index.js +18 -2
- package/build/kicad/project/kicad_prl.js +7 -3
- package/build/kicad/project/kicad_pro.js +9 -5
- package/build/kicad/project/kicad_project_achieve.js +40 -50
- package/build/kicad/project/wildcards_and_files_ext.js +65 -61
- package/build/kicad/sheet/index.js +17 -1
- package/build/kicad/sheet/sheet.js +12 -8
- package/build/kicad/symbols/index.js +18 -2
- package/build/kicad/symbols/lib_symbol/gnd.js +24 -20
- package/build/kicad/symbols/lib_symbol/index.js +18 -2
- package/build/kicad/symbols/lib_symbol/vcc.js +25 -21
- package/build/kicad/symbols/sch_symbol/gnd.js +23 -19
- package/build/kicad/symbols/sch_symbol/index.js +18 -2
- package/build/kicad/symbols/sch_symbol/vcc.js +23 -19
- package/build/kicad/symbols/symbol_utils.js +5 -1
- package/build/utils/collect_sub_sheets.js +35 -146
- package/build/utils/constraints.js +9 -6
- package/build/utils/filter_null_undefined.js +6 -32
- package/build/utils/index.js +20 -4
- package/build/utils/string_formatter.js +27 -29
- package/package.json +5 -5
|
@@ -1,154 +1,100 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
11
|
-
};
|
|
12
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
13
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
-
if (!m) return o;
|
|
15
|
-
var i = m.call(o), r, ar = [], e;
|
|
16
|
-
try {
|
|
17
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
-
}
|
|
19
|
-
catch (error) { e = { error: error }; }
|
|
20
|
-
finally {
|
|
21
|
-
try {
|
|
22
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
-
}
|
|
24
|
-
finally { if (e) throw e.error; }
|
|
25
|
-
}
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
import { ConnectionNodeType, LinkType, gen_link_map, get_port_link_type, } from '@modular-circuit/electronics-model';
|
|
29
|
-
import { CanDiffLinkTester, CanLogicLinkTester, CrystalLinkTester, Dvp8LinkTester, I2cLinkTester, I2sLinkTester, MetaPortConverter, SpeakerLinkTester, SpiLinkTester, SwdLinkTester, UartLinkTester, UsbCcLinkTester, UsbLinkTester, } from './links';
|
|
30
|
-
var LINK_CONVERTER = /** @class */ (function () {
|
|
31
|
-
function LINK_CONVERTER(ctx) {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LINK_CONVERTER = void 0;
|
|
4
|
+
const electronics_model_1 = require("@modular-circuit/electronics-model");
|
|
5
|
+
const links_1 = require("./links");
|
|
6
|
+
class LINK_CONVERTER {
|
|
7
|
+
ctx;
|
|
8
|
+
constructor(ctx) {
|
|
32
9
|
this.ctx = ctx;
|
|
33
10
|
}
|
|
34
|
-
|
|
11
|
+
link_map;
|
|
12
|
+
port_id;
|
|
13
|
+
port_is_composite_port(p) {
|
|
35
14
|
return Object.values(this.ctx.pin_map[this.port_id.get(p)]).length > 1;
|
|
36
|
-
}
|
|
37
|
-
|
|
15
|
+
}
|
|
16
|
+
do_convert(CtorClass, ports, net_pros) {
|
|
38
17
|
return new CtorClass(this.ctx, ports, net_pros).convert();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
var e_1, _a, e_2, _b, e_3, _c;
|
|
18
|
+
}
|
|
19
|
+
visit_cc(cc) {
|
|
42
20
|
if (cc.is_isolated) {
|
|
43
21
|
return;
|
|
44
22
|
}
|
|
45
|
-
this.link_map = gen_link_map();
|
|
46
|
-
|
|
47
|
-
|
|
23
|
+
this.link_map = (0, electronics_model_1.gen_link_map)();
|
|
24
|
+
const ports = cc.nodes.filter((i) => i.type === electronics_model_1.ConnectionNodeType.Port);
|
|
25
|
+
const meta_ports = [];
|
|
48
26
|
this.port_id = new Map();
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
27
|
+
for (const p of ports)
|
|
28
|
+
this.port_id.set(p.param, p.uuid);
|
|
29
|
+
for (const v of ports) {
|
|
30
|
+
const port = v.param;
|
|
31
|
+
const arr = this.link_map[(0, electronics_model_1.get_port_link_type)(port)];
|
|
32
|
+
if (this.port_is_composite_port(port)) {
|
|
33
|
+
arr.push(port);
|
|
53
34
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
finally {
|
|
57
|
-
try {
|
|
58
|
-
if (ports_1_1 && !ports_1_1.done && (_a = ports_1.return)) _a.call(ports_1);
|
|
35
|
+
else {
|
|
36
|
+
meta_ports.push(port);
|
|
59
37
|
}
|
|
60
|
-
finally { if (e_1) throw e_1.error; }
|
|
61
38
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
39
|
+
const meta_port_converter = new links_1.MetaPortConverter(this.ctx, meta_ports, cc);
|
|
40
|
+
meta_port_converter.convert();
|
|
41
|
+
for (const [k, v] of Object.entries(this.link_map)) {
|
|
42
|
+
if (!v || !v.length)
|
|
43
|
+
continue;
|
|
44
|
+
switch (k) {
|
|
45
|
+
case electronics_model_1.LinkType.CanLogicLink: {
|
|
46
|
+
this.do_convert(links_1.CanLogicLinkTester, v, cc);
|
|
47
|
+
break;
|
|
69
48
|
}
|
|
70
|
-
|
|
71
|
-
|
|
49
|
+
case electronics_model_1.LinkType.CanDiffLink: {
|
|
50
|
+
this.do_convert(links_1.CanDiffLinkTester, v, cc);
|
|
51
|
+
break;
|
|
72
52
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
this.do_convert(SpiLinkTester, v, cc);
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
case LinkType.SpeakerLink: {
|
|
119
|
-
this.do_convert(SpeakerLinkTester, v, cc);
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
case LinkType.UartLink: {
|
|
123
|
-
this.do_convert(UartLinkTester, v, cc);
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
case LinkType.UsbLink: {
|
|
127
|
-
this.do_convert(UsbLinkTester, v, cc);
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
case LinkType.UsbCcLink: {
|
|
131
|
-
this.do_convert(UsbCcLinkTester, v, cc);
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
case LinkType.Dvp8Link: {
|
|
135
|
-
this.do_convert(Dvp8LinkTester, v, cc);
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
default: {
|
|
139
|
-
throw new Error("Unhandled link type: ".concat(k));
|
|
140
|
-
}
|
|
53
|
+
case electronics_model_1.LinkType.CrystalLink: {
|
|
54
|
+
this.do_convert(links_1.CrystalLinkTester, v, cc);
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
case electronics_model_1.LinkType.SwdLink: {
|
|
58
|
+
this.do_convert(links_1.SwdLinkTester, v, cc);
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case electronics_model_1.LinkType.I2cLink: {
|
|
62
|
+
this.do_convert(links_1.I2cLinkTester, v, cc);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case electronics_model_1.LinkType.I2sLink: {
|
|
66
|
+
this.do_convert(links_1.I2sLinkTester, v, cc);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case electronics_model_1.LinkType.SpiLink: {
|
|
70
|
+
this.do_convert(links_1.SpiLinkTester, v, cc);
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case electronics_model_1.LinkType.SpeakerLink: {
|
|
74
|
+
this.do_convert(links_1.SpeakerLinkTester, v, cc);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case electronics_model_1.LinkType.UartLink: {
|
|
78
|
+
this.do_convert(links_1.UartLinkTester, v, cc);
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case electronics_model_1.LinkType.UsbLink: {
|
|
82
|
+
this.do_convert(links_1.UsbLinkTester, v, cc);
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
case electronics_model_1.LinkType.UsbCcLink: {
|
|
86
|
+
this.do_convert(links_1.UsbCcLinkTester, v, cc);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
case electronics_model_1.LinkType.Dvp8Link: {
|
|
90
|
+
this.do_convert(links_1.Dvp8LinkTester, v, cc);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
default: {
|
|
94
|
+
throw new Error(`Unhandled link type: ${k}`);
|
|
141
95
|
}
|
|
142
96
|
}
|
|
143
97
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
|
|
148
|
-
}
|
|
149
|
-
finally { if (e_3) throw e_3.error; }
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
return LINK_CONVERTER;
|
|
153
|
-
}());
|
|
154
|
-
export { LINK_CONVERTER };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.LINK_CONVERTER = LINK_CONVERTER;
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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("./converter"), exports);
|
|
18
|
+
__exportStar(require("./context"), exports);
|
|
@@ -1,154 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
-
extendStatics(d, b);
|
|
12
|
-
function __() { this.constructor = d; }
|
|
13
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
-
};
|
|
15
|
-
})();
|
|
16
|
-
var __values = (this && this.__values) || function(o) {
|
|
17
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
18
|
-
if (m) return m.call(o);
|
|
19
|
-
if (o && typeof o.length === "number") return {
|
|
20
|
-
next: function () {
|
|
21
|
-
if (o && i >= o.length) o = void 0;
|
|
22
|
-
return { value: o && o[i++], done: !o };
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
26
|
-
};
|
|
27
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
28
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
29
|
-
if (!m) return o;
|
|
30
|
-
var i = m.call(o), r, ar = [], e;
|
|
31
|
-
try {
|
|
32
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
33
|
-
}
|
|
34
|
-
catch (error) { e = { error: error }; }
|
|
35
|
-
finally {
|
|
36
|
-
try {
|
|
37
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
38
|
-
}
|
|
39
|
-
finally { if (e) throw e.error; }
|
|
40
|
-
}
|
|
41
|
-
return ar;
|
|
42
|
-
};
|
|
43
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
44
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
45
|
-
if (ar || !(i in from)) {
|
|
46
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
47
|
-
ar[i] = from[i];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
51
|
-
};
|
|
52
|
-
var LinkConverterBase = /** @class */ (function () {
|
|
53
|
-
function LinkConverterBase(ctx, ports, net_pros) {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompositePortLinkConverterBase = exports.MetaPortConverter = exports.LinkConverterBase = void 0;
|
|
4
|
+
class LinkConverterBase {
|
|
5
|
+
ctx;
|
|
6
|
+
ports;
|
|
7
|
+
net_pros;
|
|
8
|
+
link;
|
|
9
|
+
constructor(ctx, ports, net_pros) {
|
|
54
10
|
this.ctx = ctx;
|
|
55
11
|
this.ports = ports;
|
|
56
12
|
this.net_pros = net_pros;
|
|
57
13
|
}
|
|
58
|
-
|
|
14
|
+
convert() {
|
|
59
15
|
if (!this.init_link())
|
|
60
16
|
return;
|
|
61
17
|
this.do_convert();
|
|
62
|
-
}
|
|
63
|
-
|
|
18
|
+
}
|
|
19
|
+
get_net_code() {
|
|
64
20
|
return this.ctx.nl_netlist.nets.length + 1;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
21
|
+
}
|
|
22
|
+
gen_net_name(signal_name) {
|
|
23
|
+
const base_net_name = signal_name ? `${this.net_pros.name}-${signal_name}` : `${this.net_pros.name}`;
|
|
68
24
|
if (!this.ctx.net_names_count.has(base_net_name)) {
|
|
69
25
|
this.ctx.net_names_count.set(base_net_name, 0);
|
|
70
26
|
return base_net_name;
|
|
71
27
|
}
|
|
72
|
-
|
|
28
|
+
const count = this.ctx.net_names_count.get(base_net_name);
|
|
73
29
|
this.ctx.net_names_count.set(base_net_name, count + 1);
|
|
74
|
-
return
|
|
75
|
-
};
|
|
76
|
-
return LinkConverterBase;
|
|
77
|
-
}());
|
|
78
|
-
export { LinkConverterBase };
|
|
79
|
-
var MetaPortConverter = /** @class */ (function (_super) {
|
|
80
|
-
__extends(MetaPortConverter, _super);
|
|
81
|
-
function MetaPortConverter() {
|
|
82
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
30
|
+
return `${base_net_name}-${count}`;
|
|
83
31
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
95
|
-
finally {
|
|
96
|
-
try {
|
|
97
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
98
|
-
}
|
|
99
|
-
finally { if (e_1) throw e_1.error; }
|
|
32
|
+
}
|
|
33
|
+
exports.LinkConverterBase = LinkConverterBase;
|
|
34
|
+
class MetaPortConverter extends LinkConverterBase {
|
|
35
|
+
do_convert() {
|
|
36
|
+
const pins = [];
|
|
37
|
+
for (const p of this.ports) {
|
|
38
|
+
const p_id = this.ctx.port_map.get(p);
|
|
39
|
+
pins.push(...Object.values(this.ctx.pin_map[p_id]));
|
|
100
40
|
}
|
|
101
41
|
this.ctx.nl_netlist.nets.push({
|
|
102
42
|
code: this.get_net_code(),
|
|
103
43
|
name: this.gen_net_name(),
|
|
104
|
-
pins
|
|
44
|
+
pins,
|
|
105
45
|
});
|
|
106
|
-
}
|
|
107
|
-
|
|
46
|
+
}
|
|
47
|
+
init_link() {
|
|
108
48
|
return true;
|
|
109
|
-
};
|
|
110
|
-
return MetaPortConverter;
|
|
111
|
-
}(LinkConverterBase));
|
|
112
|
-
export { MetaPortConverter };
|
|
113
|
-
var CompositePortLinkConverterBase = /** @class */ (function (_super) {
|
|
114
|
-
__extends(CompositePortLinkConverterBase, _super);
|
|
115
|
-
function CompositePortLinkConverterBase() {
|
|
116
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
117
49
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var port = _f.value;
|
|
127
|
-
pins.push(this.ctx.pin_map[this.ctx.port_map.get(port.parent)][port.meta_port.label_associated]);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
131
|
-
finally {
|
|
132
|
-
try {
|
|
133
|
-
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
134
|
-
}
|
|
135
|
-
finally { if (e_3) throw e_3.error; }
|
|
136
|
-
}
|
|
137
|
-
this.ctx.nl_netlist.nets.push({
|
|
138
|
-
code: this.get_net_code(),
|
|
139
|
-
name: this.gen_net_name(signal.name),
|
|
140
|
-
pins: pins,
|
|
141
|
-
});
|
|
50
|
+
}
|
|
51
|
+
exports.MetaPortConverter = MetaPortConverter;
|
|
52
|
+
class CompositePortLinkConverterBase extends LinkConverterBase {
|
|
53
|
+
do_convert() {
|
|
54
|
+
for (const signal of this.get_signals()) {
|
|
55
|
+
const pins = [];
|
|
56
|
+
for (const port of signal.ports) {
|
|
57
|
+
pins.push(this.ctx.pin_map[this.ctx.port_map.get(port.parent)][port.meta_port.label_associated]);
|
|
142
58
|
}
|
|
59
|
+
this.ctx.nl_netlist.nets.push({
|
|
60
|
+
code: this.get_net_code(),
|
|
61
|
+
name: this.gen_net_name(signal.name),
|
|
62
|
+
pins,
|
|
63
|
+
});
|
|
143
64
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
148
|
-
}
|
|
149
|
-
finally { if (e_2) throw e_2.error; }
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
return CompositePortLinkConverterBase;
|
|
153
|
-
}(LinkConverterBase));
|
|
154
|
-
export { CompositePortLinkConverterBase };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.CompositePortLinkConverterBase = CompositePortLinkConverterBase;
|