feat: Xilinx Kit directory selector + multi-version scan

Configuration panel now has a 'Xilinx Kit:' row at the top with:
- Entry field showing current path
- [Browse] button using system directory dialog (cross-platform)
- Select root directory (e.g. /data/xilinx or C:/Xilinx)

vitis_checker.py now scans xilinx_root subdirectories:
  1. System PATH (shutil.which) — works on all platforms
  2. Legacy vitis_path/bin
  3. xilinx_root/Vitis/*/bin and Vivado/*/bin (all versions, newest first)
  4. Common install paths (Windows: C:/Xilinx, Linux: /data/xilinx, /opt/xilinx)

Multi-version: scans all version directories under Vitis/ and Vivado/,
picks the newest version for each tool.

Config: xilinx_path replaces vitis_path (backward compat kept)
This commit is contained in:
Jeremy Shen
2026-06-10 14:27:47 +08:00
parent 699ad82834
commit 93ab224d6d
7 changed files with 132 additions and 69 deletions
+3 -3
View File
@@ -15,7 +15,7 @@ import yaml
DEFAULT_CONFIG: dict[str, Any] = {
"vitis_path": "",
"xilinx_path": "",
"zynq_ip": "192.168.100.11",
"tftp_upload_name": "z7bin",
"serial_port": "",
@@ -52,7 +52,7 @@ class Config:
directory and resolved to absolute paths when accessed.
"""
vitis_path: str = ""
xilinx_path: str = ""
zynq_ip: str = "192.168.100.11"
tftp_upload_name: str = "z7bin"
serial_port: str = ""
@@ -160,7 +160,7 @@ class Config:
Dictionary representation of the config.
"""
data = {
"vitis_path": self._relative_path(self.vitis_path),
"xilinx_path": self.xilinx_path,
"zynq_ip": self.zynq_ip,
"tftp_upload_name": self.tftp_upload_name,
"serial_port": self.serial_port,