@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 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.8",
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.10",
33
- "@modular-circuit/ir": "0.2.8",
34
- "@modular-circuit/utils": "0.2.8",
35
- "@modular-circuit/perc": "0.2.15"
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",