byteman  1.3 (Build #225)
Bitstream relocation and manipulation tool
XS7_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 XILINXSERIES7DEVICES_H
18 #define XILINXSERIES7DEVICES_H
19 
20 #include<cstring>//strcpy
21 
23 {
25  //S7 Spartan
32  //S7 Artix
41  //S7 Zynq
52  //S7 Kintex
60  //S7 Virtex
72  //S7 Boards
110 
112 };
113 
114 #define TODO 0
115 //Functions how to build devices
116 #define XS7_TOPROWS(slrID, value) {SLRinfo[slrID].rowsInTopHalf = value;}
117 #define XS7_BOTROWS(slrID, value) {SLRinfo[slrID].rowsInBottomHalf = value;}
118 #define XS7_PARTNAME(value) {initializedResourceStringShortPartName = partName = value;}
119 #define XS7_SLRFROMROW(slrID, value) {SLRinfo[slrID].fromRow = value;}
120 #define XS7_SLRTOROW(slrID, value) {SLRinfo[slrID].toRow = value;}
121 #define XS7_ROWNUM(value) {numberOfRows = value;}
122 #define XS7_SLRNUM(value) {numberOfSLRs = value;}
123 #define XS7_IDCODE(slrID, value) {SLRinfo[slrID].IDCODE = value;}
124 #define XS7_STRING(rowID, value) {strcpy(resourceString[rowID], value);}
125 #define XS7_STRING_CAT(x, y) {XS7_STRING(y, x##STRING##y);}
126 #define XS7_STRING_CAT_1(x) {XS7_STRING_CAT(x, 0);}
127 #define XS7_STRING_CAT_2(x) {XS7_STRING_CAT(x, 0); XS7_STRING_CAT(x, 1);}
128 #define XS7_STRING_CAT_3(x) {XS7_STRING_CAT_2(x); XS7_STRING_CAT(x, 2);}
129 #define XS7_STRING_CAT_4(x) {XS7_STRING_CAT_3(x); XS7_STRING_CAT(x, 3);}
130 #define XS7_STRING_CAT_5(x) {XS7_STRING_CAT_4(x); XS7_STRING_CAT(x, 4);}
131 #define XS7_STRING_CAT_6(x) {XS7_STRING_CAT_5(x); XS7_STRING_CAT(x, 5);}
132 #define XS7_STRING_CAT_7(x) {XS7_STRING_CAT_6(x); XS7_STRING_CAT(x, 6);}
133 #define XS7_STRING_CAT_8(x) {XS7_STRING_CAT_7(x); XS7_STRING_CAT(x, 7);}
134 #define XS7_STRING_CAT_9(x) {XS7_STRING_CAT_8(x); XS7_STRING_CAT(x, 8);}
135 #define XS7_STRING_CAT_10(x) {XS7_STRING_CAT_9(x); XS7_STRING_CAT(x, 9);}
136 #define XS7_STRING_CAT_11(x) {XS7_STRING_CAT_10(x); XS7_STRING_CAT(x, 10);}
137 #define XS7_STRING_CAT_12(x) {XS7_STRING_CAT_11(x); XS7_STRING_CAT(x, 11);}
138 
139 #define XS7_SETUP_SLR_EXPANDED(slrID, idcodeVal, fromRowVal, toRowVal) {XS7_IDCODE(slrID, idcodeVal);XS7_SLRFROMROW(slrID, fromRowVal);XS7_SLRTOROW(slrID, toRowVal);}
140 #define XS7_SETUP_SLR0(prefix) {XS7_SETUP_SLR_EXPANDED(0, prefix##IDCODE, prefix##SLR0_START, prefix##SLR0_END);}
141 #define XS7_SETUP_SLR(slrID, prefix) {XS7_TOPROWS(slrID, prefix##TOPROWS);XS7_BOTROWS(slrID, prefix##BOTROWS);XS7_SETUP_SLR_EXPANDED(slrID, prefix##IDCODE##slrID, prefix##SLR##slrID##_START, prefix##SLR##slrID##_END);}
142 #define XS7_SETUP_SLRs_2(prefix) {XS7_SETUP_SLR0(prefix); XS7_SETUP_SLR(1, prefix);}
143 #define XS7_SETUP_SLRs_3(prefix) {XS7_SETUP_SLRs_2(prefix); XS7_SETUP_SLR(2, prefix);}
144 #define XS7_SETUP_SLRs_4(prefix) {XS7_SETUP_SLRs_3(prefix); XS7_SETUP_SLR(3, prefix);}
145 #define XS7_SETUP_DEVICE(prefix) { \
146  XS7_PARTNAME(prefix##NAME); \
147  XS7_SLRNUM(prefix##SLRNUM); \
148  XS7_ROWNUM(prefix##ROWNUM); \
149  XS7_TOPROWS(0, prefix##TOPROWS); \
150  XS7_BOTROWS(0, prefix##BOTROWS); \
151  XS7_SLRFROMROW(0, 0); \
152  XS7_SLRTOROW(0, prefix##ROWNUM-1); \
153  XS7_IDCODE(0, prefix##IDCODE); \
154 }
155 
156 
157 
158 
159 //Xilinx Series7 Spartan
160  //XC7S6 is software-limitted version of XC7S15
161  #define XC7S6_NAME "7s6"
162  #define XC7S6_SLRNUM 1
163  #define XC7S6_ROWNUM 1
164  #define XC7S6_IDCODE 0x3622093
165  #define XC7S6_TOPROWS 1
166  #define XC7S6_BOTROWS 0
167  #define XC7S6_STRING0 "abLMLMLMLMLcNOdddddfgMNMHMNALMLMhi\x01"
168  #define XC7S6() { \
169  XS7_SETUP_DEVICE(XC7S6_); \
170  XS7_STRING_CAT_1(XC7S6_); \
171  }
172 
173  #define XC7S15_NAME "7s15"
174  #define XC7S15_SLRNUM 1
175  #define XC7S15_ROWNUM 1
176  #define XC7S15_IDCODE 0x3620093
177  #define XC7S15_TOPROWS 1
178  #define XC7S15_BOTROWS 0
179  #define XC7S15_STRING0 XC7S6_STRING0
180  #define XC7S15() { \
181  XS7_SETUP_DEVICE(XC7S15_); \
182  XS7_STRING_CAT_1(XC7S15_); \
183  }
184 
185  //XC7S25 is XC7A25 with disabled transceivers
186  #define XC7S25_NAME "7s25"
187  #define XC7S25_SLRNUM 1
188  #define XC7S25_ROWNUM 2
189  #define XC7S25_IDCODE 0x37C4093
190  #define XC7S25_TOPROWS 1
191  #define XC7S25_BOTROWS 1
192  #define XC7S25_STRING0 "abLMLMBMNINMdddddfgjLMLMBONMHMNALMLMhi\x01"
193  #define XC7S25_STRING1 "abLMLMBMNINMdddddkglLPQRCONMHMNm\x01"
194  #define XC7S25() { \
195  XS7_SETUP_DEVICE(XC7S25_); \
196  XS7_STRING_CAT_2(XC7S25_); \
197  }
198 
199  //XC7S50 is XC7A50 with disabled transceivers
200  #define XC7S50_NAME "7s50"
201  #define XC7S50_SLRNUM 1
202  #define XC7S50_ROWNUM 3
203  #define XC7S50_IDCODE 0x362F093
204  #define XC7S50_TOPROWS 2
205  #define XC7S50_BOTROWS 1
206  #define XC7S50_STRING0 "abLMLMBMNINMdddddfgONONjLMLMLMBONMHMNALMLMhi\x01"
207  #define XC7S50_STRING1 "abLMLMBMNINMdddddngONONlLMLMLMBONMHMNALMLMhi\x01"
208  #define XC7S50_STRING2 "abLMLMBMNINMLOLOLOgONONoLMLPQRCONMHMNm\x01"
209  #define XC7S50() { \
210  XS7_SETUP_DEVICE(XC7S50_); \
211  XS7_STRING_CAT_3(XC7S50_); \
212  }
213 
214  //XC7S75 is software-limitted version of XC7S100
215  #define XC7S75_NAME "7s75"
216  #define XC7S75_SLRNUM 1
217  #define XC7S75_ROWNUM 4
218  #define XC7S75_IDCODE 0x37C8093
219  #define XC7S75_TOPROWS 2
220  #define XC7S75_BOTROWS 2
221  #define XC7S75_STRING0 "abLMLMBMNINMLOLOLOgONONONONONpLMLMLMLMLMBONMHMNALMLMhi\x01"
222  #define XC7S75_STRING1 "abLMLMBMNINMdddddfgONONONONONjLMLMLMLMLMBONMHMNALMLMhi\x01"
223  #define XC7S75_STRING2 "abLMLMBMNINMdddddngONONONONONlLMLMLMLMLMBONMHMNALMLMhi\x01"
224  #define XC7S75_STRING3 "abLMLMBMNINMLOLOLOgONONONONONoLMLMLMLMLMBONMHMNALMLMhi\x01"
225  #define XC7S75() { \
226  XS7_SETUP_DEVICE(XC7S75_); \
227  XS7_STRING_CAT_4(XC7S75_); \
228  }
229 
230  #define XC7S100_NAME "7s100"
231  #define XC7S100_SLRNUM 1
232  #define XC7S100_ROWNUM 4
233  #define XC7S100_IDCODE 0x37C7093
234  #define XC7S100_TOPROWS 2
235  #define XC7S100_BOTROWS 2
236  #define XC7S100_STRING0 XC7S75_STRING0
237  #define XC7S100_STRING1 XC7S75_STRING1
238  #define XC7S100_STRING2 XC7S75_STRING2
239  #define XC7S100_STRING3 XC7S75_STRING3
240  #define XC7S100() { \
241  XS7_SETUP_DEVICE(XC7S100_); \
242  XS7_STRING_CAT_4(XC7S100_); \
243  }
244 
245 //Xilinx Series7 Artix
246  //XC7A12 is software-limitted version of XC7A25
247  #define XC7A12_NAME "7a12"
248  #define XC7A12_SLRNUM 1
249  #define XC7A12_ROWNUM 2
250  #define XC7A12_IDCODE 0x37C3093
251  #define XC7A12_TOPROWS 1
252  #define XC7A12_BOTROWS 1
253  #define XC7A12_STRING0 "abLMLMBMNINMdddddfgjLMLMBONMHMNALMLMhi\x01"
254  #define XC7A12_STRING1 "abLMLMBMNINMdddddkglLPQRCONMHMNm\x01"
255  #define XC7A12() { \
256  XS7_SETUP_DEVICE(XC7A12_); \
257  XS7_STRING_CAT_2(XC7A12_); \
258  }
259 
260  //XC7A15 is software-limitted version of XC7A50
261  #define XC7A15_NAME "7a15"
262  #define XC7A15_SLRNUM 1
263  #define XC7A15_ROWNUM 3
264  #define XC7A15_IDCODE 0x362E093
265  #define XC7A15_TOPROWS 2
266  #define XC7A15_BOTROWS 1
267  #define XC7A15_STRING0 "abLMLMBMNINMdddddfgONONjLMLMLMBONMHMNALMLMhi\x01"
268  #define XC7A15_STRING1 "abLMLMBMNINMdddddngONONlLMLMLMBONMHMNALMLMhi\x01"
269  #define XC7A15_STRING2 "abLMLMBMNINMLOLOLOgONONoLMLPQRCONMHMNm\x01"
270  #define XC7A15() { \
271  XS7_SETUP_DEVICE(XC7A15_); \
272  XS7_STRING_CAT_3(XC7A15_); \
273  }
274 
275  #define XC7A25_NAME "7a25"
276  #define XC7A25_SLRNUM 1
277  #define XC7A25_ROWNUM 2
278  #define XC7A25_IDCODE 0x37C2093
279  #define XC7A25_TOPROWS 1
280  #define XC7A25_BOTROWS 1
281  #define XC7A25_STRING0 XC7A12_STRING0
282  #define XC7A25_STRING1 XC7A12_STRING1
283  #define XC7A25() { \
284  XS7_SETUP_DEVICE(XC7A25_); \
285  XS7_STRING_CAT_2(XC7A25_); \
286  }
287 
288  //XC7A35 is software-limitted version of XC7A50
289  #define XC7A35_NAME "7a35"
290  #define XC7A35_SLRNUM 1
291  #define XC7A35_ROWNUM 3
292  #define XC7A35_IDCODE 0x362D093
293  #define XC7A35_TOPROWS 2
294  #define XC7A35_BOTROWS 1
295  #define XC7A35_STRING0 XC7A15_STRING0
296  #define XC7A35_STRING1 XC7A15_STRING1
297  #define XC7A35_STRING2 XC7A15_STRING2
298  #define XC7A35() { \
299  XS7_SETUP_DEVICE(XC7A35_); \
300  XS7_STRING_CAT_3(XC7A35_); \
301  }
302 
303  #define XC7A50_NAME "7a50"
304  #define XC7A50_SLRNUM 1
305  #define XC7A50_ROWNUM 3
306  #define XC7A50_IDCODE 0x362C093
307  #define XC7A50_TOPROWS 2
308  #define XC7A50_BOTROWS 1
309  #define XC7A50_STRING0 XC7A15_STRING0
310  #define XC7A50_STRING1 XC7A15_STRING1
311  #define XC7A50_STRING2 XC7A15_STRING2
312  #define XC7A50() { \
313  XS7_SETUP_DEVICE(XC7A50_); \
314  XS7_STRING_CAT_3(XC7A50_); \
315  }
316 
317  //XC7A75 is software-limitted version of XC7A100
318  #define XC7A75_NAME "7a75"
319  #define XC7A75_SLRNUM 1
320  #define XC7A75_ROWNUM 4
321  #define XC7A75_IDCODE 0x3632093
322  #define XC7A75_TOPROWS 2
323  #define XC7A75_BOTROWS 2
324  #define XC7A75_STRING0 "abLMLMBMNINMLOLOLOgONONONONONONpLMNINMBMLMLMBONMHMNm\x01"
325  #define XC7A75_STRING1 "abLMLMBMNINMdddddfgONONONONONONjLMNINMBMLMLMBONMHMNALMLMhi\x01"
326  #define XC7A75_STRING2 "abLMLMBMNINMdddddngONONONONONONlLMNINMBMLMLMBONMHMNALMLMhi\x01"
327  #define XC7A75_STRING3 "abLMLMBMNINMLOLOLOgONONONONONONoLMNINMBMLPQRCONMHMNm\x01"
328  #define XC7A75() { \
329  XS7_SETUP_DEVICE(XC7A75_); \
330  XS7_STRING_CAT_4(XC7A75_); \
331  }
332 
333  #define XC7A100_NAME "7a100"
334  #define XC7A100_SLRNUM 1
335  #define XC7A100_ROWNUM 4
336  #define XC7A100_IDCODE 0x3631093
337  #define XC7A100_TOPROWS 2
338  #define XC7A100_BOTROWS 2
339  #define XC7A100_STRING0 XC7A75_STRING0
340  #define XC7A100_STRING1 XC7A75_STRING1
341  #define XC7A100_STRING2 XC7A75_STRING2
342  #define XC7A100_STRING3 XC7A75_STRING3
343  #define XC7A100() { \
344  XS7_SETUP_DEVICE(XC7A100_); \
345  XS7_STRING_CAT_4(XC7A100_); \
346  }
347 
348  #define XC7A200_NAME "7a200"
349  #define XC7A200_SLRNUM 1
350  #define XC7A200_ROWNUM 5
351  #define XC7A200_IDCODE 0x3636093
352  #define XC7A200_TOPROWS 2
353  #define XC7A200_BOTROWS 3
354  #define XC7A200_STRING0 "abLMLMBMNINMNMHMNALOLOLOgMLMBMNINMLqL000400100001004000prO4NO1NONO1NO4NONO00000000000000BMNINMNMHMNALMLMhi\x01"
355  #define XC7A200_STRING1 "abLMLMBMNINMNMHMNALOLOLOgMLMBMNINMLMLMLMBMNINMNMHMNALMLpNOBMNINMNMHMNANONONONONONONONONOBMNINMNMHMNALMLMhi\x01"
356  #define XC7A200_STRING2 "abLMLMBMNINMNMHMNAdddddfgMLMBMNINMLMLMLMBMNINMNMHMNALMLjNOBMNINMNMHMNANONONONONONONONONOBMNINMNMHMNALMLMhi\x01"
357  #define XC7A200_STRING3 "abLMLMBMNINMNMHMNAdddddngMLMBMNINMLMLMLMBMNINMNMHMNALMLlNOBMNINMNMHMNANONONONONONONONONOBMNINMNMHMNALMLMhi\x01"
358  #define XC7A200_STRING4 "abLMLMBMNINMNMHMNALOLOLOgPQRCMNINMLqL000400100001004000orO4NO1NONO1NO4NONO00000000000000BMNINMNMHMNALMLMhi\x01"
359  #define XC7A200() { \
360  XS7_SETUP_DEVICE(XC7A200_); \
361  XS7_STRING_CAT_5(XC7A200_); \
362  }
363 
364 //Xilinx Series7 Zynq
365  //XC7Z007 is software-limitted version of XC7Z010 with one ARM core disabled
366  #define XC7Z007_NAME "7z007"
367  #define XC7Z007_SLRNUM 1
368  #define XC7Z007_ROWNUM 2
369  #define XC7Z007_IDCODE 0x3723093
370  #define XC7Z007_TOPROWS 1
371  #define XC7Z007_BOTROWS 1
372  #define XC7Z007_STRING0 "230000400100001004tMLMBMNINMdddddfgONONjLMBONMHMNALMLMhi\x01"
373  #define XC7Z007_STRING1 "230000400100001004uMLMBMNINMdddddvgONONlLMBONMHMNALMLMhi\x01"
374  #define XC7Z007() { \
375  XS7_SETUP_DEVICE(XC7Z007_); \
376  XS7_STRING_CAT_2(XC7Z007_); \
377  }
378 
379  #define XC7Z010_NAME "7z010"
380  #define XC7Z010_SLRNUM 1
381  #define XC7Z010_ROWNUM 2
382  #define XC7Z010_IDCODE 0x3722093
383  #define XC7Z010_TOPROWS 1
384  #define XC7Z010_BOTROWS 1
385  #define XC7Z010_STRING0 XC7Z007_STRING0
386  #define XC7Z010_STRING1 XC7Z007_STRING1
387  #define XC7Z010() { \
388  XS7_SETUP_DEVICE(XC7Z010_); \
389  XS7_STRING_CAT_2(XC7Z010_); \
390  }
391 
392  //XC7Z012 is software-limitted version of XC7Z015 with one ARM core disabled
393  #define XC7Z012_NAME "7z012"
394  #define XC7Z012_SLRNUM 1
395  #define XC7Z012_ROWNUM 3
396  #define XC7Z012_IDCODE 0x373C093
397  #define XC7Z012_TOPROWS 1
398  #define XC7Z012_BOTROWS 2
399  #define XC7Z012_STRING0 "abNMNMBMNINMNMHMNALMLMLMLMLOLOLOgONONjLMLMLMNINMBMLPQRCMNINMLm\x01"
400  #define XC7Z012_STRING1 "230000400100001004tMLMLMLMdddddfgONONlLMLMLMNINMBMLMLMBMNINMLALMLMhi\x01"
401  #define XC7Z012_STRING2 "230000400100001004uMLMLMLMdddddvgONONoLMLMLMNINMBMLMLMBMNINMLALMLMhi\x01"
402  #define XC7Z012() { \
403  XS7_SETUP_DEVICE(XC7Z012_); \
404  XS7_STRING_CAT_3(XC7Z012_); \
405  }
406 
407  //XC7Z014 is software-limitted version of XC7Z020 with one ARM core disabled
408  #define XC7Z014_NAME "7z014"
409  #define XC7Z014_SLRNUM 1
410  #define XC7Z014_ROWNUM 3
411  #define XC7Z014_IDCODE 0x3728093
412  #define XC7Z014_TOPROWS 1
413  #define XC7Z014_BOTROWS 2
414  #define XC7Z014_STRING0 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMLjNOBMLMLMLMLOLOLOgONONOBMNINMNMHMNALMLMhi\x01"
415  #define XC7Z014_STRING1 "230000400100001004tMLMBMNINMLMLMLlNOBMLMLMLMdddddfgONONOBMNINMNMHMNALMLMhi\x01"
416  #define XC7Z014_STRING2 "230000400100001004uMLMBMNINMLMLMLoNOBMLMLMLMdddddvgONONOBMNINMNMHMNALMLMhi\x01"
417  #define XC7Z014() { \
418  XS7_SETUP_DEVICE(XC7Z014_); \
419  XS7_STRING_CAT_3(XC7Z014_); \
420  }
421 
422  #define XC7Z015_NAME "7z015"
423  #define XC7Z015_SLRNUM 1
424  #define XC7Z015_ROWNUM 3
425  #define XC7Z015_IDCODE 0x373B093
426  #define XC7Z015_TOPROWS 1
427  #define XC7Z015_BOTROWS 2
428  #define XC7Z015_STRING0 XC7Z012_STRING0
429  #define XC7Z015_STRING1 XC7Z012_STRING1
430  #define XC7Z015_STRING2 XC7Z012_STRING2
431  #define XC7Z015() { \
432  XS7_SETUP_DEVICE(XC7Z015_); \
433  XS7_STRING_CAT_3(XC7Z015_); \
434  }
435 
436  #define XC7Z020_NAME "7z020"
437  #define XC7Z020_SLRNUM 1
438  #define XC7Z020_ROWNUM 3
439  #define XC7Z020_IDCODE 0x3727093
440  #define XC7Z020_TOPROWS 1
441  #define XC7Z020_BOTROWS 2
442  #define XC7Z020_STRING0 XC7Z014_STRING0
443  #define XC7Z020_STRING1 XC7Z014_STRING1
444  #define XC7Z020_STRING2 XC7Z014_STRING2
445  #define XC7Z020() { \
446  XS7_SETUP_DEVICE(XC7Z020_); \
447  XS7_STRING_CAT_3(XC7Z020_); \
448  }
449 
450  #define XC7Z030_NAME "7z030"
451  #define XC7Z030_SLRNUM 1
452  #define XC7Z030_ROWNUM 4
453  #define XC7Z030_IDCODE 0x372C093
454  #define XC7Z030_TOPROWS 1
455  #define XC7Z030_BOTROWS 3
456  #define XC7Z030_STRING0 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMNMHMNALpNONONONALOLOLOgMNINMBOLPQRCMNINMLw\x01"
457  #define XC7Z030_STRING1 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMNMHMNALjNONONONALOLOLOgMNINMBOLMLMBMNINMLALMLMhx\x01"
458  #define XC7Z030_STRING2 "230000400100001004tMLMBMNINMLMLMNMHMNALlNONONONAdddddfgMNINMBOLMLMBMNINMLALMLMhx\x01"
459  #define XC7Z030_STRING3 "230000400100001004uMLMBMNINMLMLMNMHMNALoNONONONAdddddvgMNINMBOLMLMBMNINMLALMLMhx\x01"
460  #define XC7Z030() { \
461  XS7_SETUP_DEVICE(XC7Z030_); \
462  XS7_STRING_CAT_4(XC7Z030_); \
463  }
464 
465  //XC7Z035 is software-limitted version of XC7Z045
466  #define XC7Z035_NAME "7z035"
467  #define XC7Z035_SLRNUM 1
468  #define XC7Z035_ROWNUM 7
469  #define XC7Z035_IDCODE 0x3732093
470  #define XC7Z035_TOPROWS 1
471  #define XC7Z035_BOTROWS 6
472  #define XC7Z035_STRING0 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMNMHMNALMLMLMLMLMLMLMLMLpNOBMNINMNONONONONONALOLOLOgMNINMBOLMLMBMNINMLw\x01"
473  #define XC7Z035_STRING1 XC7Z035_STRING0
474  #define XC7Z035_STRING2 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMNMHMNALMLMLMLMLMLMLMLMLjNOBMNINMNONONONONONALOLOLOgMNINMBOLMLMBMNINMLw\x01"
475  #define XC7Z035_STRING3 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMNMHMNALMLMLMLMLMLMLMLMLlNOBMNINMNONONONONONALOLOLOgMNINMBOLPQRCMNINMLw\x01"
476  #define XC7Z035_STRING4 "abNMNMBMNINMNMHMNALMLMBMNINMLMLMNMHMNALMLMLMLMLMLMLMLMLoNOBMNINMNONONONONONALOLOLOgMNINMBOLMLMBMNINMLALMLMhx\x01"
477  #define XC7Z035_STRING5 "230000400100001004tMLMBMNINMLMLMNMHMNALMLMLMLMLMLMLMLMLoNOBMNINMNONONONONONAdddddfgMNINMBOLMLMBMNINMLALMLMhx\x01"
478  #define XC7Z035_STRING6 "230000400100001004uMLMBMNINMLMLMNMHMNALMLMLMLMLMLMLMLMLoNOBMNINMNONONONONONAdddddvgMNINMBOLMLMBMNINMLALMLMhx\x01"
479  #define XC7Z035() { \
480  XS7_SETUP_DEVICE(XC7Z035_); \
481  XS7_STRING_CAT_7(XC7Z035_); \
482  }
483 
484  #define XC7Z045_NAME "7z045"
485  #define XC7Z045_SLRNUM 1
486  #define XC7Z045_ROWNUM 7
487  #define XC7Z045_IDCODE 0x3731093
488  #define XC7Z045_TOPROWS 1
489  #define XC7Z045_BOTROWS 6
490  #define XC7Z045_STRING0 XC7Z035_STRING0
491  #define XC7Z045_STRING1 XC7Z035_STRING1
492  #define XC7Z045_STRING2 XC7Z035_STRING2
493  #define XC7Z045_STRING3 XC7Z035_STRING3
494  #define XC7Z045_STRING4 XC7Z035_STRING4
495  #define XC7Z045_STRING5 XC7Z035_STRING5
496  #define XC7Z045_STRING6 XC7Z035_STRING6
497  #define XC7Z045() { \
498  XS7_SETUP_DEVICE(XC7Z045_); \
499  XS7_STRING_CAT_7(XC7Z045_); \
500  }
501 
502  #define XC7Z100_NAME "7z100"
503  #define XC7Z100_SLRNUM 1
504  #define XC7Z100_ROWNUM 7
505  #define XC7Z100_IDCODE 0x3736093
506  #define XC7Z100_TOPROWS 1
507  #define XC7Z100_BOTROWS 6
508  #define XC7Z100_STRING0 "abNMNMBMNINMNMHMNALMLMBMNINMLMNINMBMNINMNMHMNALOLOLOgMLMNINMBMNINMNONpLMLMLMLMNINMBMNINMNONONONMHMNANMHMNMLMNMHMNALMNINMBMLMLMBMNINMLw\x01"
509  #define XC7Z100_STRING1 XC7Z100_STRING0
510  #define XC7Z100_STRING2 "abNMNMBMNINMNMHMNALMLMBMNINMLMNINMBMNINMNMHMNALOLOLOgMLMNINMBMNINMNONjLMLMLMLMNINMBMNINMNONONONMHMNANMHMNMLMNMHMNALMNINMBMLMLMBMNINMLw\x01"
511  #define XC7Z100_STRING3 "abNMNMBMNINMNMHMNALMLMBMNINMLMNINMBMNINMNMHMNALOLOLOgMLMNINMBMNINMNONlLMLMLMLMNINMBMNINMNONONONMHMNANMHMNMLMNMHMNALMNINMBMLPQRCMNINMLw\x01"
512  #define XC7Z100_STRING4 "abNMNMBMNINMNMHMNALMLMBMNINMLMNINMBMNINMNMHMNALOLOLOgMLMNINMBMNINMNONoLMLMLMLMNINMBMNINMNONONONMHMNANMHMNMLMNMHMNALMNINMBMLMLMBMNINMLALMLMhx\x01"
513  #define XC7Z100_STRING5 "230000400100001004tMLMBMNINMLMNINMBMNINMNMHMNAdddddfgMLMNINMBMNINMNONoLMLMLMLMNINMBMNINMNONONONMHMNANMHMNMLMNMHMNALMNINMBMLMLMBMNINMLALMLMhx\x01"
514  #define XC7Z100_STRING6 "230000400100001004uMLMBMNINMLMNINMBMNINMNMHMNAdddddvgMLMNINMBMNINMNONoLMLMLMLMNINMBMNINMNONONONMHMNANMHMNMLMNMHMNALMNINMBMLMLMBMNINMLALMLMhx\x01"
515  #define XC7Z100() { \
516  XS7_SETUP_DEVICE(XC7Z100_); \
517  XS7_STRING_CAT_7(XC7Z100_); \
518  }
519 
520 //Xilinx Series7 Kintex
521  #define XC7K70_NAME "7k70"
522  #define XC7K70_SLRNUM 1
523  #define XC7K70_ROWNUM 4
524  #define XC7K70_IDCODE 0x3647093
525  #define XC7K70_TOPROWS 2
526  #define XC7K70_BOTROWS 2
527  #define XC7K70_STRING0 "abLMLMBMNINMNMHMNALOLOLOgpLMLMBMNINMLALMLMhx\x01"
528  #define XC7K70_STRING1 "abLMLMBMNINMNMHMNAdddddfgjLMLMBMNINMLALMLMhx\x01"
529  #define XC7K70_STRING2 "abLMLMBMNINMNMHMNAdddddkglLPQRCMNINMLw\x01"
530  #define XC7K70_STRING3 "abLMLMBMNINMNMHMNALOLOLOgoLMLMBMNINMLw\x01"
531  #define XC7K70() { \
532  XS7_SETUP_DEVICE(XC7K70_); \
533  XS7_STRING_CAT_4(XC7K70_); \
534  }
535 
536  #define XC7K160_NAME "7k160"
537  #define XC7K160_SLRNUM 1
538  #define XC7K160_ROWNUM 5
539  #define XC7K160_IDCODE 0x364C093
540  #define XC7K160_TOPROWS 2
541  #define XC7K160_BOTROWS 3
542  #define XC7K160_STRING0 "abLMLMBMNINMNMHMNALOLOLOgONMNINMBONONpLMLANMHMNMNINMBMLMLMBMNINMLMLALMLMhx\x01"
543  #define XC7K160_STRING1 XC7K160_STRING0
544  #define XC7K160_STRING2 "abLMLMBMNINMNMHMNAdddddfgONMNINMBONONjLMLANMHMNMNINMBMLMLMBMNINMLMLALMLMhx\x01"
545  #define XC7K160_STRING3 "abLMLMBMNINMNMHMNAdddddkgONMNINMBONONlLMLANMHMNMNINMBMLPQRCMNINMLMLw\x01"
546  #define XC7K160_STRING4 "abLMLMBMNINMNMHMNALOLOLOgONMNINMBONONoLMLANMHMNMNINMBMLMLMBMNINMLMLw\x01"
547  #define XC7K160() { \
548  XS7_SETUP_DEVICE(XC7K160_); \
549  XS7_STRING_CAT_5(XC7K160_); \
550  }
551 
552  #define XC7K325_NAME "7k325"
553  #define XC7K325_SLRNUM 1
554  #define XC7K325_ROWNUM 7
555  #define XC7K325_IDCODE 0x3651093
556  #define XC7K325_TOPROWS 4
557  #define XC7K325_BOTROWS 3
558  #define XC7K325_STRING0 "abLMLMBMNINMNMHMNALOLOLOgONONONOBMNINMNONONONONONpLMLMLMLMLMLMBMNINMLMNINMBMLMLMBMNINMLMLALMLMhx\x01"
559  #define XC7K325_STRING1 XC7K325_STRING0
560  #define XC7K325_STRING2 "abLMLMBMNINMNMHMNAdddddfgONONONOBMNINMNONONONONONpLMLMLMLMLMLMBMNINMLMNINMBMLMLMBMNINMLMLALMLMhx\x01"
561  #define XC7K325_STRING3 "abLMLMBMNINMNMHMNAdddddkgONONONOBMNINMNONONONONONjLMLMLMLMLMLMBMNINMLMNINMBMLPQRCMNINMLMLw\x01"
562  #define XC7K325_STRING4 "abLMLMBMNINMNMHMNALOLOLOgONONONOBMNINMNONONONONONlLMLMLMLMLMLMBMNINMLMNINMBMLMLMBMNINMLMLw\x01"
563  #define XC7K325_STRING5 "abLMLMBMNINMNMHMNALOLOLOgONONONOBMNINMNONONONONONoLMLMLMLMLMLMBMNINMLMNINMBMLMLMBMNINMLMLw\x01"
564  #define XC7K325_STRING6 XC7K325_STRING5
565  #define XC7K325() { \
566  XS7_SETUP_DEVICE(XC7K325_); \
567  XS7_STRING_CAT_7(XC7K325_); \
568  }
569 
570  #define XC7K355_NAME "7k355"
571  #define XC7K355_SLRNUM 1
572  #define XC7K355_ROWNUM 6
573  #define XC7K355_IDCODE 0x3747093
574  #define XC7K355_TOPROWS 3
575  #define XC7K355_BOTROWS 3
576  #define XC7K355_STRING0 "abLMLMBMNINMNMHMNALOLOLOgOBMNINMNMHMNANONONONOBMNINMNMHMNANONpLMLMBMNINMNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLw\x01"
577  #define XC7K355_STRING1 XC7K355_STRING0
578  #define XC7K355_STRING2 "abLMLMBMNINMNMHMNAdddddfgOBMNINMNMHMNANONONONOBMNINMNMHMNANONjLMLMBMNINMNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLw\x01"
579  #define XC7K355_STRING3 "abLMLMBMNINMNMHMNAdddddkgOBMNINMNMHMNANONONONOBMNINMNMHMNANONlLMLMBMNINMNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLPQRCMNINMLMLw\x01"
580  #define XC7K355_STRING4 "abLMLMBMNINMNMHMNALOLOLOgOBMNINMNMHMNANONONONOBMNINMNMHMNANONoLMLMBMNINMNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLw\x01"
581  #define XC7K355_STRING5 XC7K355_STRING4
582  #define XC7K355() { \
583  XS7_SETUP_DEVICE(XC7K355_); \
584  XS7_STRING_CAT_6(XC7K355_); \
585  }
586 
587  #define XC7K410_NAME "7k410"
588  #define XC7K410_SLRNUM 1
589  #define XC7K410_ROWNUM 7
590  #define XC7K410_IDCODE 0x3656093
591  #define XC7K410_TOPROWS 4
592  #define XC7K410_BOTROWS 3
593  #define XC7K410_STRING0 "abLMLMBMNINMNMHMNALOLOLOgONONONOBMNINMNMHMNANONONONOBMNINMNMHMNANpNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLALMLMhx\x01"
594  #define XC7K410_STRING1 XC7K410_STRING0
595  #define XC7K410_STRING2 "abLMLMBMNINMNMHMNAdddddfgONONONOBMNINMNMHMNANONONONOBMNINMNMHMNANpNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLALMLMhx\x01"
596  #define XC7K410_STRING3 "abLMLMBMNINMNMHMNAdddddkgONONONOBMNINMNMHMNANONONONOBMNINMNMHMNANjNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLPQRCMNINMLMLw\x01"
597  #define XC7K410_STRING4 "abLMLMBMNINMNMHMNALOLOLOgONONONOBMNINMNMHMNANONONONOBMNINMNMHMNANlNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLw\x01"
598  #define XC7K410_STRING5 "abLMLMBMNINMNMHMNALOLOLOgONONONOBMNINMNMHMNANONONONOBMNINMNMHMNANoNMHMNALMLMLMLMBMNINMNMHMNALMLMLMNINMBMLMLMBMNINMLMLw\x01"
599  #define XC7K410_STRING6 XC7K410_STRING5
600  #define XC7K410() { \
601  XS7_SETUP_DEVICE(XC7K410_); \
602  XS7_STRING_CAT_7(XC7K410_); \
603  }
604 
605  //XC7K420 is software-limitted version of XC7K480, which itself is XC7K355's rows but more
606  #define XC7K420_NAME "7k420"
607  #define XC7K420_SLRNUM 1
608  #define XC7K420_ROWNUM 8
609  #define XC7K420_IDCODE 0x3752093
610  #define XC7K420_TOPROWS 4
611  #define XC7K420_BOTROWS 4
612  #define XC7K420_STRING0 XC7K355_STRING0
613  #define XC7K420_STRING1 XC7K355_STRING0
614  #define XC7K420_STRING2 XC7K355_STRING0
615  #define XC7K420_STRING3 XC7K355_STRING2
616  #define XC7K420_STRING4 XC7K355_STRING3
617  #define XC7K420_STRING5 XC7K355_STRING4
618  #define XC7K420_STRING6 XC7K355_STRING4
619  #define XC7K420_STRING7 XC7K355_STRING4
620  #define XC7K420() { \
621  XS7_SETUP_DEVICE(XC7K420_); \
622  XS7_STRING_CAT_8(XC7K420_); \
623  }
624 
625  #define XC7K480_NAME "7k480"
626  #define XC7K480_SLRNUM 1
627  #define XC7K480_ROWNUM 8
628  #define XC7K480_IDCODE 0x3751093
629  #define XC7K480_TOPROWS 4
630  #define XC7K480_BOTROWS 4
631  #define XC7K480_STRING0 XC7K420_STRING0
632  #define XC7K480_STRING1 XC7K420_STRING1
633  #define XC7K480_STRING2 XC7K420_STRING2
634  #define XC7K480_STRING3 XC7K420_STRING3
635  #define XC7K480_STRING4 XC7K420_STRING4
636  #define XC7K480_STRING5 XC7K420_STRING5
637  #define XC7K480_STRING6 XC7K420_STRING6
638  #define XC7K480_STRING7 XC7K420_STRING7
639  #define XC7K480() { \
640  XS7_SETUP_DEVICE(XC7K480_); \
641  XS7_STRING_CAT_8(XC7K480_); \
642  }
643 
644 //Xilinx Series7 Virtex
645  #define XC7V585_NAME "7v585"
646  #define XC7V585_SLRNUM 1
647  #define XC7V585_ROWNUM 9
648  #define XC7V585_IDCODE 0x3671093
649  #define XC7V585_TOPROWS 5
650  #define XC7V585_BOTROWS 4
651  #define XC7V585_STRING0 "abLMLMBMNINMLMLMNMHMNALOLOLOgONONONONANMHMNONONMNINMBONpLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLMLMBONONw\x01"
652  #define XC7V585_STRING1 "abLMLMBMNINMLMLMNMHMNALOLOLOgONONONONANMHMNONONMNINMBONpLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLPQRCONONw\x01"
653  #define XC7V585_STRING2 XC7V585_STRING0
654  #define XC7V585_STRING3 "ybLMLMBMNINMLMLMNMHMNAdddddfgONONONONANMHMNONONMNINMBONpLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLMLMBONONw\x01"
655  #define XC7V585_STRING4 "ybLMLMBMNINMLMLMNMHMNAdddddngONONONONANMHMNONONMNINMBONjLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLPQRCONONw\x01"
656  #define XC7V585_STRING5 "ybLMLMBMNINMLMLMNMHMNALOLOLOgONONONONANMHMNONONMNINMBONlLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLMLMBONONw\x01"
657  #define XC7V585_STRING6 "ybLMLMBMNINMLMLMNMHMNALOLOLOgONONONONANMHMNONONMNINMBONoLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLMLMBONONw\x01"
658  #define XC7V585_STRING7 "ybLMLMBMNINMLMLMNMHMNALOLOLOgONONONONANMHMNONONMNINMBONoLMLMLMLMLMLMLALMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMNINMBMLPQRCONONw\x01"
659  #define XC7V585_STRING8 XC7V585_STRING6
660  #define XC7V585() { \
661  XS7_SETUP_DEVICE(XC7V585_); \
662  XS7_STRING_CAT_9(XC7V585_); \
663  }
664 
665  #define XC7V2000_NAME "7v2000"
666  #define XC7V2000_SLRNUM 4
667  #define XC7V2000_ROWNUM 12
668  #define XC7V2000_IDCODE 0x36B3093
669  #define XC7V2000_IDCODE1 0x36A2093
670  #define XC7V2000_IDCODE2 0x36A4093
671  #define XC7V2000_IDCODE3 0x36A6093
672  #define XC7V2000_TOPROWS 2
673  #define XC7V2000_BOTROWS 1
674  #define XC7V2000_SLR1_START 0
675  #define XC7V2000_STRING0 "DMNINMLMLMLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMybLMLMBMNINMLMLMNMHMNAdddddzgONONONONONONONONONONONMNINMBONONONONONONONONONONONONONJLMLMLMLMLMLMLMLMLMLMLMLMLMLMLALMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMLMLMLMLMLMLMNINMBMLMLMBONONw\x01"
676  #define XC7V2000_STRING1 "BMNINMLMLMLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMybLMLMBMNINMLMLMNMHMNAdddddKgONONONONONONONONONONONMNINMBONONONONONONONONONONONONONjLMLMLMLMLMLMLMLMLMLMLMLMLMLMLALMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMLMLMLMLMLMLMNINMBMLPQRCONONw\x01"
677  #define XC7V2000_STRING2 "EMNINMLMLMLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMybLMLMBMNINMLMLMNMHMNALOLOLOgONONONONONONONONONONONMNINMBONONONONONONONONONONONONONeLMLMLMLMLMLMLMLMLMLMLMLMLMLMLALMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMLMLMLMLMLMLMNINMBMLMLMBONONw\x01"
678  #define XC7V2000_SLR1_END 2
679  #define XC7V2000_SLR0_START 3
680  #define XC7V2000_STRING3 "DMNINMLMLMLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMybLMLMBMNINMLMLMNMHMNAdddddfgONONONONONONONONONONONMNINMBONONONONONONONONONONONONONJLMLMLMLMLMLMLMLMLMLMLMLMLMLMLALMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMLMLMLMLMLMLMNINMBMLMLMBONONw\x01"
681  #define XC7V2000_STRING4 "BMNINMLMLMLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMybLMLMBMNINMLMLMNMHMNAdddddngONONONONONONONONONONONMNINMBONONONONONONONONONONONONONjLMLMLMLMLMLMLMLMLMLMLMLMLMLMLALMLMLMLMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMNMHMNALMLMhxLMLMLMLMLMLMLMLMLMLMLMLMBMNINMLMLMLMLMLMLMLMLMNINMBMLPQRCONONw\x01"
682  #define XC7V2000_STRING5 XC7V2000_STRING2
683  #define XC7V2000_SLR0_END 5
684  #define XC7V2000_SLR2_START 6
685  #define XC7V2000_STRING6 XC7V2000_STRING0
686  #define XC7V2000_STRING7 XC7V2000_STRING1
687  #define XC7V2000_STRING8 XC7V2000_STRING2
688  #define XC7V2000_SLR2_END 8
689  #define XC7V2000_SLR3_START 9
690  #define XC7V2000_STRING9 XC7V2000_STRING0
691  #define XC7V2000_STRING10 XC7V2000_STRING1
692  #define XC7V2000_STRING11 XC7V2000_STRING2
693  #define XC7V2000_SLR3_END 11
694  #define XC7V2000() { \
695  XS7_SETUP_DEVICE(XC7V2000_); \
696  XS7_SETUP_SLRs_4(XC7V2000_); \
697  XS7_STRING_CAT_12(XC7V2000_); \
698  }
699 
700 //TODO: VH virtex7 devices need some special support for the empty GTZ SLRs. Skip them for now
701  //VH580 has a third SLR that is empty?!
702  #define XC7VH580_NAME "7vh580"
703  #define XC7VH580_SLRNUM 2
704  #define XC7VH580_ROWNUM 6
705  #define XC7VH580_IDCODE 0x36D9093
706  #define XC7VH580_IDCODE1 0x36C2093
707  #define XC7VH580_TOPROWS 1
708  #define XC7VH580_BOTROWS 2
709  #define XC7VH580_SLR0_START 0
710  #define XC7VH580_STRING0 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONONANMHMNONONONONONONONONJLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLMLMLMBMNINMBONON_\x01"
711  #define XC7VH580_STRING1 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddfgONONONONONONONONANMHMNONONONONONONONONjLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
712  #define XC7VH580_STRING2 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddngONONONONONONONONANMHMNONONONONONONONONeLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
713  #define XC7VH580_SLR0_END 2
714  #define XC7VH580_SLR1_START 3
715  #define XC7VH580_STRING3 XC7VH580_STRING0
716  #define XC7VH580_STRING4 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddzgONONONONONONONONANMHMNONONONONONONONONjLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
717  #define XC7VH580_STRING5 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddKgONONONONONONONONANMHMNONONONONONONONONsLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
718  #define XC7VH580_SLR1_END 5
719  #define XC7VH580() { \
720  XS7_SETUP_DEVICE(XC7VH580_); \
721  XS7_SETUP_SLRs_2(XC7VH580_); \
722  XS7_STRING_CAT_6(XC7VH580_); \
723  }
724 
725  //VH870 has first and fifth SLRs that are empty?!
726  #define XC7VH870_NAME "7vh870"
727  #define XC7VH870_SLRNUM 3
728  #define XC7VH870_ROWNUM 9
729  #define XC7VH870_IDCODE 0x36DB093
730  #define XC7VH870_IDCODE1 0x36C2093
731  #define XC7VH870_IDCODE2 0x36C4093
732  #define XC7VH870_TOPROWS 1
733  #define XC7VH870_BOTROWS 2
734  //SLR '1' is under the chip
735  #define XC7VH870_SLR1_START 0
736  #define XC7VH870_STRING0 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONONANMHMNONONONONONONONON#LMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLMLMLMBMNINMBONON_\x01"
737  #define XC7VH870_STRING1 XC7VH580_STRING4
738  #define XC7VH870_STRING2 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddKgONONONONONONONONANMHMNONONONONONONONONeLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
739  #define XC7VH870_SLR1_END 2
740  #define XC7VH870_SLR0_START 3
741  #define XC7VH870_STRING3 XC7VH580_STRING0
742  #define XC7VH870_STRING4 XC7VH580_STRING1
743  #define XC7VH870_STRING5 XC7VH580_STRING2
744  #define XC7VH870_SLR0_END 5
745  #define XC7VH870_SLR2_START 6
746  #define XC7VH870_STRING6 XC7VH580_STRING0
747  #define XC7VH870_STRING7 XC7VH580_STRING4
748  #define XC7VH870_STRING8 XC7VH580_STRING5
749  #define XC7VH870_SLR2_END 8
750 
751  #define XC7VH870() { \
752  XS7_SETUP_DEVICE(XC7VH870_); \
753  XS7_SETUP_SLRs_3(XC7VH870_); \
754  XS7_STRING_CAT_9(XC7VH870_); \
755  }
756 
757  #define XC7VX330_NAME "7vx330"
758  #define XC7VX330_SLRNUM 1
759  #define XC7VX330_ROWNUM 7
760  #define XC7VX330_IDCODE 0x3667093
761  #define XC7VX330_TOPROWS 5
762  #define XC7VX330_BOTROWS 2
763  #define XC7VX330_STRING0 "abLMLMBMNINMNMHMNALOLOLOgONONANMHMNALMLpNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLMLMLMBMNINMBONON_\x01"
764  #define XC7VX330_STRING1 "ybLMLMBMNINMNMHMNAdddddfgONONANMHMNALMLpNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLSTUVUFMNINMBONON_\x01"
765  #define XC7VX330_STRING2 "ybLMLMBMNINMNMHMNAdddddngONONANMHMNALMLpNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLWXRYRCMNINMBONON_\x01"
766  #define XC7VX330_STRING3 "ybLMLMBMNINMNMHMNALOLOLOgONONANMHMNALMLjNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLMLMLMBMNINMBONON_\x01"
767  #define XC7VX330_STRING4 "ybLMLMBMNINMNMHMNALOLOLOgONONANMHMNALMLlNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLSTUVUFMNINMBONON_\x01"
768  #define XC7VX330_STRING5 "ybLMLMBMNINMNMHMNALOLOLOgONONANMHMNALMLoNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLWXRYRCMNINMBONON_\x01"
769  #define XC7VX330_STRING6 "ybLMLMBMNINMNMHMNALOLOLOgONONANMHMNALMLoNONOBMNINMNMHMNANONOBMNINMNMHMNANONOhxNONOBMLMLMLMBMNINMBONON_\x01"
770  #define XC7VX330() { \
771  XS7_SETUP_DEVICE(XC7VX330_); \
772  XS7_STRING_CAT_7(XC7VX330_); \
773  }
774 
775  #define XC7VX415_NAME "7vx415"
776  #define XC7VX415_SLRNUM 1
777  #define XC7VX415_ROWNUM 6
778  #define XC7VX415_IDCODE 0x3682093
779  #define XC7VX415_TOPROWS 5
780  #define XC7VX415_BOTROWS 1
781  #define XC7VX415_STRING0 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOdddddfgONONANMHMNjNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
782  #define XC7VX415_STRING1 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOdddddngONONANMHMNlNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
783  #define XC7VX415_STRING2 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLMLMLMBMNINMBONON_\x01"
784  #define XC7VX415_STRING3 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
785  #define XC7VX415_STRING4 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
786  #define XC7VX415_STRING5 XC7VX415_STRING2
787  #define XC7VX415() { \
788  XS7_SETUP_DEVICE(XC7VX415_); \
789  XS7_STRING_CAT_6(XC7VX415_); \
790  }
791 
792  #define XC7VX485_NAME "7vx485"
793  #define XC7VX485_SLRNUM 1
794  #define XC7VX485_ROWNUM 7
795  #define XC7VX485_IDCODE 0x3687093
796  #define XC7VX485_TOPROWS 5
797  #define XC7VX485_BOTROWS 2
798  #define XC7VX485_STRING0 "wONONALMNMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMLOLOLOgMNMHMNANMHMNpNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLMLMBONONw\x01"
799  #define XC7VX485_STRING1 "wONONALMNMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMdddddfgMNMHMNANMHMNpNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLMLMBONONw\x01"
800  #define XC7VX485_STRING2 "wONONGYRZMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMdddddngMNMHMNANMHMNpNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLPQRCONONw\x01"
801  #define XC7VX485_STRING3 "wONONALMNMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMLOLOLOgMNMHMNANMHMNjNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLMLMBONONw\x01"
802  #define XC7VX485_STRING4 "wONONALMNMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMLOLOLOgMNMHMNANMHMNlNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLMLMBONONw\x01"
803  #define XC7VX485_STRING5 "wONONGYRZMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMLOLOLOgMNMHMNANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLPQRCONONw\x01"
804  #define XC7VX485_STRING6 "wONONALMNMLANMHMNMNMHMNANMHMNALMybNMHMNANMHMNMNINMBMNINMLOLOLOgMNMHMNANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMBMNINMLMNINMBMLMLMBONONw\x01"
805  #define XC7VX485() { \
806  XS7_SETUP_DEVICE(XC7VX485_); \
807  XS7_STRING_CAT_7(XC7VX485_); \
808  }
809 
810  //XC7VX550 is software-limitted version of XC7VX690
811  #define XC7VX550_NAME "7vx550"
812  #define XC7VX550_SLRNUM 1
813  #define XC7VX550_ROWNUM 10
814  #define XC7VX550_IDCODE 0x3692093
815  #define XC7VX550_TOPROWS 5
816  #define XC7VX550_BOTROWS 5
817  #define XC7VX550_STRING0 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNpNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLMLMLMBMNINMBONON_\x01"
818  #define XC7VX550_STRING1 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNpNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
819  #define XC7VX550_STRING2 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNpNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
820  #define XC7VX550_STRING3 XC7VX550_STRING0
821  #define XC7VX550_STRING4 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOdddddfgONONANMHMNjNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
822  #define XC7VX550_STRING5 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOdddddngONONANMHMNlNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
823  #define XC7VX550_STRING6 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLMLMLMBMNINMBONON_\x01"
824  #define XC7VX550_STRING7 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
825  #define XC7VX550_STRING8 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMybNMHMNANMHMNMNINMBOLOLOLOgONONANMHMNoNMHMNANMHMNMNINMBMNINMNMHMNANMHMNMNINMBMNINMhxLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
826  #define XC7VX550_STRING9 XC7VX550_STRING6
827  #define XC7VX550() { \
828  XS7_SETUP_DEVICE(XC7VX550_); \
829  XS7_STRING_CAT_10(XC7VX550_); \
830  }
831 
832  #define XC7VX690_NAME "7vx690"
833  #define XC7VX690_SLRNUM 1
834  #define XC7VX690_ROWNUM 10
835  #define XC7VX690_IDCODE 0x3691093
836  #define XC7VX690_TOPROWS 5
837  #define XC7VX690_BOTROWS 5
838  #define XC7VX690_STRING0 XC7VX550_STRING0
839  #define XC7VX690_STRING1 XC7VX550_STRING1
840  #define XC7VX690_STRING2 XC7VX550_STRING2
841  #define XC7VX690_STRING3 XC7VX550_STRING3
842  #define XC7VX690_STRING4 XC7VX550_STRING4
843  #define XC7VX690_STRING5 XC7VX550_STRING5
844  #define XC7VX690_STRING6 XC7VX550_STRING6
845  #define XC7VX690_STRING7 XC7VX550_STRING7
846  #define XC7VX690_STRING8 XC7VX550_STRING8
847  #define XC7VX690_STRING9 XC7VX550_STRING9
848  #define XC7VX690() { \
849  XS7_SETUP_DEVICE(XC7VX690_); \
850  XS7_STRING_CAT_10(XC7VX690_); \
851  }
852 
853  #define XC7VX980_NAME "7vx980"
854  #define XC7VX980_SLRNUM 1
855  #define XC7VX980_ROWNUM 9
856  #define XC7VX980_IDCODE 0x3696093
857  #define XC7VX980_TOPROWS 4
858  #define XC7VX980_BOTROWS 5
859  #define XC7VX980_STRING0 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONMHMNANMHMNMLMLMLMLMLMLpLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLMLMLMBMNINMBONON_\x01"
860  #define XC7VX980_STRING1 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONMHMNANMHMNMLMLMLMLMLMLpLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLSTUVUFMNINMBONON_\x01"
861  #define XC7VX980_STRING2 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONMHMNANMHMNMLMLMLMLMLMLpLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLWXRYRCMNINMBONON_\x01"
862  #define XC7VX980_STRING3 XC7VX980_STRING0
863  #define XC7VX980_STRING4 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddfgONONONONONONONMHMNANMHMNMLMLMLMLMLMLjLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLSTUVUFMNINMBONON_\x01"
864  #define XC7VX980_STRING5 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddngONONONONONONONMHMNANMHMNMLMLMLMLMLMLlLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLWXRYRCMNINMBONON_\x01"
865  #define XC7VX980_STRING6 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONMHMNANMHMNMLMLMLMLMLMLoLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLMLMLMBMNINMBONON_\x01"
866  #define XC7VX980_STRING7 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONMHMNANMHMNMLMLMLMLMLMLoLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLSTUVUFMNINMBONON_\x01"
867  #define XC7VX980_STRING8 "_ONONANMHMNALMLMNMLANMHMNMNINMBMNINMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONMHMNANMHMNMLMLMLMLMLMLoLMLMLMLMLMLMNMHMNANMHMNMNINMBMNINMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMNMHMNANMHMNMNINMBMLWXRYRCMNINMBONON_\x01"
868  #define XC7VX980() { \
869  XS7_SETUP_DEVICE(XC7VX980_); \
870  XS7_STRING_CAT_9(XC7VX980_); \
871  }
872 
873  #define XC7VX1140_NAME "7vx1140"
874  #define XC7VX1140_SLRNUM 4
875  #define XC7VX1140_ROWNUM 12
876  #define XC7VX1140_IDCODE 0x36D5093
877  #define XC7VX1140_IDCODE1 0x36C2093
878  #define XC7VX1140_IDCODE2 0x36C4093
879  #define XC7VX1140_IDCODE3 0x36C6093
880  #define XC7VX1140_TOPROWS 1
881  #define XC7VX1140_BOTROWS 2
882  #define XC7VX1140_SLR1_START 0
883  #define XC7VX1140_STRING0 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMLOLOLOgONONONONONONONONANMHMNONONONONONONONONJLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLMLMLMBMNINMBONON_\x01"
884  #define XC7VX1140_STRING1 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddzgONONONONONONONONANMHMNONONONONONONONONjLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
885  #define XC7VX1140_STRING2 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddKgONONONONONONONONANMHMNONONONONONONONONeLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
886  #define XC7VX1140_SLR1_END 2
887  #define XC7VX1140_SLR0_START 3
888  #define XC7VX1140_STRING3 XC7VX1140_STRING0
889  #define XC7VX1140_STRING4 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddfgONONONONONONONONANMHMNONONONONONONONONjLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLSTUVUFMNINMBONON_\x01"
890  #define XC7VX1140_STRING5 "_ONONANMHMNALMLMNMLANMHMNONMHMNALMLMNMHMNALMLMybLMLMBMNINMNMHMNALMLMdddddngONONONONONONONONANMHMNONONONONONONONONeLMLMLMLMLMLMLMLMNMHMNALMLMLMLMLMLMLMLMLMLMLMLMLMBMNINMNMHMNALMLMhxLMLMBMNINMLMLMBMNINMLMNINMBMLWXRYRCMNINMBONON_\x01"
891  #define XC7VX1140_SLR0_END 5
892  #define XC7VX1140_SLR2_START 6
893  #define XC7VX1140_STRING6 XC7VX1140_STRING0
894  #define XC7VX1140_STRING7 XC7VX1140_STRING1
895  #define XC7VX1140_STRING8 XC7VX1140_STRING2
896  #define XC7VX1140_SLR2_END 8
897  #define XC7VX1140_SLR3_START 9
898  #define XC7VX1140_STRING9 XC7VX1140_STRING0
899  #define XC7VX1140_STRING10 XC7VX1140_STRING1
900  #define XC7VX1140_STRING11 XC7VX1140_STRING2
901  #define XC7VX1140_SLR3_END 11
902  #define XC7VX1140() { \
903  XS7_SETUP_DEVICE(XC7VX1140_); \
904  XS7_SETUP_SLRs_4(XC7VX1140_); \
905  XS7_STRING_CAT_12(XC7VX1140_); \
906  }
907 
908 #endif // XILINXSERIES7DEVICES_H
XS7_DEVICE_ENUM
< Enumeration of recognized Xilinx Series 7 devices and boards.
Definition: XS7_Devices.h:23
@ XS7_DEVICE_XC7V2000
Definition: XS7_Devices.h:62
@ XS7_DEVICE_CMOD_A15
Definition: XS7_Devices.h:92
@ XS7_DEVICE_ZEDBOARD
Definition: XS7_Devices.h:95
@ XS7_DEVICE_XC7A100
Definition: XS7_Devices.h:39
@ XS7_DEVICE_VC7215
Definition: XS7_Devices.h:105
@ XS7_DEVICE_XC7A15
Definition: XS7_Devices.h:34
@ XS7_DEVICE_KC705
Definition: XS7_Devices.h:75
@ XS7_DEVICE_XC7K70
Definition: XS7_Devices.h:53
@ XS7_DEVICE_XC7K325
Definition: XS7_Devices.h:55
@ XS7_DEVICE_CORA_Z10
Definition: XS7_Devices.h:97
@ XS7_DEVICE_XC7K480
Definition: XS7_Devices.h:59
@ XS7_DEVICE_BASYS3
Definition: XS7_Devices.h:85
@ XS7_DEVICE_SP701
Definition: XS7_Devices.h:77
@ XS7_DEVICE_ARTY_A35
Definition: XS7_Devices.h:79
@ XS7_DEVICE_ARTY_S25
Definition: XS7_Devices.h:83
@ XS7_DEVICE_ARTY_Z10
Definition: XS7_Devices.h:81
@ XS7_DEVICE_ZYBO_Z10
Definition: XS7_Devices.h:90
@ XS7_DEVICE_XC7K420
Definition: XS7_Devices.h:58
@ XS7_DEVICE_MAX
Definition: XS7_Devices.h:111
@ XS7_DEVICE_XC7Z045
Definition: XS7_Devices.h:50
@ XS7_DEVICE_XC7A12
Definition: XS7_Devices.h:33
@ XS7_DEVICE_XC7A200
Definition: XS7_Devices.h:40
@ XS7_DEVICE_NEXYS_A100
Definition: XS7_Devices.h:89
@ XS7_DEVICE_USB104
Definition: XS7_Devices.h:101
@ XS7_DEVICE_ARTY_S50
Definition: XS7_Devices.h:84
@ XS7_DEVICE_XC7Z030
Definition: XS7_Devices.h:48
@ XS7_DEVICE_XC7Z014
Definition: XS7_Devices.h:45
@ XS7_DEVICE_XC7A35
Definition: XS7_Devices.h:36
@ XS7_DEVICE_XC7K410
Definition: XS7_Devices.h:57
@ XS7_DEVICE_XC7K355
Definition: XS7_Devices.h:56
@ XS7_DEVICE_ZYBO_Z20
Definition: XS7_Devices.h:91
@ XS7_DEVICE_ARTY_Z20
Definition: XS7_Devices.h:82
@ XS7_DEVICE_XC7S75
Definition: XS7_Devices.h:30
@ XS7_DEVICE_VC7203
Definition: XS7_Devices.h:106
@ XS7_DEVICE_KINTEX7CONNECTIVITY
Definition: XS7_Devices.h:74
@ XS7_DEVICE_XC7S15
Definition: XS7_Devices.h:27
@ XS7_DEVICE_XC7VX1140
Definition: XS7_Devices.h:71
@ XS7_DEVICE_NETFPGA_SUME
Definition: XS7_Devices.h:102
@ XS7_DEVICE_ZC702
Definition: XS7_Devices.h:108
@ XS7_DEVICE_XC7VX690
Definition: XS7_Devices.h:69
@ XS7_DEVICE_KC724
Definition: XS7_Devices.h:76
@ XS7_DEVICE_XC7A75
Definition: XS7_Devices.h:38
@ XS7_DEVICE_XC7V585
Definition: XS7_Devices.h:61
@ XS7_DEVICE_XC7VH870
Definition: XS7_Devices.h:64
@ XS7_DEVICE_XC7Z100
Definition: XS7_Devices.h:51
@ XS7_DEVICE_XC7S50
Definition: XS7_Devices.h:29
@ XS7_DEVICE_ARTY_GENESYS2
Definition: XS7_Devices.h:99
@ XS7_DEVICE_NEXYS_A50
Definition: XS7_Devices.h:88
@ XS7_DEVICE_XC7Z012
Definition: XS7_Devices.h:44
@ XS7_DEVICE_ZC706
Definition: XS7_Devices.h:109
@ XS7_DEVICE_XC7Z035
Definition: XS7_Devices.h:49
@ XS7_DEVICE_VC707
Definition: XS7_Devices.h:103
@ XS7_DEVICE_XC7K160
Definition: XS7_Devices.h:54
@ XS7_DEVICE_XC7Z015
Definition: XS7_Devices.h:46
@ XS7_DEVICE_CORA_Z7
Definition: XS7_Devices.h:96
@ XS7_DEVICE_XC7A25
Definition: XS7_Devices.h:35
@ XS7_DEVICE_WIZARDE
Definition: XS7_Devices.h:73
@ XS7_DEVICE_NULL
Definition: XS7_Devices.h:24
@ XS7_DEVICE_VC709
Definition: XS7_Devices.h:104
@ XS7_DEVICE_XC7S6
Definition: XS7_Devices.h:26
@ XS7_DEVICE_XC7S100
Definition: XS7_Devices.h:31
@ XS7_DEVICE_XC7Z010
Definition: XS7_Devices.h:43
@ XS7_DEVICE_PYNQ_Z1
Definition: XS7_Devices.h:86
@ XS7_DEVICE_VC7222
Definition: XS7_Devices.h:107
@ XS7_DEVICE_PYNQ_Z2
Definition: XS7_Devices.h:87
@ XS7_DEVICE_XC7Z007
Definition: XS7_Devices.h:42
@ XS7_DEVICE_XC7S25
Definition: XS7_Devices.h:28
@ XS7_DEVICE_XC7VX330
Definition: XS7_Devices.h:65
@ XS7_DEVICE_AC701
Definition: XS7_Devices.h:78
@ XS7_DEVICE_XC7A50
Definition: XS7_Devices.h:37
@ XS7_DEVICE_XC7VX980
Definition: XS7_Devices.h:70
@ XS7_DEVICE_CMOD_A35
Definition: XS7_Devices.h:93
@ XS7_DEVICE_ECLYPSE_Z7
Definition: XS7_Devices.h:100
@ XS7_DEVICE_XC7VX550
Definition: XS7_Devices.h:68
@ XS7_DEVICE_ARTY_A100
Definition: XS7_Devices.h:80
@ XS7_DEVICE_NEXYS_VIDEO
Definition: XS7_Devices.h:98
@ XS7_DEVICE_XC7Z020
Definition: XS7_Devices.h:47
@ XS7_DEVICE_XC7VX485
Definition: XS7_Devices.h:67
@ XS7_DEVICE_XC7VX415
Definition: XS7_Devices.h:66
@ XS7_DEVICE_CMOD_S25
Definition: XS7_Devices.h:94
@ XS7_DEVICE_XC7VH580
Definition: XS7_Devices.h:63