mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-06 14:55:14 +00:00
feat: refactor user extension handling and update MPW generation
- Updated README.md to clarify the status of KianV RV32IMA and PicoRV32 in the user-extension map. - Modified Makefile to include USER_EXTENSIONS_SOURCE in MPW variant stamp dependencies. - Enhanced integration README.md to better describe the relationship between user_extensions.json and mpw.toml. - Updated generate_user_extensions.py to include design_id in ExtensionTarget and enforce unique design IDs. - Changed user_extensions.json schema version to 2 and added design_id fields for core and IP targets. - Refactored generate_mpw.py to support the new manifest structure and validate design selections. - Adjusted sysctrl_tb.sv test cases to reflect changes in user core reset states. - Enhanced test_opipsram.py to utilize ccache for improved compilation performance. - Updated test_script_tools.py to include new tests for active manifest generation. - Modified test_user_extensions.py to validate isolated scalar bindings and reject duplicate design selections.
This commit is contained in:
23 files changed
+1058
-2979
No files matched your search
+11
-1
@@ -2,6 +2,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
@@ -46,6 +47,13 @@ def test_opipsram_protocol_model_compiles_and_runs() -> None:
|
||||
work = ROOT / ".cache" / "test-opipsram"
|
||||
shutil.rmtree(work, ignore_errors=True)
|
||||
work.mkdir(parents=True, exist_ok=True)
|
||||
ccache_dir = work / "ccache"
|
||||
ccache_tmp = work / "ccache-tmp"
|
||||
ccache_dir.mkdir()
|
||||
ccache_tmp.mkdir()
|
||||
environment = os.environ.copy()
|
||||
environment["CCACHE_DIR"] = str(ccache_dir)
|
||||
environment["CCACHE_TEMPDIR"] = str(ccache_tmp)
|
||||
output = work / "opipsram_tb"
|
||||
sources = [
|
||||
ROOT / "rtl/managed/clusterip/common/rtl/interface/axi4_if.sv",
|
||||
@@ -93,7 +101,9 @@ def test_opipsram_protocol_model_compiles_and_runs() -> None:
|
||||
str(output),
|
||||
]
|
||||
try:
|
||||
compile_result = subprocess.run(command, check=False, text=True, capture_output=True)
|
||||
compile_result = subprocess.run(
|
||||
command, check=False, text=True, capture_output=True, env=environment
|
||||
)
|
||||
if compile_result.returncode != 0:
|
||||
pytest.fail(
|
||||
"production OPI PSRAM RTL does not compile with the locked model list:\n"
|
||||
|
||||
Reference in new issue
Block a user