Skip to content

Commit b07da49

Browse files
committed
Add 14 Artix-7 boards (openXC7 multi-part chipdb)
New FPGA entries (artix7, yosys-arch xc7): xc7a35tcsg324, xc7a35tfgg484, xc7a35tftg256, xc7a50tcsg324, xc7a50tfgg484, xc7a100tcsg324, xc7a100tfgg484, xc7a100tftg256, xc7a100tfgg676, xc7a200tfbg484 (speed 3) and xc7a200tfbg484-2 (same package, -2 speed grade for the ZXTRES++). New boards: alchitry-au, alchitry-au-plus, arty-a7-35t, arty-a7-100t, cmod-a7-35t, colorlight-i9plus, microphase-a7-lite, mimas-a7, nexys-a7-50t, nexys-a7-100t (same FPGA/pinout as Nexys 4 DDR), qmtech-xc7a100t-ft2232h, zxtres, zxtres-plus, zxtres-plus-plus. openFPGALoader board ids verified against v1.1.1 (the oss-cad-suite binary apio ships). Boards without integrated USB-JTAG follow the existing colorlight-5a-75x convention (external cable via -c). The ZXTRES family parts come from the official zxtres org Vivado project (xc7a35tfgg484-2 / xc7a100tfgg484-2 / xc7a200tfbv484-2, one shared pinout; fbv484 is the lidless, footprint-identical fbg484); their bare JTAG points use -c usb-blaster per the official manual. Requires the openxc7 package release >= 2026-07-10 (multi-part chipdb, one .bin per footprint above).
1 parent 3f09d19 commit b07da49

2 files changed

Lines changed: 336 additions & 0 deletions

File tree

definitions/boards.jsonc

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,5 +1088,207 @@
10881088
"pid": "6010",
10891089
"product-regex": "^Digilent USB Device*"
10901090
}
1091+
},
1092+
1093+
// https://alchitry.com/boards/au/
1094+
"alchitry-au": {
1095+
"description": "Alchitry Au (Xilinx, Artix7)",
1096+
"fpga-id": "xc7a35tftg256",
1097+
"programmer": {
1098+
"id": "openfpgaloader",
1099+
"extra-args": "--board alchitry_au"
1100+
},
1101+
"usb": {
1102+
"vid": "0403",
1103+
"pid": "6010"
1104+
}
1105+
},
1106+
1107+
// https://alchitry.com/boards/au/
1108+
"alchitry-au-plus": {
1109+
"description": "Alchitry Au+ (Xilinx, Artix7)",
1110+
"fpga-id": "xc7a100tftg256",
1111+
"programmer": {
1112+
"id": "openfpgaloader",
1113+
"extra-args": "--board alchitry_au_plus"
1114+
},
1115+
"usb": {
1116+
"vid": "0403",
1117+
"pid": "6010"
1118+
}
1119+
},
1120+
1121+
// https://digilent.com/reference/programmable-logic/arty-a7/start
1122+
"arty-a7-35t": {
1123+
"description": "Arty A7-35T (Xilinx, Artix7)",
1124+
"fpga-id": "xc7a35tcsg324",
1125+
"programmer": {
1126+
"id": "openfpgaloader",
1127+
"extra-args": "--board arty_a7_35t"
1128+
},
1129+
"usb": {
1130+
"vid": "0403",
1131+
"pid": "6010"
1132+
}
1133+
},
1134+
1135+
// https://digilent.com/reference/programmable-logic/arty-a7/start
1136+
"arty-a7-100t": {
1137+
"description": "Arty A7-100T (Xilinx, Artix7)",
1138+
"fpga-id": "xc7a100tcsg324",
1139+
"programmer": {
1140+
"id": "openfpgaloader",
1141+
"extra-args": "--board arty_a7_100t"
1142+
},
1143+
"usb": {
1144+
"vid": "0403",
1145+
"pid": "6010"
1146+
}
1147+
},
1148+
1149+
// https://digilent.com/reference/programmable-logic/cmod-a7/start
1150+
"cmod-a7-35t": {
1151+
"description": "Cmod A7-35T (Xilinx, Artix7)",
1152+
"fpga-id": "xc7a35tcpg236",
1153+
"programmer": {
1154+
"id": "openfpgaloader",
1155+
"extra-args": "--board cmoda7_35t"
1156+
},
1157+
"usb": {
1158+
"vid": "0403",
1159+
"pid": "6010"
1160+
}
1161+
},
1162+
1163+
// Artix-7 drop-in module for the Colorlight i5/i9 EVB (no onboard JTAG;
1164+
// the EVB exposes a CMSIS-DAP USB debugger)
1165+
// https://github.com/wuxx/Colorlight-FPGA-Projects
1166+
"colorlight-i9plus": {
1167+
"description": "Colorlight i9+ (Xilinx, Artix7)",
1168+
"fpga-id": "xc7a50tfgg484",
1169+
"programmer": {
1170+
"id": "openfpgaloader",
1171+
"extra-args": "--board colorlight-i9+ -c cmsisdap"
1172+
},
1173+
"usb": {
1174+
"vid": "0d28",
1175+
"pid": "0204"
1176+
}
1177+
},
1178+
1179+
// Onboard FT232H USB-JTAG; no openFPGALoader board id -> generic cable
1180+
// https://github.com/microphase-tech/A7-Lite
1181+
"microphase-a7-lite": {
1182+
"description": "MicroPhase A7-Lite (Xilinx, Artix7)",
1183+
"fpga-id": "xc7a200tfbg484",
1184+
"programmer": {
1185+
"id": "openfpgaloader",
1186+
"extra-args": "-c ft232 --fpga-part xc7a200tfbg484"
1187+
},
1188+
"usb": {
1189+
"vid": "0403",
1190+
"pid": "6014"
1191+
}
1192+
},
1193+
1194+
// https://numato.com/product/mimas-a7-fpga-development-board/
1195+
"mimas-a7": {
1196+
"description": "Mimas A7 (Xilinx, Artix7)",
1197+
"fpga-id": "xc7a50tfgg484",
1198+
"programmer": {
1199+
"id": "openfpgaloader",
1200+
"extra-args": "--board mimas_a7"
1201+
},
1202+
"usb": {
1203+
"vid": "2a19",
1204+
"pid": "1009"
1205+
}
1206+
},
1207+
1208+
// https://digilent.com/reference/programmable-logic/nexys-a7/start
1209+
"nexys-a7-50t": {
1210+
"description": "Nexys A7-50T (Xilinx, Artix7)",
1211+
"fpga-id": "xc7a50tcsg324",
1212+
"programmer": {
1213+
"id": "openfpgaloader",
1214+
"extra-args": "--board nexys_a7_50"
1215+
},
1216+
"usb": {
1217+
"vid": "0403",
1218+
"pid": "6010"
1219+
}
1220+
},
1221+
1222+
// https://digilent.com/reference/programmable-logic/nexys-a7/start
1223+
// Same fpga and pinout as the older Nexys 4 DDR
1224+
"nexys-a7-100t": {
1225+
"description": "Nexys A7-100T / Nexys 4 DDR (Xilinx, Artix7)",
1226+
"fpga-id": "xc7a100tcsg324",
1227+
"programmer": {
1228+
"id": "openfpgaloader",
1229+
"extra-args": "--board nexys_a7_100"
1230+
},
1231+
"usb": {
1232+
"vid": "0403",
1233+
"pid": "6010"
1234+
}
1235+
},
1236+
1237+
// QMTECH XC7A100T core board: no onboard JTAG -> external FT2232H cable
1238+
// https://github.com/ChinaQMTECH
1239+
"qmtech-xc7a100t-ft2232h": {
1240+
"description": "QMTECH XC7A100T core board (Xilinx, Artix7)",
1241+
"fpga-id": "xc7a100tfgg676",
1242+
"programmer": {
1243+
"id": "openfpgaloader",
1244+
"extra-args": "-c ft2232 --fpga-part xc7a100tfgg676"
1245+
}
1246+
},
1247+
1248+
// ZX Spectrum clone family; bare JTAG points (TMS/TDI/TDO/TCK/GND), the
1249+
// official manual documents openFPGALoader with an Altera USB-Blaster
1250+
// (alternative: -c ft232). All three variants share the PCB/pinout.
1251+
// https://zxtres.github.io/wiki/manual_en.html
1252+
"zxtres": {
1253+
"description": "ZXTRES (Xilinx, Artix7)",
1254+
"fpga-id": "xc7a35tfgg484",
1255+
"programmer": {
1256+
"id": "openfpgaloader",
1257+
"extra-args": "-c usb-blaster"
1258+
},
1259+
"usb": {
1260+
"vid": "09fb",
1261+
"pid": "6001"
1262+
}
1263+
},
1264+
1265+
// https://zxtres.github.io/wiki/manual_en.html
1266+
"zxtres-plus": {
1267+
"description": "ZXTRES+ (Xilinx, Artix7)",
1268+
"fpga-id": "xc7a100tfgg484",
1269+
"programmer": {
1270+
"id": "openfpgaloader",
1271+
"extra-args": "-c usb-blaster"
1272+
},
1273+
"usb": {
1274+
"vid": "09fb",
1275+
"pid": "6001"
1276+
}
1277+
},
1278+
1279+
// The ++ mounts the lidless FBV484 package (Vivado name); prjxray/openXC7
1280+
// use the footprint-identical xc7a200tfbg484
1281+
// https://zxtres.github.io/wiki/manual_en.html
1282+
"zxtres-plus-plus": {
1283+
"description": "ZXTRES++ (Xilinx, Artix7)",
1284+
"fpga-id": "xc7a200tfbg484-2",
1285+
"programmer": {
1286+
"id": "openfpgaloader",
1287+
"extra-args": "-c usb-blaster"
1288+
},
1289+
"usb": {
1290+
"vid": "09fb",
1291+
"pid": "6001"
1292+
}
10911293
}
10921294
}

definitions/fpgas.jsonc

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,5 +813,139 @@
813813
"package": "xc7a35tcpg236",
814814
"speed": "1"
815815
}
816+
},
817+
818+
"xc7a35tcsg324": {
819+
"part-num": "XC7A35TCSG324",
820+
"arch": "xilinx",
821+
"size": "35k",
822+
"xilinx-params": {
823+
"family": "artix7",
824+
"yosys-arch": "xc7",
825+
"package": "xc7a35tcsg324",
826+
"speed": "1"
827+
}
828+
},
829+
830+
"xc7a35tfgg484": {
831+
"part-num": "XC7A35TFGG484",
832+
"arch": "xilinx",
833+
"size": "35k",
834+
"xilinx-params": {
835+
"family": "artix7",
836+
"yosys-arch": "xc7",
837+
"package": "xc7a35tfgg484",
838+
"speed": "2"
839+
}
840+
},
841+
842+
"xc7a35tftg256": {
843+
"part-num": "XC7A35TFTG256",
844+
"arch": "xilinx",
845+
"size": "35k",
846+
"xilinx-params": {
847+
"family": "artix7",
848+
"yosys-arch": "xc7",
849+
"package": "xc7a35tftg256",
850+
"speed": "1"
851+
}
852+
},
853+
854+
"xc7a50tcsg324": {
855+
"part-num": "XC7A50TCSG324",
856+
"arch": "xilinx",
857+
"size": "50k",
858+
"xilinx-params": {
859+
"family": "artix7",
860+
"yosys-arch": "xc7",
861+
"package": "xc7a50tcsg324",
862+
"speed": "1"
863+
}
864+
},
865+
866+
"xc7a50tfgg484": {
867+
"part-num": "XC7A50TFGG484",
868+
"arch": "xilinx",
869+
"size": "50k",
870+
"xilinx-params": {
871+
"family": "artix7",
872+
"yosys-arch": "xc7",
873+
"package": "xc7a50tfgg484",
874+
"speed": "1"
875+
}
876+
},
877+
878+
"xc7a100tcsg324": {
879+
"part-num": "XC7A100TCSG324",
880+
"arch": "xilinx",
881+
"size": "100k",
882+
"xilinx-params": {
883+
"family": "artix7",
884+
"yosys-arch": "xc7",
885+
"package": "xc7a100tcsg324",
886+
"speed": "1"
887+
}
888+
},
889+
890+
"xc7a100tftg256": {
891+
"part-num": "XC7A100TFTG256",
892+
"arch": "xilinx",
893+
"size": "100k",
894+
"xilinx-params": {
895+
"family": "artix7",
896+
"yosys-arch": "xc7",
897+
"package": "xc7a100tftg256",
898+
"speed": "1"
899+
}
900+
},
901+
902+
"xc7a100tfgg484": {
903+
"part-num": "XC7A100TFGG484",
904+
"arch": "xilinx",
905+
"size": "100k",
906+
"xilinx-params": {
907+
"family": "artix7",
908+
"yosys-arch": "xc7",
909+
"package": "xc7a100tfgg484",
910+
"speed": "2"
911+
}
912+
},
913+
914+
"xc7a100tfgg676": {
915+
"part-num": "XC7A100TFGG676",
916+
"arch": "xilinx",
917+
"size": "100k",
918+
"xilinx-params": {
919+
"family": "artix7",
920+
"yosys-arch": "xc7",
921+
"package": "xc7a100tfgg676",
922+
"speed": "1"
923+
}
924+
},
925+
926+
"xc7a200tfbg484": {
927+
"part-num": "XC7A200TFBG484",
928+
"arch": "xilinx",
929+
"size": "200k",
930+
"xilinx-params": {
931+
"family": "artix7",
932+
"yosys-arch": "xc7",
933+
"package": "xc7a200tfbg484",
934+
"speed": "3"
935+
}
936+
},
937+
938+
// Same package as above, -2 speed grade (ZXTres++); the chipdb .bin is
939+
// shared, only fasm2frames/xc7frames2bit use the speed
940+
"xc7a200tfbg484-2": {
941+
"part-num": "XC7A200TFBG484",
942+
"arch": "xilinx",
943+
"size": "200k",
944+
"xilinx-params": {
945+
"family": "artix7",
946+
"yosys-arch": "xc7",
947+
"package": "xc7a200tfbg484",
948+
"speed": "2"
949+
}
816950
}
817951
}

0 commit comments

Comments
 (0)