From 2d88b3dba610f248f5f1f76e76d3229ddc47a94c Mon Sep 17 00:00:00 2001 From: Sebastian Marsching Date: Tue, 3 Mar 2026 23:21:33 +0100 Subject: [PATCH] Add SPI over JTAG bitfile for XC7K325TFBG900. --- spiOverJtag/Makefile | 2 +- spiOverJtag/constr_xc7k_fbg900.ucf | 6 ++++++ spiOverJtag/constr_xc7k_fbg900.xdc | 12 ++++++++++++ spiOverJtag/spiOverJtag_xc7k325tfbg900.bit.gz | Bin 0 -> 17370 bytes 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 spiOverJtag/constr_xc7k_fbg900.ucf create mode 100644 spiOverJtag/constr_xc7k_fbg900.xdc create mode 100644 spiOverJtag/spiOverJtag_xc7k325tfbg900.bit.gz diff --git a/spiOverJtag/Makefile b/spiOverJtag/Makefile index 1daca52..46638ef 100644 --- a/spiOverJtag/Makefile +++ b/spiOverJtag/Makefile @@ -7,7 +7,7 @@ XILINX_PARTS := xc3s500evq100 \ xc7s6 xc7s15 xc7s25 xc7s50 xc7s75 xc7s100 \ xc7k70tfbg484 xc7k70tfbg676 \ xc7k160tffg676 \ - xc7k325tffg676 xc7k325tffg900 \ + xc7k325tfbg900 xc7k325tffg676 xc7k325tffg900 \ xc7k420tffg901 \ xcku3p-ffva676 \ xc7vx330tffg1157 \ diff --git a/spiOverJtag/constr_xc7k_fbg900.ucf b/spiOverJtag/constr_xc7k_fbg900.ucf new file mode 100644 index 0000000..a89e557 --- /dev/null +++ b/spiOverJtag/constr_xc7k_fbg900.ucf @@ -0,0 +1,6 @@ +NET "csn" LOC = U19 | IOSTANDARD = LVCMOS33; +NET "sdi_dq0" LOC = P24 | IOSTANDARD = LVCMOS33; +NET "sdo_dq1" LOC = R25 | IOSTANDARD = LVCMOS33; +NET "wpn_dq2" LOC = R20 | IOSTANDARD = LVCMOS33; +NET "hldn_dq3" LOC = R21 | IOSTANDARD = LVCMOS33; + diff --git a/spiOverJtag/constr_xc7k_fbg900.xdc b/spiOverJtag/constr_xc7k_fbg900.xdc new file mode 100644 index 0000000..bfe493f --- /dev/null +++ b/spiOverJtag/constr_xc7k_fbg900.xdc @@ -0,0 +1,12 @@ +set_property CFGBVS VCCO [current_design] +set_property CONFIG_VOLTAGE 3.3 [current_design] +set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] +set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design] +set_property BITSTREAM.CONFIG.SPI_BUSWIDTH {4} [current_design] + +set_property -dict {PACKAGE_PIN U19 IOSTANDARD LVTTL} [get_ports {csn}] +set_property -dict {PACKAGE_PIN P24 IOSTANDARD LVTTL} [get_ports {sdi_dq0}] +set_property -dict {PACKAGE_PIN R25 IOSTANDARD LVTTL} [get_ports {sdo_dq1}] +set_property -dict {PACKAGE_PIN R20 IOSTANDARD LVTTL} [get_ports {wpn_dq2}] +set_property -dict {PACKAGE_PIN R21 IOSTANDARD LVTTL} [get_ports {hldn_dq3}] + diff --git a/spiOverJtag/spiOverJtag_xc7k325tfbg900.bit.gz b/spiOverJtag/spiOverJtag_xc7k325tfbg900.bit.gz new file mode 100644 index 0000000000000000000000000000000000000000..855d04e5d7ef03441f28241c2ed6e691c65dce74 GIT binary patch literal 17370 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 P0F5{4s%*p-rWo*FQktNA literal 0 HcmV?d00001