spiOverJtag/build.py: simplify Kintex7 uses

This commit is contained in:
Gwenhael Goavec-Merou 2025-09-24 16:46:57 +02:00
parent 13cf0c59b9
commit 8e6eb1085c
1 changed files with 19 additions and 11 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3
import os
import re
from edalize.edatool import get_edatool
@ -15,6 +16,17 @@ packages = {
"xc7a100t" : ["csg324", "ftg256", "fgg484", "fgg676"],
"xc7a200t" : ["sbg484", "fbg484", "fbg676", "ffg1156"],
},
# Added but seems not possible to use same bitstream
# for all Kintex with the same size but different package.
"Kintex 7": {
"xc7k70t" : ["fbg484", "fbg676"],
"xc7k160t" : ["fbg484", "fbg676", "ffg676"],
"xc7k325t" : ["fbg676", "ffg676", "fbg900", "ffg900"],
"xc7k355t" : ["ffg901"],
"xc7k410t" : ["fbg676", "ffg676", "fbg900", "ffg900"],
"xc7k420t" : ["ffg901", "ffg1156"],
"xc7k480t" : ["ffg901", "ffg1156"],
},
"Spartan 7": {
"xc7s6" : ["ftgb196", "cpga196", "csga225"],
"xc7s15" : ["ftgb196", "cpga196", "csga225"],
@ -78,6 +90,7 @@ elif subpart == "xc7k":
family = "Kintex7"
tool = "ise"
speed = -2
model = subpart
elif subpart == "xc7s":
family = "Spartan 7"
tool = "vivado"
@ -104,6 +117,10 @@ else:
if model in ["xc7a", "xc7s"]:
pkg = packages[family][part][0]
pkg_name = f"{model}_{pkg}"
if model in ["xc7k"]:
m = re.match(r"(xc7k\d+t)(\w+)", part)
pkg = m.group(2)
pkg_name = f"{model}_{pkg}"
if tool in ["ise", "vivado"]:
pkg_name = {
@ -120,12 +137,6 @@ if tool in ["ise", "vivado"]:
"xc6slx150tcsg484" : "xc6s_csg484",
"xc6slx150tfgg484" : "xc6s_t_fgg484",
"xc6vlx130tff784" : "xc6v_ff784",
"xc7k70tfbg484" : "xc7k_fbg484",
"xc7k70tfbg676" : "xc7k_fbg676",
"xc7k160tffg676" : "xc7k_ffg676",
"xc7k325tffg676" : "xc7k_ffg676",
"xc7k325tffg900" : "xc7k_ffg900",
"xc7k420tffg901" : "xc7k_ffg901",
"xc7vx330tffg1157" : "xc7v_ffg1157",
"xcku040-ffva1156" : "xcku040_ffva1156",
"xcku060-ffva1156" : "xcku060_ffva1156",
@ -152,10 +163,7 @@ if tool in ["ise", "vivado"]:
"xc6slx150tcsg484": "xc6slx150t",
"xc6slx150tfgg484": "xc6slx150t",
"xc6vlx130tff784": "xc6vlx130t",
"xc7k325tffg676": "xc7k325t",
"xc7k325tffg900": "xc7k325t",
"xc7k420tffg901": "xc7k420t",
}[part],
}.get(part, model),
'package': {
"xc3s500evq100": "vq100",
"xc6slx9tqg144": "tqg144",
@ -173,7 +181,7 @@ if tool in ["ise", "vivado"]:
"xc7k325tffg676": "ffg676",
"xc7k325tffg900": "ffg900",
"xc7k420tffg901": "ffg901",
}[part],
}.get(part, pkg),
'speed' : speed
}
else: