yowasp-yosys 0.46.0.0.post790__py3-none-any.whl → 0.48.0.0.post834__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.
- yowasp_yosys/share/choices/han-carlson.v +59 -0
- yowasp_yosys/share/choices/sklansky.v +37 -0
- yowasp_yosys/share/gowin/{cells_xtra.v → cells_xtra_gw1n.v} +15 -112
- yowasp_yosys/share/gowin/cells_xtra_gw2a.v +1724 -0
- yowasp_yosys/share/gowin/cells_xtra_gw5a.v +2680 -0
- yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl.h +1 -1
- yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_vcd.h +9 -3
- yowasp_yosys/share/include/kernel/bitpattern.h +1 -1
- yowasp_yosys/share/include/kernel/celltypes.h +12 -10
- yowasp_yosys/share/include/kernel/consteval.h +7 -7
- yowasp_yosys/share/include/kernel/constids.inc +2 -1
- yowasp_yosys/share/include/kernel/drivertools.h +8 -2
- yowasp_yosys/share/include/kernel/ffinit.h +3 -3
- yowasp_yosys/share/include/kernel/macc.h +10 -2
- yowasp_yosys/share/include/kernel/mem.h +1 -1
- yowasp_yosys/share/include/kernel/rtlil.h +116 -25
- yowasp_yosys/share/include/kernel/scopeinfo.h +4 -0
- yowasp_yosys/share/include/kernel/timinginfo.h +8 -0
- yowasp_yosys/share/include/kernel/yosys.h +4 -2
- yowasp_yosys/share/include/kernel/yosys_common.h +2 -22
- yowasp_yosys/share/include/passes/fsm/fsmdata.h +13 -13
- yowasp_yosys/share/python3/sby_core.py +4 -4
- yowasp_yosys/share/python3/sby_design.py +2 -2
- yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v +1 -1
- yowasp_yosys/share/simcells.v +149 -0
- yowasp_yosys/share/simlib.v +163 -58
- yowasp_yosys/yosys.wasm +0 -0
- {yowasp_yosys-0.46.0.0.post790.dist-info → yowasp_yosys-0.48.0.0.post834.dist-info}/METADATA +1 -1
- {yowasp_yosys-0.46.0.0.post790.dist-info → yowasp_yosys-0.48.0.0.post834.dist-info}/RECORD +32 -28
- {yowasp_yosys-0.46.0.0.post790.dist-info → yowasp_yosys-0.48.0.0.post834.dist-info}/WHEEL +1 -1
- {yowasp_yosys-0.46.0.0.post790.dist-info → yowasp_yosys-0.48.0.0.post834.dist-info}/entry_points.txt +0 -0
- {yowasp_yosys-0.46.0.0.post790.dist-info → yowasp_yosys-0.48.0.0.post834.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'
|
|
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
|