Files
retroSoC/scripts/setup_vexiiriscv.py
T
maksyuki 2b6819449c feat: enhance test coverage and update system control interfaces
- Added  interface to  and implemented error handling for register writes.
- Introduced a new test for AXI4 address gate functionality in .
- Updated clock and reset domain assertions in  to reflect new domain names.
- Modified expected outputs in  to include new clock domains.
- Adjusted chip configuration assertions in  to account for additional power pads.
- Enhanced memory map tests in  with new definitions and includes.
- Updated pin mapping tests in  to include new reference clock pads.
- Improved script tools tests in  to ensure correct validation of extension bindings.
- Refined system control tests in  to include new clock control interface.
- Updated USB2 packet RAM tests in  to include new SRAM definitions.
- Enhanced user extensions tests in  to validate new product extension configurations.
- Adjusted user IP register parity tests to use legacy extensions.
- Updated Yosys synthesis recipe tests to reflect changes in STA period calculations.
2026-08-30 08:10:59 +08:00

52 lines
1.5 KiB
Python

#!/usr/bin/env python3
"""Install the locked VexiiRiscv source used by Mini product profiles."""
from __future__ import annotations
import argparse
import subprocess
from pathlib import Path
from dependency_lock import source
from setup_helpers import ensure_git_repo, run
ROOT = Path(__file__).resolve().parents[1]
def repair_incomplete_checkout(destination: Path, url: str, revision: str) -> None:
if not (destination / ".git").is_dir():
return
result = subprocess.run(
["git", "-C", str(destination), "rev-parse", "--verify", "HEAD"],
check=False,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
)
if result.returncode == 0:
return
run(("git", "remote", "set-url", "origin", url), cwd=destination)
run(("git", "fetch", "--depth", "1", "origin", revision), cwd=destination)
run(("git", "checkout", "--detach", "FETCH_HEAD"), cwd=destination)
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("--update", action="store_true")
args = parser.parse_args()
dependency = source("vexiiriscv")
destination = ROOT / dependency["destination"]
repair_incomplete_checkout(destination, dependency["url"], dependency["revision"])
ensure_git_repo(
dependency["url"],
destination,
dependency["revision"],
recursive=dependency.get("recursive", False),
update=args.update,
)
return 0
if __name__ == "__main__":
raise SystemExit(main())