yowasp-yosys 0.47.0.0.post805__py3-none-any.whl → 0.49.0.0.post848__py3-none-any.whl

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.
Files changed (32) hide show
  1. yowasp_yosys/share/choices/han-carlson.v +59 -0
  2. yowasp_yosys/share/choices/sklansky.v +37 -0
  3. yowasp_yosys/share/gowin/{cells_xtra.v → cells_xtra_gw1n.v} +15 -112
  4. yowasp_yosys/share/gowin/cells_xtra_gw2a.v +1724 -0
  5. yowasp_yosys/share/gowin/cells_xtra_gw5a.v +2680 -0
  6. yowasp_yosys/share/include/frontends/ast/ast.h +1 -1
  7. yowasp_yosys/share/include/kernel/bitpattern.h +6 -5
  8. yowasp_yosys/share/include/kernel/cellaigs.h +2 -2
  9. yowasp_yosys/share/include/kernel/consteval.h +0 -3
  10. yowasp_yosys/share/include/kernel/constids.inc +2 -0
  11. yowasp_yosys/share/include/kernel/drivertools.h +147 -91
  12. yowasp_yosys/share/include/kernel/hashlib.h +258 -152
  13. yowasp_yosys/share/include/kernel/log.h +6 -6
  14. yowasp_yosys/share/include/kernel/macc.h +12 -24
  15. yowasp_yosys/share/include/kernel/modtools.h +12 -5
  16. yowasp_yosys/share/include/kernel/rtlil.h +345 -287
  17. yowasp_yosys/share/include/kernel/scopeinfo.h +20 -6
  18. yowasp_yosys/share/include/kernel/sigtools.h +10 -2
  19. yowasp_yosys/share/include/kernel/timinginfo.h +18 -2
  20. yowasp_yosys/share/include/kernel/utils.h +6 -6
  21. yowasp_yosys/share/include/kernel/yosys.h +4 -2
  22. yowasp_yosys/share/include/kernel/yosys_common.h +14 -43
  23. yowasp_yosys/share/include/kernel/yw.h +4 -1
  24. yowasp_yosys/share/python3/sby_core.py +4 -4
  25. yowasp_yosys/share/python3/smtio.py +1 -1
  26. yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v +1 -1
  27. yowasp_yosys/yosys.wasm +0 -0
  28. {yowasp_yosys-0.47.0.0.post805.dist-info → yowasp_yosys-0.49.0.0.post848.dist-info}/METADATA +1 -1
  29. {yowasp_yosys-0.47.0.0.post805.dist-info → yowasp_yosys-0.49.0.0.post848.dist-info}/RECORD +32 -28
  30. {yowasp_yosys-0.47.0.0.post805.dist-info → yowasp_yosys-0.49.0.0.post848.dist-info}/WHEEL +1 -1
  31. {yowasp_yosys-0.47.0.0.post805.dist-info → yowasp_yosys-0.49.0.0.post848.dist-info}/entry_points.txt +0 -0
  32. {yowasp_yosys-0.47.0.0.post805.dist-info → yowasp_yosys-0.49.0.0.post848.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,59 @@
1
+ (* techmap_celltype = "$lcu" *)
2
+ module _80_lcu_han_carlson (P, G, CI, CO);
3
+ parameter WIDTH = 2;
4
+
5
+ (* force_downto *)
6
+ input [WIDTH-1:0] P, G;
7
+ input CI;
8
+
9
+ (* force_downto *)
10
+ output [WIDTH-1:0] CO;
11
+
12
+ integer i, j;
13
+ (* force_downto *)
14
+ reg [WIDTH-1:0] p, g;
15
+
16
+ wire [1023:0] _TECHMAP_DO_ = "proc; opt -fast";
17
+
18
+ always @* begin
19
+ i = 0;
20
+ p = P;
21
+ g = G;
22
+
23
+ // in almost all cases CI will be constant zero
24
+ g[0] = g[0] | (p[0] & CI);
25
+ if (i < $clog2(WIDTH)) begin
26
+
27
+ // First layer: BK
28
+ for (j = WIDTH - 1; j >= 0; j = j - 1) begin
29
+ if (j % 2 == 1) begin
30
+ g[j] = g[j] | p[j] & g[j - 1];
31
+ p[j] = p[j] & p[j - 1];
32
+ end
33
+ end
34
+
35
+ // Inner (log(WIDTH) - 1) layers: KS
36
+ for (i = 1; i < $clog2(WIDTH); i = i + 1) begin
37
+ for (j = WIDTH - 1; j >= 2**i; j = j - 1) begin
38
+ if (j % 2 == 1) begin
39
+ g[j] = g[j] | p[j] & g[j - 2**i];
40
+ p[j] = p[j] & p[j - 2**i];
41
+ end
42
+ end
43
+ end
44
+
45
+ // Last layer: BK
46
+ if (i < ($clog2(WIDTH) + 1)) begin
47
+ for (j = WIDTH - 1; j >= 0; j = j - 1) begin
48
+ if ((j % 2 == 0) && (j > 0)) begin
49
+ g[j] = g[j] | p[j] & g[j - 1];
50
+ p[j] = p[j] & p[j - 1];
51
+ end
52
+ end
53
+ end
54
+
55
+ end
56
+ end
57
+
58
+ assign CO = g;
59
+ endmodule
@@ -0,0 +1,37 @@
1
+ (* techmap_celltype = "$lcu" *)
2
+ module _80_lcu_sklansky (P, G, CI, CO);
3
+ parameter WIDTH = 2;
4
+
5
+ (* force_downto *)
6
+ input [WIDTH-1:0] P, G;
7
+ input CI;
8
+
9
+ (* force_downto *)
10
+ output [WIDTH-1:0] CO;
11
+
12
+ integer i, j;
13
+ (* force_downto *)
14
+ reg [WIDTH-1:0] p, g;
15
+
16
+ wire [1023:0] _TECHMAP_DO_ = "proc; opt -fast";
17
+
18
+ always @* begin
19
+ p = P;
20
+ g = G;
21
+
22
+ // in almost all cases CI will be constant zero
23
+ g[0] = g[0] | (p[0] & CI);
24
+
25
+ for (i = 0; i < $clog2(WIDTH); i = i + 1) begin
26
+ // iterate in reverse so we don't confuse a result from this stage and the previous
27
+ for (j = WIDTH - 1; j >= 0; j = j - 1) begin
28
+ if (j & 2**i) begin
29
+ g[j] = g[j] | p[j] & g[(j & ~(2**i - 1)) - 1];
30
+ p[j] = p[j] & p[(j & ~(2**i - 1)) - 1];
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ assign CO = g;
37
+ endmodule
@@ -1465,12 +1465,22 @@ output O, OB;
1465
1465
  input I, IB, IL, MODESEL;
1466
1466
  endmodule
1467
1467
 
1468
+ module ELVDS_IBUF_MIPI (...);
1469
+ output OH, OL;
1470
+ input I, IB;
1471
+ endmodule
1472
+
1468
1473
  module I3C_IOBUF (...);
1469
1474
  output O;
1470
1475
  inout IO;
1471
1476
  input I, MODESEL;
1472
1477
  endmodule
1473
1478
 
1479
+ module TLVDS_OEN_BK (...);
1480
+ input OEN;
1481
+ parameter OEN_BANK = "0";
1482
+ endmodule
1483
+
1474
1484
  module CLKDIV (...);
1475
1485
  input HCLKIN;
1476
1486
  input RESETN;
@@ -1570,117 +1580,6 @@ input CE;
1570
1580
  output CLKOUT;
1571
1581
  endmodule
1572
1582
 
1573
- module FLASH128K (...);
1574
- input [31:0] DIN;
1575
- input [14:0] ADDR;
1576
- input CS,AE,OE;
1577
- input PCLK;
1578
- input PROG, SERA, MASE;
1579
- input NVSTR;
1580
- input IFREN;
1581
- input RESETN;
1582
- output [31:0] DOUT;
1583
- output TBIT;
1584
- parameter IDLE = 4'd0,
1585
- READ_S1 = 4'd1,
1586
- READ_S2 = 4'd2,
1587
- PROG_S1 = 4'd3,
1588
- PROG_S2 = 4'd4,
1589
- PROG_S3 = 4'd5,
1590
- PROG_S4 = 4'd6,
1591
- SERA_S1 = 4'd7,
1592
- SERA_S2 = 4'd8,
1593
- SERA_S3 = 4'd9,
1594
- SERA_S4 = 4'd10,
1595
- MASE_S1 = 4'd11,
1596
- MASE_S2 = 4'd12,
1597
- MASE_S3 = 4'd13,
1598
- MASE_S4 = 4'd14;
1599
- endmodule
1600
-
1601
- module MCU (...);
1602
- endmodule
1603
-
1604
- module USB20_PHY (...);
1605
- parameter DATABUS16_8 = 1'b0;
1606
- parameter ADP_PRBEN = 1'b0;
1607
- parameter TEST_MODE = 5'b00000;
1608
- parameter HSDRV1 = 1'b0;
1609
- parameter HSDRV0 = 1'b0;
1610
- parameter CLK_SEL = 1'b0;
1611
- parameter M = 4'b0000;
1612
- parameter N = 6'b101000;
1613
- parameter C = 2'b01;
1614
- parameter FOC_LOCK = 1'b0;
1615
- input [15:0] DATAIN;
1616
- input TXVLD;
1617
- input TXVLDH;
1618
- input RESET;
1619
- input SUSPENDM;
1620
- input [1:0] XCVRSEL;
1621
- input TERMSEL;
1622
- input [1:0] OPMODE;
1623
- output [15:0] DATAOUT;
1624
- output TXREADY;
1625
- output RXACTIVE;
1626
- output RXVLD;
1627
- output RXVLDH;
1628
- output CLK;
1629
- output RXERROR;
1630
- inout DP;
1631
- inout DM;
1632
- output [1:0] LINESTATE;
1633
- input IDPULLUP;
1634
- input DPPD;
1635
- input DMPD;
1636
- input CHARGVBUS;
1637
- input DISCHARGVBUS;
1638
- input TXBITSTUFFEN;
1639
- input TXBITSTUFFENH;
1640
- input TXENN;
1641
- input TXDAT;
1642
- input TXSE0;
1643
- input FSLSSERIAL;
1644
- output HOSTDIS;
1645
- output IDDIG;
1646
- output ADPPRB;
1647
- output ADPSNS;
1648
- output SESSVLD;
1649
- output VBUSVLD;
1650
- output RXDP;
1651
- output RXDM;
1652
- output RXRCV;
1653
- output LBKERR;
1654
- output CLKRDY;
1655
- input INTCLK;
1656
- inout ID;
1657
- inout VBUS;
1658
- inout REXT;
1659
- input XIN;
1660
- inout XOUT;
1661
- input TEST;
1662
- output CLK480PAD;
1663
- input SCANCLK;
1664
- input SCANEN;
1665
- input SCANMODE;
1666
- input TRESETN;
1667
- input SCANIN1;
1668
- output SCANOUT1;
1669
- input SCANIN2;
1670
- output SCANOUT2;
1671
- input SCANIN3;
1672
- output SCANOUT3;
1673
- input SCANIN4;
1674
- output SCANOUT4;
1675
- input SCANIN5;
1676
- output SCANOUT5;
1677
- input SCANIN6;
1678
- output SCANOUT6;
1679
- endmodule
1680
-
1681
- module ADC (...);
1682
- endmodule
1683
-
1684
1583
  module CLKDIV2 (...);
1685
1584
  parameter GSREN = "false";
1686
1585
  input HCLKIN, RESETN;
@@ -1977,7 +1876,7 @@ parameter MIPI_LANE1_EN = 1'b0;
1977
1876
  parameter MIPI_LANE2_EN = 1'b0;
1978
1877
  parameter MIPI_LANE3_EN = 1'b0;
1979
1878
  parameter MIPI_CK_EN = 1'b1;
1980
- parameter SYNC_CLK_SEL = 1'b1;
1879
+ parameter SYNC_CLK_SEL = 1'b0;
1981
1880
  endmodule
1982
1881
 
1983
1882
  module CLKDIVG (...);
@@ -1988,3 +1887,7 @@ output CLKOUT;
1988
1887
  parameter DIV_MODE = "2";
1989
1888
  parameter GSREN = "false";
1990
1889
  endmodule
1890
+
1891
+ module PWRGRD (...);
1892
+ input PDEN;
1893
+ endmodule