yowasp-yosys 0.50.0.0.post858__py3-none-any.whl → 0.52.0.0.post894__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 (28) hide show
  1. yowasp_yosys/share/gatemate/cells_bb.v +219 -12
  2. yowasp_yosys/share/gowin/cells_sim.v +1 -1
  3. yowasp_yosys/share/gowin/cells_xtra_gw1n.v +0 -721
  4. yowasp_yosys/share/gowin/cells_xtra_gw2a.v +0 -561
  5. yowasp_yosys/share/gowin/cells_xtra_gw5a.v +28 -764
  6. yowasp_yosys/share/include/kernel/celltypes.h +1 -0
  7. yowasp_yosys/share/include/kernel/consteval.h +1 -1
  8. yowasp_yosys/share/include/kernel/constids.inc +8 -0
  9. yowasp_yosys/share/include/kernel/gzip.h +78 -0
  10. yowasp_yosys/share/include/kernel/io.h +69 -0
  11. yowasp_yosys/share/include/kernel/macc.h +112 -36
  12. yowasp_yosys/share/include/kernel/rtlil.h +15 -0
  13. yowasp_yosys/share/include/kernel/utils.h +14 -0
  14. yowasp_yosys/share/include/kernel/yosys_common.h +7 -57
  15. yowasp_yosys/share/intel/common/brams_map_m9k.v +4 -4
  16. yowasp_yosys/share/intel/max10/cells_sim.v +54 -1
  17. yowasp_yosys/share/python3/sby_cmdline.py +2 -0
  18. yowasp_yosys/share/python3/sby_core.py +1 -0
  19. yowasp_yosys/share/python3/sby_engine_aiger.py +10 -1
  20. yowasp_yosys/share/simlib.v +116 -2
  21. yowasp_yosys/share/techmap.v +2 -2
  22. yowasp_yosys/share/xilinx/cells_map.v +4 -1
  23. yowasp_yosys/yosys.wasm +0 -0
  24. {yowasp_yosys-0.50.0.0.post858.dist-info → yowasp_yosys-0.52.0.0.post894.dist-info}/METADATA +4 -5
  25. {yowasp_yosys-0.50.0.0.post858.dist-info → yowasp_yosys-0.52.0.0.post894.dist-info}/RECORD +28 -26
  26. {yowasp_yosys-0.50.0.0.post858.dist-info → yowasp_yosys-0.52.0.0.post894.dist-info}/WHEEL +1 -1
  27. {yowasp_yosys-0.50.0.0.post858.dist-info → yowasp_yosys-0.52.0.0.post894.dist-info}/entry_points.txt +0 -0
  28. {yowasp_yosys-0.50.0.0.post858.dist-info → yowasp_yosys-0.52.0.0.post894.dist-info}/top_level.txt +0 -0
@@ -50,14 +50,221 @@ endmodule
50
50
 
51
51
  (* blackbox *) (* keep *)
52
52
  module CC_SERDES #(
53
- parameter SERDES_CFG = ""
53
+ parameter [4:0] RX_BUF_RESET_TIME = 3,
54
+ parameter [4:0] RX_PCS_RESET_TIME = 3,
55
+ parameter [4:0] RX_RESET_TIMER_PRESC = 0,
56
+ parameter [0:0] RX_RESET_DONE_GATE = 0,
57
+ parameter [4:0] RX_CDR_RESET_TIME = 3,
58
+ parameter [4:0] RX_EQA_RESET_TIME = 3,
59
+ parameter [4:0] RX_PMA_RESET_TIME = 3,
60
+ parameter [0:0] RX_WAIT_CDR_LOCK = 1,
61
+ parameter [0:0] RX_CALIB_EN = 0,
62
+ parameter [0:0] RX_CALIB_OVR = 0,
63
+ parameter [3:0] RX_CALIB_VAL = 0,
64
+ parameter [2:0] RX_RTERM_VCMSEL = 4,
65
+ parameter [0:0] RX_RTERM_PD = 0,
66
+ parameter [7:0] RX_EQA_CKP_LF = 8'hA3,
67
+ parameter [7:0] RX_EQA_CKP_HF = 8'hA3,
68
+ parameter [7:0] RX_EQA_CKP_OFFSET = 8'h01,
69
+ parameter [0:0] RX_EN_EQA = 0,
70
+ parameter [3:0] RX_EQA_LOCK_CFG = 0,
71
+ parameter [4:0] RX_TH_MON1 = 8,
72
+ parameter [3:0] RX_EN_EQA_EXT_VALUE = 0,
73
+ parameter [4:0] RX_TH_MON2 = 8,
74
+ parameter [4:0] RX_TAPW = 8,
75
+ parameter [4:0] RX_AFE_OFFSET = 8,
76
+ parameter [15:0] RX_EQA_CONFIG = 16'h01C0,
77
+ parameter [4:0] RX_AFE_PEAK = 16,
78
+ parameter [3:0] RX_AFE_GAIN = 8,
79
+ parameter [2:0] RX_AFE_VCMSEL = 4,
80
+ parameter [7:0] RX_CDR_CKP = 8'hF8,
81
+ parameter [7:0] RX_CDR_CKI = 0,
82
+ parameter [8:0] RX_CDR_TRANS_TH = 128,
83
+ parameter [5:0] RX_CDR_LOCK_CFG = 8'h0B,
84
+ parameter [14:0] RX_CDR_FREQ_ACC = 0,
85
+ parameter [15:0] RX_CDR_PHASE_ACC = 0,
86
+ parameter [1:0] RX_CDR_SET_ACC_CONFIG = 0,
87
+ parameter [0:0] RX_CDR_FORCE_LOCK = 0,
88
+ parameter [9:0] RX_ALIGN_MCOMMA_VALUE = 10'h283,
89
+ parameter [0:0] RX_MCOMMA_ALIGN_OVR = 0,
90
+ parameter [0:0] RX_MCOMMA_ALIGN = 0,
91
+ parameter [9:0] RX_ALIGN_PCOMMA_VALUE = 10'h17C,
92
+ parameter [0:0] RX_PCOMMA_ALIGN_OVR = 0,
93
+ parameter [0:0] RX_PCOMMA_ALIGN = 0,
94
+ parameter [1:0] RX_ALIGN_COMMA_WORD = 0,
95
+ parameter [9:0] RX_ALIGN_COMMA_ENABLE = 10'h3FF,
96
+ parameter [1:0] RX_SLIDE_MODE = 0,
97
+ parameter [0:0] RX_COMMA_DETECT_EN_OVR = 0,
98
+ parameter [0:0] RX_COMMA_DETECT_EN = 0,
99
+ parameter [1:0] RX_SLIDE = 0,
100
+ parameter [0:0] RX_EYE_MEAS_EN = 0,
101
+ parameter [14:0] RX_EYE_MEAS_CFG = 0,
102
+ parameter [5:0] RX_MON_PH_OFFSET = 0,
103
+ parameter [3:0] RX_EI_BIAS = 0,
104
+ parameter [3:0] RX_EI_BW_SEL = 4,
105
+ parameter [0:0] RX_EN_EI_DETECTOR_OVR = 0,
106
+ parameter [0:0] RX_EN_EI_DETECTOR = 0,
107
+ parameter [0:0] RX_DATA_SEL = 0,
108
+ parameter [0:0] RX_BUF_BYPASS = 0,
109
+ parameter [0:0] RX_CLKCOR_USE = 0,
110
+ parameter [5:0] RX_CLKCOR_MIN_LAT = 32,
111
+ parameter [5:0] RX_CLKCOR_MAX_LAT = 39,
112
+ parameter [9:0] RX_CLKCOR_SEQ_1_0 = 10'h1F7,
113
+ parameter [9:0] RX_CLKCOR_SEQ_1_1 = 10'h1F7,
114
+ parameter [9:0] RX_CLKCOR_SEQ_1_2 = 10'h1F7,
115
+ parameter [9:0] RX_CLKCOR_SEQ_1_3 = 10'h1F7,
116
+ parameter [0:0] RX_PMA_LOOPBACK = 0,
117
+ parameter [0:0] RX_PCS_LOOPBACK = 0,
118
+ parameter [1:0] RX_DATAPATH_SEL = 3,
119
+ parameter [0:0] RX_PRBS_OVR = 0,
120
+ parameter [2:0] RX_PRBS_SEL = 0,
121
+ parameter [0:0] RX_LOOPBACK_OVR = 0,
122
+ parameter [0:0] RX_PRBS_CNT_RESET = 0,
123
+ parameter [0:0] RX_POWER_DOWN_OVR = 0,
124
+ parameter [0:0] RX_POWER_DOWN_N = 0,
125
+ parameter [0:0] RX_RESET_OVR = 0,
126
+ parameter [0:0] RX_RESET = 0,
127
+ parameter [0:0] RX_PMA_RESET_OVR = 0,
128
+ parameter [0:0] RX_PMA_RESET = 0,
129
+ parameter [0:0] RX_EQA_RESET_OVR = 0,
130
+ parameter [0:0] RX_EQA_RESET = 0,
131
+ parameter [0:0] RX_CDR_RESET_OVR = 0,
132
+ parameter [0:0] RX_CDR_RESET = 0,
133
+ parameter [0:0] RX_PCS_RESET_OVR = 0,
134
+ parameter [0:0] RX_PCS_RESET = 0,
135
+ parameter [0:0] RX_BUF_RESET_OVR = 0,
136
+ parameter [0:0] RX_BUF_RESET = 0,
137
+ parameter [0:0] RX_POLARITY_OVR = 0,
138
+ parameter [0:0] RX_POLARITY = 0,
139
+ parameter [0:0] RX_8B10B_EN_OVR = 0,
140
+ parameter [0:0] RX_8B10B_EN = 0,
141
+ parameter [7:0] RX_8B10B_BYPASS = 0,
142
+ parameter [0:0] RX_BYTE_REALIGN = 0,
143
+ parameter [0:0] RX_DBG_EN = 0,
144
+ parameter [1:0] RX_DBG_SEL = 0,
145
+ parameter [0:0] RX_DBG_MODE = 0,
146
+ parameter [5:0] RX_DBG_SRAM_DELAY = 6'h05,
147
+ parameter [9:0] RX_DBG_ADDR = 0,
148
+ parameter [0:0] RX_DBG_RE = 0,
149
+ parameter [0:0] RX_DBG_WE = 0,
150
+ parameter [19:0] RX_DBG_DATA = 0,
151
+ parameter [4:0] TX_SEL_PRE = 0,
152
+ parameter [4:0] TX_SEL_POST = 0,
153
+ parameter [4:0] TX_AMP = 15,
154
+ parameter [4:0] TX_BRANCH_EN_PRE = 0,
155
+ parameter [5:0] TX_BRANCH_EN_MAIN = 6'h3F,
156
+ parameter [4:0] TX_BRANCH_EN_POST = 0,
157
+ parameter [2:0] TX_TAIL_CASCODE = 4,
158
+ parameter [6:0] TX_DC_ENABLE = 63,
159
+ parameter [4:0] TX_DC_OFFSET = 0,
160
+ parameter [4:0] TX_CM_RAISE = 0,
161
+ parameter [4:0] TX_CM_THRESHOLD_0 = 14,
162
+ parameter [4:0] TX_CM_THRESHOLD_1 = 16,
163
+ parameter [4:0] TX_SEL_PRE_EI = 0,
164
+ parameter [4:0] TX_SEL_POST_EI = 0,
165
+ parameter [4:0] TX_AMP_EI = 15,
166
+ parameter [4:0] TX_BRANCH_EN_PRE_EI = 0,
167
+ parameter [5:0] TX_BRANCH_EN_MAIN_EI = 6'h3F,
168
+ parameter [4:0] TX_BRANCH_EN_POST_EI = 0,
169
+ parameter [2:0] TX_TAIL_CASCODE_EI = 4,
170
+ parameter [6:0] TX_DC_ENABLE_EI = 63,
171
+ parameter [4:0] TX_DC_OFFSET_EI = 0,
172
+ parameter [4:0] TX_CM_RAISE_EI = 0,
173
+ parameter [4:0] TX_CM_THRESHOLD_0_EI = 14,
174
+ parameter [4:0] TX_CM_THRESHOLD_1_EI = 16,
175
+ parameter [4:0] TX_SEL_PRE_RXDET = 0,
176
+ parameter [4:0] TX_SEL_POST_RXDET = 0,
177
+ parameter [4:0] TX_AMP_RXDET = 15,
178
+ parameter [4:0] TX_BRANCH_EN_PRE_RXDET = 0,
179
+ parameter [5:0] TX_BRANCH_EN_MAIN_RXDET = 6'h3F,
180
+ parameter [4:0] TX_BRANCH_EN_POST_RXDET = 0,
181
+ parameter [2:0] TX_TAIL_CASCODE_RXDET = 4,
182
+ parameter [6:0] TX_DC_ENABLE_RXDET = 63,
183
+ parameter [4:0] TX_DC_OFFSET_RXDET = 0,
184
+ parameter [4:0] TX_CM_RAISE_RXDET = 0,
185
+ parameter [4:0] TX_CM_THRESHOLD_0_RXDET = 14,
186
+ parameter [4:0] TX_CM_THRESHOLD_1_RXDET = 16,
187
+ parameter [0:0] TX_CALIB_EN = 0,
188
+ parameter [0:0] TX_CALIB_OVR = 0,
189
+ parameter [3:0] TX_CALIB_VAL = 0,
190
+ parameter [7:0] TX_CM_REG_KI = 8'h80,
191
+ parameter [0:0] TX_CM_SAR_EN = 0,
192
+ parameter [0:0] TX_CM_REG_EN = 1,
193
+ parameter [4:0] TX_PMA_RESET_TIME = 3,
194
+ parameter [4:0] TX_PCS_RESET_TIME = 3,
195
+ parameter [0:0] TX_PCS_RESET_OVR = 0,
196
+ parameter [0:0] TX_PCS_RESET = 0,
197
+ parameter [0:0] TX_PMA_RESET_OVR = 0,
198
+ parameter [0:0] TX_PMA_RESET = 0,
199
+ parameter [0:0] TX_RESET_OVR = 0,
200
+ parameter [0:0] TX_RESET = 0,
201
+ parameter [1:0] TX_PMA_LOOPBACK = 0,
202
+ parameter [0:0] TX_PCS_LOOPBACK = 0,
203
+ parameter [1:0] TX_DATAPATH_SEL = 3,
204
+ parameter [0:0] TX_PRBS_OVR = 0,
205
+ parameter [2:0] TX_PRBS_SEL = 0,
206
+ parameter [0:0] TX_PRBS_FORCE_ERR = 0,
207
+ parameter [0:0] TX_LOOPBACK_OVR = 0,
208
+ parameter [0:0] TX_POWER_DOWN_OVR = 0,
209
+ parameter [0:0] TX_POWER_DOWN_N = 0,
210
+ parameter [0:0] TX_ELEC_IDLE_OVR = 0,
211
+ parameter [0:0] TX_ELEC_IDLE = 0,
212
+ parameter [0:0] TX_DETECT_RX_OVR = 0,
213
+ parameter [0:0] TX_DETECT_RX = 0,
214
+ parameter [0:0] TX_POLARITY_OVR = 0,
215
+ parameter [0:0] TX_POLARITY = 0,
216
+ parameter [0:0] TX_8B10B_EN_OVR = 0,
217
+ parameter [0:0] TX_8B10B_EN = 0,
218
+ parameter [0:0] TX_DATA_OVR = 0,
219
+ parameter [2:0] TX_DATA_CNT = 0,
220
+ parameter [0:0] TX_DATA_VALID = 0,
221
+ parameter [0:0] PLL_EN_ADPLL_CTRL = 0,
222
+ parameter [0:0] PLL_CONFIG_SEL = 0,
223
+ parameter [0:0] PLL_SET_OP_LOCK = 0,
224
+ parameter [0:0] PLL_ENFORCE_LOCK = 0,
225
+ parameter [0:0] PLL_DISABLE_LOCK = 0,
226
+ parameter [0:0] PLL_LOCK_WINDOW = 1,
227
+ parameter [0:0] PLL_FAST_LOCK = 1,
228
+ parameter [0:0] PLL_SYNC_BYPASS = 0,
229
+ parameter [0:0] PLL_PFD_SELECT = 0,
230
+ parameter [0:0] PLL_REF_BYPASS = 0,
231
+ parameter [0:0] PLL_REF_SEL = 0,
232
+ parameter [0:0] PLL_REF_RTERM = 1,
233
+ parameter [5:0] PLL_FCNTRL = 58,
234
+ parameter [5:0] PLL_MAIN_DIVSEL = 27,
235
+ parameter [1:0] PLL_OUT_DIVSEL = 0,
236
+ parameter [4:0] PLL_CI = 3,
237
+ parameter [9:0] PLL_CP = 80,
238
+ parameter [3:0] PLL_AO = 0,
239
+ parameter [2:0] PLL_SCAP = 0,
240
+ parameter [1:0] PLL_FILTER_SHIFT = 2,
241
+ parameter [2:0] PLL_SAR_LIMIT = 2,
242
+ parameter [10:0] PLL_FT = 512,
243
+ parameter [0:0] PLL_OPEN_LOOP = 0,
244
+ parameter [0:0] PLL_SCAP_AUTO_CAL = 1,
245
+ parameter [2:0] PLL_BISC_MODE = 4,
246
+ parameter [3:0] PLL_BISC_TIMER_MAX = 15,
247
+ parameter [0:0] PLL_BISC_OPT_DET_IND = 0,
248
+ parameter [0:0] PLL_BISC_PFD_SEL = 0,
249
+ parameter [0:0] PLL_BISC_DLY_DIR = 0,
250
+ parameter [2:0] PLL_BISC_COR_DLY = 1,
251
+ parameter [0:0] PLL_BISC_CAL_SIGN = 0,
252
+ parameter [0:0] PLL_BISC_CAL_AUTO = 1,
253
+ parameter [4:0] PLL_BISC_CP_MIN = 4,
254
+ parameter [4:0] PLL_BISC_CP_MAX = 18,
255
+ parameter [4:0] PLL_BISC_CP_START = 12,
256
+ parameter [4:0] PLL_BISC_DLY_PFD_MON_REF = 0,
257
+ parameter [4:0] PLL_BISC_DLY_PFD_MON_DIV = 2,
258
+ parameter [0:0] SERDES_ENABLE = 0,
259
+ parameter [0:0] SERDES_AUTO_INIT = 0,
260
+ parameter [0:0] SERDES_TESTMODE = 0
54
261
  )(
55
262
  input [63:0] TX_DATA_I,
56
263
  input TX_RESET_I,
57
264
  input TX_PCS_RESET_I,
58
265
  input TX_PMA_RESET_I,
59
266
  input PLL_RESET_I,
60
- input TX_POWERDOWN_N_I,
267
+ input TX_POWER_DOWN_N_I,
61
268
  input TX_POLARITY_I,
62
269
  input [2:0] TX_PRBS_SEL_I,
63
270
  input TX_PRBS_FORCE_ERR_I,
@@ -69,15 +276,15 @@ module CC_SERDES #(
69
276
  input TX_ELEC_IDLE_I,
70
277
  input TX_DETECT_RX_I,
71
278
  input [2:0] LOOPBACK_I,
72
- input CLK_CORE_TX_I,
73
- input CLK_CORE_RX_I,
279
+ input TX_CLK_I,
280
+ input RX_CLK_I,
74
281
  input RX_RESET_I,
75
282
  input RX_PMA_RESET_I,
76
283
  input RX_EQA_RESET_I,
77
284
  input RX_CDR_RESET_I,
78
285
  input RX_PCS_RESET_I,
79
286
  input RX_BUF_RESET_I,
80
- input RX_POWERDOWN_N_I,
287
+ input RX_POWER_DOWN_N_I,
81
288
  input RX_POLARITY_I,
82
289
  input [2:0] RX_PRBS_SEL_I,
83
290
  input RX_PRBS_CNT_RESET_I,
@@ -88,7 +295,7 @@ module CC_SERDES #(
88
295
  input RX_SLIDE_I,
89
296
  input RX_MCOMMA_ALIGN_I,
90
297
  input RX_PCOMMA_ALIGN_I,
91
- input CLK_REG_I,
298
+ input REGFILE_CLK_I,
92
299
  input REGFILE_WE_I,
93
300
  input REGFILE_EN_I,
94
301
  input [7:0] REGFILE_ADDR_I,
@@ -99,18 +306,18 @@ module CC_SERDES #(
99
306
  output [7:0] RX_CHAR_IS_COMMA_O,
100
307
  output [7:0] RX_CHAR_IS_K_O,
101
308
  output [7:0] RX_DISP_ERR_O,
102
- output RX_DETECT_DONE_O,
103
- output RX_PRESENT_O,
309
+ output TX_DETECT_RX_DONE_O,
310
+ output TX_DETECT_RX_PRESENT_O,
104
311
  output TX_BUF_ERR_O,
105
- output TX_RESETDONE_O,
312
+ output TX_RESET_DONE_O,
106
313
  output RX_PRBS_ERR_O,
107
314
  output RX_BUF_ERR_O,
108
315
  output RX_BYTE_IS_ALIGNED_O,
109
316
  output RX_BYTE_REALIGN_O,
110
- output RX_RESETDONE_O,
317
+ output RX_RESET_DONE_O,
111
318
  output RX_EI_EN_O,
112
- output CLK_CORE_RX_O,
113
- output CLK_CORE_PLL_O,
319
+ output RX_CLK_O,
320
+ output PLL_CLK_O,
114
321
  output [15:0] REGFILE_DO_O,
115
322
  output REGFILE_RDY_O
116
323
  );
@@ -1005,7 +1005,7 @@ always @* begin
1005
1005
  C = I0;
1006
1006
  end
1007
1007
  MULT: begin
1008
- S = I0 & I1;
1008
+ S = (I0 & I1) ^ I3;
1009
1009
  C = I0 & I1;
1010
1010
  end
1011
1011
  endcase