@modular-circuit/transpiler 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.js +103 -0
- package/dist/index.mjs +103 -0
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1545,6 +1545,105 @@ var Dvp8LinkTester = class extends CompositePortLinkConverterBase {
|
|
|
1545
1545
|
return true;
|
|
1546
1546
|
}
|
|
1547
1547
|
};
|
|
1548
|
+
var JtagLinkTester = class extends CompositePortLinkConverterBase {
|
|
1549
|
+
get_signals() {
|
|
1550
|
+
if (!this.link) return [];
|
|
1551
|
+
return [
|
|
1552
|
+
{
|
|
1553
|
+
name: "TCK",
|
|
1554
|
+
ports: [
|
|
1555
|
+
{
|
|
1556
|
+
parent: this.link.host,
|
|
1557
|
+
meta_port: this.link.host.TCK
|
|
1558
|
+
},
|
|
1559
|
+
{
|
|
1560
|
+
parent: this.link.target,
|
|
1561
|
+
meta_port: this.link.target.TCK
|
|
1562
|
+
}
|
|
1563
|
+
]
|
|
1564
|
+
},
|
|
1565
|
+
{
|
|
1566
|
+
name: "TDI",
|
|
1567
|
+
ports: [
|
|
1568
|
+
{
|
|
1569
|
+
parent: this.link.host,
|
|
1570
|
+
meta_port: this.link.host.TDI
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
parent: this.link.target,
|
|
1574
|
+
meta_port: this.link.target.TDI
|
|
1575
|
+
}
|
|
1576
|
+
]
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
name: "TDO",
|
|
1580
|
+
ports: [
|
|
1581
|
+
{
|
|
1582
|
+
parent: this.link.host,
|
|
1583
|
+
meta_port: this.link.host.TDO
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
parent: this.link.target,
|
|
1587
|
+
meta_port: this.link.target.TDO
|
|
1588
|
+
}
|
|
1589
|
+
]
|
|
1590
|
+
},
|
|
1591
|
+
{
|
|
1592
|
+
name: "TMS",
|
|
1593
|
+
ports: [
|
|
1594
|
+
{
|
|
1595
|
+
parent: this.link.host,
|
|
1596
|
+
meta_port: this.link.host.TMS
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
parent: this.link.target,
|
|
1600
|
+
meta_port: this.link.target.TMS
|
|
1601
|
+
}
|
|
1602
|
+
]
|
|
1603
|
+
},
|
|
1604
|
+
{
|
|
1605
|
+
name: "TRST",
|
|
1606
|
+
ports: [
|
|
1607
|
+
{
|
|
1608
|
+
parent: this.link.host,
|
|
1609
|
+
meta_port: this.link.host.TRST
|
|
1610
|
+
},
|
|
1611
|
+
{
|
|
1612
|
+
parent: this.link.target,
|
|
1613
|
+
meta_port: this.link.target.TRST
|
|
1614
|
+
}
|
|
1615
|
+
]
|
|
1616
|
+
}
|
|
1617
|
+
];
|
|
1618
|
+
}
|
|
1619
|
+
init_link() {
|
|
1620
|
+
const hosts = [];
|
|
1621
|
+
const targets = [];
|
|
1622
|
+
for (const v of this.ports) {
|
|
1623
|
+
switch (v.type) {
|
|
1624
|
+
case import_electronics_model2.PortType.JtagHostPort: {
|
|
1625
|
+
hosts.push(v);
|
|
1626
|
+
break;
|
|
1627
|
+
}
|
|
1628
|
+
case import_electronics_model2.PortType.JtagTargetPort: {
|
|
1629
|
+
targets.push(v);
|
|
1630
|
+
break;
|
|
1631
|
+
}
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
if (hosts.length !== 1) {
|
|
1635
|
+
return false;
|
|
1636
|
+
}
|
|
1637
|
+
if (targets.length !== 1) {
|
|
1638
|
+
return false;
|
|
1639
|
+
}
|
|
1640
|
+
this.link = {
|
|
1641
|
+
host: hosts[0],
|
|
1642
|
+
target: targets[0]
|
|
1643
|
+
};
|
|
1644
|
+
return true;
|
|
1645
|
+
}
|
|
1646
|
+
};
|
|
1548
1647
|
|
|
1549
1648
|
// src/converter/link_to_netlist/converter.ts
|
|
1550
1649
|
var LINK_CONVERTER = class {
|
|
@@ -1633,6 +1732,10 @@ var LINK_CONVERTER = class {
|
|
|
1633
1732
|
this.do_convert(Dvp8LinkTester, v, cc);
|
|
1634
1733
|
break;
|
|
1635
1734
|
}
|
|
1735
|
+
case import_electronics_model3.LinkType.JtagLink: {
|
|
1736
|
+
this.do_convert(JtagLinkTester, v, cc);
|
|
1737
|
+
break;
|
|
1738
|
+
}
|
|
1636
1739
|
default: {
|
|
1637
1740
|
throw new Error(`Unhandled link type: ${k}`);
|
|
1638
1741
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -1505,6 +1505,105 @@ var Dvp8LinkTester = class extends CompositePortLinkConverterBase {
|
|
|
1505
1505
|
return true;
|
|
1506
1506
|
}
|
|
1507
1507
|
};
|
|
1508
|
+
var JtagLinkTester = class extends CompositePortLinkConverterBase {
|
|
1509
|
+
get_signals() {
|
|
1510
|
+
if (!this.link) return [];
|
|
1511
|
+
return [
|
|
1512
|
+
{
|
|
1513
|
+
name: "TCK",
|
|
1514
|
+
ports: [
|
|
1515
|
+
{
|
|
1516
|
+
parent: this.link.host,
|
|
1517
|
+
meta_port: this.link.host.TCK
|
|
1518
|
+
},
|
|
1519
|
+
{
|
|
1520
|
+
parent: this.link.target,
|
|
1521
|
+
meta_port: this.link.target.TCK
|
|
1522
|
+
}
|
|
1523
|
+
]
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
name: "TDI",
|
|
1527
|
+
ports: [
|
|
1528
|
+
{
|
|
1529
|
+
parent: this.link.host,
|
|
1530
|
+
meta_port: this.link.host.TDI
|
|
1531
|
+
},
|
|
1532
|
+
{
|
|
1533
|
+
parent: this.link.target,
|
|
1534
|
+
meta_port: this.link.target.TDI
|
|
1535
|
+
}
|
|
1536
|
+
]
|
|
1537
|
+
},
|
|
1538
|
+
{
|
|
1539
|
+
name: "TDO",
|
|
1540
|
+
ports: [
|
|
1541
|
+
{
|
|
1542
|
+
parent: this.link.host,
|
|
1543
|
+
meta_port: this.link.host.TDO
|
|
1544
|
+
},
|
|
1545
|
+
{
|
|
1546
|
+
parent: this.link.target,
|
|
1547
|
+
meta_port: this.link.target.TDO
|
|
1548
|
+
}
|
|
1549
|
+
]
|
|
1550
|
+
},
|
|
1551
|
+
{
|
|
1552
|
+
name: "TMS",
|
|
1553
|
+
ports: [
|
|
1554
|
+
{
|
|
1555
|
+
parent: this.link.host,
|
|
1556
|
+
meta_port: this.link.host.TMS
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
parent: this.link.target,
|
|
1560
|
+
meta_port: this.link.target.TMS
|
|
1561
|
+
}
|
|
1562
|
+
]
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
name: "TRST",
|
|
1566
|
+
ports: [
|
|
1567
|
+
{
|
|
1568
|
+
parent: this.link.host,
|
|
1569
|
+
meta_port: this.link.host.TRST
|
|
1570
|
+
},
|
|
1571
|
+
{
|
|
1572
|
+
parent: this.link.target,
|
|
1573
|
+
meta_port: this.link.target.TRST
|
|
1574
|
+
}
|
|
1575
|
+
]
|
|
1576
|
+
}
|
|
1577
|
+
];
|
|
1578
|
+
}
|
|
1579
|
+
init_link() {
|
|
1580
|
+
const hosts = [];
|
|
1581
|
+
const targets = [];
|
|
1582
|
+
for (const v of this.ports) {
|
|
1583
|
+
switch (v.type) {
|
|
1584
|
+
case PortType.JtagHostPort: {
|
|
1585
|
+
hosts.push(v);
|
|
1586
|
+
break;
|
|
1587
|
+
}
|
|
1588
|
+
case PortType.JtagTargetPort: {
|
|
1589
|
+
targets.push(v);
|
|
1590
|
+
break;
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
if (hosts.length !== 1) {
|
|
1595
|
+
return false;
|
|
1596
|
+
}
|
|
1597
|
+
if (targets.length !== 1) {
|
|
1598
|
+
return false;
|
|
1599
|
+
}
|
|
1600
|
+
this.link = {
|
|
1601
|
+
host: hosts[0],
|
|
1602
|
+
target: targets[0]
|
|
1603
|
+
};
|
|
1604
|
+
return true;
|
|
1605
|
+
}
|
|
1606
|
+
};
|
|
1508
1607
|
|
|
1509
1608
|
// src/converter/link_to_netlist/converter.ts
|
|
1510
1609
|
var LINK_CONVERTER = class {
|
|
@@ -1593,6 +1692,10 @@ var LINK_CONVERTER = class {
|
|
|
1593
1692
|
this.do_convert(Dvp8LinkTester, v, cc);
|
|
1594
1693
|
break;
|
|
1595
1694
|
}
|
|
1695
|
+
case LinkType.JtagLink: {
|
|
1696
|
+
this.do_convert(JtagLinkTester, v, cc);
|
|
1697
|
+
break;
|
|
1698
|
+
}
|
|
1596
1699
|
default: {
|
|
1597
1700
|
throw new Error(`Unhandled link type: ${k}`);
|
|
1598
1701
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modular-circuit/transpiler",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "Intermediate representation of the modular circuit",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"elkjs": "^0.11.0",
|
|
30
30
|
"js-base64": "^3.7.7",
|
|
31
31
|
"jszip": "^3.10.1",
|
|
32
|
-
"@modular-circuit/electronics-model": "0.2.
|
|
33
|
-
"@modular-circuit/ir": "0.2.
|
|
34
|
-
"@modular-circuit/
|
|
35
|
-
"@modular-circuit/
|
|
32
|
+
"@modular-circuit/electronics-model": "0.2.11",
|
|
33
|
+
"@modular-circuit/ir": "0.2.9",
|
|
34
|
+
"@modular-circuit/perc": "0.2.17",
|
|
35
|
+
"@modular-circuit/utils": "0.2.9"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"clean": "rimraf dist",
|