byteman  1.3 (Build #225)
Bitstream relocation and manipulation tool
XUSP_Devices.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2022 Kristiyan Manev, Joseph Powell (University of Manchester)
3  *
4  * Licensed under the Apache License, Version 2.0(the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 
17 #ifndef XILINXULTRASCALEPLUSDEVICES_H
18 #define XILINXULTRASCALEPLUSDEVICES_H
19 
20 #include<cstring>//strcpy
21 
23 {
25  //XUSP Artix
30  //XUSP Kintex
38  //XUSP Virtex
56  //XUSP RFSoC
71  //XUSP MPSoC
84  //XUSP Alveo
99  //XUSP Boards
179 
180 
182 };
183 
184 #define TODO 0
185 //Functions how to build devices
186 #define XUSP_PARTNAME(value) {initializedResourceStringShortPartName = partName = value;}
187 #define XUSP_SLRFROMROW(slrID, value) {SLRinfo[slrID].fromRow = value;}
188 #define XUSP_SLRTOROW(slrID, value) {SLRinfo[slrID].toRow = value;}
189 #define XUSP_ROWNUM(value) {numberOfRows = value;}
190 #define XUSP_SLRNUM(value) {numberOfSLRs = value;}
191 #define XUSP_IDCODE(slrID, value) {SLRinfo[slrID].IDCODE = value;}
192 #define XUSP_STRING(rowID, value) {strcpy(resourceString[rowID], value);}
193 #define XUSP_STRING_CAT(x, y) {XUSP_STRING(y, x##STRING##y);}
194 #define XUSP_STRING_CAT_2(x) {XUSP_STRING_CAT(x, 0); XUSP_STRING_CAT(x, 1);}
195 #define XUSP_STRING_CAT_3(x) {XUSP_STRING_CAT_2(x); XUSP_STRING_CAT(x, 2);}
196 #define XUSP_STRING_CAT_4(x) {XUSP_STRING_CAT_3(x); XUSP_STRING_CAT(x, 3);}
197 #define XUSP_STRING_CAT_5(x) {XUSP_STRING_CAT_4(x); XUSP_STRING_CAT(x, 4);}
198 #define XUSP_STRING_CAT_6(x) {XUSP_STRING_CAT_5(x); XUSP_STRING_CAT(x, 5);}
199 #define XUSP_STRING_CAT_7(x) {XUSP_STRING_CAT_6(x); XUSP_STRING_CAT(x, 6);}
200 #define XUSP_STRING_CAT_8(x) {XUSP_STRING_CAT_7(x); XUSP_STRING_CAT(x, 7);}
201 #define XUSP_STRING_CAT_9(x) {XUSP_STRING_CAT_8(x); XUSP_STRING_CAT(x, 8);}
202 #define XUSP_STRING_CAT_10(x) {XUSP_STRING_CAT_9(x); XUSP_STRING_CAT(x, 9);}
203 #define XUSP_STRING_CAT_11(x) {XUSP_STRING_CAT_10(x); XUSP_STRING_CAT(x, 10);}
204 #define XUSP_STRING_CAT_12(x) {XUSP_STRING_CAT_11(x); XUSP_STRING_CAT(x, 11);}
205 #define XUSP_STRING_CAT_13(x) {XUSP_STRING_CAT_12(x); XUSP_STRING_CAT(x, 12);}
206 #define XUSP_STRING_CAT_14(x) {XUSP_STRING_CAT_13(x); XUSP_STRING_CAT(x, 13);}
207 #define XUSP_STRING_CAT_15(x) {XUSP_STRING_CAT_14(x); XUSP_STRING_CAT(x, 14);}
208 #define XUSP_STRING_CAT_16(x) {XUSP_STRING_CAT_15(x); XUSP_STRING_CAT(x, 15);}
209 #define XUSP_STRING_CAT_17(x) {XUSP_STRING_CAT_16(x); XUSP_STRING_CAT(x, 16);}
210 #define XUSP_STRING_CAT_18(x) {XUSP_STRING_CAT_17(x); XUSP_STRING_CAT(x, 17);}
211 #define XUSP_STRING_CAT_19(x) {XUSP_STRING_CAT_18(x); XUSP_STRING_CAT(x, 18);}
212 #define XUSP_STRING_CAT_20(x) {XUSP_STRING_CAT_19(x); XUSP_STRING_CAT(x, 19);}
213 
214 #define XUSP_SETUP_SLR_EXPANDED(slrID, idcodeVal, fromRowVal, toRowVal) {XUSP_IDCODE(slrID, idcodeVal);XUSP_SLRFROMROW(slrID, fromRowVal);XUSP_SLRTOROW(slrID, toRowVal);}
215 #define XUSP_SETUP_SLR0(prefix) {XUSP_SETUP_SLR_EXPANDED(0, prefix##IDCODE, prefix##SLR0_START, prefix##SLR0_END);}
216 #define XUSP_SETUP_SLR(slrID, prefix) {XUSP_SETUP_SLR_EXPANDED(slrID, prefix##IDCODE##slrID, prefix##SLR##slrID##_START, prefix##SLR##slrID##_END);}
217 #define XUSP_SETUP_SLRs_2(prefix) {XUSP_SETUP_SLR0(prefix); XUSP_SETUP_SLR(1, prefix);}
218 #define XUSP_SETUP_SLRs_3(prefix) {XUSP_SETUP_SLRs_2(prefix); XUSP_SETUP_SLR(2, prefix);}
219 #define XUSP_SETUP_SLRs_4(prefix) {XUSP_SETUP_SLRs_3(prefix); XUSP_SETUP_SLR(3, prefix);}
220 #define XUSP_SETUP_DEVICE(prefix) { \
221  XUSP_PARTNAME(prefix##NAME); \
222  XUSP_SLRNUM(prefix##SLRNUM); \
223  XUSP_ROWNUM(prefix##ROWNUM); \
224  XUSP_SLRFROMROW(0, 0); \
225  XUSP_SLRTOROW(0, prefix##ROWNUM-1); \
226  XUSP_IDCODE(0, prefix##IDCODE); \
227 }
228 
229 
230 //Xilinx UltraScale+ Artix
231  //XCAU10 is software-limitted version of XCAU15
232  #define XCAU10P_NAME "xcau10p"
233  #define XCAU10P_SLRNUM 1
234  #define XCAU10P_ROWNUM 3
235  #define XCAU10P_IDCODE 0x4AC5093
236  #define XCAU10P_STRING0 "abcdJPLJPLJPAJPLJELJPLJPLJPLJPLJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfijKQOKQCKQOKGOKQOKGOKQOKkl\x01"
237  #define XCAU10P_STRING1 "abcdJPLJPLJPAJPLJELJPLJPLJPLJPLJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfmjKQOKQCKQOKGOKQOKGOKQOKkl\x01"
238  #define XCAU10P_STRING2 "abcdJPLJPLJPAJPLJELJPLJPLJPLJPLJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfnjKQOKQCKQOKGOKQOKGOKQOKkl\x01"
239  #define XCAU10P() { \
240  XUSP_SETUP_DEVICE(XCAU10P_); \
241  XUSP_STRING_CAT_3(XCAU10P_); \
242  }
243 
244  #define XCAU15P_NAME "xcau15p"
245  #define XCAU15P_SLRNUM 1
246  #define XCAU15P_ROWNUM 3
247  #define XCAU15P_IDCODE 0x4AC4093
248  #define XCAU15P_STRING0 XCAU10P_STRING0
249  #define XCAU15P_STRING1 XCAU10P_STRING1
250  #define XCAU15P_STRING2 XCAU10P_STRING2
251  #define XCAU15P() { \
252  XUSP_SETUP_DEVICE(XCAU15P_); \
253  XUSP_STRING_CAT_3(XCAU15P_); \
254  }
255 
256  //SW-limitted version of AU25P (which is same FPGA as KU3P, KU5P)
257  #define XCAU20P_NAME "xcau20p"
258  #define XCAU20P_SLRNUM 1
259  #define XCAU20P_ROWNUM 4
260  #define XCAU20P_IDCODE 0x4A65093
261  #define XCAU20P_STRING0 "abcdJPLJPBJPLJELJPSJPLJELJPMJPAJPLJELJPSJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPAJPSJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJPBJPLJELJPSJPLJELJPSJPLJPAJPMJELJPSJPLJDJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPBJPLJfojKQOKQCKQOKGOKQOKGOKQOKkp\x01"
262  #define XCAU20P_STRING1 "abcdJPLJPBJPLJELJPSJPLJELJPMJPAJPLJELJPSJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPAJPSJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJPBJPLJELJPSJPLJELJPSJPLJPAJPMJELJPSJPLJDJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPBJPLJfmjKQOKQCKQOKGOKQOKGOKQOKkp\x01"
263  #define XCAU20P_STRING2 "abcdJPLJPBJPLJELJPSJPLJELJPMJPAJPLJELJPSJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPAJPSJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJPBJPLJELJPSJPLJELJPSJPLJPAJPMJELJPSJPLJDJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPBJPLJfnjKQOKQCKQOKGOKQOKGOKQOKkp\x01"
264  #define XCAU20P_STRING3 "abcdJPLJPBJPLJELJPSJPLJELJPMJPAJPLJELJPSJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPAJPSJPLJfghJPLJPSJPBJPLJELJPLJELJPLJFLJPLJPBJPLJELJPSJPLJELJPSJPLJPAJPMJELJPSJPLJDJPLJELJPSJPLJPAJPLJFLJPLJELJPLJELJPLJPBJPLJfqjKQOKQCKQOKGOKQOKGOKQOKkp\x01"
265  #define XCAU20P() { \
266  XUSP_SETUP_DEVICE(XCAU20P_); \
267  XUSP_STRING_CAT_4(XCAU20P_); \
268  }
269 
270  //Same FPGA as KU5P
271  #define XCAU25P_NAME "xcau25p"
272  #define XCAU25P_SLRNUM 1
273  #define XCAU25P_ROWNUM 4
274  #define XCAU25P_IDCODE 0x4A64093
275  #define XCAU25P_STRING0 XCAU20P_STRING0
276  #define XCAU25P_STRING1 XCAU20P_STRING1
277  #define XCAU25P_STRING2 XCAU20P_STRING2
278  #define XCAU25P_STRING3 XCAU20P_STRING3
279  #define XCAU25P() { \
280  XUSP_SETUP_DEVICE(XCAU25P_); \
281  XUSP_STRING_CAT_4(XCAU25P_); \
282  }
283 
284 //Xilinx UltraScale+ Kintex
285  //XCKU3P is software-limited version of XCKU5P
286  #define XCKU3P_NAME "xcku3p"
287  #define XCKU3P_SLRNUM 1
288  #define XCKU3P_ROWNUM 4
289  #define XCKU3P_IDCODE 0x4A63093
290  #define XCKU3P_STRING0 XCAU20P_STRING0
291  #define XCKU3P_STRING1 XCAU20P_STRING1
292  #define XCKU3P_STRING2 XCAU20P_STRING2
293  #define XCKU3P_STRING3 XCAU20P_STRING3
294  #define XCKU3P() { \
295  XUSP_SETUP_DEVICE(XCKU3P_); \
296  XUSP_STRING_CAT_4(XCKU3P_); \
297  }
298 
299  #define XCKU5P_NAME "xcku5p"
300  #define XCKU5P_SLRNUM 1
301  #define XCKU5P_ROWNUM 4
302  #define XCKU5P_IDCODE 0x4A62093
303  #define XCKU5P_STRING0 XCKU3P_STRING0
304  #define XCKU5P_STRING1 XCKU3P_STRING1
305  #define XCKU5P_STRING2 XCKU3P_STRING2
306  #define XCKU5P_STRING3 XCKU3P_STRING3
307  #define XCKU5P() { \
308  XUSP_SETUP_DEVICE(XCKU5P_); \
309  XUSP_STRING_CAT_4(XCKU5P_); \
310  }
311 
312  #define XCKU9P_NAME "xcku9p"
313  #define XCKU9P_SLRNUM 1
314  #define XCKU9P_ROWNUM 7
315  #define XCKU9P_IDCODE 0x484A093
316  #define XCKU9P_STRING0 "2076676176672676676176672676672676676176672676676176672676672676676176672rJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPLJFLJPLJPBJPLJELJPLJPAJPMJELJPLJPBJPLJELJPLJFLJPLJPBJPLJPAJPLJfgjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
317  #define XCKU9P_STRING1 "2076676176672676676176672676672676676176672676676176672676672676676176672rJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPLJFLJPLJPBJPLJELJPLJPAJPMJELJPLJPBJPLJELJPLJFLJPLJPBJPLJPAJPLJfmjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
318  #define XCKU9P_STRING2 "2076676176672676676176672676672676676176672676676176672676672676676176672rJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPLJFLJPLJPBJPLJELJPLJPAJPMJELJPLJPBJPLJELJPLJFLJPLJPBJPLJPAJPLJfnjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
319  #define XCKU9P_STRING3 "xyJPLJPAJPLJELJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJPBJPLJELJPLJFLJPLJPAJPLJELJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPLJFLJPLJPBJPLJELJPLJPAJPMJELJPLJPBJPLJELJPLJFLJPLJPBJPLJPAJPLJfgjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
320  #define XCKU9P_STRING4 "xyJPLJPAJPLJELJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJPBJPLJELJPLJFLJPLJPAJPLJELJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPLJFLJPLJPBJPLJELJPLJPAJPMJELJPLJPBJPLJELJPLJFLJPLJPBJPLJPAJPLJfgjKQOKGOKQOKGOKQOKQCKQOKz50l\x01"
321  #define XCKU9P_STRING5 XCKU9P_STRING4
322  #define XCKU9P_STRING6 XCKU9P_STRING4
323  #define XCKU9P() { \
324  XUSP_SETUP_DEVICE(XCKU9P_); \
325  XUSP_STRING_CAT_7(XCKU9P_); \
326  }
327 
328  #define XCKU11P_NAME "xcku11p"
329  #define XCKU11P_SLRNUM 1
330  #define XCKU11P_ROWNUM 8
331  #define XCKU11P_IDCODE 0x4A4E093
332  #define XCKU11P_STRING0 "2076676676672676676176670407667617667667376672%JPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
333  #define XCKU11P_STRING1 "2076676676672676676176670407667617667667376672%JPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfmjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
334  #define XCKU11P_STRING2 "2076676676672676676176670407667617667667376672%JPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfnjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
335  #define XCKU11P_STRING3 "UyJPLJPSJPLJELJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
336  #define XCKU11P_STRING4 "UyJPLJPSJPLJELJPLJPBJPLJfohJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
337  #define XCKU11P_STRING5 "UyJPLJPSJPLJELJPLJPBJPLJfVhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
338  #define XCKU11P_STRING6 "UyJPLJPSJPLJELJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJELJPMJEabc^JPLJPBJPLJELJPLJEMJPLJELJPLJELJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
339  #define XCKU11P_STRING7 XCKU11P_STRING4
340  #define XCKU11P() { \
341  XUSP_SETUP_DEVICE(XCKU11P_); \
342  XUSP_STRING_CAT_8(XCKU11P_); \
343  }
344 
345  #define XCKU13P_NAME "xcku13p"
346  #define XCKU13P_SLRNUM 1
347  #define XCKU13P_ROWNUM 7
348  #define XCKU13P_IDCODE 0x4A52093
349  #define XCKU13P_STRING0 "2076676176672676676176672676672676676176672676676176672676672676676176672rJPLJDJPLJELJPLJPBJPLJEMJPLJELJPLJELJPLJPAJPLJELJPLJFLJPLJELJPSJPLJPLJELJPLJPBJPLJELJPMJELJPSJPLJELJPLJPAJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfgjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
350  #define XCKU13P_STRING1 "2076676176672676676176672676672676676176672676676176672676672676676176672rJPLJDJPLJELJPLJPBJPLJEMJPLJELJPLJELJPLJPAJPLJELJPLJFLJPLJELJPSJPLJPLJELJPLJPBJPLJELJPMJELJPSJPLJELJPLJPAJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfmjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
351  #define XCKU13P_STRING2 "2076676176672676676176672676672676676176672676676176672676672676676176672rJPLJDJPLJELJPLJPBJPLJEMJPLJELJPLJELJPLJPAJPLJELJPLJFLJPLJELJPSJPLJPLJELJPLJPBJPLJELJPMJELJPSJPLJELJPLJPAJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfnjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
352  #define XCKU13P_STRING3 "xyJPLJPAJPLJELJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJPBJPLJELJPLJFLJPLJPAJPLJELJPLJDJPLJELJPLJPBJPLJEMJPLJELJPLJELJPLJPAJPLJELJPLJFLJPLJELJPSJPLJPLJELJPLJPBJPLJELJPMJELJPSJPLJELJPLJPAJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfgjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
353  #define XCKU13P_STRING4 "xyJPLJPAJPLJELJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJPBJPLJELJPLJFLJPLJPAJPLJELJPLJDJPLJELJPLJPBJPLJEMJPLJELJPLJELJPLJPAJPLJELJPLJFLJPLJELJPSJPLJPLJELJPLJPBJPLJELJPMJELJPSJPLJELJPLJPAJPLJELJPLJFLJPLJELJPLJELJPLJPBJPLJfgjKQOKGOKQOKGOKQOKQCKQOKz50l\x01"
354  #define XCKU13P_STRING5 XCKU13P_STRING4
355  #define XCKU13P_STRING6 XCKU13P_STRING4
356  #define XCKU13P() { \
357  XUSP_SETUP_DEVICE(XCKU13P_); \
358  XUSP_STRING_CAT_7(XCKU13P_); \
359  }
360 
361  #define XCKU15P_NAME "xcku15p"
362  #define XCKU15P_SLRNUM 1
363  #define XCKU15P_ROWNUM 11
364  #define XCKU15P_IDCODE 0x4A56093
365  #define XCKU15P_STRING0 "2076676676672676676176670407667617667667376672%JPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
366  #define XCKU15P_STRING1 "2076676676672676676176670407667617667667376672%JPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfmjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
367  #define XCKU15P_STRING2 "2076676676672676676176670407667617667667376672%JPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfnjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
368  #define XCKU15P_STRING3 "UyJPLJPSJPLJELJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
369  #define XCKU15P_STRING4 "UyJPLJPSJPLJELJPLJPBJPLJfohJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
370  #define XCKU15P_STRING5 "UyJPLJPSJPLJELJPLJPBJPLJfVhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfVjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
371  #define XCKU15P_STRING6 "UyJPLJPSJPLJELJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
372  #define XCKU15P_STRING7 "UyJPLJPSJPLJELJPLJPBJPLJfohJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
373  #define XCKU15P_STRING8 "UyJPLJPSJPLJELJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfVjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
374  #define XCKU15P_STRING9 "UyJPLJPSJPLJELJPLJPBJPLJfVhJPLJPBJPSJPLJDJPLJFLJPLJPBJPLJELJPLJEMJPLJPAJPLJELJPLJEMJPabc^JPLJPBJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPSJPAJPLJFLJPLJPSJPLJPSJPSJPLJPBJPSJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
375  #define XCKU15P_STRING10 XCKU15P_STRING6
376  #define XCKU15P() { \
377  XUSP_SETUP_DEVICE(XCKU15P_); \
378  XUSP_STRING_CAT_11(XCKU15P_); \
379  }
380 
381  //XCKU19 has 9 useful rows, but the chip itself is XCVU23P with top 2 rows diabled
382  //The disabled top 2 rows are still present in the bitstream
383  #define XCKU19P_NAME "xcku19p"
384  #define XCKU19P_SLRNUM 1
385  #define XCKU19P_ROWNUM 11
386  #define XCKU19P_IDCODE 0x4ACF093
387  #define XCKU19P_STRING0 "abcdJPLJPAJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJDJPLJPSJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPLJDJPLJPLJPAJPLJfmjKQTKQCKQOKGOKQTKQOKRTKkp\x01"
388  #define XCKU19P_STRING1 "abcdJPLJPAJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJDJPLJPSJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPLJDJPLJPLJPAJPLJfnjKQTKQCKQOKGOKQTKQOKRTKkp\x01"
389  #define XCKU19P_STRING2 "abcdJPLJPAJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJDJPLJPSJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPLJDJPLJPLJPAJPLJfijKQTKQCKQOKGOKQTKQOKRTKkp\x01"
390  #define XCKU19P_STRING3 "abcdJPLJPAJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJDJPLJPSJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPLJDJPLJPLJPAJPLJfgjKQTKQCKQOKGOKQTKQOKRTKkp\x01"
391  #define XCKU19P_STRING4 XCKU19P_STRING2
392  #define XCKU19P_STRING5 XCKU19P_STRING3
393  #define XCKU19P_STRING6 XCKU19P_STRING2
394  #define XCKU19P_STRING7 XCKU19P_STRING3
395  #define XCKU19P_STRING8 "abcdJPLJPAJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJDJPLJPSJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPAJPLJPSJPSJPLJPSJPAJPLJPSJPSJPMJPSJPSJPLJPAJPSJPLJPSJPSJPLJPSJPBJPLJFLJPLJDJPLJPLJPAJPLJfqjKQTKQCKQOKGOKQTKQOKRTKkW\x01"
396  #define XCKU19P_STRING9 "205076676176676676676676676676676676676676673766766766766766766766766761766726761766766766766766761766766766766766766766761766766766766766766761766726761766766766766766761766766766766766766766761766766766766766766761766726761766766766766766761766766766766766766766761766766766766766766761766726766737667667617667040766761766726766766766702\x01"
397  #define XCKU19P_STRING10 XCKU19P_STRING9
398  #define XCKU19P() { \
399  XUSP_SETUP_DEVICE(XCKU19P_); \
400  XUSP_STRING_CAT_11(XCKU19P_); \
401  }
402 
403 //Xilinx UltraScale+ Virtex
404  #define XCVU3P_NAME "xcvu3p"
405  #define XCVU3P_SLRNUM 1
406  #define XCVU3P_ROWNUM 5
407  #define XCVU3P_IDCODE 0x4B39093
408  #define XCVU3P_STRING0 "UyJPLJELJPLJPLJPXJPAJPLJfqhJPLJPBJPLJELJPXJPLJELJPLJELJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJELJPMJPabc^JPLJPAJPLJELJPXJPLJDJPMJPLJPLJPLJPLJPLJPXJPLJELJPBJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJELJPMJPabc^JPLJPAJPLJELJPXJPLJDJPMJPLJPLJPLJPLJPLJPXJPLJELJPBJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfojKQOKQCKQYKQOKQOKGOKQOKkp\x01"
409  #define XCVU3P_STRING1 "UyJPLJELJPLJPLJPLJPAJPLJfVhJPLJPBJPLJELJPLJPLJELJPLJELJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJELJPMJPabc^JPLJPAJPLJELJPLJPLJDJPMJPLJPLJPLJPLJPLJPLJPLJELJPBJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJELJPMJPabc^JPLJPAJPLJELJPLJPLJDJPMJPLJPLJPLJPLJPLJPLJPLJELJPBJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfmjKQOKQCKQOKQOKQOKGOKQOKkp\x01"
410  #define XCVU3P_STRING2 "UyJPLJELJPLJPLJPLJPAJPLJfqhJPLJPBJPLJELJPLJPLJELJPLJELJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJELJPMJPabc^JPLJPAJPLJELJPLJPLJDJPMJPLJPLJPLJPLJPLJPLJPLJELJPBJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJELJPMJPabc^JPLJPAJPLJELJPLJPLJDJPMJPLJPLJPLJPLJPLJPLJPLJELJPBJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfnjKQOKQCKQOKQOKQOKGOKQOKkp\x01"
411  #define XCVU3P_STRING3 "UyJPLJELJPLJPLJPLJPAJPLJfohJPLJPBJPLJELJPLJPLJELJPLJELJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJELJPMJPabc^JPLJPAJPLJELJPLJPLJDJPMJPLJPLJPLJPLJPLJPLJPLJELJPBJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJELJPMJPabc^JPLJPAJPLJELJPLJPLJDJPMJPLJPLJPLJPLJPLJPLJPLJELJPBJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfVjKQOKQCKQOKQOKQOKGOKQOKkp\x01"
412  #define XCVU3P_STRING4 "UyJPLJELJPLJPLJPXJPAJPLJfqhJPLJPBJPLJELJPXJPLJELJPLJELJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJELJPMJPabc^JPLJPAJPLJELJPXJPLJDJPMJPLJPLJPLJPLJPLJPXJPLJELJPBJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJELJPMJPabc^JPLJPAJPLJELJPXJPLJDJPMJPLJPLJPLJPLJPLJPXJPLJELJPBJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfVjKQOKQCKQYKQOKQOKGOKQOKkp\x01"
413  #define XCVU3P() { \
414  XUSP_SETUP_DEVICE(XCVU3P_); \
415  XUSP_STRING_CAT_5(XCVU3P_); \
416  }
417 
418  //XCVU5P is software-limited version of 2 XCVU3P dies
419  #define XCVU5P_NAME "xcvu5p"
420  #define XCVU5P_SLRNUM 2
421  #define XCVU5P_ROWNUM 10
422  #define XCVU5P_IDCODE 0x4B2B093
423  #define XCVU5P_IDCODE1 0x4B22093
424  #define XCVU5P_SLR0_START 0
425  #define XCVU5P_STRING0 XCVU3P_STRING0
426  #define XCVU5P_STRING1 XCVU3P_STRING1
427  #define XCVU5P_STRING2 XCVU3P_STRING2
428  #define XCVU5P_STRING3 XCVU3P_STRING3
429  #define XCVU5P_STRING4 XCVU3P_STRING4
430  #define XCVU5P_SLR0_END 4
431  #define XCVU5P_SLR1_START 5
432  #define XCVU5P_STRING5 XCVU3P_STRING0
433  #define XCVU5P_STRING6 XCVU3P_STRING1
434  #define XCVU5P_STRING7 XCVU3P_STRING2
435  #define XCVU5P_STRING8 XCVU3P_STRING3
436  #define XCVU5P_STRING9 XCVU3P_STRING4
437  #define XCVU5P_SLR1_END 9
438  #define XCVU5P() { \
439  XUSP_SETUP_DEVICE(XCVU5P_); \
440  XUSP_SETUP_SLRs_2(XCVU5P_); \
441  XUSP_STRING_CAT_10(XCVU5P_); \
442  }
443 
444  //XCVU7P is 2 XCVU3P dies
445  #define XCVU7P_NAME "xcvu7p"
446  #define XCVU7P_SLRNUM 2
447  #define XCVU7P_ROWNUM 10
448  #define XCVU7P_IDCODE 0x4B29093
449  #define XCVU7P_IDCODE1 XCVU5P_IDCODE1
450  #define XCVU7P_SLR0_START 0
451  #define XCVU7P_STRING0 XCVU5P_STRING0
452  #define XCVU7P_STRING1 XCVU5P_STRING1
453  #define XCVU7P_STRING2 XCVU5P_STRING2
454  #define XCVU7P_STRING3 XCVU5P_STRING3
455  #define XCVU7P_STRING4 XCVU5P_STRING4
456  #define XCVU7P_SLR0_END 4
457  #define XCVU7P_SLR1_START 5
458  #define XCVU7P_STRING5 XCVU5P_STRING5
459  #define XCVU7P_STRING6 XCVU5P_STRING6
460  #define XCVU7P_STRING7 XCVU5P_STRING7
461  #define XCVU7P_STRING8 XCVU5P_STRING8
462  #define XCVU7P_STRING9 XCVU5P_STRING9
463  #define XCVU7P_SLR1_END 9
464  #define XCVU7P() { \
465  XUSP_SETUP_DEVICE(XCVU7P_); \
466  XUSP_SETUP_SLRs_2(XCVU7P_); \
467  XUSP_STRING_CAT_10(XCVU7P_); \
468  }
469 
470  //XCVU9P is 3 XCVU3P dies
471  #define XCVU9P_NAME "xcvu9p"
472  #define XCVU9P_SLRNUM 3
473  #define XCVU9P_ROWNUM 15
474  #define XCVU9P_IDCODE 0x4B31093
475  #define XCVU9P_IDCODE1 XCVU7P_IDCODE1
476  #define XCVU9P_IDCODE2 0x4B24093
477  #define XCVU9P_SLR1_START 0
478  #define XCVU9P_STRING0 XCVU3P_STRING0
479  #define XCVU9P_STRING1 XCVU3P_STRING1
480  #define XCVU9P_STRING2 XCVU3P_STRING2
481  #define XCVU9P_STRING3 XCVU3P_STRING3
482  #define XCVU9P_STRING4 XCVU3P_STRING4
483  #define XCVU9P_SLR1_END 4
484  #define XCVU9P_SLR0_START 5
485  #define XCVU9P_STRING5 XCVU3P_STRING0
486  #define XCVU9P_STRING6 XCVU3P_STRING1
487  #define XCVU9P_STRING7 XCVU3P_STRING2
488  #define XCVU9P_STRING8 XCVU3P_STRING3
489  #define XCVU9P_STRING9 XCVU3P_STRING4
490  #define XCVU9P_SLR0_END 9
491  #define XCVU9P_SLR2_START 10
492  #define XCVU9P_STRING10 XCVU3P_STRING0
493  #define XCVU9P_STRING11 XCVU3P_STRING1
494  #define XCVU9P_STRING12 XCVU3P_STRING2
495  #define XCVU9P_STRING13 XCVU3P_STRING3
496  #define XCVU9P_STRING14 XCVU3P_STRING4
497  #define XCVU9P_SLR2_END 14
498  #define XCVU9P() { \
499  XUSP_SETUP_DEVICE(XCVU9P_); \
500  XUSP_SETUP_SLRs_3(XCVU9P_); \
501  XUSP_STRING_CAT_15(XCVU9P_); \
502  }
503 
504  //3 identical dies (4 rows each)
505  #define XCVU11P_NAME "xcvu11p"
506  #define XCVU11P_SLRNUM 3
507  #define XCVU11P_ROWNUM 12
508  #define XCVU11P_IDCODE 0x4B49093
509  #define XCVU11P_IDCODE1 0x4B42093
510  #define XCVU11P_IDCODE2 0x4B44093
511  #define XCVU11P_SLR0_START 0
512  #define XCVU11P_STRING0 "UyJPLJELJPLJPLJPXJPAJPLJfqhJPLJPBJPLJELJPXJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPXJPLJDJPMJELJPLJPLJPLJPXJPLJELJPAJPLJFLJPBJPLJELJPXJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPXJPLJELJPAJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJEMJPabc^JPLJPAJPLJELJPXJPLJDJPMJELJPSJPLJPSJPLJPXJPLJELJPBJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfojKQOKQCKQYKQOKQOKGOKQOKkp\x01"
513  #define XCVU11P_STRING1 "UyJPLJELJPLJPLJPLJPAJPLJfVhJPLJPBJPLJELJPLJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPLJPLJDJPMJELJPLJPLJPLJPLJPLJELJPAJPLJFLJPBJPLJELJPLJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPLJPLJELJPAJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJEMJPabc^JPLJPAJPLJELJPLJPLJDJPMJELJPSJPLJPSJPLJPLJPLJELJPBJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfmjKQOKQCKQOKQOKQOKGOKQOKkp\x01"
514  #define XCVU11P_STRING2 "UyJPLJELJPLJPLJPLJPAJPLJfqhJPLJPBJPLJELJPLJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPLJPLJDJPMJELJPLJPLJPLJPLJPLJELJPAJPLJFLJPBJPLJELJPLJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPLJPLJELJPAJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJEMJPabc^JPLJPAJPLJELJPLJPLJDJPMJELJPSJPLJPSJPLJPLJPLJELJPBJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfnjKQOKQCKQOKQOKQOKGOKQOKkp\x01"
515  #define XCVU11P_STRING3 "UyJPLJELJPLJPLJPXJPAJPLJfqhJPLJPBJPLJELJPXJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPXJPLJDJPMJELJPLJPLJPLJPXJPLJELJPAJPLJFLJPBJPLJELJPXJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPXJPLJELJPAJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJEMJPabc^JPLJPAJPLJELJPXJPLJDJPMJELJPSJPLJPSJPLJPXJPLJELJPBJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfVjKQOKQCKQYKQOKQOKGOKQOKkp\x01"
516  #define XCVU11P_SLR0_END 3
517  #define XCVU11P_SLR1_START 4
518  #define XCVU11P_STRING4 XCVU11P_STRING0
519  #define XCVU11P_STRING5 XCVU11P_STRING1
520  #define XCVU11P_STRING6 XCVU11P_STRING2
521  #define XCVU11P_STRING7 XCVU11P_STRING3
522  #define XCVU11P_SLR1_END 7
523  #define XCVU11P_SLR2_START 8
524  #define XCVU11P_STRING8 XCVU11P_STRING0
525  #define XCVU11P_STRING9 XCVU11P_STRING1
526  #define XCVU11P_STRING10 XCVU11P_STRING2
527  #define XCVU11P_STRING11 XCVU11P_STRING3
528  #define XCVU11P_SLR2_END 11
529  #define XCVU11P() { \
530  XUSP_SETUP_DEVICE(XCVU11P_); \
531  XUSP_SETUP_SLRs_3(XCVU11P_); \
532  XUSP_STRING_CAT_12(XCVU11P_); \
533  }
534 
535  //4 identical dies (4 rows each) (same dies as XCVU11P)
536  #define XCVU13P_NAME "xcvu13p"
537  #define XCVU13P_SLRNUM 4
538  #define XCVU13P_ROWNUM 16
539  #define XCVU13P_IDCODE 0x4B51093
540  #define XCVU13P_IDCODE1 XCVU11P_IDCODE1
541  #define XCVU13P_IDCODE2 XCVU11P_IDCODE2
542  #define XCVU13P_IDCODE3 0x4B46093
543  #define XCVU13P_SLR1_START 0
544  #define XCVU13P_STRING0 XCVU11P_STRING0
545  #define XCVU13P_STRING1 XCVU11P_STRING1
546  #define XCVU13P_STRING2 XCVU11P_STRING2
547  #define XCVU13P_STRING3 XCVU11P_STRING3
548  #define XCVU13P_SLR1_END 3
549  #define XCVU13P_SLR0_START 4
550  #define XCVU13P_STRING4 XCVU11P_STRING0
551  #define XCVU13P_STRING5 XCVU11P_STRING1
552  #define XCVU13P_STRING6 XCVU11P_STRING2
553  #define XCVU13P_STRING7 XCVU11P_STRING3
554  #define XCVU13P_SLR0_END 7
555  #define XCVU13P_SLR2_START 8
556  #define XCVU13P_STRING8 XCVU11P_STRING0
557  #define XCVU13P_STRING9 XCVU11P_STRING1
558  #define XCVU13P_STRING10 XCVU11P_STRING2
559  #define XCVU13P_STRING11 XCVU11P_STRING3
560  #define XCVU13P_SLR2_END 11
561  #define XCVU13P_SLR3_START 12
562  #define XCVU13P_STRING12 XCVU11P_STRING0
563  #define XCVU13P_STRING13 XCVU11P_STRING1
564  #define XCVU13P_STRING14 XCVU11P_STRING2
565  #define XCVU13P_STRING15 XCVU11P_STRING3
566  #define XCVU13P_SLR3_END 15
567  #define XCVU13P() { \
568  XUSP_SETUP_DEVICE(XCVU13P_); \
569  XUSP_SETUP_SLRs_4(XCVU13P_); \
570  XUSP_STRING_CAT_16(XCVU13P_); \
571  }
572 
573  //4 identical dies (5 rows each) also rows are the widest
574  #define XCVU19P_NAME "xcvu19p"
575  #define XCVU19P_SLRNUM 4
576  #define XCVU19P_ROWNUM 20
577  #define XCVU19P_IDCODE 0x4BA1093
578  #define XCVU19P_IDCODE1 0x4BA2093
579  #define XCVU19P_IDCODE2 0x4BA4093
580  #define XCVU19P_IDCODE3 0x4BA6093
581  #define XCVU19P_SLR1_START 0
582  #define XCVU19P_STRING0 "abcdJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPBJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJDJPLJPLJFLJPLJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJPMJPabc^JPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPSJPLJPSJPSJPLJPSJPSJPLJPSJPAJPLJfijKQOKQCKQTKQOKQOKGOKQOKkp\x01"
583  #define XCVU19P_STRING1 "abcdJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPBJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJDJPLJPLJFLJPLJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJPMJPabc^JPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPSJPLJPSJPSJPLJPSJPSJPLJPSJPAJPLJfmjKQOKQCKQTKQOKQOKGOKQOKkp\x01"
584  #define XCVU19P_STRING2 "abcdJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPBJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJDJPLJPLJFLJPLJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJPMJPabc^JPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPSJPLJPSJPSJPLJPSJPSJPLJPSJPAJPLJfnjKQOKQCKQTKQOKQOKGOKQOKkp\x01"
585  #define XCVU19P_STRING3 "abcdJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPLJPBJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJDJPLJPLJFLJPLJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJPMJPabc^JPLJPAJPSJPLJPNJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPNJPSJPLJPSJPSJPLJFLJPSJPLJPSJPSJPLJPSJPSJPLJPSJPAJPLJfijKQOKQCKQTKQOKQOKGOKQOKkp\x01"
586  #define XCVU19P_STRING4 "abcdJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPLJPBJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJDJPLJPLJFLJPLJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJPMJPabc^JPLJPAJPSJPLJPZJPSJPLJPSJPSJPLJPSJPSJPMJPSJPSJPLJPSJPSJPLJPZJPSJPLJPSJPSJPLJFLJPSJPLJPSJPSJPLJPSJPSJPLJPSJPAJPLJfgjKQOKQCKQTKQOKQOKGOKQOKkp\x01"
587  #define XCVU19P_SLR1_END 4
588  #define XCVU19P_SLR0_START 5
589  #define XCVU19P_STRING5 XCVU19P_STRING0
590  #define XCVU19P_STRING6 XCVU19P_STRING1
591  #define XCVU19P_STRING7 XCVU19P_STRING2
592  #define XCVU19P_STRING8 XCVU19P_STRING3
593  #define XCVU19P_STRING9 XCVU19P_STRING4
594  #define XCVU19P_SLR0_END 9
595  #define XCVU19P_SLR2_START 10
596  #define XCVU19P_STRING10 XCVU19P_STRING0
597  #define XCVU19P_STRING11 XCVU19P_STRING1
598  #define XCVU19P_STRING12 XCVU19P_STRING2
599  #define XCVU19P_STRING13 XCVU19P_STRING3
600  #define XCVU19P_STRING14 XCVU19P_STRING4
601  #define XCVU19P_SLR2_END 14
602  #define XCVU19P_SLR3_START 15
603  #define XCVU19P_STRING15 XCVU19P_STRING0
604  #define XCVU19P_STRING16 XCVU19P_STRING1
605  #define XCVU19P_STRING17 XCVU19P_STRING2
606  #define XCVU19P_STRING18 XCVU19P_STRING3
607  #define XCVU19P_STRING19 XCVU19P_STRING4
608  #define XCVU19P_SLR3_END 19
609  #define XCVU19P() { \
610  XUSP_SETUP_DEVICE(XCVU19P_); \
611  XUSP_SETUP_SLRs_4(XCVU19P_); \
612  XUSP_STRING_CAT_20(XCVU19P_); \
613  }
614 
615  #define XCVU23P_NAME "xcvu23p"
616  #define XCVU23P_SLRNUM 1
617  #define XCVU23P_ROWNUM 11
618  #define XCVU23P_IDCODE 0x4ACE093
619  #define XCVU23P_STRING0 XCKU19P_STRING2
620  #define XCVU23P_STRING1 XCKU19P_STRING0
621  #define XCVU23P_STRING2 XCKU19P_STRING1
622  #define XCVU23P_STRING3 XCVU23P_STRING0
623  #define XCVU23P_STRING4 XCKU19P_STRING3
624  #define XCVU23P_STRING5 XCVU23P_STRING0
625  #define XCVU23P_STRING6 XCVU23P_STRING4
626  #define XCVU23P_STRING7 XCVU23P_STRING0
627  #define XCVU23P_STRING8 XCVU23P_STRING4
628  #define XCVU23P_STRING9 XCKU19P_STRING8
629  #define XCVU23P_STRING10 XCVU23P_STRING9
630  #define XCVU23P() { \
631  XUSP_SETUP_DEVICE(XCVU23P_); \
632  XUSP_STRING_CAT_11(XCVU23P_); \
633  }
634 
635  //XCVU27P is a software-limited version of XCVU29P
636  //4 dies from XCVU11P with different I/O: first third and fourth are the same, second is diff
637  #define XCVU27P_NAME "xcvu27p"
638  #define XCVU27P_SLRNUM 4
639  #define XCVU27P_ROWNUM 16
640  #define XCVU27P_IDCODE 0x4B43093
641  #define XCVU27P_IDCODE1 0x4B82093
642  #define XCVU27P_IDCODE2 0x4B84093
643  #define XCVU27P_IDCODE3 0x4B86093
644  #define XCVU27P_SLR1_START 0
645  #define XCVU27P_STRING0 "_yJPLJELJPLJPLJPXJPAJPLJfqhJPLJPBJPLJELJPXJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPXJPLJDJPMJELJPLJPLJPLJPXJPLJELJPAJPLJFLJPBJPLJELJPXJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPXJPLJELJPAJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJEMJPabc^JPLJPAJPLJELJPXJPLJDJPMJELJPSJPLJPSJPLJPXJPLJELJPBJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfqjKQOKQCKQYKQOKQOKGOKQOKkW\x01"
646  #define XCVU27P_STRING1 "_yJPLJELJPLJPLJPLJPAJPLJfVhJPLJPBJPLJELJPLJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPLJPLJDJPMJELJPLJPLJPLJPLJPLJELJPAJPLJFLJPBJPLJELJPLJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPLJPLJELJPAJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJEMJPabc^JPLJPAJPLJELJPLJPLJDJPMJELJPSJPLJPSJPLJPLJPLJELJPBJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfmjKQOKQCKQOKQOKQOKGOKQOKkW\x01"
647  #define XCVU27P_STRING2 "_yJPLJELJPLJPLJPLJPAJPLJfqhJPLJPBJPLJELJPLJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPLJPLJDJPMJELJPLJPLJPLJPLJPLJELJPAJPLJFLJPBJPLJELJPLJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPLJPLJELJPAJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJEMJPabc^JPLJPAJPLJELJPLJPLJDJPMJELJPSJPLJPSJPLJPLJPLJELJPBJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfnjKQOKQCKQOKQOKQOKGOKQOKkW\x01"
648  #define XCVU27P_STRING3 "_yJPLJELJPLJPLJPXJPAJPLJfqhJPLJPBJPLJELJPXJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPXJPLJDJPMJELJPLJPLJPLJPXJPLJELJPAJPLJFLJPBJPLJELJPXJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPXJPLJELJPAJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJEMJPabc^JPLJPAJPLJELJPXJPLJDJPMJELJPSJPLJPSJPLJPXJPLJELJPBJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfVjKQOKQCKQYKQOKQOKGOKQOKkW\x01"
649  #define XCVU27P_SLR1_END 3
650  #define XCVU27P_SLR0_START 4
651  #define XCVU27P_STRING4 XCVU11P_STRING0
652  #define XCVU27P_STRING5 XCVU11P_STRING1
653  #define XCVU27P_STRING6 XCVU11P_STRING2
654  #define XCVU27P_STRING7 XCVU11P_STRING3
655  #define XCVU27P_SLR0_END 7
656  #define XCVU27P_SLR2_START 8
657  #define XCVU27P_STRING8 XCVU27P_STRING0
658  #define XCVU27P_STRING9 XCVU27P_STRING1
659  #define XCVU27P_STRING10 XCVU27P_STRING2
660  #define XCVU27P_STRING11 XCVU27P_STRING3
661  #define XCVU27P_SLR2_END 11
662  #define XCVU27P_SLR3_START 12
663  #define XCVU27P_STRING12 XCVU27P_STRING0
664  #define XCVU27P_STRING13 XCVU27P_STRING1
665  #define XCVU27P_STRING14 XCVU27P_STRING2
666  #define XCVU27P_STRING15 XCVU27P_STRING3
667  #define XCVU27P_SLR3_END 15
668  #define XCVU27P() { \
669  XUSP_SETUP_DEVICE(XCVU27P_); \
670  XUSP_SETUP_SLRs_4(XCVU27P_); \
671  XUSP_STRING_CAT_16(XCVU27P_); \
672  }
673 
674  #define XCVU29P_NAME "xcvu29p"
675  #define XCVU29P_SLRNUM 4
676  #define XCVU29P_ROWNUM 16
677  #define XCVU29P_IDCODE 0x4B41093
678  #define XCVU29P_IDCODE1 XCVU27P_IDCODE1
679  #define XCVU29P_IDCODE2 XCVU27P_IDCODE2
680  #define XCVU29P_IDCODE3 XCVU27P_IDCODE3
681  #define XCVU29P_SLR1_START 0
682  #define XCVU29P_STRING0 XCVU27P_STRING0
683  #define XCVU29P_STRING1 XCVU27P_STRING1
684  #define XCVU29P_STRING2 XCVU27P_STRING2
685  #define XCVU29P_STRING3 XCVU27P_STRING3
686  #define XCVU29P_SLR1_END 3
687  #define XCVU29P_SLR0_START 4
688  #define XCVU29P_STRING4 XCVU27P_STRING4
689  #define XCVU29P_STRING5 XCVU27P_STRING5
690  #define XCVU29P_STRING6 XCVU27P_STRING6
691  #define XCVU29P_STRING7 XCVU27P_STRING7
692  #define XCVU29P_SLR0_END 7
693  #define XCVU29P_SLR2_START 8
694  #define XCVU29P_STRING8 XCVU27P_STRING8
695  #define XCVU29P_STRING9 XCVU27P_STRING9
696  #define XCVU29P_STRING10 XCVU27P_STRING10
697  #define XCVU29P_STRING11 XCVU27P_STRING11
698  #define XCVU29P_SLR2_END 11
699  #define XCVU29P_SLR3_START 12
700  #define XCVU29P_STRING12 XCVU27P_STRING12
701  #define XCVU29P_STRING13 XCVU27P_STRING13
702  #define XCVU29P_STRING14 XCVU27P_STRING14
703  #define XCVU29P_STRING15 XCVU27P_STRING15
704  #define XCVU29P_SLR3_END 15
705  #define XCVU29P() { \
706  XUSP_SETUP_DEVICE(XCVU29P_); \
707  XUSP_SETUP_SLRs_4(XCVU29P_); \
708  XUSP_STRING_CAT_16(XCVU29P_); \
709  }
710 
711  #define XCVU31P_NAME "xcvu31p"
712  #define XCVU31P_SLRNUM 1
713  #define XCVU31P_ROWNUM 4
714  #define XCVU31P_IDCODE 0x4B6B093
715  #define XCVU31P_STRING0 "UyJPLJ!LJPLJPLJPLJPAJPLJfihJPLJPBJPLJ!LJPLJPLJPSJPSJPLJ!LJPLJ!LJPBJPLJ!LJPLJPLJDJPMJ!LJPLJPLJPLJPLJPLJ!LJPAJPLJ!LJPBJPLJ!LJPLJPLJPSJPSJPLJ!LJPMJPLJ!LJPSJPLJPSJPLJPLJ!LJPAJPLJPBJPLJ!LJPLJPLJ!LJPLJDJPLJPMJ!LJPLJPLJPAJPLJ!MJPab@^JPLJPAJPLJ!LJPLJPLJDJPMJ!LJPSJPLJPSJPLJPLJPLJ!LJPBJPLJ!LJPBJPLJ!LJPLJPLJDJPMJ!LJPSJPLJ!LJPLJPLJ!LJPSJPLJPSJPLJ!LJPBJPLJ!LJPLJPLJDJPMJ!LJPSJPLJ!LJPLJPLJ!LJPSJPLJPSJPLJ!LJPLJPLJPLJPLJPLJ!LJPBJPLJfijKQOKQCKQOKQOKQOK!OKQOKkp\x01"
716  #define XCVU31P_STRING1 "UyJPLJELJPLJPLJPLJPAJPLJfqhJPLJPBJPLJELJPLJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPLJPLJDJPMJELJPLJPLJPLJPLJPLJELJPAJPLJFLJPBJPLJELJPLJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPLJPLJELJPAJPLJPBJPLJFLJPLJPLJELJPLJDJPLJPMJELJPLJPLJPAJPLJEMJPabc^JPLJPAJPLJELJPLJPLJDJPMJELJPSJPLJPSJPLJPLJPLJELJPBJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPLJPLJDJPMJELJPSJPLJELJPLJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPLJPLJELJPBJPLJfmjKQOKQCKQOKQOKQOKGOKQOKkp\x01"
717  #define XCVU31P_STRING2 XCVU11P_STRING2
718  #define XCVU31P_STRING3 "UyJPLJELJPLJPLJPXJPAJPLJfihJPLJPBJPLJELJPXJPLJPSJPSJPLJELJPLJFLJPBJPLJELJPXJPLJDJPMJELJPLJPLJPLJPXJPLJELJPAJPLJFLJPBJPLJELJPXJPLJPSJPSJPLJELJPMJPLJELJPSJPLJPSJPXJPLJELJPAJPLJPBJPLJFLJPXJPLJELJPLJDJPLJPMJELJPLJPXJPAJPLJEMJPabc^JPLJPAJPLJELJPXJPLJDJPMJELJPSJPLJPSJPLJPXJPLJELJPBJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPBJPLJELJPXJPLJDJPMJELJPSJPLJELJPXJPLJELJPSJPLJPSJPLJFLJPLJPLJPLJPXJPLJELJPBJPLJfijKQOKQCKQYKQOKQOKGOKQOKkp\x01"
719  #define XCVU31P() { \
720  XUSP_SETUP_DEVICE(XCVU31P_); \
721  XUSP_STRING_CAT_4(XCVU31P_); \
722  }
723 
724  //XCVU33P same as XCVU31P but with more HBM
725  #define XCVU33P_NAME "xcvu33p"
726  #define XCVU33P_SLRNUM 1
727  #define XCVU33P_ROWNUM 4
728  #define XCVU33P_IDCODE 0x4B69093
729  #define XCVU33P_STRING0 XCVU31P_STRING0
730  #define XCVU33P_STRING1 XCVU31P_STRING1
731  #define XCVU33P_STRING2 XCVU31P_STRING2
732  #define XCVU33P_STRING3 XCVU31P_STRING3
733  #define XCVU33P() { \
734  XUSP_SETUP_DEVICE(XCVU33P_); \
735  XUSP_STRING_CAT_4(XCVU33P_); \
736  }
737 
738  //2 dies: XCVU33P + 1 die from XCVU11P
739  #define XCVU35P_NAME "xcvu35p"
740  #define XCVU35P_SLRNUM 2
741  #define XCVU35P_ROWNUM 8
742  #define XCVU35P_IDCODE 0x4B71093
743  #define XCVU35P_IDCODE1 0x4B42093
744  #define XCVU35P_SLR0_START 0
745  #define XCVU35P_STRING0 XCVU33P_STRING0
746  #define XCVU35P_STRING1 XCVU33P_STRING1
747  #define XCVU35P_STRING2 XCVU33P_STRING2
748  #define XCVU35P_STRING3 XCVU33P_STRING3
749  #define XCVU35P_SLR0_END 3
750  #define XCVU35P_SLR1_START 4
751  #define XCVU35P_STRING4 XCVU11P_STRING0
752  #define XCVU35P_STRING5 XCVU11P_STRING1
753  #define XCVU35P_STRING6 XCVU11P_STRING2
754  #define XCVU35P_STRING7 XCVU11P_STRING3
755  #define XCVU35P_SLR1_END 7
756  #define XCVU35P() { \
757  XUSP_SETUP_DEVICE(XCVU35P_); \
758  XUSP_SETUP_SLRs_2(XCVU35P_); \
759  XUSP_STRING_CAT_8(XCVU35P_); \
760  }
761 
762  //3 dies: XCVU33P + 2 dies from XCVU11P
763  #define XCVU37P_NAME "xcvu37p"
764  #define XCVU37P_SLRNUM 3
765  #define XCVU37P_ROWNUM 12
766  #define XCVU37P_IDCODE 0x4B79093
767  #define XCVU37P_IDCODE1 XCVU35P_IDCODE1
768  #define XCVU37P_IDCODE2 0x4B44093
769  #define XCVU37P_SLR0_START 0
770  #define XCVU37P_STRING0 XCVU33P_STRING0
771  #define XCVU37P_STRING1 XCVU33P_STRING1
772  #define XCVU37P_STRING2 XCVU33P_STRING2
773  #define XCVU37P_STRING3 XCVU33P_STRING3
774  #define XCVU37P_SLR0_END 3
775  #define XCVU37P_SLR1_START 4
776  #define XCVU37P_STRING4 XCVU11P_STRING0
777  #define XCVU37P_STRING5 XCVU11P_STRING1
778  #define XCVU37P_STRING6 XCVU11P_STRING2
779  #define XCVU37P_STRING7 XCVU11P_STRING3
780  #define XCVU37P_SLR1_END 7
781  #define XCVU37P_SLR2_START 8
782  #define XCVU37P_STRING8 XCVU11P_STRING0
783  #define XCVU37P_STRING9 XCVU11P_STRING1
784  #define XCVU37P_STRING10 XCVU11P_STRING2
785  #define XCVU37P_STRING11 XCVU11P_STRING3
786  #define XCVU37P_SLR2_END 11
787  #define XCVU37P() { \
788  XUSP_SETUP_DEVICE(XCVU37P_); \
789  XUSP_SETUP_SLRs_3(XCVU37P_); \
790  XUSP_STRING_CAT_12(XCVU37P_); \
791  }
792 
793  //XCVU45P same as XCVU35P but with more HBM
794  #define XCVU45P_NAME "xcvu45p"
795  #define XCVU45P_SLRNUM 2
796  #define XCVU45P_ROWNUM 8
797  #define XCVU45P_IDCODE 0x4B73093
798  #define XCVU45P_IDCODE1 XCVU35P_IDCODE1
799  #define XCVU45P_SLR0_START 0
800  #define XCVU45P_STRING0 XCVU35P_STRING0
801  #define XCVU45P_STRING1 XCVU35P_STRING1
802  #define XCVU45P_STRING2 XCVU35P_STRING2
803  #define XCVU45P_STRING3 XCVU35P_STRING3
804  #define XCVU45P_SLR0_END 3
805  #define XCVU45P_SLR1_START 4
806  #define XCVU45P_STRING4 XCVU35P_STRING4
807  #define XCVU45P_STRING5 XCVU35P_STRING5
808  #define XCVU45P_STRING6 XCVU35P_STRING6
809  #define XCVU45P_STRING7 XCVU35P_STRING7
810  #define XCVU45P_SLR1_END 7
811  #define XCVU45P() { \
812  XUSP_SETUP_DEVICE(XCVU45P_); \
813  XUSP_SETUP_SLRs_2(XCVU45P_); \
814  XUSP_STRING_CAT_8(XCVU45P_); \
815  }
816 
817  //XCVU47P same as XCVU37P but with more HBM
818  #define XCVU47P_NAME "xcvu47p"
819  #define XCVU47P_SLRNUM 3
820  #define XCVU47P_ROWNUM 12
821  #define XCVU47P_IDCODE 0x4B7B093
822  #define XCVU47P_IDCODE1 XCVU37P_IDCODE1
823  #define XCVU47P_IDCODE2 XCVU37P_IDCODE2
824  #define XCVU47P_SLR0_START 0
825  #define XCVU47P_STRING0 XCVU37P_STRING0
826  #define XCVU47P_STRING1 XCVU37P_STRING1
827  #define XCVU47P_STRING2 XCVU37P_STRING2
828  #define XCVU47P_STRING3 XCVU37P_STRING3
829  #define XCVU47P_SLR0_END 3
830  #define XCVU47P_SLR1_START 4
831  #define XCVU47P_STRING4 XCVU37P_STRING4
832  #define XCVU47P_STRING5 XCVU37P_STRING5
833  #define XCVU47P_STRING6 XCVU37P_STRING6
834  #define XCVU47P_STRING7 XCVU37P_STRING7
835  #define XCVU47P_SLR1_END 7
836  #define XCVU47P_SLR2_START 8
837  #define XCVU47P_STRING8 XCVU37P_STRING8
838  #define XCVU47P_STRING9 XCVU37P_STRING9
839  #define XCVU47P_STRING10 XCVU37P_STRING10
840  #define XCVU47P_STRING11 XCVU37P_STRING11
841  #define XCVU47P_SLR2_END 11
842  #define XCVU47P() { \
843  XUSP_SETUP_DEVICE(XCVU47P_); \
844  XUSP_SETUP_SLRs_3(XCVU47P_); \
845  XUSP_STRING_CAT_12(XCVU47P_); \
846  }
847 
848  //3 dies: XCVU33P + 2 dies from XCVU27P
849  #define XCVU57P_NAME "xcvu57p"
850  #define XCVU57P_SLRNUM 3
851  #define XCVU57P_ROWNUM 12
852  #define XCVU57P_IDCODE 0x4B61093
853  #define XCVU57P_IDCODE1 XCVU27P_IDCODE1
854  #define XCVU57P_IDCODE2 XCVU27P_IDCODE2
855  #define XCVU57P_SLR0_START 0
856  #define XCVU57P_STRING0 XCVU33P_STRING0
857  #define XCVU57P_STRING1 XCVU33P_STRING1
858  #define XCVU57P_STRING2 XCVU33P_STRING2
859  #define XCVU57P_STRING3 XCVU33P_STRING3
860  #define XCVU57P_SLR0_END 3
861  #define XCVU57P_SLR1_START 4
862  #define XCVU57P_STRING4 XCVU27P_STRING0
863  #define XCVU57P_STRING5 XCVU27P_STRING1
864  #define XCVU57P_STRING6 XCVU27P_STRING2
865  #define XCVU57P_STRING7 XCVU27P_STRING3
866  #define XCVU57P_SLR1_END 7
867  #define XCVU57P_SLR2_START 8
868  #define XCVU57P_STRING8 XCVU27P_STRING0
869  #define XCVU57P_STRING9 XCVU27P_STRING1
870  #define XCVU57P_STRING10 XCVU27P_STRING2
871  #define XCVU57P_STRING11 XCVU27P_STRING3
872  #define XCVU57P_SLR2_END 11
873  #define XCVU57P() { \
874  XUSP_SETUP_DEVICE(XCVU57P_); \
875  XUSP_SETUP_SLRs_3(XCVU57P_); \
876  XUSP_STRING_CAT_12(XCVU57P_); \
877  }
878 
879 //Xilinx UltraScale+ Zynq MPSoC
880  #define XCZU1_NAME "xczu1"
881  #define XCZU1_SLRNUM 1
882  #define XCZU1_ROWNUM 3
883  #define XCZU1_IDCODE 0x4826093
884  #define XCZU1_STRING0 "#JPLJPBJPLJELJPSJPLJPSJPAJPLJfgjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
885  #define XCZU1_STRING1 "#JPLJPBJPLJELJPSJPLJPSJPAJPLJfmjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
886  #define XCZU1_STRING2 "#JPLJPBJPLJELJPSJPLJPSJPAJPLJfnjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
887  #define XCZU1() { \
888  XUSP_SETUP_DEVICE(XCZU1_); \
889  XUSP_STRING_CAT_3(XCZU1_); \
890  }
891 
892  //XCZU2 is software-limited version of XCZU3
893  #define XCZU2_NAME "xczu2"
894  #define XCZU2_SLRNUM 1
895  #define XCZU2_ROWNUM 3
896  #define XCZU2_IDCODE 0x4A43093
897  #define XCZU2_STRING0 "#JPLJPBJPLJELJPSJPLJPSJPAJPLJfghJPLJPBJPLJELJPSJPLJPSJPLJFLJPLJPBJPLJPAJPLJfgjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
898  #define XCZU2_STRING1 "#JPLJPBJPLJELJPSJPLJPSJPAJPLJfghJPLJPBJPLJELJPSJPLJPSJPLJFLJPLJPBJPLJPAJPLJfmjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
899  #define XCZU2_STRING2 "#JPLJPBJPLJELJPSJPLJPSJPAJPLJfghJPLJPBJPLJELJPSJPLJPSJPLJFLJPLJPBJPLJPAJPLJfnjKQOKGOKQOKGOKQOKQCKQOKtuvw\x01"
900  #define XCZU2() { \
901  XUSP_SETUP_DEVICE(XCZU2_); \
902  XUSP_STRING_CAT_3(XCZU2_); \
903  }
904 
905  #define XCZU3_NAME "xczu3"
906  #define XCZU3_SLRNUM 1
907  #define XCZU3_ROWNUM 3
908  #define XCZU3_IDCODE 0x4A42093
909  #define XCZU3_STRING0 XCZU2_STRING0
910  #define XCZU3_STRING1 XCZU2_STRING1
911  #define XCZU3_STRING2 XCZU2_STRING2
912  #define XCZU3() { \
913  XUSP_SETUP_DEVICE(XCZU3_); \
914  XUSP_STRING_CAT_3(XCZU3_); \
915  }
916 
917  //XCZU4 is software-limited version of XCZU5
918  #define XCZU4_NAME "xczu4"
919  #define XCZU4_SLRNUM 1
920  #define XCZU4_ROWNUM 4
921  #define XCZU4_IDCODE 0x4A47093
922  #define XCZU4_STRING0 "#JPLJELJPLJELJPLJELJPLJfghJPLJELJPSJPLJELJPLJEMJPabc^JPLJELJPBJPLJELJPMJELJPLJELJPLJELJPLJFLJPLJDJPLJPAJPSJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
923  #define XCZU4_STRING1 XCZU4_STRING0
924  #define XCZU4_STRING2 "#JPLJELJPLJELJPLJELJPLJfghJPLJELJPSJPLJELJPLJEMJPabc^JPLJELJPBJPLJELJPMJELJPLJELJPLJELJPLJFLJPLJDJPLJPAJPSJfmjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
925  #define XCZU4_STRING3 "#JPLJELJPLJELJPLJELJPLJfghJPLJELJPSJPLJELJPLJEMJPabc^JPLJELJPBJPLJELJPMJELJPLJELJPLJELJPLJFLJPLJDJPLJPAJPSJfnjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
926  #define XCZU4() { \
927  XUSP_SETUP_DEVICE(XCZU4_); \
928  XUSP_STRING_CAT_4(XCZU4_); \
929  }
930 
931  #define XCZU5_NAME "xczu5"
932  #define XCZU5_SLRNUM 1
933  #define XCZU5_ROWNUM 4
934  #define XCZU5_IDCODE 0x4A46093
935  #define XCZU5_STRING0 XCZU4_STRING0
936  #define XCZU5_STRING1 XCZU4_STRING1
937  #define XCZU5_STRING2 XCZU4_STRING2
938  #define XCZU5_STRING3 XCZU4_STRING3
939  #define XCZU5() { \
940  XUSP_SETUP_DEVICE(XCZU5_); \
941  XUSP_STRING_CAT_4(XCZU5_); \
942  }
943 
944  //XCZU6 is software-limited version of XCZU9 (which is XCKU9P with enabled PS)
945  #define XCZU6_NAME "xczu6"
946  #define XCZU6_SLRNUM 1
947  #define XCZU6_ROWNUM 7
948  #define XCZU6_IDCODE 0x484B093
949  #define XCZU6_STRING0 XCKU9P_STRING0
950  #define XCZU6_STRING1 XCKU9P_STRING1
951  #define XCZU6_STRING2 XCKU9P_STRING2
952  #define XCZU6_STRING3 XCKU9P_STRING3
953  #define XCZU6_STRING4 XCKU9P_STRING4
954  #define XCZU6_STRING5 XCKU9P_STRING5
955  #define XCZU6_STRING6 XCKU9P_STRING6
956  #define XCZU6() { \
957  XUSP_SETUP_DEVICE(XCZU6_); \
958  XUSP_STRING_CAT_7(XCZU6_); \
959  }
960 
961  #define XCZU7_NAME "xczu7"
962  #define XCZU7_SLRNUM 1
963  #define XCZU7_ROWNUM 6
964  #define XCZU7_IDCODE 0x4A5A093
965  #define XCZU7_STRING0 "2050766766761766726766766766766766704076676676676676676676676676676676676672676676672$JPLJELJPBJPLJELJPMJELJPSJPLJDJPLJEMJPabc^JPLJPBJPLJELJPLJEMJPSJPLJELJPLJPLJELJPLJPLJFLJPSJPLJELJPLJPAJPSJfojKQTKQCKQOKGOKQTKQOKQTKkl\x01"
966  #define XCZU7_STRING1 XCZU7_STRING0
967  #define XCZU7_STRING2 "2050766766761766726766766766766766704076676676676676676676676676676676676672676676672$JPLJELJPBJPLJELJPMJELJPSJPLJDJPLJEMJPabc^JPLJPBJPLJELJPLJEMJPSJPLJELJPLJPLJELJPLJPLJFLJPSJPLJELJPLJPAJPSJfmjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
968  #define XCZU7_STRING3 "2050766766761766726766766766766766704076676676676676676676676676676676676672676676672$JPLJELJPBJPLJELJPMJELJPSJPLJDJPLJEMJPabc^JPLJPBJPLJELJPLJEMJPSJPLJELJPLJPLJELJPLJPLJFLJPSJPLJELJPLJPAJPSJfnjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
969  #define XCZU7_STRING4 "abcdJPLJPLJPAJPLJELJPLJPLJPLJPLJPLJfghJPLJPLJPLJPLJPSJPLJPLJPSJPLJPLJPLJPLJFLJPSJPLJELJPLJELJPBJPLJELJPMJELJPSJPLJDJPLJEMJPabc^JPLJPBJPLJELJPLJEMJPSJPLJELJPLJPLJELJPLJPLJFLJPSJPLJELJPLJPAJPSJfgjKQTKQCKQOKGOKQTKQOKQTKkl\x01"
970  #define XCZU7_STRING5 XCZU7_STRING4
971  #define XCZU7() { \
972  XUSP_SETUP_DEVICE(XCZU7_); \
973  XUSP_STRING_CAT_6(XCZU7_); \
974  }
975 
976  //XCZU9 is XCKU9P but with PS enabled
977  #define XCZU9_NAME "xczu9"
978  #define XCZU9_SLRNUM XCKU9P_SLRNUM
979  #define XCZU9_ROWNUM XCKU9P_ROWNUM
980  #define XCZU9_IDCODE XCKU9P_IDCODE
981  #define XCZU9_STRING0 XCKU9P_STRING0
982  #define XCZU9_STRING1 XCKU9P_STRING1
983  #define XCZU9_STRING2 XCKU9P_STRING2
984  #define XCZU9_STRING3 XCKU9P_STRING3
985  #define XCZU9_STRING4 XCKU9P_STRING4
986  #define XCZU9_STRING5 XCKU9P_STRING5
987  #define XCZU9_STRING6 XCKU9P_STRING6
988  #define XCZU9() { \
989  XUSP_SETUP_DEVICE(XCZU9_); \
990  XUSP_STRING_CAT_7(XCZU9_); \
991  }
992 
993  //XCZU11 is XCKU11P but with PS enabled
994  #define XCZU11_NAME "xczu11"
995  #define XCZU11_SLRNUM XCKU11P_SLRNUM
996  #define XCZU11_ROWNUM XCKU11P_ROWNUM
997  #define XCZU11_IDCODE XCKU11P_IDCODE
998  #define XCZU11_STRING0 XCKU11P_STRING0
999  #define XCZU11_STRING1 XCKU11P_STRING1
1000  #define XCZU11_STRING2 XCKU11P_STRING2
1001  #define XCZU11_STRING3 XCKU11P_STRING3
1002  #define XCZU11_STRING4 XCKU11P_STRING4
1003  #define XCZU11_STRING5 XCKU11P_STRING5
1004  #define XCZU11_STRING6 XCKU11P_STRING6
1005  #define XCZU11_STRING7 XCKU11P_STRING7
1006  #define XCZU11() { \
1007  XUSP_SETUP_DEVICE(XCZU11_); \
1008  XUSP_STRING_CAT_8(XCZU11_); \
1009  }
1010 
1011  //XCZU15 is XCKU13P but with PS enabled
1012  #define XCZU15_NAME "xczu15"
1013  #define XCZU15_SLRNUM XCKU13P_SLRNUM
1014  #define XCZU15_ROWNUM XCKU13P_ROWNUM
1015  #define XCZU15_IDCODE XCKU13P_IDCODE
1016  #define XCZU15_STRING0 XCKU13P_STRING0
1017  #define XCZU15_STRING1 XCKU13P_STRING1
1018  #define XCZU15_STRING2 XCKU13P_STRING2
1019  #define XCZU15_STRING3 XCKU13P_STRING3
1020  #define XCZU15_STRING4 XCKU13P_STRING4
1021  #define XCZU15_STRING5 XCKU13P_STRING5
1022  #define XCZU15_STRING6 XCKU13P_STRING6
1023  #define XCZU15() { \
1024  XUSP_SETUP_DEVICE(XCZU15_); \
1025  XUSP_STRING_CAT_7(XCZU15_); \
1026  }
1027 
1028  //XCZU17 is software-limited version of XCZU19(XCKU15P without PS)
1029  #define XCZU17_NAME "xczu17"
1030  #define XCZU17_SLRNUM XCKU15P_SLRNUM
1031  #define XCZU17_ROWNUM XCKU15P_ROWNUM
1032  #define XCZU17_IDCODE 0x4A57093
1033  #define XCZU17_STRING0 XCKU15P_STRING0
1034  #define XCZU17_STRING1 XCKU15P_STRING1
1035  #define XCZU17_STRING2 XCKU15P_STRING2
1036  #define XCZU17_STRING3 XCKU15P_STRING3
1037  #define XCZU17_STRING4 XCKU15P_STRING4
1038  #define XCZU17_STRING5 XCKU15P_STRING5
1039  #define XCZU17_STRING6 XCKU15P_STRING6
1040  #define XCZU17_STRING7 XCKU15P_STRING7
1041  #define XCZU17_STRING8 XCKU15P_STRING8
1042  #define XCZU17_STRING9 XCKU15P_STRING9
1043  #define XCZU17_STRING10 XCKU15P_STRING10
1044  #define XCZU17() { \
1045  XUSP_SETUP_DEVICE(XCZU17_); \
1046  XUSP_STRING_CAT_11(XCZU17_); \
1047  }
1048 
1049  //XCZU19 is XCKU15P but with PS enabled
1050  #define XCZU19_NAME "xczu19"
1051  #define XCZU19_SLRNUM XCKU15P_SLRNUM
1052  #define XCZU19_ROWNUM XCKU15P_ROWNUM
1053  #define XCZU19_IDCODE XCKU15P_IDCODE
1054  #define XCZU19_STRING0 XCKU15P_STRING0
1055  #define XCZU19_STRING1 XCKU15P_STRING1
1056  #define XCZU19_STRING2 XCKU15P_STRING2
1057  #define XCZU19_STRING3 XCKU15P_STRING3
1058  #define XCZU19_STRING4 XCKU15P_STRING4
1059  #define XCZU19_STRING5 XCKU15P_STRING5
1060  #define XCZU19_STRING6 XCKU15P_STRING6
1061  #define XCZU19_STRING7 XCKU15P_STRING7
1062  #define XCZU19_STRING8 XCKU15P_STRING8
1063  #define XCZU19_STRING9 XCKU15P_STRING9
1064  #define XCZU19_STRING10 XCKU15P_STRING10
1065  #define XCZU19() { \
1066  XUSP_SETUP_DEVICE(XCZU19_); \
1067  XUSP_STRING_CAT_11(XCZU19_); \
1068  }
1069 
1070 //Xilinx UltraScale+ Zynq RFSoC
1071  #define XCZU21DR_NAME "xczu21dr"
1072  #define XCZU21DR_SLRNUM 1
1073  #define XCZU21DR_ROWNUM 8
1074  #define XCZU21DR_IDCODE 0x4A83093
1075  #define XCZU21DR_STRING0 "2076676676672676676176670407667617667667376672&JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk+\x01"
1076  #define XCZU21DR_STRING1 "2076676676672676676176670407667617667667376672&JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfmjKQOKIOKQOKIOKQOKQCKQOKk+\x01"
1077  #define XCZU21DR_STRING2 "2076676676672676676176670407667617667667376672&JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfnjKQOKIOKQOKIOKQOKQCKQOKk+\x01"
1078  #define XCZU21DR_STRING3 "UyJPLJPSJPLJHLJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk+\x01"
1079  #define XCZU21DR_STRING4 "UyJPLJPSJPLJHLJPLJPBJPLJfohJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk=\x01"
1080  #define XCZU21DR_STRING5 "UyJPLJPSJPLJHLJPLJPBJPLJfVhJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk=\x01"
1081  #define XCZU21DR_STRING6 "UyJPLJPSJPLJHLJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk=\x01"
1082  #define XCZU21DR_STRING7 XCZU21DR_STRING4
1083  #define XCZU21DR() { \
1084  XUSP_SETUP_DEVICE(XCZU21DR_); \
1085  XUSP_STRING_CAT_8(XCZU21DR_); \
1086  }
1087 
1088  //XCZU25DR is the same chip as XCZU21DR with 2 disabled rows (6 of 8)
1089  //the two disabled rows are again still present in the bitstream
1090  #define XCZU25DR_NAME "xczu25dr"
1091  #define XCZU25DR_SLRNUM 1
1092  #define XCZU25DR_ROWNUM 8
1093  #define XCZU25DR_IDCODE 0x4A87093
1094  #define XCZU25DR_STRING0 XCZU21DR_STRING0
1095  #define XCZU25DR_STRING1 XCZU21DR_STRING1
1096  #define XCZU25DR_STRING2 XCZU21DR_STRING2
1097  #define XCZU25DR_STRING3 XCZU21DR_STRING3
1098  #define XCZU25DR_STRING4 XCZU21DR_STRING4
1099  #define XCZU25DR_STRING5 XCZU21DR_STRING5
1100  #define XCZU25DR_STRING6 "2076676676672676676176670407667617667667376672676672676176672676672676176672676672807667667267617667267667667617667267667667667267667617667267667267667617667267667267620507667267617667267667267617667267667267667667667267617667040766726766726766761766702\x01"
1101  #define XCZU25DR_STRING7 XCZU25DR_STRING6
1102  #define XCZU25DR() { \
1103  XUSP_SETUP_DEVICE(XCZU25DR_); \
1104  XUSP_STRING_CAT_8(XCZU25DR_); \
1105  }
1106 
1107  //Same as ZU21DR
1108  #define XCZU27DR_NAME "xczu27dr"
1109  #define XCZU27DR_IDCODE 0x4A86093
1110  #define XCZU27DR() { \
1111  XCZU21DR(); \
1112  XUSP_PARTNAME(XCZU27DR_NAME); \
1113  XUSP_IDCODE(0, XCZU27DR_IDCODE); \
1114  }
1115 
1116  //Same as ZU21DR
1117  #define XCZU28DR_NAME "xczu28dr"
1118  #define XCZU28DR_IDCODE 0x4A82093
1119  #define XCZU28DR() { \
1120  XCZU21DR(); \
1121  XUSP_PARTNAME(XCZU28DR_NAME); \
1122  XUSP_IDCODE(0, XCZU28DR_IDCODE); \
1123  }
1124 
1125  //Same as ZU21DR
1126  #define XCZU29DR_NAME "xczu29dr"
1127  #define XCZU29DR_IDCODE 0x4A84093
1128  #define XCZU29DR() { \
1129  XCZU21DR(); \
1130  XUSP_PARTNAME(XCZU29DR_NAME); \
1131  XUSP_IDCODE(0, XCZU29DR_IDCODE); \
1132  }
1133 
1134  //Same as ZU21DR
1135  #define XCZU39DR_NAME "xczu39dr"
1136  #define XCZU39DR_IDCODE 0x4A88093
1137  #define XCZU39DR() { \
1138  XCZU21DR(); \
1139  XUSP_PARTNAME(XCZU39DR_NAME); \
1140  XUSP_IDCODE(0, XCZU39DR_IDCODE); \
1141  }
1142 
1143  #define XCZU42DR_NAME "xczu42dr"
1144  #define XCZU42DR_SLRNUM 1
1145  #define XCZU42DR_ROWNUM 5
1146  #define XCZU42DR_IDCODE 0x4ADA093
1147  #define XCZU42DR_STRING0 "20766766766726766761766704076676176672676676672676676672.JPLJDJPLJHLJPAJPLJf(LJPBJPLJHLJPLJDJPLJFLJPAJPLJHLJPAJPLJf),JPMJPBJPLJPSJPSJPLJf[,JPLJHLJPAJPLJFLJPLJHLJPAJPLJHLJPLJf]hJPLJHLJPBJPLJPLJHMJPabc^JPLJHLJPAJPLJHLJPLJf{jKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1148  #define XCZU42DR_STRING1 "20766766766726766761766704076676176672676676672676676672.JPLJDJPLJHLJPAJPLJf(LJPBJPLJHLJPLJDJPLJFLJPAJPLJHLJPAJPLJf),JPMJPBJPLJPSJPSJPLJf[,JPLJHLJPAJPLJFLJPLJHLJPAJPLJHLJPLJf]hJPLJHLJPBJPLJPLJHMJPabc^JPLJHLJPAJPLJHLJPLJfmjKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1149  #define XCZU42DR_STRING2 "20766766766726766761766704076676176672676676672676676672.JPLJDJPLJHLJPAJPLJf(LJPBJPLJHLJPLJDJPLJFLJPAJPLJHLJPAJPLJf),JPMJPBJPLJPSJPSJPLJf},JPLJHLJPAJPLJFLJPLJHLJPAJPLJHLJPLJf]hJPLJHLJPBJPLJPLJHMJPabc^JPLJHLJPAJPLJHLJPLJfnjKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1150  #define XCZU42DR_STRING3 "UyJPLJPSJPLJHLJPLJPBJPLJfqhJPLJPBJPLJHLJPSJPLJHLJPSJPLJFLJPLJDJPLJHLJPAJPLJf(LJPBJPLJHLJPLJDJPLJFLJPAJPLJHLJPAJPLJf),JPMJPBJPLJPSJPSJPLJf[,JPLJHLJPAJPLJFLJPLJHLJPAJPLJHLJPLJf]hJPLJHLJPBJPLJPLJHMJPabc^JPLJHLJPAJPLJHLJPLJf{jKQOKIOKQOKIOKQOKQCKQOKk;\x01"
1151  #define XCZU42DR_STRING4 "UyJPLJPSJPLJHLJPLJPBJPLJf<hJPLJPBJPLJHLJPSJPLJHLJPSJPLJFLJPLJDJPLJHLJPAJPLJf(LJPBJPLJHLJPLJDJPLJFLJPAJPLJHLJPAJPLJf),JPMJPBJPLJPSJPSJPLJf[,JPLJHLJPAJPLJFLJPLJHLJPAJPLJHLJPLJf]hJPLJHLJPBJPLJPLJHMJPabc^JPLJHLJPAJPLJHLJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk;\x01"
1152  #define XCZU42DR() { \
1153  XUSP_SETUP_DEVICE(XCZU42DR_); \
1154  XUSP_STRING_CAT_5(XCZU42DR_); \
1155  }
1156 
1157  #define XCZU43DR_NAME "xczu43dr"
1158  #define XCZU43DR_SLRNUM 1
1159  #define XCZU43DR_ROWNUM 8
1160  #define XCZU43DR_IDCODE 0x4AA7093
1161  #define XCZU43DR_STRING0 "2076676676672676676176670407667617667667376672&JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1162  #define XCZU43DR_STRING1 "2076676676672676676176670407667617667667376672&JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfmjKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1163  #define XCZU43DR_STRING2 "2076676676672676676176670407667617667667376672&JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfnjKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1164  #define XCZU43DR_STRING3 "UyJPLJPSJPLJHLJPLJPBJPLJfqhJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk:\x01"
1165  #define XCZU43DR_STRING4 "UyJPLJPSJPLJHLJPLJPBJPLJfihJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk;\x01"
1166  #define XCZU43DR_STRING5 "UyJPLJPSJPLJHLJPLJPBJPLJfVhJPLJPBJPSJPLJDJPLJFLJPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJF*-JPMJPLJHLJPBJPLJHLJPMJPSJPAJPLJHLJPLJPSJPLJFLJPLJPBJPLJHLJPLJHMJPLJPAJPLJHLJPLJHMJPabc^JPLJHLJPAJPLJHLJPMJHLJPBJPLJHLJPLJFLJPLJPSJPLJHLJPAJPLJfgjKQOKIOKQOKIOKQOKQCKQOKk;\x01"
1167  #define XCZU43DR_STRING6 XCZU43DR_STRING4
1168  #define XCZU43DR_STRING7 XCZU43DR_STRING4
1169  #define XCZU43DR() { \
1170  XUSP_SETUP_DEVICE(XCZU43DR_); \
1171  XUSP_STRING_CAT_8(XCZU43DR_); \
1172  }
1173 
1174  //Same as ZU43DR
1175  #define XCZU46DR_NAME "xczu46dr"
1176  #define XCZU46DR_IDCODE 0x4AA2093
1177  #define XCZU46DR() { \
1178  XCZU43DR(); \
1179  XUSP_PARTNAME(XCZU46DR_NAME); \
1180  XUSP_IDCODE(0, XCZU46DR_IDCODE); \
1181  }
1182 
1183  //Same as ZU43DR
1184  #define XCZU47DR_NAME "xczu47dr"
1185  #define XCZU47DR_IDCODE 0x4AA9093
1186  #define XCZU47DR() { \
1187  XCZU43DR(); \
1188  XUSP_PARTNAME(XCZU47DR_NAME); \
1189  XUSP_IDCODE(0, XCZU47DR_IDCODE); \
1190  }
1191 
1192  //Same as ZU43DR
1193  #define XCZU48DR_NAME "xczu48dr"
1194  #define XCZU48DR_IDCODE 0x4AA5093
1195  #define XCZU48DR() { \
1196  XCZU43DR(); \
1197  XUSP_PARTNAME(XCZU48DR_NAME); \
1198  XUSP_IDCODE(0, XCZU48DR_IDCODE); \
1199  }
1200 
1201  //Same as ZU43DR
1202  #define XCZU49DR_NAME "xczu49dr"
1203  #define XCZU49DR_IDCODE 0x4AA8093
1204  #define XCZU49DR() { \
1205  XCZU43DR(); \
1206  XUSP_PARTNAME(XCZU49DR_NAME); \
1207  XUSP_IDCODE(0, XCZU49DR_IDCODE); \
1208  }
1209 
1210  //Same as ZU42DR
1211  #define XCZU65DR_NAME "xczu65dr"
1212  #define XCZU65DR_IDCODE TODO
1213  #define XCZU65DR() { \
1214  throw std::runtime_error("Device XCZU65DR not yet implemented."); \
1215  XCZU42DR(); \
1216  XUSP_PARTNAME(XCZU65DR_NAME); \
1217  XUSP_IDCODE(0, XCZU65DR_IDCODE); \
1218  }
1219 
1220  //Same as ZU42DR
1221  #define XCZU67DR_NAME "xczu67dr"
1222  #define XCZU67DR_IDCODE TODO
1223  #define XCZU67DR() { \
1224  throw std::runtime_error("Device XCZU67DR not yet implemented."); \
1225  XCZU42DR(); \
1226  XUSP_PARTNAME(XCZU67DR_NAME); \
1227  XUSP_IDCODE(0, XCZU67DR_IDCODE); \
1228  }
1229 
1230 //Xilinx UltraScale+ Alveo rebranding
1231  //XCU200 is rebranded XCVU9P, but IDCODE is different
1232  #define XCU200_NAME "xcu200"
1233  #define XCU200_IDCODE 0x4B37093
1234  #define XCU200() { \
1235  XCVU9P(); \
1236  XUSP_PARTNAME(XCU200_NAME); \
1237  XUSP_IDCODE(0, XCU200_IDCODE); \
1238  }
1239 
1240  //XCU250 is rebranded XCVU13P, but IDCODE is different
1241  #define XCU250_NAME "xcu250"
1242  #define XCU250_IDCODE 0x4B57093
1243  #define XCU250() { \
1244  XCVU13P(); \
1245  XUSP_PARTNAME(XCU250_NAME); \
1246  XUSP_IDCODE(0, XCU250_IDCODE); \
1247  }
1248 
1249  //XCU26 is rebranded XCVU23P, but IDCODE is different
1250  #define XCU26_NAME "xcu26"
1251  #define XCU26_IDCODE 0x4AD5093
1252  #define XCU26() { \
1253  XCVU23P(); \
1254  XUSP_PARTNAME(XCU26_NAME); \
1255  XUSP_IDCODE(0, XCU26_IDCODE); \
1256  }
1257 
1258  //XCUX35 is same as XC26
1259  #define XCUX35_NAME "xcux35"
1260  #define XCUX35_IDCODE XCU26_IDCODE
1261  #define XCUX35() { \
1262  XCU26(); \
1263  XUSP_PARTNAME(XCUX35_NAME); \
1264  XUSP_IDCODE(0, XCUX35_IDCODE); \
1265  }
1266 
1267  //XCU50 is rebranded XCVU35P, but IDCODE is different
1268  #define XCU50_NAME "xcu50"
1269  #define XCU50_IDCODE 0x4B77093
1270  #define XCU50() { \
1271  XCVU35P(); \
1272  XUSP_PARTNAME(XCU50_NAME); \
1273  XUSP_IDCODE(0, XCU50_IDCODE); \
1274  }
1275 
1276  //XCU55N is rebranded XCVU45P, but IDCODE is different
1277  #define XCU55N_NAME "xcu55n"
1278  #define XCU55N_IDCODE 0x4B77093
1279  #define XCU55N() { \
1280  XCVU45P(); \
1281  XUSP_PARTNAME(XCU55N_NAME); \
1282  XUSP_IDCODE(0, XCU55N_IDCODE); \
1283  }
1284 
1285  //XCU55C is rebranded XCVU47P, but IDCODE is different
1286  #define XCU55C_NAME "xcu55c"
1287  #define XCU55C_IDCODE 0x4B7D093
1288  #define XCU55C() { \
1289  XCVU47P(); \
1290  XUSP_PARTNAME(XCU55C_NAME); \
1291  XUSP_IDCODE(0, XCU55C_IDCODE); \
1292  }
1293 
1294  //XCU280 is rebranded XCVU37P, but IDCODE is different
1295  #define XCU280_NAME "xcu280"
1296  #define XCU280_IDCODE XCU55C_IDCODE
1297  #define XCU280() { \
1298  XCVU37P(); \
1299  XUSP_PARTNAME(XCU280_NAME); \
1300  XUSP_IDCODE(0, XCU280_IDCODE); \
1301  }
1302 
1303  /*
1304  offtopic rant: so lets get this straight:
1305  1. XCVU37P is same FPGA as XCVU47P but in a different package and changed IDCODE
1306  2. XCU280 is rebranded XCVU37P with a changed IDCODE
1307  3. XCU55C is rebranded XCVU47P with a changed IDCODE
1308  4. XCU280 and XCU55C have the same IDCODE
1309  5. profit
1310  */
1311 
1312  //XCU30 is rebranded XCZU7, but IDCODE is different
1313  #define XCU30_NAME "xcu30"
1314  #define XCU30_IDCODE 0x4A5C093
1315  #define XCU30() { \
1316  XCZU7(); \
1317  XUSP_PARTNAME(XCU30_NAME); \
1318  XUSP_IDCODE(0, XCU30_IDCODE); \
1319  }
1320 
1321  //XCU25 is rebranded XCZU19, but IDCODE is different
1322  #define XCU25_NAME "xcu25"
1323  #define XCU25_IDCODE 0x4A58093
1324  #define XCU25() { \
1325  XCZU19(); \
1326  XUSP_PARTNAME(XCU25_NAME); \
1327  XUSP_IDCODE(0, XCU25_IDCODE); \
1328  }
1329 
1330 // Kria rebranding
1331  //Kria 26 is rebranded XCZU5
1332  #define XCK26_NAME "xck26"
1333  #define XCK26_IDCODE 0x4A49093
1334  #define XCK26() { \
1335  XCZU5(); \
1336  XUSP_PARTNAME(XCK26_NAME); \
1337  XUSP_IDCODE(0, XCK26_IDCODE); \
1338  }
1339 
1340 #endif // XILINXULTRASCALEPLUSDEVICES_H
XUSP_DEVICE_ENUM
< Enumeration of recognized Xilinx UltraScale+ devices and boards.
Definition: XUSP_Devices.h:23
@ XUSP_DEVICE_ZU_5EV
Definition: XUSP_Devices.h:113
@ XUSP_DEVICE_XCKU13P
Definition: XUSP_Devices.h:35
@ XUSP_DEVICE_HTG_940_13
Definition: XUSP_Devices.h:153
@ XUSP_DEVICE_XCKU11P
Definition: XUSP_Devices.h:34
@ XUSP_DEVICE_HTG_VUP_PCIE_HH_13P
Definition: XUSP_Devices.h:158
@ XUSP_DEVICE_ZCU208
Definition: XUSP_Devices.h:140
@ XUSP_DEVICE_ZU_3EG
Definition: XUSP_Devices.h:112
@ XUSP_DEVICE_XCZU67DR
Definition: XUSP_Devices.h:70
@ XUSP_DEVICE_HTG_960
Definition: XUSP_Devices.h:145
@ XUSP_DEVICE_ZCU670
Definition: XUSP_Devices.h:142
@ XUSP_DEVICE_HTG_Z999_15
Definition: XUSP_Devices.h:116
@ XUSP_DEVICE_XCZU49DR
Definition: XUSP_Devices.h:68
@ XUSP_DEVICE_K26C
Definition: XUSP_Devices.h:96
@ XUSP_DEVICE_XCVU9P
Definition: XUSP_Devices.h:42
@ XUSP_DEVICE_HTG_930_13
Definition: XUSP_Devices.h:120
@ XUSP_DEVICE_XCU55C
Definition: XUSP_Devices.h:91
@ XUSP_DEVICE_TEB0911
Definition: XUSP_Devices.h:135
@ XUSP_DEVICE_VCU128
Definition: XUSP_Devices.h:148
@ XUSP_DEVICE_XCAU25P
Definition: XUSP_Devices.h:29
@ XUSP_DEVICE_AMC574
Definition: XUSP_Devices.h:139
@ XUSP_DEVICE_AXU15EG
Definition: XUSP_Devices.h:104
@ XUSP_DEVICE_XCKU5P
Definition: XUSP_Devices.h:32
@ XUSP_DEVICE_XCU50
Definition: XUSP_Devices.h:89
@ XUSP_DEVICE_HTG_Z999_09
Definition: XUSP_Devices.h:115
@ XUSP_DEVICE_XCZU25DR
Definition: XUSP_Devices.h:58
@ XUSP_DEVICE_XCZU7
Definition: XUSP_Devices.h:78
@ XUSP_DEVICE_VERMEO_T1_MP
Definition: XUSP_Devices.h:172
@ XUSP_DEVICE_TE0808_05_9BE21
Definition: XUSP_Devices.h:131
@ XUSP_DEVICE_ZCU102
Definition: XUSP_Devices.h:101
@ XUSP_DEVICE_XCZU28DR
Definition: XUSP_Devices.h:60
@ XUSP_DEVICE_XCVU45P
Definition: XUSP_Devices.h:53
@ XUSP_DEVICE_NULL
Definition: XUSP_Devices.h:24
@ XUSP_DEVICE_XCVU47P
Definition: XUSP_Devices.h:54
@ XUSP_DEVICE_K26I
Definition: XUSP_Devices.h:97
@ XUSP_DEVICE_XCZU21DR
Definition: XUSP_Devices.h:57
@ XUSP_DEVICE_ZCU106
Definition: XUSP_Devices.h:103
@ XUSP_DEVICE_XCZU3
Definition: XUSP_Devices.h:74
@ XUSP_DEVICE_AXU5EV
Definition: XUSP_Devices.h:108
@ XUSP_DEVICE_HTG_9200_9P
Definition: XUSP_Devices.h:155
@ XUSP_DEVICE_VERMEO_T1_RF
Definition: XUSP_Devices.h:173
@ XUSP_DEVICE_HTG_ZRF8_R2_28
Definition: XUSP_Devices.h:167
@ XUSP_DEVICE_HTG_ZRF16_29
Definition: XUSP_Devices.h:161
@ XUSP_DEVICE_XCVU57P
Definition: XUSP_Devices.h:55
@ XUSP_DEVICE_AXU4EV
Definition: XUSP_Devices.h:107
@ XUSP_DEVICE_VCU118
Definition: XUSP_Devices.h:147
@ XUSP_DEVICE_XCZU47DR
Definition: XUSP_Devices.h:66
@ XUSP_DEVICE_XCZU4
Definition: XUSP_Devices.h:75
@ XUSP_DEVICE_HTG_Z922_11
Definition: XUSP_Devices.h:123
@ XUSP_DEVICE_HTG_9200_5P
Definition: XUSP_Devices.h:154
@ XUSP_DEVICE_AMC584
Definition: XUSP_Devices.h:144
@ XUSP_DEVICE_XCKU9P
Definition: XUSP_Devices.h:33
@ XUSP_DEVICE_XCVU13P
Definition: XUSP_Devices.h:44
@ XUSP_DEVICE_XCKU3P
Definition: XUSP_Devices.h:31
@ XUSP_DEVICE_KCU116
Definition: XUSP_Devices.h:171
@ XUSP_DEVICE_HTG_940_13_3
Definition: XUSP_Devices.h:152
@ XUSP_DEVICE_XCZU42DR
Definition: XUSP_Devices.h:63
@ XUSP_DEVICE_XCU200
Definition: XUSP_Devices.h:85
@ XUSP_DEVICE_XCU26
Definition: XUSP_Devices.h:87
@ XUSP_DEVICE_TYSOM_3_ZU7EV
Definition: XUSP_Devices.h:137
@ XUSP_DEVICE_XCKU15P
Definition: XUSP_Devices.h:36
@ XUSP_DEVICE_HTG_ZRF8_R2_48
Definition: XUSP_Devices.h:169
@ XUSP_DEVICE_XCVU33P
Definition: XUSP_Devices.h:50
@ XUSP_DEVICE_HTG_930_9_3
Definition: XUSP_Devices.h:117
@ XUSP_DEVICE_HTG_930_13_3
Definition: XUSP_Devices.h:119
@ XUSP_DEVICE_HTG_ZRF16_49
Definition: XUSP_Devices.h:162
@ XUSP_DEVICE_HTG_ZUSP_PCIE_11_3
Definition: XUSP_Devices.h:165
@ XUSP_DEVICE_GENESYS_3EG
Definition: XUSP_Devices.h:178
@ XUSP_DEVICE_XCVU7P
Definition: XUSP_Devices.h:41
@ XUSP_DEVICE_XCZU39DR
Definition: XUSP_Devices.h:62
@ XUSP_DEVICE_HTG_940_9_3
Definition: XUSP_Devices.h:150
@ XUSP_DEVICE_TE0808_05_9GI21
Definition: XUSP_Devices.h:132
@ XUSP_DEVICE_TE0802
Definition: XUSP_Devices.h:128
@ XUSP_DEVICE_XCU55N
Definition: XUSP_Devices.h:90
@ XUSP_DEVICE_HTG_ZRF_FMC_28
Definition: XUSP_Devices.h:159
@ XUSP_DEVICE_HTG_Z922_19_DG
Definition: XUSP_Devices.h:124
@ XUSP_DEVICE_TEB0912
Definition: XUSP_Devices.h:136
@ XUSP_DEVICE_XCVU3P
Definition: XUSP_Devices.h:39
@ XUSP_DEVICE_VCU1525
Definition: XUSP_Devices.h:146
@ XUSP_DEVICE_XCVU11P
Definition: XUSP_Devices.h:43
@ XUSP_DEVICE_XCU30
Definition: XUSP_Devices.h:93
@ XUSP_DEVICE_HTG_Z999_06
Definition: XUSP_Devices.h:114
@ XUSP_DEVICE_XCVU35P
Definition: XUSP_Devices.h:51
@ XUSP_DEVICE_ZCU111
Definition: XUSP_Devices.h:176
@ XUSP_DEVICE_HTG_9200_13P
Definition: XUSP_Devices.h:156
@ XUSP_DEVICE_XCZU65DR
Definition: XUSP_Devices.h:69
@ XUSP_DEVICE_XCVU37P
Definition: XUSP_Devices.h:52
@ XUSP_DEVICE_XCU280
Definition: XUSP_Devices.h:92
@ XUSP_DEVICE_ZCU104
Definition: XUSP_Devices.h:102
@ XUSP_DEVICE_XCUX35
Definition: XUSP_Devices.h:88
@ XUSP_DEVICE_HTG_VUP_PCIE_HH_9P
Definition: XUSP_Devices.h:157
@ XUSP_DEVICE_HTG_Z922_19
Definition: XUSP_Devices.h:125
@ XUSP_DEVICE_XCZU9
Definition: XUSP_Devices.h:79
@ XUSP_DEVICE_AXU2CG
Definition: XUSP_Devices.h:105
@ XUSP_DEVICE_CZU4EV
Definition: XUSP_Devices.h:127
@ XUSP_DEVICE_HTG_937_47P
Definition: XUSP_Devices.h:122
@ XUSP_DEVICE_XCVU27P
Definition: XUSP_Devices.h:47
@ XUSP_DEVICE_XCZU27DR
Definition: XUSP_Devices.h:59
@ XUSP_DEVICE_XCKU19P
Definition: XUSP_Devices.h:37
@ XUSP_DEVICE_VCU129
Definition: XUSP_Devices.h:149
@ XUSP_DEVICE_HTG_ZRF_HH_48
Definition: XUSP_Devices.h:164
@ XUSP_DEVICE_XCZU17
Definition: XUSP_Devices.h:82
@ XUSP_DEVICE_XCZU29DR
Definition: XUSP_Devices.h:61
@ XUSP_DEVICE_CZU3EG
Definition: XUSP_Devices.h:126
@ XUSP_DEVICE_XCZU2
Definition: XUSP_Devices.h:73
@ XUSP_DEVICE_XCAU10P
Definition: XUSP_Devices.h:26
@ XUSP_DEVICE_XCVU5P
Definition: XUSP_Devices.h:40
@ XUSP_DEVICE_ULTRAZED_EV
Definition: XUSP_Devices.h:110
@ XUSP_DEVICE_TE0812
Definition: XUSP_Devices.h:134
@ XUSP_DEVICE_ZUBOARD_1CG
Definition: XUSP_Devices.h:170
@ XUSP_DEVICE_XCZU5
Definition: XUSP_Devices.h:76
@ XUSP_DEVICE_XCZU19
Definition: XUSP_Devices.h:83
@ XUSP_DEVICE_XCVU19P
Definition: XUSP_Devices.h:45
@ XUSP_DEVICE_AXU9EG
Definition: XUSP_Devices.h:109
@ XUSP_DEVICE_XCU25
Definition: XUSP_Devices.h:94
@ XUSP_DEVICE_XCAU15P
Definition: XUSP_Devices.h:27
@ XUSP_DEVICE_TE0808_05_BBE21
Definition: XUSP_Devices.h:133
@ XUSP_DEVICE_HTG_937_37P
Definition: XUSP_Devices.h:121
@ XUSP_DEVICE_TE0803_04_3BE11
Definition: XUSP_Devices.h:129
@ XUSP_DEVICE_XCAU20P
Definition: XUSP_Devices.h:28
@ XUSP_DEVICE_PYNQ_ZU
Definition: XUSP_Devices.h:100
@ XUSP_DEVICE_XCZU15
Definition: XUSP_Devices.h:81
@ XUSP_DEVICE_XCZU11
Definition: XUSP_Devices.h:80
@ XUSP_DEVICE_XPEDITE2600
Definition: XUSP_Devices.h:138
@ XUSP_DEVICE_XCZU43DR
Definition: XUSP_Devices.h:64
@ XUSP_DEVICE_MAX
Definition: XUSP_Devices.h:181
@ XUSP_DEVICE_GENESYS_5EV
Definition: XUSP_Devices.h:177
@ XUSP_DEVICE_HTG_930_9
Definition: XUSP_Devices.h:118
@ XUSP_DEVICE_XCZU6
Definition: XUSP_Devices.h:77
@ XUSP_DEVICE_ZCU216
Definition: XUSP_Devices.h:141
@ XUSP_DEVICE_KV260
Definition: XUSP_Devices.h:98
@ XUSP_DEVICE_XCVU31P
Definition: XUSP_Devices.h:49
@ XUSP_DEVICE_XCZU46DR
Definition: XUSP_Devices.h:65
@ XUSP_DEVICE_AXU3EG
Definition: XUSP_Devices.h:106
@ XUSP_DEVICE_HTG_ZRF_FMC_48
Definition: XUSP_Devices.h:160
@ XUSP_DEVICE_HTG_ZRF8_R2_48_I
Definition: XUSP_Devices.h:168
@ XUSP_DEVICE_XCZU1
Definition: XUSP_Devices.h:72
@ XUSP_DEVICE_XCVU29P
Definition: XUSP_Devices.h:48
@ XUSP_DEVICE_XCK26
Definition: XUSP_Devices.h:95
@ XUSP_DEVICE_ZCU1285
Definition: XUSP_Devices.h:175
@ XUSP_DEVICE_HTG_ZUSP_PCIE_19_2
Definition: XUSP_Devices.h:166
@ XUSP_DEVICE_HTG_940_9
Definition: XUSP_Devices.h:151
@ XUSP_DEVICE_XCU250
Definition: XUSP_Devices.h:86
@ XUSP_DEVICE_TE0807_03_7DE21
Definition: XUSP_Devices.h:130
@ XUSP_DEVICE_CHAMP_XD1S
Definition: XUSP_Devices.h:111
@ XUSP_DEVICE_ZCU1275
Definition: XUSP_Devices.h:174
@ XUSP_DEVICE_XCZU48DR
Definition: XUSP_Devices.h:67
@ XUSP_DEVICE_XCVU23P
Definition: XUSP_Devices.h:46
@ XUSP_DEVICE_HTG_ZRF_HH_28
Definition: XUSP_Devices.h:163
@ XUSP_DEVICE_ULTRA96
Definition: XUSP_Devices.h:143