yowasp-yosys 0.53.0.0.post912__py3-none-any.whl → 0.55.0.0.post944__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.
@@ -115,15 +115,15 @@ generate
115
115
  .A_CLK(PORT_A_CLK),
116
116
  .A_EN(PORT_A_CLK_EN),
117
117
  .A_WE(PORT_A_WR_EN),
118
- .A_BM(PORT_A_WR_BE),
119
- .A_DI(PORT_A_WR_DATA),
118
+ .A_BM({{(20-PORT_A_WR_BE_WIDTH){1'bx}}, PORT_A_WR_BE}),
119
+ .A_DI({{(20-PORT_A_WR_WIDTH){1'bx}}, PORT_A_WR_DATA}),
120
120
  .A_ADDR({PORT_A_ADDR[13:5], 1'b0, PORT_A_ADDR[4:0], 1'b0}),
121
121
  .A_DO(PORT_A_RD_DATA),
122
122
  .B_CLK(PORT_B_CLK),
123
123
  .B_EN(PORT_B_CLK_EN),
124
124
  .B_WE(PORT_B_WR_EN),
125
- .B_BM(PORT_B_WR_BE),
126
- .B_DI(PORT_B_WR_DATA),
125
+ .B_BM({{(20-PORT_B_WR_BE_WIDTH){1'bx}}, PORT_B_WR_BE}),
126
+ .B_DI({{(20-PORT_B_WR_WIDTH){1'bx}}, PORT_B_WR_DATA}),
127
127
  .B_ADDR({PORT_B_ADDR[13:5], 1'b0, PORT_B_ADDR[4:0], 1'b0}),
128
128
  .B_DO(PORT_B_RD_DATA),
129
129
  );
@@ -270,15 +270,15 @@ generate
270
270
  .A_CLK(PORT_A_CLK),
271
271
  .A_EN(PORT_A_CLK_EN),
272
272
  .A_WE(PORT_A_WR_EN),
273
- .A_BM(PORT_A_WR_BE),
274
- .A_DI(PORT_A_WR_DATA),
273
+ .A_BM({{(40-PORT_A_WR_BE_WIDTH){1'bx}}, PORT_A_WR_BE}),
274
+ .A_DI({{(40-PORT_A_WR_WIDTH){1'bx}}, PORT_A_WR_DATA}),
275
275
  .A_ADDR({PORT_A_ADDR[14:0], 1'b0}),
276
276
  .A_DO(PORT_A_RD_DATA),
277
277
  .B_CLK(PORT_B_CLK),
278
278
  .B_EN(PORT_B_CLK_EN),
279
279
  .B_WE(PORT_B_WR_EN),
280
- .B_BM(PORT_B_WR_BE),
281
- .B_DI(PORT_B_WR_DATA),
280
+ .B_BM({{(40-PORT_B_WR_BE_WIDTH){1'bx}}, PORT_B_WR_BE}),
281
+ .B_DI({{(40-PORT_B_WR_WIDTH){1'bx}}, PORT_B_WR_DATA}),
282
282
  .B_ADDR({PORT_B_ADDR[14:0], 1'b0}),
283
283
  .B_DO(PORT_B_RD_DATA),
284
284
  );
@@ -429,14 +429,14 @@ generate
429
429
  .A_CLK(PORT_A_CLK),
430
430
  .A_EN(PORT_A_CLK_EN),
431
431
  .A_WE(PORT_A_WR_EN),
432
- .A_BM(PORT_A_WR_BE),
433
- .A_DI(PORT_A_WR_DATA),
432
+ .A_BM({{(40-PORT_A_WR_BE_WIDTH){1'bx}}, PORT_A_WR_BE}),
433
+ .A_DI({{(40-PORT_A_WR_WIDTH){1'bx}}, PORT_A_WR_DATA}),
434
434
  .A_ADDR({PORT_A_ADDR[14:0], PORT_A_ADDR[15]}),
435
435
  .B_CLK(PORT_B_CLK),
436
436
  .B_EN(PORT_B_CLK_EN),
437
437
  .B_WE(PORT_B_WR_EN),
438
- .B_BM(PORT_B_WR_BE),
439
- .B_DI(PORT_B_WR_DATA),
438
+ .B_BM({{(40-PORT_B_WR_BE_WIDTH){1'bx}}, PORT_B_WR_BE}),
439
+ .B_DI({{(40-PORT_B_WR_WIDTH){1'bx}}, PORT_B_WR_DATA}),
440
440
  .B_ADDR({PORT_B_ADDR[14:0], PORT_B_ADDR[15]}),
441
441
  );
442
442
  CC_BRAM_40K #(
@@ -584,15 +584,15 @@ generate
584
584
  .A_CLK(PORT_A_CLK),
585
585
  .A_EN(PORT_A_CLK_EN),
586
586
  .A_WE(PORT_A_WR_EN),
587
- .A_BM(PORT_A_WR_BE),
588
- .A_DI(PORT_A_WR_DATA),
587
+ .A_BM({{(40-PORT_A_WR_BE_WIDTH){1'bx}}, PORT_A_WR_BE}),
588
+ .A_DI({{(40-PORT_A_WR_WIDTH){1'bx}}, PORT_A_WR_DATA}),
589
589
  .A_DO(PORT_A_RD_DATA),
590
590
  .A_ADDR({PORT_A_ADDR[14:0], PORT_A_ADDR[15]}),
591
591
  .B_CLK(PORT_B_CLK),
592
592
  .B_EN(PORT_B_CLK_EN),
593
593
  .B_WE(PORT_B_WR_EN),
594
- .B_BM(PORT_B_WR_BE),
595
- .B_DI(PORT_B_WR_DATA),
594
+ .B_BM({{(40-PORT_B_WR_BE_WIDTH){1'bx}}, PORT_B_WR_BE}),
595
+ .B_DI({{(40-PORT_B_WR_WIDTH){1'bx}}, PORT_B_WR_DATA}),
596
596
  .B_DO(PORT_B_RD_DATA),
597
597
  .B_ADDR({PORT_B_ADDR[14:0], PORT_B_ADDR[15]}),
598
598
  );
@@ -710,9 +710,9 @@ generate
710
710
  .A_EN(PORT_W_CLK_EN),
711
711
  .A_WE(PORT_W_WR_EN),
712
712
  .A_BM(PORT_W_WR_BE[19:0]),
713
- .B_BM(PORT_W_WR_BE[39:20]),
713
+ .B_BM({{(40-PORT_W_WIDTH){1'bx}}, PORT_W_WR_BE[39:20]}),
714
714
  .A_DI(PORT_W_WR_DATA[19:0]),
715
- .B_DI(PORT_W_WR_DATA[39:20]),
715
+ .B_DI({{(40-PORT_W_WIDTH){1'bx}}, PORT_W_WR_DATA[39:20]}),
716
716
  .A_ADDR({PORT_W_ADDR[13:5], 1'b0, PORT_W_ADDR[4:0], 1'b0}),
717
717
  .B_CLK(PORT_R_CLK),
718
718
  .B_EN(PORT_R_CLK_EN),
@@ -865,9 +865,9 @@ generate
865
865
  .A_EN(PORT_W_CLK_EN),
866
866
  .A_WE(PORT_W_WR_EN),
867
867
  .A_BM(PORT_W_WR_BE[39:0]),
868
- .B_BM(PORT_W_WR_BE[79:40]),
868
+ .B_BM({{(80-PORT_W_WIDTH){1'bx}}, PORT_W_WR_BE[79:40]}),
869
869
  .A_DI(PORT_W_WR_DATA[39:0]),
870
- .B_DI(PORT_W_WR_DATA[79:40]),
870
+ .B_DI({{(80-PORT_W_WIDTH){1'bx}}, PORT_W_WR_DATA[79:40]}),
871
871
  .A_ADDR({PORT_W_ADDR[14:0], 1'b0}),
872
872
  .B_CLK(PORT_R_CLK),
873
873
  .B_EN(PORT_R_CLK_EN),
@@ -80,19 +80,8 @@ endmodule
80
80
  module MIPI_OBUF_A (...);
81
81
  output O, OB;
82
82
  input I, IB, IL, MODESEL;
83
- endmodule
84
-
85
- module IBUF_R (...);
86
- input I;
87
- input RTEN;
88
- output O;
89
- endmodule
90
-
91
- module IOBUF_R (...);
92
- input I,OEN;
93
- input RTEN;
94
- output O;
95
- inout IO;
83
+ inout IO, IOB;
84
+ input OEN, OENB;
96
85
  endmodule
97
86
 
98
87
  module ELVDS_IOBUF_R (...);
@@ -113,6 +102,21 @@ input I, IB;
113
102
  input ADCEN;
114
103
  endmodule
115
104
 
105
+ module MIPI_CPHY_IBUF (...);
106
+ output OH0, OL0, OB0, OH1, OL1, OB1, OH2, OL2, OB2;
107
+ inout IO0, IOB0, IO1, IOB1, IO2, IOB2;
108
+ input I0, IB0, I1, IB1, I2, IB2;
109
+ input OEN, OENB;
110
+ input HSEN;
111
+ endmodule
112
+
113
+ module MIPI_CPHY_OBUF (...);
114
+ output O0, OB0, O1, OB1, O2, OB2;
115
+ input I0, IB0, IL0, I1, IB1, IL1, I2, IB2, IL2;
116
+ inout IO0, IOB0, IO1, IOB1, IO2, IOB2;
117
+ input OEN, OENB, MODESEL, VCOME;
118
+ endmodule
119
+
116
120
  module SDPB (...);
117
121
  parameter READ_MODE = 1'b0;
118
122
  parameter BIT_WIDTH_0 = 32;
@@ -598,8 +602,8 @@ endmodule
598
602
 
599
603
 
600
604
  module SDP36KE (...);
601
- parameter ECC_WRITE_EN="FALSE";
602
- parameter ECC_READ_EN="FALSE";
605
+ parameter ECC_WRITE_EN="TRUE";
606
+ parameter ECC_READ_EN="TRUE";
603
607
  parameter READ_MODE = 1'b0;
604
608
  parameter BLK_SEL_A = 3'b000;
605
609
  parameter BLK_SEL_B = 3'b000;
@@ -764,6 +768,14 @@ output [7:0] ECCP;
764
768
  endmodule
765
769
 
766
770
 
771
+ module SDP136K (...);
772
+ input CLKA, CLKB;
773
+ input WE, RE;
774
+ input [10:0] ADA, ADB;
775
+ input [67:0] DI;
776
+ output [67:0] DO;
777
+ endmodule
778
+
767
779
  module MULTADDALU12X12 (...);
768
780
  parameter A0REG_CLK = "BYPASS";
769
781
  parameter A0REG_CE = "CE0";
@@ -980,6 +992,24 @@ input PSEL;
980
992
  input PADDSUB;
981
993
  endmodule
982
994
 
995
+ module MULTACC (...);
996
+ output [23:0] DATAO, CASO;
997
+ input CE, CLK;
998
+ input [5:0] COFFIN0, COFFIN1, COFFIN2;
999
+ input [9:0] DATAIN0, DATAIN1;
1000
+ input [9:0] DATAIN2;
1001
+ input RSTN;
1002
+ input [23:0] CASI;
1003
+ parameter COFFIN_WIDTH = 4;
1004
+ parameter DATAIN_WIDTH = 8;
1005
+ parameter IREG = 1'b0;
1006
+ parameter OREG = 1'b0;
1007
+ parameter PREG = 1'b0;
1008
+ parameter ACC_EN = "FALSE";
1009
+ parameter CASI_EN = "FALSE";
1010
+ parameter CASO_EN = "FALSE";
1011
+ endmodule
1012
+
983
1013
  module IDDR_MEM (...);
984
1014
  input D, ICLK, PCLK;
985
1015
  input [2:0] WADDR;
@@ -1048,6 +1078,12 @@ output Q0, Q1;
1048
1078
  endmodule
1049
1079
 
1050
1080
 
1081
+ module OSER14 (...);
1082
+ input D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13;
1083
+ input PCLK, FCLK, RESET;
1084
+ output Q;
1085
+ endmodule
1086
+
1051
1087
  module IODELAY (...);
1052
1088
  parameter C_STATIC_DLY = 0;
1053
1089
  parameter DYN_DLY_EN = "FALSE";
@@ -1066,13 +1102,39 @@ output [31:0] Q;
1066
1102
  input D;
1067
1103
  input PCLK, FCLKP, FCLKN, FCLKQP, FCLKQN;
1068
1104
  input RESET;
1069
- output DF;
1070
- input SDTAP;
1071
- input VALUE;
1072
- input [7:0] DLYSTEP;
1073
- parameter C_STATIC_DLY = 0;
1074
- parameter DYN_DLY_EN = "FALSE";
1075
- parameter ADAPT_EN = "FALSE";
1105
+ output DF0, DF1;
1106
+ input SDTAP0, SDTAP1;
1107
+ input VALUE0,VALUE1;
1108
+ input [7:0] DLYSTEP0,DLYSTEP1;
1109
+ parameter C_STATIC_DLY_0 = 0;
1110
+ parameter DYN_DLY_EN_0 = "FALSE";
1111
+ parameter ADAPT_EN_0 = "FALSE";
1112
+ parameter C_STATIC_DLY_1 = 0;
1113
+ parameter DYN_DLY_EN_1 = "FALSE";
1114
+ parameter ADAPT_EN_1 = "FALSE";
1115
+ endmodule
1116
+
1117
+ module OSIDES64 (...);
1118
+ output [63:0] Q;
1119
+ input D;
1120
+ input PCLK, FCLKP, FCLKN, FCLKQP, FCLKQN;
1121
+ input RESET;
1122
+ output DF0, DF1, DF2, DF3;
1123
+ input SDTAP0, SDTAP1, SDTAP2, SDTAP3;
1124
+ input VALUE0, VALUE1, VALUE2, VALUE3;
1125
+ input [7:0] DLYSTEP0, DLYSTEP1, DLYSTEP2, DLYSTEP3;
1126
+ parameter C_STATIC_DLY_0 = 0;
1127
+ parameter DYN_DLY_EN_0 = "FALSE";
1128
+ parameter ADAPT_EN_0 = "FALSE";
1129
+ parameter C_STATIC_DLY_1 = 0;
1130
+ parameter DYN_DLY_EN_1 = "FALSE";
1131
+ parameter ADAPT_EN_1 = "FALSE";
1132
+ parameter C_STATIC_DLY_2 = 0;
1133
+ parameter DYN_DLY_EN_2 = "FALSE";
1134
+ parameter ADAPT_EN_2 = "FALSE";
1135
+ parameter C_STATIC_DLY_3 = 0;
1136
+ parameter DYN_DLY_EN_3 = "FALSE";
1137
+ parameter ADAPT_EN_3 = "FALSE";
1076
1138
  endmodule
1077
1139
 
1078
1140
  module DCE (...);
@@ -1132,6 +1194,17 @@ output OSCOUT;
1132
1194
  input OSCEN;
1133
1195
  endmodule
1134
1196
 
1197
+ module OSCB (...);
1198
+ parameter FREQ_MODE = "25";
1199
+ parameter FREQ_DIV = 10;
1200
+ parameter DYN_TRIM_EN = "FALSE";
1201
+ output OSCOUT;
1202
+ output OSCREF;
1203
+ input OSCEN, FMODE;
1204
+ input [7:0] RTRIM;
1205
+ input [5:0] RTCTRIM;
1206
+ endmodule
1207
+
1135
1208
  module PLL (...);
1136
1209
  input CLKIN;
1137
1210
  input CLKFB;
@@ -1571,8 +1644,8 @@ input ADWSEL;
1571
1644
  endmodule
1572
1645
 
1573
1646
  module OTP (...);
1574
- parameter MODE = 1'b0;
1575
- input READ, SHIFT;
1647
+ parameter MODE = 2'b01;
1648
+ input CLK, READ, SHIFT;
1576
1649
  output DOUT;
1577
1650
  endmodule
1578
1651
 
@@ -1615,6 +1688,31 @@ input ERR0INJECT,ERR1INJECT;
1615
1688
  input [6:0] ERRINJ0LOC,ERRINJ1LOC;
1616
1689
  endmodule
1617
1690
 
1691
+ module CMSERB (...);
1692
+ output RUNNING;
1693
+ output CRCERR;
1694
+ output CRCDONE;
1695
+ output ECCCORR;
1696
+ output ECCUNCORR;
1697
+ output [12:0] ERRLOC;
1698
+ output ECCDEC;
1699
+ output DSRRD;
1700
+ output DSRWR;
1701
+ output ASRRESET;
1702
+ output ASRINC;
1703
+ output REFCLK;
1704
+ input CLK;
1705
+ input [2:0] SEREN;
1706
+ input ERR0INJECT,ERR1INJECT;
1707
+ input [6:0] ERRINJ0LOC,ERRINJ1LOC;
1708
+ endmodule
1709
+
1710
+ module SAMBA (...);
1711
+ parameter MODE = 2'b00;
1712
+ input SPIAD;
1713
+ input LOAD;
1714
+ endmodule
1715
+
1618
1716
  module ADCLRC (...);
1619
1717
  endmodule
1620
1718
 
@@ -1624,6 +1722,12 @@ endmodule
1624
1722
  module ADC (...);
1625
1723
  endmodule
1626
1724
 
1725
+ module ADC_SAR (...);
1726
+ endmodule
1727
+
1728
+ module LICD (...);
1729
+ endmodule
1730
+
1627
1731
  module MIPI_DPHY (...);
1628
1732
  output RX_CLK_O, TX_CLK_O;
1629
1733
  output [15:0] D0LN_HSRXD, D1LN_HSRXD, D2LN_HSRXD, D3LN_HSRXD;
@@ -1632,6 +1736,7 @@ input D0LN_HSRX_DREN, D1LN_HSRX_DREN, D2LN_HSRX_DREN, D3LN_HSRX_DREN;
1632
1736
  output DI_LPRX0_N, DI_LPRX0_P, DI_LPRX1_N, DI_LPRX1_P, DI_LPRX2_N, DI_LPRX2_P, DI_LPRX3_N, DI_LPRX3_P, DI_LPRXCK_N, DI_LPRXCK_P;
1633
1737
  inout CK_N, CK_P, D0_N, D0_P, D1_N, D1_P, D2_N, D2_P, D3_N, D3_P;
1634
1738
  input HSRX_STOP, HSTXEN_LN0, HSTXEN_LN1, HSTXEN_LN2, HSTXEN_LN3, HSTXEN_LNCK,
1739
+ LPTXEN_LN0, LPTXEN_LN1, LPTXEN_LN2, LPTXEN_LN3, LPTXEN_LNCK;
1635
1740
  input PWRON_RX, PWRON_TX, RESET, RX_CLK_1X, TX_CLK_1X;
1636
1741
  input TXDPEN_LN0, TXDPEN_LN1, TXDPEN_LN2, TXDPEN_LN3, TXDPEN_LNCK, TXHCLK_EN;
1637
1742
  input [15:0] CKLN_HSTXD,D0LN_HSTXD,D1LN_HSTXD,D2LN_HSTXD,D3LN_HSTXD;
@@ -1639,6 +1744,8 @@ input HSTXD_VLD;
1639
1744
  input CK0, CK90, CK180, CK270;
1640
1745
  input DO_LPTX0_N, DO_LPTX1_N, DO_LPTX2_N, DO_LPTX3_N, DO_LPTXCK_N, DO_LPTX0_P, DO_LPTX1_P, DO_LPTX2_P, DO_LPTX3_P, DO_LPTXCK_P;
1641
1746
  input HSRX_EN_CK, HSRX_EN_D0, HSRX_EN_D1, HSRX_EN_D2, HSRX_EN_D3, HSRX_ODTEN_CK,
1747
+ HSRX_ODTEN_D0, HSRX_ODTEN_D1, HSRX_ODTEN_D2, HSRX_ODTEN_D3, LPRX_EN_CK,
1748
+ LPRX_EN_D0, LPRX_EN_D1, LPRX_EN_D2, LPRX_EN_D3;
1642
1749
  input RX_DRST_N, TX_DRST_N, WALIGN_DVLD;
1643
1750
  output [7:0] MRDATA;
1644
1751
  input MA_INC, MCLK;
@@ -1714,7 +1821,7 @@ parameter RX_RD_START_DEPTH = 5'b00001;
1714
1821
  parameter RX_SYNC_MODE = 1'b0 ;
1715
1822
  parameter RX_WORD_ALIGN_BYPASS = 1'b0 ;
1716
1823
  parameter RX_WORD_ALIGN_DATA_VLD_SRC_SEL = 1'b0 ;
1717
- parameter RX_WORD_LITTLE_ENDIAN = 1'b0 ;
1824
+ parameter RX_WORD_LITTLE_ENDIAN = 1'b1 ;
1718
1825
  parameter TX_BYPASS_MODE = 1'b0 ;
1719
1826
  parameter TX_BYTECLK_SYNC_MODE = 1'b0 ;
1720
1827
  parameter TX_OCLK_USE_CIBCLK = 1'b0 ;
@@ -1917,6 +2024,437 @@ parameter TEST_P_IMP_LN3 = 1'b0 ;
1917
2024
  parameter TEST_P_IMP_LNCK = 1'b0 ;
1918
2025
  endmodule
1919
2026
 
2027
+ module MIPI_DPHYA (...);
2028
+ output RX_CLK_O, TX_CLK_O;
2029
+ output [15:0] D0LN_HSRXD, D1LN_HSRXD, D2LN_HSRXD, D3LN_HSRXD;
2030
+ output D0LN_HSRXD_VLD,D1LN_HSRXD_VLD,D2LN_HSRXD_VLD,D3LN_HSRXD_VLD;
2031
+ input D0LN_HSRX_DREN, D1LN_HSRX_DREN, D2LN_HSRX_DREN, D3LN_HSRX_DREN;
2032
+ output DI_LPRX0_N, DI_LPRX0_P, DI_LPRX1_N, DI_LPRX1_P, DI_LPRX2_N, DI_LPRX2_P, DI_LPRX3_N, DI_LPRX3_P, DI_LPRXCK_N, DI_LPRXCK_P;
2033
+ inout CK_N, CK_P, D0_N, D0_P, D1_N, D1_P, D2_N, D2_P, D3_N, D3_P;
2034
+ input HSRX_STOP, HSTXEN_LN0, HSTXEN_LN1, HSTXEN_LN2, HSTXEN_LN3, HSTXEN_LNCK,
2035
+ LPTXEN_LN0, LPTXEN_LN1, LPTXEN_LN2, LPTXEN_LN3, LPTXEN_LNCK;
2036
+ input PWRON_RX, PWRON_TX, RESET, RX_CLK_1X, TX_CLK_1X;
2037
+ input TXDPEN_LN0, TXDPEN_LN1, TXDPEN_LN2, TXDPEN_LN3, TXDPEN_LNCK, TXHCLK_EN;
2038
+ input [15:0] CKLN_HSTXD,D0LN_HSTXD,D1LN_HSTXD,D2LN_HSTXD,D3LN_HSTXD;
2039
+ input HSTXD_VLD;
2040
+ input CK0, CK90, CK180, CK270;
2041
+ input DO_LPTX0_N, DO_LPTX1_N, DO_LPTX2_N, DO_LPTX3_N, DO_LPTXCK_N, DO_LPTX0_P, DO_LPTX1_P, DO_LPTX2_P, DO_LPTX3_P, DO_LPTXCK_P;
2042
+ input HSRX_EN_CK, HSRX_EN_D0, HSRX_EN_D1, HSRX_EN_D2, HSRX_EN_D3, HSRX_ODTEN_CK,
2043
+ HSRX_ODTEN_D0, HSRX_ODTEN_D1, HSRX_ODTEN_D2, HSRX_ODTEN_D3, LPRX_EN_CK,
2044
+ LPRX_EN_D0, LPRX_EN_D1, LPRX_EN_D2, LPRX_EN_D3;
2045
+ input RX_DRST_N, TX_DRST_N, WALIGN_DVLD;
2046
+ output [7:0] MRDATA;
2047
+ input MA_INC, MCLK;
2048
+ input [1:0] MOPCODE;
2049
+ input [7:0] MWDATA;
2050
+ input SPLL_CKN, SPLL_CKP;
2051
+ output ALPEDO_LANE0, ALPEDO_LANE1, ALPEDO_LANE2, ALPEDO_LANE3, ALPEDO_LANECK;
2052
+ output D1LN_DESKEW_DONE,D2LN_DESKEW_DONE,D3LN_DESKEW_DONE,D0LN_DESKEW_DONE;
2053
+ output D1LN_DESKEW_ERROR, D2LN_DESKEW_ERROR, D3LN_DESKEW_ERROR, D0LN_DESKEW_ERROR;
2054
+ input D0LN_DESKEW_REQ, D1LN_DESKEW_REQ, D2LN_DESKEW_REQ, D3LN_DESKEW_REQ;
2055
+ input HSRX_DLYDIR_LANE0, HSRX_DLYDIR_LANE1, HSRX_DLYDIR_LANE2, HSRX_DLYDIR_LANE3, HSRX_DLYDIR_LANECK;
2056
+ input HSRX_DLYLDN_LANE0, HSRX_DLYLDN_LANE1, HSRX_DLYLDN_LANE2, HSRX_DLYLDN_LANE3, HSRX_DLYLDN_LANECK;
2057
+ input HSRX_DLYMV_LANE0, HSRX_DLYMV_LANE1, HSRX_DLYMV_LANE2, HSRX_DLYMV_LANE3, HSRX_DLYMV_LANECK;
2058
+ input ALP_EDEN_LANE0, ALP_EDEN_LANE1, ALP_EDEN_LANE2, ALP_EDEN_LANE3, ALP_EDEN_LANECK, ALPEN_LN0, ALPEN_LN1, ALPEN_LN2, ALPEN_LN3, ALPEN_LNCK;
2059
+ parameter TX_PLLCLK = "NONE";
2060
+ parameter RX_ALIGN_BYTE = 8'b10111000 ;
2061
+ parameter RX_HS_8BIT_MODE = 1'b0 ;
2062
+ parameter RX_LANE_ALIGN_EN = 1'b0 ;
2063
+ parameter TX_HS_8BIT_MODE = 1'b0 ;
2064
+ parameter HSREG_EN_LN0 = 1'b0;
2065
+ parameter HSREG_EN_LN1 = 1'b0;
2066
+ parameter HSREG_EN_LN2 = 1'b0;
2067
+ parameter HSREG_EN_LN3 = 1'b0;
2068
+ parameter HSREG_EN_LNCK = 1'b0;
2069
+ parameter LANE_DIV_SEL = 2'b00;
2070
+ parameter HSRX_EN = 1'b1 ;
2071
+ parameter HSRX_LANESEL = 4'b1111 ;
2072
+ parameter HSRX_LANESEL_CK = 1'b1 ;
2073
+ parameter HSTX_EN_LN0 = 1'b0 ;
2074
+ parameter HSTX_EN_LN1 = 1'b0 ;
2075
+ parameter HSTX_EN_LN2 = 1'b0 ;
2076
+ parameter HSTX_EN_LN3 = 1'b0 ;
2077
+ parameter HSTX_EN_LNCK = 1'b0 ;
2078
+ parameter LPTX_EN_LN0 = 1'b1 ;
2079
+ parameter LPTX_EN_LN1 = 1'b1 ;
2080
+ parameter LPTX_EN_LN2 = 1'b1 ;
2081
+ parameter LPTX_EN_LN3 = 1'b1 ;
2082
+ parameter LPTX_EN_LNCK = 1'b1 ;
2083
+ parameter TXDP_EN_LN0 = 1'b0 ;
2084
+ parameter TXDP_EN_LN1 = 1'b0 ;
2085
+ parameter TXDP_EN_LN2 = 1'b0 ;
2086
+ parameter TXDP_EN_LN3 = 1'b0 ;
2087
+ parameter TXDP_EN_LNCK = 1'b0 ;
2088
+ parameter SPLL_DIV_SEL = 2'b00;
2089
+ parameter DPHY_CK_SEL = 2'b01;
2090
+ parameter CKLN_DELAY_EN = 1'b0;
2091
+ parameter CKLN_DELAY_OVR_VAL = 7'b0000000;
2092
+ parameter D0LN_DELAY_EN = 1'b0;
2093
+ parameter D0LN_DELAY_OVR_VAL = 7'b0000000;
2094
+ parameter D0LN_DESKEW_BYPASS = 1'b0;
2095
+ parameter D1LN_DELAY_EN = 1'b0;
2096
+ parameter D1LN_DELAY_OVR_VAL = 7'b0000000;
2097
+ parameter D1LN_DESKEW_BYPASS = 1'b0;
2098
+ parameter D2LN_DELAY_EN = 1'b0;
2099
+ parameter D2LN_DELAY_OVR_VAL = 7'b0000000;
2100
+ parameter D2LN_DESKEW_BYPASS = 1'b0;
2101
+ parameter D3LN_DELAY_EN = 1'b0;
2102
+ parameter D3LN_DELAY_OVR_VAL = 7'b0000000;
2103
+ parameter D3LN_DESKEW_BYPASS = 1'b0;
2104
+ parameter DESKEW_EN_LOW_DELAY = 1'b0;
2105
+ parameter DESKEW_EN_ONE_EDGE = 1'b0;
2106
+ parameter DESKEW_FAST_LOOP_TIME = 4'b0000;
2107
+ parameter DESKEW_FAST_MODE = 1'b0;
2108
+ parameter DESKEW_HALF_OPENING = 6'b010110;
2109
+ parameter DESKEW_LSB_MODE = 2'b00;
2110
+ parameter DESKEW_M = 3'b011;
2111
+ parameter DESKEW_M_TH = 13'b0000110100110;
2112
+ parameter DESKEW_MAX_SETTING = 7'b0100001;
2113
+ parameter DESKEW_ONE_CLK_EDGE_EN = 1'b0 ;
2114
+ parameter DESKEW_RST_BYPASS = 1'b0 ;
2115
+ parameter RX_BYTE_LITTLE_ENDIAN = 1'b1 ;
2116
+ parameter RX_CLK_1X_SYNC_SEL = 1'b0 ;
2117
+ parameter RX_INVERT = 1'b0 ;
2118
+ parameter RX_ONE_BYTE0_MATCH = 1'b0 ;
2119
+ parameter RX_RD_START_DEPTH = 5'b00001;
2120
+ parameter RX_SYNC_MODE = 1'b0 ;
2121
+ parameter RX_WORD_ALIGN_BYPASS = 1'b0 ;
2122
+ parameter RX_WORD_ALIGN_DATA_VLD_SRC_SEL = 1'b0 ;
2123
+ parameter RX_WORD_LITTLE_ENDIAN = 1'b1 ;
2124
+ parameter TX_BYPASS_MODE = 1'b0 ;
2125
+ parameter TX_BYTECLK_SYNC_MODE = 1'b0 ;
2126
+ parameter TX_OCLK_USE_CIBCLK = 1'b0 ;
2127
+ parameter TX_RD_START_DEPTH = 5'b00001;
2128
+ parameter TX_SYNC_MODE = 1'b0 ;
2129
+ parameter TX_WORD_LITTLE_ENDIAN = 1'b1 ;
2130
+ parameter EQ_CS_LANE0 = 3'b100;
2131
+ parameter EQ_CS_LANE1 = 3'b100;
2132
+ parameter EQ_CS_LANE2 = 3'b100;
2133
+ parameter EQ_CS_LANE3 = 3'b100;
2134
+ parameter EQ_CS_LANECK = 3'b100;
2135
+ parameter EQ_RS_LANE0 = 3'b100;
2136
+ parameter EQ_RS_LANE1 = 3'b100;
2137
+ parameter EQ_RS_LANE2 = 3'b100;
2138
+ parameter EQ_RS_LANE3 = 3'b100;
2139
+ parameter EQ_RS_LANECK = 3'b100;
2140
+ parameter HSCLK_LANE_LN0 = 1'b0;
2141
+ parameter HSCLK_LANE_LN1 = 1'b0;
2142
+ parameter HSCLK_LANE_LN2 = 1'b0;
2143
+ parameter HSCLK_LANE_LN3 = 1'b0;
2144
+ parameter HSCLK_LANE_LNCK = 1'b1;
2145
+ parameter ALP_ED_EN_LANE0 = 1'b1 ;
2146
+ parameter ALP_ED_EN_LANE1 = 1'b1 ;
2147
+ parameter ALP_ED_EN_LANE2 = 1'b1 ;
2148
+ parameter ALP_ED_EN_LANE3 = 1'b1 ;
2149
+ parameter ALP_ED_EN_LANECK = 1'b1 ;
2150
+ parameter ALP_ED_TST_LANE0 = 1'b0 ;
2151
+ parameter ALP_ED_TST_LANE1 = 1'b0 ;
2152
+ parameter ALP_ED_TST_LANE2 = 1'b0 ;
2153
+ parameter ALP_ED_TST_LANE3 = 1'b0 ;
2154
+ parameter ALP_ED_TST_LANECK = 1'b0 ;
2155
+ parameter ALP_EN_LN0 = 1'b0 ;
2156
+ parameter ALP_EN_LN1 = 1'b0 ;
2157
+ parameter ALP_EN_LN2 = 1'b0 ;
2158
+ parameter ALP_EN_LN3 = 1'b0 ;
2159
+ parameter ALP_EN_LNCK = 1'b0 ;
2160
+ parameter ALP_HYS_EN_LANE0 = 1'b1 ;
2161
+ parameter ALP_HYS_EN_LANE1 = 1'b1 ;
2162
+ parameter ALP_HYS_EN_LANE2 = 1'b1 ;
2163
+ parameter ALP_HYS_EN_LANE3 = 1'b1 ;
2164
+ parameter ALP_HYS_EN_LANECK = 1'b1 ;
2165
+ parameter ALP_TH_LANE0 = 4'b1000 ;
2166
+ parameter ALP_TH_LANE1 = 4'b1000 ;
2167
+ parameter ALP_TH_LANE2 = 4'b1000 ;
2168
+ parameter ALP_TH_LANE3 = 4'b1000 ;
2169
+ parameter ALP_TH_LANECK = 4'b1000 ;
2170
+ parameter ANA_BYTECLK_PH = 2'b00 ;
2171
+ parameter BIT_REVERSE_LN0 = 1'b0 ;
2172
+ parameter BIT_REVERSE_LN1 = 1'b0 ;
2173
+ parameter BIT_REVERSE_LN2 = 1'b0 ;
2174
+ parameter BIT_REVERSE_LN3 = 1'b0 ;
2175
+ parameter BIT_REVERSE_LNCK = 1'b0 ;
2176
+ parameter BYPASS_TXHCLKEN = 1'b1 ;
2177
+ parameter BYPASS_TXHCLKEN_SYNC = 1'b0 ;
2178
+ parameter BYTE_CLK_POLAR = 1'b0 ;
2179
+ parameter BYTE_REVERSE_LN0 = 1'b0 ;
2180
+ parameter BYTE_REVERSE_LN1 = 1'b0 ;
2181
+ parameter BYTE_REVERSE_LN2 = 1'b0 ;
2182
+ parameter BYTE_REVERSE_LN3 = 1'b0 ;
2183
+ parameter BYTE_REVERSE_LNCK = 1'b0 ;
2184
+ parameter EN_CLKB1X = 1'b1 ;
2185
+ parameter EQ_PBIAS_LANE0 = 4'b1000 ;
2186
+ parameter EQ_PBIAS_LANE1 = 4'b1000 ;
2187
+ parameter EQ_PBIAS_LANE2 = 4'b1000 ;
2188
+ parameter EQ_PBIAS_LANE3 = 4'b1000 ;
2189
+ parameter EQ_PBIAS_LANECK = 4'b1000 ;
2190
+ parameter EQ_ZLD_LANE0 = 4'b1000 ;
2191
+ parameter EQ_ZLD_LANE1 = 4'b1000 ;
2192
+ parameter EQ_ZLD_LANE2 = 4'b1000 ;
2193
+ parameter EQ_ZLD_LANE3 = 4'b1000 ;
2194
+ parameter EQ_ZLD_LANECK = 4'b1000 ;
2195
+ parameter HIGH_BW_LANE0 = 1'b1 ;
2196
+ parameter HIGH_BW_LANE1 = 1'b1 ;
2197
+ parameter HIGH_BW_LANE2 = 1'b1 ;
2198
+ parameter HIGH_BW_LANE3 = 1'b1 ;
2199
+ parameter HIGH_BW_LANECK = 1'b1 ;
2200
+ parameter HSREG_VREF_CTL = 3'b100 ;
2201
+ parameter HSREG_VREF_EN = 1'b1 ;
2202
+ parameter HSRX_DLY_CTL_CK = 7'b0000000 ;
2203
+ parameter HSRX_DLY_CTL_LANE0 = 7'b0000000 ;
2204
+ parameter HSRX_DLY_CTL_LANE1 = 7'b0000000 ;
2205
+ parameter HSRX_DLY_CTL_LANE2 = 7'b0000000 ;
2206
+ parameter HSRX_DLY_CTL_LANE3 = 7'b0000000 ;
2207
+ parameter HSRX_DLY_SEL_LANE0 = 1'b0 ;
2208
+ parameter HSRX_DLY_SEL_LANE1 = 1'b0 ;
2209
+ parameter HSRX_DLY_SEL_LANE2 = 1'b0 ;
2210
+ parameter HSRX_DLY_SEL_LANE3 = 1'b0 ;
2211
+ parameter HSRX_DLY_SEL_LANECK = 1'b0 ;
2212
+ parameter HSRX_DUTY_LANE0 = 4'b1000 ;
2213
+ parameter HSRX_DUTY_LANE1 = 4'b1000 ;
2214
+ parameter HSRX_DUTY_LANE2 = 4'b1000 ;
2215
+ parameter HSRX_DUTY_LANE3 = 4'b1000 ;
2216
+ parameter HSRX_DUTY_LANECK = 4'b1000 ;
2217
+ parameter HSRX_EQ_EN_LANE0 = 1'b1 ;
2218
+ parameter HSRX_EQ_EN_LANE1 = 1'b1 ;
2219
+ parameter HSRX_EQ_EN_LANE2 = 1'b1 ;
2220
+ parameter HSRX_EQ_EN_LANE3 = 1'b1 ;
2221
+ parameter HSRX_EQ_EN_LANECK = 1'b1 ;
2222
+ parameter HSRX_IBIAS = 4'b0011 ;
2223
+ parameter HSRX_IBIAS_TEST_EN = 1'b0 ;
2224
+ parameter HSRX_IMARG_EN = 1'b0 ;
2225
+ parameter HSRX_ODT_EN = 1'b1 ;
2226
+ parameter HSRX_ODT_TST = 4'b0000 ;
2227
+ parameter HSRX_ODT_TST_CK = 1'b0 ;
2228
+ parameter HSRX_SEL = 4'b0000 ;
2229
+ parameter HSRX_STOP_EN = 1'b0 ;
2230
+ parameter HSRX_TST = 4'b0000 ;
2231
+ parameter HSRX_TST_CK = 1'b0 ;
2232
+ parameter HSRX_WAIT4EDGE = 1'b1 ;
2233
+ parameter HYST_NCTL = 2'b01 ;
2234
+ parameter HYST_PCTL = 2'b01 ;
2235
+ parameter IBIAS_TEST_EN = 1'b0 ;
2236
+ parameter LB_CH_SEL = 1'b0 ;
2237
+ parameter LB_EN_LN0 = 1'b0 ;
2238
+ parameter LB_EN_LN1 = 1'b0 ;
2239
+ parameter LB_EN_LN2 = 1'b0 ;
2240
+ parameter LB_EN_LN3 = 1'b0 ;
2241
+ parameter LB_EN_LNCK = 1'b0 ;
2242
+ parameter LB_POLAR_LN0 = 1'b0 ;
2243
+ parameter LB_POLAR_LN1 = 1'b0 ;
2244
+ parameter LB_POLAR_LN2 = 1'b0 ;
2245
+ parameter LB_POLAR_LN3 = 1'b0 ;
2246
+ parameter LB_POLAR_LNCK = 1'b0 ;
2247
+ parameter LOW_LPRX_VTH = 1'b0 ;
2248
+ parameter LPBK_DATA2TO1 = 4'b0000;
2249
+ parameter LPBK_DATA2TO1_CK = 1'b0 ;
2250
+ parameter LPBK_EN = 1'b0 ;
2251
+ parameter LPBK_SEL = 4'b0000;
2252
+ parameter LPBKTST_EN = 4'b0000;
2253
+ parameter LPBKTST_EN_CK = 1'b0 ;
2254
+ parameter LPRX_EN = 1'b1 ;
2255
+ parameter LPRX_TST = 4'b0000;
2256
+ parameter LPRX_TST_CK = 1'b0 ;
2257
+ parameter LPTX_DAT_POLAR_LN0 = 1'b0 ;
2258
+ parameter LPTX_DAT_POLAR_LN1 = 1'b0 ;
2259
+ parameter LPTX_DAT_POLAR_LN2 = 1'b0 ;
2260
+ parameter LPTX_DAT_POLAR_LN3 = 1'b0 ;
2261
+ parameter LPTX_DAT_POLAR_LNCK = 1'b0 ;
2262
+ parameter LPTX_NIMP_LN0 = 3'b100 ;
2263
+ parameter LPTX_NIMP_LN1 = 3'b100 ;
2264
+ parameter LPTX_NIMP_LN2 = 3'b100 ;
2265
+ parameter LPTX_NIMP_LN3 = 3'b100 ;
2266
+ parameter LPTX_NIMP_LNCK = 3'b100 ;
2267
+ parameter LPTX_PIMP_LN0 = 3'b100 ;
2268
+ parameter LPTX_PIMP_LN1 = 3'b100 ;
2269
+ parameter LPTX_PIMP_LN2 = 3'b100 ;
2270
+ parameter LPTX_PIMP_LN3 = 3'b100 ;
2271
+ parameter LPTX_PIMP_LNCK = 3'b100 ;
2272
+ parameter MIPI_PMA_DIS_N = 1'b1 ;
2273
+ parameter PGA_BIAS_LANE0 = 4'b1000 ;
2274
+ parameter PGA_BIAS_LANE1 = 4'b1000 ;
2275
+ parameter PGA_BIAS_LANE2 = 4'b1000 ;
2276
+ parameter PGA_BIAS_LANE3 = 4'b1000 ;
2277
+ parameter PGA_BIAS_LANECK = 4'b1000 ;
2278
+ parameter PGA_GAIN_LANE0 = 4'b1000 ;
2279
+ parameter PGA_GAIN_LANE1 = 4'b1000 ;
2280
+ parameter PGA_GAIN_LANE2 = 4'b1000 ;
2281
+ parameter PGA_GAIN_LANE3 = 4'b1000 ;
2282
+ parameter PGA_GAIN_LANECK = 4'b1000 ;
2283
+ parameter RX_ODT_TRIM_LANE0 = 4'b1000 ;
2284
+ parameter RX_ODT_TRIM_LANE1 = 4'b1000 ;
2285
+ parameter RX_ODT_TRIM_LANE2 = 4'b1000 ;
2286
+ parameter RX_ODT_TRIM_LANE3 = 4'b1000 ;
2287
+ parameter RX_ODT_TRIM_LANECK = 4'b1000 ;
2288
+ parameter SLEWN_CTL_LN0 = 4'b1111 ;
2289
+ parameter SLEWN_CTL_LN1 = 4'b1111 ;
2290
+ parameter SLEWN_CTL_LN2 = 4'b1111 ;
2291
+ parameter SLEWN_CTL_LN3 = 4'b1111 ;
2292
+ parameter SLEWN_CTL_LNCK = 4'b1111 ;
2293
+ parameter SLEWP_CTL_LN0 = 4'b1111 ;
2294
+ parameter SLEWP_CTL_LN1 = 4'b1111 ;
2295
+ parameter SLEWP_CTL_LN2 = 4'b1111 ;
2296
+ parameter SLEWP_CTL_LN3 = 4'b1111 ;
2297
+ parameter SLEWP_CTL_LNCK = 4'b1111 ;
2298
+ parameter STP_UNIT = 2'b01 ;
2299
+ parameter TERMN_CTL_LN0 = 4'b1000 ;
2300
+ parameter TERMN_CTL_LN1 = 4'b1000 ;
2301
+ parameter TERMN_CTL_LN2 = 4'b1000 ;
2302
+ parameter TERMN_CTL_LN3 = 4'b1000 ;
2303
+ parameter TERMN_CTL_LNCK = 4'b1000 ;
2304
+ parameter TERMP_CTL_LN0 = 4'b1000 ;
2305
+ parameter TERMP_CTL_LN1 = 4'b1000 ;
2306
+ parameter TERMP_CTL_LN2 = 4'b1000 ;
2307
+ parameter TERMP_CTL_LN3 = 4'b1000 ;
2308
+ parameter TERMP_CTL_LNCK = 4'b1000 ;
2309
+ parameter TEST_EN_LN0 = 1'b0 ;
2310
+ parameter TEST_EN_LN1 = 1'b0 ;
2311
+ parameter TEST_EN_LN2 = 1'b0 ;
2312
+ parameter TEST_EN_LN3 = 1'b0 ;
2313
+ parameter TEST_EN_LNCK = 1'b0 ;
2314
+ parameter TEST_N_IMP_LN0 = 1'b0 ;
2315
+ parameter TEST_N_IMP_LN1 = 1'b0 ;
2316
+ parameter TEST_N_IMP_LN2 = 1'b0 ;
2317
+ parameter TEST_N_IMP_LN3 = 1'b0 ;
2318
+ parameter TEST_N_IMP_LNCK = 1'b0 ;
2319
+ parameter TEST_P_IMP_LN0 = 1'b0 ;
2320
+ parameter TEST_P_IMP_LN1 = 1'b0 ;
2321
+ parameter TEST_P_IMP_LN2 = 1'b0 ;
2322
+ parameter TEST_P_IMP_LN3 = 1'b0 ;
2323
+ parameter TEST_P_IMP_LNCK = 1'b0 ;
2324
+ endmodule
2325
+
2326
+ module MIPI_CPHY (...);
2327
+ output [41:0] D0LN_HSRXD, D1LN_HSRXD, D2LN_HSRXD;
2328
+ output D0LN_HSRXD_VLD, D1LN_HSRXD_VLD, D2LN_HSRXD_VLD;
2329
+ output [1:0] D0LN_HSRX_DEMAP_INVLD, D1LN_HSRX_DEMAP_INVLD, D2LN_HSRX_DEMAP_INVLD;
2330
+ output D0LN_HSRX_FIFO_RDE_ERR, D0LN_HSRX_FIFO_WRF_ERR, D1LN_HSRX_FIFO_RDE_ERR, D1LN_HSRX_FIFO_WRF_ERR, D2LN_HSRX_FIFO_RDE_ERR, D2LN_HSRX_FIFO_WRF_ERR;
2331
+ output [1:0] D0LN_HSRX_WA, D1LN_HSRX_WA, D2LN_HSRX_WA;
2332
+ output D0LN_RX_CLK_1X_O, D1LN_RX_CLK_1X_O, D2LN_RX_CLK_1X_O;
2333
+ output HSTX_FIFO_AE, HSTX_FIFO_AF;
2334
+ output HSTX_FIFO_RDE_ERR, HSTX_FIFO_WRF_ERR;
2335
+ output RX_CLK_MUXED;
2336
+ output TX_CLK_1X_O;
2337
+ output DI_LPRX0_A, DI_LPRX0_B, DI_LPRX0_C, DI_LPRX1_A, DI_LPRX1_B, DI_LPRX1_C, DI_LPRX2_A, DI_LPRX2_B, DI_LPRX2_C;
2338
+ output [7:0] MDRP_RDATA;
2339
+ inout D0A, D0B, D0C, D1A, D1B, D1C, D2A, D2B, D2C;
2340
+ input D0LN_HSRX_EN, D0LN_HSTX_EN, D1LN_HSRX_EN, D1LN_HSTX_EN, D2LN_HSRX_EN, D2LN_HSTX_EN;
2341
+ input [41:0] D0LN_HSTX_DATA,D1LN_HSTX_DATA, D2LN_HSTX_DATA;
2342
+ input D0LN_HSTX_DATA_VLD, D1LN_HSTX_DATA_VLD, D2LN_HSTX_DATA_VLD;
2343
+ input [1:0] D0LN_HSTX_MAP_DIS, D1LN_HSTX_MAP_DIS, D2LN_HSTX_MAP_DIS;
2344
+ input D0LN_RX_CLK_1X_I,D1LN_RX_CLK_1X_I, D2LN_RX_CLK_1X_I;
2345
+ input D0LN_RX_DRST_N, D0LN_TX_DRST_N, D1LN_RX_DRST_N, D1LN_TX_DRST_N, D2LN_RX_DRST_N, D2LN_TX_DRST_N;
2346
+ input HSTX_ENLN0, HSTX_ENLN1, HSTX_ENLN2, LPTX_ENLN0, LPTX_ENLN1, LPTX_ENLN2;
2347
+ input [7:0] MDRP_A_D_I;
2348
+ input MDRP_A_INC_I;
2349
+ input MDRP_CLK_I;
2350
+ input [1:0] MDRP_OPCODE_I;
2351
+ input PWRON_RX_LN0, PWRON_RX_LN1, PWRON_RX_LN2, PWRON_TX;
2352
+ input ARST_RXLN0, ARST_RXLN1, ARST_RXLN2;
2353
+ input ARSTN_TX;
2354
+ input RX_CLK_EN_LN0, RX_CLK_EN_LN1, RX_CLK_EN_LN2;
2355
+ input TX_CLK_1X_I;
2356
+ input TXDP_ENLN0, TXDP_ENLN1, TXDP_ENLN2;
2357
+ input TXHCLK_EN;
2358
+ input DO_LPTX_A_LN0, DO_LPTX_A_LN1, DO_LPTX_A_LN2, DO_LPTX_B_LN0, DO_LPTX_B_LN1, DO_LPTX_B_LN2, DO_LPTX_C_LN0, DO_LPTX_C_LN1, DO_LPTX_C_LN2;
2359
+ input GPLL_CK0,GPLL_CK90, GPLL_CK180, GPLL_CK270;
2360
+ input HSRX_EN_D0, HSRX_EN_D1, HSRX_EN_D2;
2361
+ input HSRX_ODT_EN_D0, HSRX_ODT_EN_D1, HSRX_ODT_EN_D2;
2362
+ input LPRX_EN_D0, LPRX_EN_D1, LPRX_EN_D2;
2363
+ input SPLL0_CKN, SPLL0_CKP, SPLL1_CKN, SPLL1_CKP;
2364
+ parameter TX_PLLCLK = "NONE";
2365
+ parameter D0LN_HS_TX_EN = 1'b1;
2366
+ parameter D1LN_HS_TX_EN = 1'b1;
2367
+ parameter D2LN_HS_TX_EN = 1'b1;
2368
+ parameter D0LN_HS_RX_EN = 1'b1;
2369
+ parameter D1LN_HS_RX_EN = 1'b1;
2370
+ parameter D2LN_HS_RX_EN = 1'b1;
2371
+ parameter TX_HS_21BIT_MODE = 1'b0;
2372
+ parameter RX_OUTCLK_SEL = 2'b00;
2373
+ parameter TX_W_LENDIAN = 1'b1;
2374
+ parameter CLK_SEL = 2'b00;
2375
+ parameter LNDIV_RATIO = 4'b0000;
2376
+ parameter LNDIV_EN = 1'b0;
2377
+ parameter D0LN_TX_REASGN_A = 2'b00;
2378
+ parameter D0LN_TX_REASGN_B = 2'b01;
2379
+ parameter D0LN_TX_REASGN_C = 2'b10;
2380
+ parameter D0LN_RX_HS_21BIT_MODE = 1'b0;
2381
+ parameter D0LN_RX_WA_SYNC_PAT0_EN = 1'b1;
2382
+ parameter D0LN_RX_WA_SYNC_PAT0_H = 7'b1001001;
2383
+ parameter D0LN_RX_WA_SYNC_PAT0_L = 8'b00100100;
2384
+ parameter D0LN_RX_WA_SYNC_PAT1_EN = 1'b1;
2385
+ parameter D0LN_RX_WA_SYNC_PAT1_H = 7'b0101001;
2386
+ parameter D0LN_RX_WA_SYNC_PAT1_L = 8'b00100100;
2387
+ parameter D0LN_RX_WA_SYNC_PAT2_EN = 1'b1;
2388
+ parameter D0LN_RX_WA_SYNC_PAT2_H = 7'b0011001;
2389
+ parameter D0LN_RX_WA_SYNC_PAT2_L = 8'b00100100;
2390
+ parameter D0LN_RX_WA_SYNC_PAT3_EN = 1'b0;
2391
+ parameter D0LN_RX_WA_SYNC_PAT3_H = 7'b0001001;
2392
+ parameter D0LN_RX_WA_SYNC_PAT3_L = 8'b00100100;
2393
+ parameter D0LN_RX_W_LENDIAN = 1'b1;
2394
+ parameter D0LN_RX_REASGN_A = 2'b00;
2395
+ parameter D0LN_RX_REASGN_B = 2'b01;
2396
+ parameter D0LN_RX_REASGN_C = 2'b10;
2397
+ parameter HSRX_LNSEL = 3'b111;
2398
+ parameter EQ_RS_LN0 = 3'b001;
2399
+ parameter EQ_CS_LN0 = 3'b101;
2400
+ parameter PGA_GAIN_LN0 = 4'b0110;
2401
+ parameter PGA_BIAS_LN0 = 4'b1000;
2402
+ parameter EQ_PBIAS_LN0 = 4'b0100;
2403
+ parameter EQ_ZLD_LN0 = 4'b1000;
2404
+ parameter D1LN_TX_REASGN_A = 2'b00;
2405
+ parameter D1LN_TX_REASGN_B = 2'b01;
2406
+ parameter D1LN_TX_REASGN_C = 2'b10;
2407
+ parameter D1LN_RX_HS_21BIT_MODE = 1'b0;
2408
+ parameter D1LN_RX_WA_SYNC_PAT0_EN = 1'b1;
2409
+ parameter D1LN_RX_WA_SYNC_PAT0_H = 7'b1001001;
2410
+ parameter D1LN_RX_WA_SYNC_PAT0_L = 8'b00100100;
2411
+ parameter D1LN_RX_WA_SYNC_PAT1_EN = 1'b1;
2412
+ parameter D1LN_RX_WA_SYNC_PAT1_H = 7'b0101001;
2413
+ parameter D1LN_RX_WA_SYNC_PAT1_L = 8'b00100100;
2414
+ parameter D1LN_RX_WA_SYNC_PAT2_EN = 1'b1;
2415
+ parameter D1LN_RX_WA_SYNC_PAT2_H = 7'b0011001;
2416
+ parameter D1LN_RX_WA_SYNC_PAT2_L = 8'b00100100;
2417
+ parameter D1LN_RX_WA_SYNC_PAT3_EN = 1'b0;
2418
+ parameter D1LN_RX_WA_SYNC_PAT3_H = 7'b0001001;
2419
+ parameter D1LN_RX_WA_SYNC_PAT3_L = 8'b00100100;
2420
+ parameter D1LN_RX_W_LENDIAN = 1'b1;
2421
+ parameter D1LN_RX_REASGN_A = 2'b00;
2422
+ parameter D1LN_RX_REASGN_B = 2'b01;
2423
+ parameter D1LN_RX_REASGN_C = 2'b10;
2424
+ parameter EQ_RS_LN1 = 3'b001;
2425
+ parameter EQ_CS_LN1 = 3'b101;
2426
+ parameter PGA_GAIN_LN1 = 4'b0110;
2427
+ parameter PGA_BIAS_LN1 = 4'b1000;
2428
+ parameter EQ_PBIAS_LN1 = 4'b0100;
2429
+ parameter EQ_ZLD_LN1 = 4'b1000;
2430
+ parameter D2LN_TX_REASGN_A = 2'b00;
2431
+ parameter D2LN_TX_REASGN_B = 2'b01;
2432
+ parameter D2LN_TX_REASGN_C = 2'b10;
2433
+ parameter D2LN_RX_HS_21BIT_MODE = 1'b0;
2434
+ parameter D2LN_RX_WA_SYNC_PAT0_EN = 1'b1;
2435
+ parameter D2LN_RX_WA_SYNC_PAT0_H = 7'b1001001;
2436
+ parameter D2LN_RX_WA_SYNC_PAT0_L = 8'b00100100;
2437
+ parameter D2LN_RX_WA_SYNC_PAT1_EN = 1'b1;
2438
+ parameter D2LN_RX_WA_SYNC_PAT1_H = 7'b0101001;
2439
+ parameter D2LN_RX_WA_SYNC_PAT1_L = 8'b00100100;
2440
+ parameter D2LN_RX_WA_SYNC_PAT2_EN = 1'b1;
2441
+ parameter D2LN_RX_WA_SYNC_PAT2_H = 7'b0011001;
2442
+ parameter D2LN_RX_WA_SYNC_PAT2_L = 8'b00100100;
2443
+ parameter D2LN_RX_WA_SYNC_PAT3_EN = 1'b0;
2444
+ parameter D2LN_RX_WA_SYNC_PAT3_H = 7'b0001001;
2445
+ parameter D2LN_RX_WA_SYNC_PAT3_L = 8'b00100100;
2446
+ parameter D2LN_RX_W_LENDIAN = 1'b1;
2447
+ parameter D2LN_RX_REASGN_A = 2'b00;
2448
+ parameter D2LN_RX_REASGN_B = 2'b01;
2449
+ parameter D2LN_RX_REASGN_C = 2'b10;
2450
+ parameter EQ_RS_LN2 = 3'b001;
2451
+ parameter EQ_CS_LN2 = 3'b101;
2452
+ parameter PGA_GAIN_LN2 = 4'b0110;
2453
+ parameter PGA_BIAS_LN2 = 4'b1000;
2454
+ parameter EQ_PBIAS_LN2 = 4'b0100;
2455
+ parameter EQ_ZLD_LN2 = 4'b1000;
2456
+ endmodule
2457
+
1920
2458
  module GTR12_QUAD (...);
1921
2459
  endmodule
1922
2460
 
@@ -1926,6 +2464,18 @@ endmodule
1926
2464
  module GTR12_PMAC (...);
1927
2465
  endmodule
1928
2466
 
2467
+ module GTR12_QUADA (...);
2468
+ endmodule
2469
+
2470
+ module GTR12_UPARA (...);
2471
+ endmodule
2472
+
2473
+ module GTR12_PMACA (...);
2474
+ endmodule
2475
+
2476
+ module GTR12_QUADB (...);
2477
+ endmodule
2478
+
1929
2479
  module DQS (...);
1930
2480
  input DQSIN,PCLK,FCLK,RESET;
1931
2481
  input [3:0] READ;
@@ -1941,4 +2491,3 @@ parameter RD_PNTR = 3'b000;
1941
2491
  parameter DQS_MODE = "X1";
1942
2492
  parameter HWL = "false";
1943
2493
  endmodule
1944
-
@@ -200,6 +200,10 @@ enum cxxrtl_flag {
200
200
  // node, such as inputs and dangling wires.
201
201
  CXXRTL_UNDRIVEN = 1 << 4,
202
202
 
203
+ // Generated correspond to netlist nodes that correspond to state with an internal name, that
204
+ // need to be saved, but wouldn't otherwise have a debug item generated.
205
+ CXXRTL_GENERATED = 1 << 5,
206
+
203
207
  // More object flags may be added in the future, but the existing ones will never change.
204
208
  };
205
209
 
@@ -1294,6 +1294,7 @@ struct debug_item : ::cxxrtl_object {
1294
1294
  DRIVEN_SYNC = CXXRTL_DRIVEN_SYNC,
1295
1295
  DRIVEN_COMB = CXXRTL_DRIVEN_COMB,
1296
1296
  UNDRIVEN = CXXRTL_UNDRIVEN,
1297
+ GENERATED = CXXRTL_GENERATED,
1297
1298
  };
1298
1299
 
1299
1300
  debug_item(const ::cxxrtl_object &object) : cxxrtl_object(object) {}
@@ -153,6 +153,7 @@ X(parameter)
153
153
  X(PORTID)
154
154
  X(PRIORITY)
155
155
  X(PRIORITY_MASK)
156
+ X(promoted_if)
156
157
  X(Q)
157
158
  X(R)
158
159
  X(ram_block)
@@ -184,6 +185,7 @@ X(romstyle)
184
185
  X(S)
185
186
  X(SET)
186
187
  X(SET_POLARITY)
188
+ X(single_bit_vector)
187
189
  X(SIZE)
188
190
  X(SRC)
189
191
  X(src)
@@ -14,6 +14,7 @@
14
14
 
15
15
  #include <stdexcept>
16
16
  #include <algorithm>
17
+ #include <optional>
17
18
  #include <string>
18
19
  #include <variant>
19
20
  #include <vector>
@@ -64,6 +64,23 @@ inline std::string stringf(const char *fmt, ...)
64
64
  return string;
65
65
  }
66
66
 
67
+ int readsome(std::istream &f, char *s, int n);
68
+ std::string next_token(std::string &text, const char *sep = " \t\r\n", bool long_strings = false);
69
+ std::vector<std::string> split_tokens(const std::string &text, const char *sep = " \t\r\n");
70
+ bool patmatch(const char *pattern, const char *string);
71
+ #if !defined(YOSYS_DISABLE_SPAWN)
72
+ int run_command(const std::string &command, std::function<void(const std::string&)> process_line = std::function<void(const std::string&)>());
73
+ #endif
74
+ std::string get_base_tmpdir();
75
+ std::string make_temp_file(std::string template_str = get_base_tmpdir() + "/yosys_XXXXXX");
76
+ std::string make_temp_dir(std::string template_str = get_base_tmpdir() + "/yosys_XXXXXX");
77
+ bool check_file_exists(const std::string& filename, bool is_exec = false);
78
+ bool check_directory_exists(const std::string& dirname, bool is_exec = false);
79
+ bool is_absolute_path(std::string filename);
80
+ void remove_directory(std::string dirname);
81
+ bool create_directory(const std::string& dirname);
82
+ std::string escape_filename_spaces(const std::string& filename);
83
+
67
84
  YOSYS_NAMESPACE_END
68
85
 
69
86
  #endif // YOSYS_IO_H
@@ -29,6 +29,7 @@ struct Pass
29
29
  {
30
30
  std::string pass_name, short_help;
31
31
  Pass(std::string name, std::string short_help = "** document me **");
32
+ // Prefer overriding 'Pass::on_shutdown()' if possible
32
33
  virtual ~Pass();
33
34
 
34
35
  virtual void help();
@@ -753,7 +753,26 @@ public:
753
753
 
754
754
  std::vector<RTLIL::State>& bits();
755
755
  bool as_bool() const;
756
+
757
+ // Convert the constant value to a C++ int.
758
+ // NOTE: If the constant is too wide to fit in int (32 bits) this will
759
+ // truncate any higher bits, potentially over/underflowing. Consider using
760
+ // try_as_int, as_int_saturating, or guarding behind convertible_to_int
761
+ // instead.
756
762
  int as_int(bool is_signed = false) const;
763
+
764
+ // Returns true iff the constant can be converted to an int without
765
+ // over/underflow.
766
+ bool convertible_to_int(bool is_signed = false) const;
767
+
768
+ // Returns the constant's value as an int if it can be represented without
769
+ // over/underflow, or std::nullopt otherwise.
770
+ std::optional<int> try_as_int(bool is_signed = false) const;
771
+
772
+ // Returns the constant's value as an int if it can be represented without
773
+ // over/underflow, otherwise the max/min value for int depending on the sign.
774
+ int as_int_saturating(bool is_signed = false) const;
775
+
757
776
  std::string as_string(const char* any = "-") const;
758
777
  static Const from_string(const std::string &str);
759
778
  std::vector<RTLIL::State> to_bits() const;
@@ -1130,7 +1149,27 @@ public:
1130
1149
  bool is_onehot(int *pos = nullptr) const;
1131
1150
 
1132
1151
  bool as_bool() const;
1152
+
1153
+ // Convert the SigSpec to a C++ int, assuming all bits are constant.
1154
+ // NOTE: If the value is too wide to fit in int (32 bits) this will
1155
+ // truncate any higher bits, potentially over/underflowing. Consider using
1156
+ // try_as_int, as_int_saturating, or guarding behind convertible_to_int
1157
+ // instead.
1133
1158
  int as_int(bool is_signed = false) const;
1159
+
1160
+ // Returns true iff the SigSpec is constant and can be converted to an int
1161
+ // without over/underflow.
1162
+ bool convertible_to_int(bool is_signed = false) const;
1163
+
1164
+ // Returns the SigSpec's value as an int if it is a constant and can be
1165
+ // represented without over/underflow, or std::nullopt otherwise.
1166
+ std::optional<int> try_as_int(bool is_signed = false) const;
1167
+
1168
+ // Returns an all constant SigSpec's value as an int if it can be represented
1169
+ // without over/underflow, otherwise the max/min value for int depending on
1170
+ // the sign.
1171
+ int as_int_saturating(bool is_signed = false) const;
1172
+
1134
1173
  std::string as_string() const;
1135
1174
  RTLIL::Const as_const() const;
1136
1175
  RTLIL::Wire *as_wire() const;
@@ -1182,7 +1221,7 @@ struct RTLIL::Selection
1182
1221
  bool boxes = false,
1183
1222
  // the design to select from
1184
1223
  RTLIL::Design *design = nullptr
1185
- ) :
1224
+ ) :
1186
1225
  selects_boxes(boxes), complete_selection(full && boxes), full_selection(full && !boxes), current_design(design) { }
1187
1226
 
1188
1227
  // checks if the given module exists in the current design and is a
@@ -81,6 +81,7 @@ extern std::set<std::string> yosys_input_files, yosys_output_files;
81
81
 
82
82
  // from kernel/version_*.o (cc source generated from Makefile)
83
83
  extern const char *yosys_version_str;
84
+ const char* yosys_maybe_version();
84
85
 
85
86
  // from passes/cmds/design.cc
86
87
  extern std::map<std::string, RTLIL::Design*> saved_designs;
@@ -252,28 +252,12 @@ inline void memhasher() { if (memhasher_active) memhasher_do(); }
252
252
  void yosys_banner();
253
253
  int ceil_log2(int x) YS_ATTRIBUTE(const);
254
254
 
255
- int readsome(std::istream &f, char *s, int n);
256
- std::string next_token(std::string &text, const char *sep = " \t\r\n", bool long_strings = false);
257
- std::vector<std::string> split_tokens(const std::string &text, const char *sep = " \t\r\n");
258
- bool patmatch(const char *pattern, const char *string);
259
- #if !defined(YOSYS_DISABLE_SPAWN)
260
- int run_command(const std::string &command, std::function<void(const std::string&)> process_line = std::function<void(const std::string&)>());
261
- #endif
262
- std::string get_base_tmpdir();
263
- std::string make_temp_file(std::string template_str = get_base_tmpdir() + "/yosys_XXXXXX");
264
- std::string make_temp_dir(std::string template_str = get_base_tmpdir() + "/yosys_XXXXXX");
265
- bool check_file_exists(std::string filename, bool is_exec = false);
266
- bool check_directory_exists(const std::string& dirname);
267
- bool is_absolute_path(std::string filename);
268
- void remove_directory(std::string dirname);
269
- bool create_directory(const std::string& dirname);
270
- std::string escape_filename_spaces(const std::string& filename);
271
-
272
255
  template<typename T> int GetSize(const T &obj) { return obj.size(); }
273
256
  inline int GetSize(RTLIL::Wire *wire);
274
257
 
275
258
  extern int autoidx;
276
259
  extern int yosys_xtrace;
260
+ extern bool yosys_write_versions;
277
261
 
278
262
  RTLIL::IdString new_id(std::string file, int line, std::string func);
279
263
  RTLIL::IdString new_id_suffix(std::string file, int line, std::string func, std::string suffix);
@@ -68,8 +68,8 @@ class SbyStatusDb:
68
68
 
69
69
  self.db = sqlite3.connect(path, isolation_level=None, timeout=timeout)
70
70
  self.db.row_factory = sqlite3.Row
71
- self.db.execute("PRAGMA journal_mode=WAL")
72
- self.db.execute("PRAGMA synchronous=0")
71
+ self.db.execute("PRAGMA journal_mode=WAL").fetchone()
72
+ self.db.execute("PRAGMA synchronous=0").fetchone()
73
73
 
74
74
  if setup:
75
75
  self._setup()
@@ -35,3 +35,25 @@ ram huge $__XILINX_URAM_ {
35
35
  wrbe_separate;
36
36
  }
37
37
  }
38
+
39
+ ram huge $__XILINX_URAM_SP_ {
40
+ abits 11;
41
+ width 144;
42
+ cost 1024;
43
+ option "BYTEWIDTH" 8 byte 8;
44
+ option "BYTEWIDTH" 9 byte 9;
45
+ init zero;
46
+ port srsw "A" {
47
+ clock anyedge "C";
48
+ clken;
49
+ rdwr no_change;
50
+ rdinit zero;
51
+ portoption "RST_MODE" "SYNC" {
52
+ rdsrst zero ungated;
53
+ }
54
+ portoption "RST_MODE" "ASYNC" {
55
+ rdarst zero;
56
+ }
57
+ wrbe_separate;
58
+ }
59
+ }
@@ -150,3 +150,141 @@ module $__XILINX_URAM_ (...);
150
150
  .SLEEP(1'b0)
151
151
  );
152
152
  endmodule
153
+
154
+ module $__XILINX_URAM_SP_ (...);
155
+ parameter OPTION_BYTEWIDTH = 8;
156
+ localparam WR_BE_WIDTH = 144 / OPTION_BYTEWIDTH;
157
+
158
+ parameter CLK_C_POL = 1;
159
+ parameter PORT_A_CLK_POL = 1;
160
+ parameter PORT_A_OPTION_RST_MODE = "SYNC";
161
+
162
+ input CLK_C;
163
+
164
+ input PORT_A_CLK;
165
+ input PORT_A_CLK_EN;
166
+ input PORT_A_RD_SRST;
167
+ input PORT_A_RD_ARST;
168
+ input PORT_A_WR_EN;
169
+ input [WR_BE_WIDTH-1:0] PORT_A_WR_BE;
170
+ input [10:0] PORT_A_ADDR;
171
+ input [143:0] PORT_A_WR_DATA;
172
+ output [143:0] PORT_A_RD_DATA;
173
+
174
+ wire [71:0] DIN_A, DIN_B, DOUT_A, DOUT_B;
175
+
176
+ generate
177
+ if (OPTION_BYTEWIDTH == 8) begin
178
+ assign DIN_A = PORT_A_WR_DATA[71:0];
179
+ assign DIN_B = PORT_A_WR_DATA[143:72];
180
+ assign PORT_A_RD_DATA = {DOUT_B, DOUT_A};
181
+ end else begin
182
+ assign DIN_A = {
183
+ PORT_A_WR_DATA[71],
184
+ PORT_A_WR_DATA[62],
185
+ PORT_A_WR_DATA[53],
186
+ PORT_A_WR_DATA[44],
187
+ PORT_A_WR_DATA[35],
188
+ PORT_A_WR_DATA[26],
189
+ PORT_A_WR_DATA[17],
190
+ PORT_A_WR_DATA[8],
191
+ PORT_A_WR_DATA[70:63],
192
+ PORT_A_WR_DATA[61:54],
193
+ PORT_A_WR_DATA[52:45],
194
+ PORT_A_WR_DATA[43:36],
195
+ PORT_A_WR_DATA[34:27],
196
+ PORT_A_WR_DATA[25:18],
197
+ PORT_A_WR_DATA[16:9],
198
+ PORT_A_WR_DATA[7:0]
199
+ };
200
+ assign DIN_B = {
201
+ PORT_A_WR_DATA[72+71],
202
+ PORT_A_WR_DATA[72+62],
203
+ PORT_A_WR_DATA[72+53],
204
+ PORT_A_WR_DATA[72+44],
205
+ PORT_A_WR_DATA[72+35],
206
+ PORT_A_WR_DATA[72+26],
207
+ PORT_A_WR_DATA[72+17],
208
+ PORT_A_WR_DATA[72+8],
209
+ PORT_A_WR_DATA[72+70:72+63],
210
+ PORT_A_WR_DATA[72+61:72+54],
211
+ PORT_A_WR_DATA[72+52:72+45],
212
+ PORT_A_WR_DATA[72+43:72+36],
213
+ PORT_A_WR_DATA[72+34:72+27],
214
+ PORT_A_WR_DATA[72+25:72+18],
215
+ PORT_A_WR_DATA[72+16:72+ 9],
216
+ PORT_A_WR_DATA[72+ 7:72+ 0]
217
+ };
218
+ assign PORT_A_RD_DATA = {
219
+ DOUT_B[71],
220
+ DOUT_B[63:56],
221
+ DOUT_B[70],
222
+ DOUT_B[55:48],
223
+ DOUT_B[69],
224
+ DOUT_B[47:40],
225
+ DOUT_B[68],
226
+ DOUT_B[39:32],
227
+ DOUT_B[67],
228
+ DOUT_B[31:24],
229
+ DOUT_B[66],
230
+ DOUT_B[23:16],
231
+ DOUT_B[65],
232
+ DOUT_B[15:8],
233
+ DOUT_B[64],
234
+ DOUT_B[7:0],
235
+ DOUT_A[71],
236
+ DOUT_A[63:56],
237
+ DOUT_A[70],
238
+ DOUT_A[55:48],
239
+ DOUT_A[69],
240
+ DOUT_A[47:40],
241
+ DOUT_A[68],
242
+ DOUT_A[39:32],
243
+ DOUT_A[67],
244
+ DOUT_A[31:24],
245
+ DOUT_A[66],
246
+ DOUT_A[23:16],
247
+ DOUT_A[65],
248
+ DOUT_A[15:8],
249
+ DOUT_A[64],
250
+ DOUT_A[7:0]
251
+ };
252
+ end
253
+ endgenerate
254
+
255
+ URAM288 #(
256
+ .BWE_MODE_A(OPTION_BYTEWIDTH == 8 ? "PARITY_INDEPENDENT" : "PARITY_INTERLEAVED"),
257
+ .BWE_MODE_B(OPTION_BYTEWIDTH == 8 ? "PARITY_INDEPENDENT" : "PARITY_INTERLEAVED"),
258
+ .EN_AUTO_SLEEP_MODE("FALSE"),
259
+ .IREG_PRE_A("FALSE"),
260
+ .IREG_PRE_B("FALSE"),
261
+ .IS_CLK_INVERTED(!CLK_C_POL),
262
+ .OREG_A("FALSE"),
263
+ .OREG_B("FALSE"),
264
+ .RST_MODE_A(PORT_A_OPTION_RST_MODE),
265
+ .RST_MODE_B(PORT_A_OPTION_RST_MODE),
266
+ ) _TECHMAP_REPLACE_ (
267
+ .ADDR_A({11'b0, PORT_A_ADDR, 1'b0}),
268
+ .BWE_A(PORT_A_WR_BE[WR_BE_WIDTH/2-1:0]),
269
+ .EN_A(PORT_A_CLK_EN),
270
+ .RDB_WR_A(PORT_A_WR_EN),
271
+ .INJECT_DBITERR_A(1'b0),
272
+ .INJECT_SBITERR_A(1'b0),
273
+ .RST_A(PORT_A_OPTION_RST_MODE == "SYNC" ? PORT_A_RD_SRST : PORT_A_RD_ARST),
274
+ .DIN_A(DIN_A),
275
+ .DOUT_A(DOUT_A),
276
+
277
+ .ADDR_B({11'b0, PORT_A_ADDR, 1'b1}),
278
+ .BWE_B(PORT_A_WR_BE[WR_BE_WIDTH-1:WR_BE_WIDTH/2]),
279
+ .EN_B(PORT_A_CLK_EN),
280
+ .RDB_WR_B(PORT_A_WR_EN),
281
+ .INJECT_DBITERR_B(1'b0),
282
+ .INJECT_SBITERR_B(1'b0),
283
+ .RST_B(PORT_A_OPTION_RST_MODE == "SYNC" ? PORT_A_RD_SRST : PORT_A_RD_ARST),
284
+ .DIN_B(DIN_B),
285
+ .DOUT_B(DOUT_B),
286
+
287
+ .CLK(CLK_C),
288
+ .SLEEP(1'b0)
289
+ );
290
+ endmodule
yowasp_yosys/yosys.wasm CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yowasp-yosys
3
- Version: 0.53.0.0.post912
3
+ Version: 0.55.0.0.post944
4
4
  Summary: Yosys Open SYnthesis Suite
5
5
  Author-email: Catherine <whitequark@whitequark.org>
6
6
  License-Expression: ISC
@@ -2,7 +2,7 @@ yowasp_yosys/__init__.py,sha256=x--xPTzLWZNoX6H0B2E3a1HMZMk3di10gVnWVLJ92xc,1325
2
2
  yowasp_yosys/sby.py,sha256=at4UB7rmju4xhmFP6b31T7duU2Hx5aSOgGUiExKz7Xc,18496
3
3
  yowasp_yosys/smtbmc.py,sha256=yiI93tHys5c8aXfCdk2dNtw2mwukRXqeT8YGx5Th8eg,74231
4
4
  yowasp_yosys/witness.py,sha256=m3iV2Nydm0p4G79VRaaX3lGul-nGnuxeKnx20MCJgi0,17279
5
- yowasp_yosys/yosys.wasm,sha256=kJpC9cgE7pspygVw_FWEGdtV301egX_bAtvYCMvaL60,30800114
5
+ yowasp_yosys/yosys.wasm,sha256=ZRlaPsw7y5wf-yOoaeC5oonVdRP2q7ZjKzJUKIEYdUk,30830300
6
6
  yowasp_yosys/share/abc9_map.v,sha256=uWDqMpBQTeeadH1BlHVwkCy2StKF892xbgBgMKLK5-w,923
7
7
  yowasp_yosys/share/abc9_model.v,sha256=IfMyEGOEUBdZyiVule0wMhrVYVYQpmSIcxygbgtHItI,653
8
8
  yowasp_yosys/share/abc9_unmap.v,sha256=w107Y3iJjMU6D_6_aYLf2NziXTnAhpa5_CFAwaYO1iU,638
@@ -67,7 +67,7 @@ yowasp_yosys/share/gatemate/arith_map.v,sha256=U8Lz8wj0WpUh9YP89MVQfkgYcw4xYE0XW
67
67
  yowasp_yosys/share/gatemate/brams.txt,sha256=mtysGrMGltlSw98eOHSSrN38xzQmkxVbfgTivQrZ5qk,1210
68
68
  yowasp_yosys/share/gatemate/brams_init_20.vh,sha256=PKYSRZOL_i6Fmjy1dB-lF0eSlV8BFLjGvDqrw6zhLpw,4480
69
69
  yowasp_yosys/share/gatemate/brams_init_40.vh,sha256=yK50gQK1Kc59RxbbV9xjeWohhInkyZ3g6N5WmtpqMug,17970
70
- yowasp_yosys/share/gatemate/brams_map.v,sha256=dUtJmsUqxezzJfuFeJq8xxCC_MeVlECYagxsXhGEJHA,29326
70
+ yowasp_yosys/share/gatemate/brams_map.v,sha256=dZlYuJQUzZ6bBNx41Lwyg3pvhDqMeAO7fqR0LACP1XM,29978
71
71
  yowasp_yosys/share/gatemate/cells_bb.v,sha256=cc9cOL12VXqvKf6JV4r3XD2dSx4O_2Q8L0yWMlTog3A,11964
72
72
  yowasp_yosys/share/gatemate/cells_sim.v,sha256=WRAD7MrD6K_aNQE8AM4yCldphCksCImFKnguMLj9bd4,65936
73
73
  yowasp_yosys/share/gatemate/inv_map.v,sha256=UpmZftbrZGv7K8od1rjId099dTuqQyaP7z4z-V3hQgI,180
@@ -84,7 +84,7 @@ yowasp_yosys/share/gowin/cells_map.v,sha256=Zmq2VlZOFBHhUN65j3DOWdgKpKBMoSTiqgYB
84
84
  yowasp_yosys/share/gowin/cells_sim.v,sha256=bsBmaeVUgBxZdvrI1E0hw9hJSdbrf6lO5UIk-UwXiSc,47486
85
85
  yowasp_yosys/share/gowin/cells_xtra_gw1n.v,sha256=vu8hc6n0qtQks9tIbdmPLy9GclaElg44VxJLcv4kHcg,63302
86
86
  yowasp_yosys/share/gowin/cells_xtra_gw2a.v,sha256=MLcDrVMnxzL7oyybb6i9-0L-35i2vtmG7kfRG6nQiRg,63048
87
- yowasp_yosys/share/gowin/cells_xtra_gw5a.v,sha256=OZ8f-kKe2mSXC8f0Fy57h2MG5O4UH-7UMtLEF9lgBGs,96450
87
+ yowasp_yosys/share/gowin/cells_xtra_gw5a.v,sha256=qPT8WMcF0ypIKpet84Om0x_qgcjK7ty9uclG19Ah2d0,123052
88
88
  yowasp_yosys/share/gowin/lutrams.txt,sha256=ib7Q_pLoKeD3PDdKtqZ3VjVSrHpYpScFHsZPE9lCpiI,160
89
89
  yowasp_yosys/share/gowin/lutrams_map.v,sha256=UfbLt-u17rTnpWW-_LPadPN702eL6bRADjaUKJgW9eY,1122
90
90
  yowasp_yosys/share/greenpak4/cells_blackbox.v,sha256=cjWerikdsGdIxw12UrNZMCRLXDcciOgdFvYyiYi2BQA,365
@@ -106,12 +106,12 @@ yowasp_yosys/share/ice40/ff_map.v,sha256=0ikq-i1_UVT6xuFLMj2Zfilwu6wz8oibMdtPegZ
106
106
  yowasp_yosys/share/ice40/latches_map.v,sha256=V5NwBaIML68eOlhDaUJUs8W-ggRePjPsDtUn3mnSpao,258
107
107
  yowasp_yosys/share/ice40/spram.txt,sha256=dCRV0flfJunvnvKV0Q5Kq5NBrhh_PkZGXvUt675aiIk,153
108
108
  yowasp_yosys/share/ice40/spram_map.v,sha256=O8fRkVuH1dgAXEAtYJgh8wTHnZEK75fPAMBI-PgYVqs,475
109
- yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl.h,sha256=MN2K_SZTGGeq0yQjcR2rd6XQvEL8ewc7GDymzZUg7zY,72493
109
+ yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl.h,sha256=8ngxTSDlfd24wEl05RP_K_9BflHxxATY-oZMfNaQO5E,72525
110
110
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_replay.h,sha256=3bFAy3nYtaH4MsLI9Kvf88K6BYOkML8plDMxmPtPdss,30008
111
111
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_time.h,sha256=6zIxuXG7bXy5UWe7WuA_KQHiwV7VWvcsNecwOPAL_bU,6174
112
112
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/cxxrtl_vcd.h,sha256=L4VOOx7c9rGkxTFi8VjhhNGEbuzxf_j6P5D0_0n0WjA,8637
113
113
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/capi/cxxrtl_capi.cc,sha256=4WH8B0B7Y7GY43BXZX0-6PGFPYcbOcavJseI0wM_VJQ,4559
114
- yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/capi/cxxrtl_capi.h,sha256=s77MXq7sjTeHcPDO9UALsqbnbqe59dfbnmNJCm4iWpc,16521
114
+ yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/capi/cxxrtl_capi.h,sha256=LlNWnjmxKqUHJeaJOaXT9OMAYq-G0GLgVzQvsYkCb_U,16719
115
115
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/capi/cxxrtl_capi_vcd.cc,sha256=5A6IK46tg8BWgs_vzS183p9HMZfWP7FZfJzCjnB3vW8,2815
116
116
  yowasp_yosys/share/include/backends/cxxrtl/runtime/cxxrtl/capi/cxxrtl_capi_vcd.h,sha256=P6KBEs-76IK4LwKBhXbju9nwkH3rmmqUm4uSuiaS88M,4286
117
117
  yowasp_yosys/share/include/backends/rtlil/rtlil_backend.h,sha256=h-kkdWtAosSZDzvAW511jAHao-dDUm3fyTJhfMXsZDk,2407
@@ -124,7 +124,7 @@ yowasp_yosys/share/include/kernel/cellaigs.h,sha256=CdYos67IpmAgLvBbJ8EC3hWg6WhB
124
124
  yowasp_yosys/share/include/kernel/celledges.h,sha256=fF_sHJOpN_qQ1P0x8KKoJE9ulDMusfjkF0dBpTMs19E,2216
125
125
  yowasp_yosys/share/include/kernel/celltypes.h,sha256=W44T0u789-fy_tj7fGRTNI7s1jshewrPwmS3_-Oz6-A,18561
126
126
  yowasp_yosys/share/include/kernel/consteval.h,sha256=oEPSKbbgqvNmlLqYFSozZX2cjFQA5IM-d69HmyuZiGo,10864
127
- yowasp_yosys/share/include/kernel/constids.inc,sha256=s4Qb8C2nWUhIXU8txrBzWQia3u2OJ_E6ehifcpPBkYI,3694
127
+ yowasp_yosys/share/include/kernel/constids.inc,sha256=9a-cTYvGkDQr4W1WJpK9PfzvaoiMKhz_MV2mkbBQnbY,3730
128
128
  yowasp_yosys/share/include/kernel/cost.h,sha256=TRW3KGPVLv5MxAmNbSh1mnzwTc-QHvZXSh9Wfc6mw3U,2921
129
129
  yowasp_yosys/share/include/kernel/drivertools.h,sha256=jHGOmnyVCjfvUvoBfQvD9O-Tu6pfs4WVbPbQZv1Mhd4,33537
130
130
  yowasp_yosys/share/include/kernel/ff.h,sha256=vVJqxmyfJ1z9qnnUA3CAoX5NavU33_J4U1Sd7TgPp5M,7631
@@ -132,24 +132,24 @@ yowasp_yosys/share/include/kernel/ffinit.h,sha256=2JWt6YDjYYBtmQYzR68Apnq6S6y2gC
132
132
  yowasp_yosys/share/include/kernel/ffmerge.h,sha256=I3mXyytzRyP92T9XhSQTlv7EN2G31nJhspBxlLYiMEY,6305
133
133
  yowasp_yosys/share/include/kernel/fmt.h,sha256=0UT-aDVX7_KnzlaNyK3iMsSzoICa4Q0HhqsFIrwHBMw,2790
134
134
  yowasp_yosys/share/include/kernel/gzip.h,sha256=wpAZ9hA13HEpWgZnth46JHvVLSA_qdS-JZB5gh83-QA,1847
135
- yowasp_yosys/share/include/kernel/hashlib.h,sha256=3skguI0eCyzEfFoWmsxnjKzWd8pQV1fBZGaWaatOiec,35699
136
- yowasp_yosys/share/include/kernel/io.h,sha256=qfiLTmDMVPV0BuDgIH5BARxW0FhnB1h7BfUQPw_2SVE,1281
135
+ yowasp_yosys/share/include/kernel/hashlib.h,sha256=LgN2dYAg8r0YZnOd1r8DFI0qy7nyWO--SMghZaD7P9k,35719
136
+ yowasp_yosys/share/include/kernel/io.h,sha256=MoZ3Ta6cOu8eOvdzWh8XOaII994hrWKtRsWfXs9LvGQ,2334
137
137
  yowasp_yosys/share/include/kernel/json.h,sha256=tE3AgUslbZd5TRFEipj0HptYjWgNfMjzV44l3A5zAu8,2851
138
138
  yowasp_yosys/share/include/kernel/log.h,sha256=NZNJPBf-F_sISwfmJ_GQPm1Z9UzUCYQD6jHiWnsVorY,15380
139
139
  yowasp_yosys/share/include/kernel/macc.h,sha256=LHm507daCT57lGCNNwia1LJVk3pkBB5ZteCZihxD5Qw,8926
140
140
  yowasp_yosys/share/include/kernel/mem.h,sha256=xKz0HxXap_PTdzpK-NUcbxybF3YisRc2JoCv17TXOc4,15505
141
141
  yowasp_yosys/share/include/kernel/modtools.h,sha256=mRnzc5TIsdIbHlFSTk2Yc0y85ttknhK-dAlti3neSI8,14388
142
142
  yowasp_yosys/share/include/kernel/qcsat.h,sha256=ibhpJRu0youjDXPllXrDJi851VpwW1kbJ_y94_X6JhU,2804
143
- yowasp_yosys/share/include/kernel/register.h,sha256=2xAbUndqoXwACqtqowqmfmRQQFlwEpV82wy2ejSGwUY,5482
144
- yowasp_yosys/share/include/kernel/rtlil.h,sha256=Ycfn-zWd66LZ6Kzcb0rtFiU7jBiO_CnLxPi93pKfwdE,97702
143
+ yowasp_yosys/share/include/kernel/register.h,sha256=bxyRq3lNK2UUU_QCLaDMC2aw4pgiAi9Ll7WgqRQxPoU,5538
144
+ yowasp_yosys/share/include/kernel/rtlil.h,sha256=4kP9hgPjbPFLy9kH9JdmOEbp6E1OI5Nn5P-eK0rc8pw,99416
145
145
  yowasp_yosys/share/include/kernel/satgen.h,sha256=zx8LptIgds0Z9sxXx6HGxNNYuk05dHqQZy1aXFWEXC0,10483
146
146
  yowasp_yosys/share/include/kernel/scopeinfo.h,sha256=EAU3vSTIwH1RrbSC7HVoTWh4SLfHMSIoidQPvT1Mo7g,11797
147
147
  yowasp_yosys/share/include/kernel/sexpr.h,sha256=CUDKFehVoGmakYBYLpEKUtlM0Dd3oI6TNW_cKz-qe0g,4720
148
148
  yowasp_yosys/share/include/kernel/sigtools.h,sha256=Tb1hUOLJD-AV4ojLVcjx0Dc00QSy6nGJyTwNMa4eqw0,8074
149
149
  yowasp_yosys/share/include/kernel/timinginfo.h,sha256=JNRktUWp7ow_wn4P5BxlOkv7hNS7qKbws7Gjs6VSUx8,7367
150
150
  yowasp_yosys/share/include/kernel/utils.h,sha256=5bJFi7SNf18SL7icrEQEDDYnqT9TrjBMlPZGHbinFK8,7315
151
- yowasp_yosys/share/include/kernel/yosys.h,sha256=YssZ71BZWOrqlbBQ2Q9FYx_-6ymrrfPMaAqYTRu6txc,3403
152
- yowasp_yosys/share/include/kernel/yosys_common.h,sha256=_e0g26tlgiqrS7PSDIlXp4O9ZUcGLusvAblcuroZ3GE,8974
151
+ yowasp_yosys/share/include/kernel/yosys.h,sha256=bx9lTnEhsorxUoLhz2hu0__pSvVAyrthvGjoqaOL6oQ,3438
152
+ yowasp_yosys/share/include/kernel/yosys_common.h,sha256=FqpXyvmiEqcVXbN_i57revYawuMotULASnlOUGgWa0Y,7984
153
153
  yowasp_yosys/share/include/kernel/yw.h,sha256=Gr5zqBNUSKXOKhdw7tl9-KcCiZg3xFcK9Msj7LMawdI,5470
154
154
  yowasp_yosys/share/include/libs/ezsat/ezminisat.h,sha256=bSrDL6VRinpXdULoR8P9lQaT1Dy4kAEZfTcKjRKOdjg,2098
155
155
  yowasp_yosys/share/include/libs/ezsat/ezsat.h,sha256=eggeGwS9pFyxSYGT0RtOqX189pbXFAKDfPZzIYTmqIk,14523
@@ -272,7 +272,7 @@ yowasp_yosys/share/python3/sby_mode_cover.py,sha256=JHt1NDaocK-j0kkGuJf4om47mMJx
272
272
  yowasp_yosys/share/python3/sby_mode_live.py,sha256=jpINzeD4tEZDhsVORbfg3tIXZbA5z-bGr-L2HHi83K0,1491
273
273
  yowasp_yosys/share/python3/sby_mode_prove.py,sha256=igQAoaxEfO6SSXNm8PeIYV1qWLC9os96V1m7FHAJVKo,1941
274
274
  yowasp_yosys/share/python3/sby_sim.py,sha256=HWSLhMOv1RrNXVrmgsibBTf3lHUHUNaAhfnBF2Wx9Bc,4403
275
- yowasp_yosys/share/python3/sby_status.py,sha256=g__ivZ0bHmqrJLG_zx0LcFOe3E5O5yV34HhG9uvZo4Q,10946
275
+ yowasp_yosys/share/python3/sby_status.py,sha256=KTHT5OdQ64f2NWOWo2tGT7tjn3I7i27d_OrFqgRW-lI,10968
276
276
  yowasp_yosys/share/python3/smtio.py,sha256=iaKRFczPE2ml5MpEpvJPcKY9KF_bwyUDuYtOh8v0VGo,48785
277
277
  yowasp_yosys/share/python3/ywio.py,sha256=F3V-lAn7GNAlDh8oO3VtLJbQd3LwJZyrq3qjZVW_A_4,12442
278
278
  yowasp_yosys/share/quicklogic/common/cells_sim.v,sha256=XjVURrz_kgf2n32Mq9KKUXAbmKJsazqS87PiznC75Ew,366
@@ -326,8 +326,8 @@ yowasp_yosys/share/xilinx/lutrams_xcu.txt,sha256=gKp15nl9HxZ8zeT0MyKwn1KKx2YTO7i
326
326
  yowasp_yosys/share/xilinx/lutrams_xcv.txt,sha256=sfG2qwrRHiFUMAA3JeASE0O_O8SQpxxP75BuQFEXs4c,797
327
327
  yowasp_yosys/share/xilinx/lutrams_xcv_map.v,sha256=0l0HfZWulWO0SwehX_NlOh8WU5zkli2yQ8ycR8ud-qg,3209
328
328
  yowasp_yosys/share/xilinx/mux_map.v,sha256=HxnY4T58qJMVEzkyIJDmmVxuB3wO9qpMm-vQgfaB_aY,2498
329
- yowasp_yosys/share/xilinx/urams.txt,sha256=R61kLYJgzve7rAgu0WWXvg84Q3pGjSE1RNcDGaKHgxQ,617
330
- yowasp_yosys/share/xilinx/urams_map.v,sha256=33-6b2_76ythf8ytBNUA25PtGR7rZtaFFb4kLHaIgLM,3552
329
+ yowasp_yosys/share/xilinx/urams.txt,sha256=mhw-IbAw4ahqUbGDYY97D1udmNdDH9h8VnMw4zvgWC4,972
330
+ yowasp_yosys/share/xilinx/urams_map.v,sha256=KJC143s0dvLgyMYQ1Wg2yK-11R9Zz3WFIzSZKp0HUFo,6890
331
331
  yowasp_yosys/share/xilinx/xc3s_mult_map.v,sha256=t21-0gcNlN6zIdMi1SdRThV7zySFp34GzFsGlJVsOWo,266
332
332
  yowasp_yosys/share/xilinx/xc3sda_dsp_map.v,sha256=IgMaSZ6Szy-QCcV97qfTjEGDJMEgradPCg6vIH8JYTg,560
333
333
  yowasp_yosys/share/xilinx/xc4v_dsp_map.v,sha256=7WiKJMJmY4SGhKjbf_Uf6u1lY_dvjmttQVVC5qP-H1Q,661
@@ -335,8 +335,8 @@ yowasp_yosys/share/xilinx/xc5v_dsp_map.v,sha256=I4lg0RQ54fBBba_7NNvUgwS4tQ1yLIsU
335
335
  yowasp_yosys/share/xilinx/xc6s_dsp_map.v,sha256=gTxHocB-Dn5G4BplWgri_tLhT6DIO2S0X-yu4iBKYyk,562
336
336
  yowasp_yosys/share/xilinx/xc7_dsp_map.v,sha256=zrzreQi7mElrAMtrayxtiO_Bw00S6zsjSjSVcjmJPH0,884
337
337
  yowasp_yosys/share/xilinx/xcu_dsp_map.v,sha256=gzCgl1emrHGcigVmU0nP0pW7dlhQ01SaWwXzHHcqt-o,882
338
- yowasp_yosys-0.53.0.0.post912.dist-info/METADATA,sha256=onz8gMX7UBRxs5U4tHUGbFenBTL_o3vHKtXmzVhpNeE,2558
339
- yowasp_yosys-0.53.0.0.post912.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
340
- yowasp_yosys-0.53.0.0.post912.dist-info/entry_points.txt,sha256=p_9sIVi2ZqsqgYYo14PywYkwHYTa76fMEq3LxweXJpc,220
341
- yowasp_yosys-0.53.0.0.post912.dist-info/top_level.txt,sha256=_yiNT8kLYkcD1TEuUCzQ_MkON1c3xuIRV59zXds4zd4,13
342
- yowasp_yosys-0.53.0.0.post912.dist-info/RECORD,,
338
+ yowasp_yosys-0.55.0.0.post944.dist-info/METADATA,sha256=vpXCdcAEJpwcrk6iBiNI2XpJCsY_TZ2JnLr_duMVQ-A,2558
339
+ yowasp_yosys-0.55.0.0.post944.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
340
+ yowasp_yosys-0.55.0.0.post944.dist-info/entry_points.txt,sha256=p_9sIVi2ZqsqgYYo14PywYkwHYTa76fMEq3LxweXJpc,220
341
+ yowasp_yosys-0.55.0.0.post944.dist-info/top_level.txt,sha256=_yiNT8kLYkcD1TEuUCzQ_MkON1c3xuIRV59zXds4zd4,13
342
+ yowasp_yosys-0.55.0.0.post944.dist-info/RECORD,,