mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-06 14:55:14 +00:00
feat: Add support for SKY130 OpenRAM SRAM integration
- Introduced to handle the preparation of the SKY130 OpenRAM SRAM views. - Updated to download and prepare the SRAM archive during PDK setup. - Enhanced OpenSTA and Yosys configurations to accommodate SRAM macro integration. - Added Verilog simulation models for GF180 and SKY130 SRAM macros. - Implemented tests for SRAM setup and validation, ensuring correct integration and functionality. - Updated various Makefiles and scripts to support SRAM size and macro configurations.
This commit is contained in:
40 files changed
+749
-61
No files matched your search
@@ -1025,10 +1025,27 @@ def test_benchmark_profile_uses_functional_sram_and_reserved_data() -> None:
|
||||
assert "PDK_BEHAV HAVE_SVA" in makefile
|
||||
assert "PDK_BEHAV=YES is for functional simulation" in makefile
|
||||
assert re.search(r"^HAVE_SRAM_MACRO\s*:= YES$", profile, re.MULTILINE)
|
||||
assert re.search(r"^SRAM_SIZE_KIB\s*:= 128$", profile, re.MULTILINE)
|
||||
assert re.search(r"^PDK_BEHAV\s*:= YES$", profile, re.MULTILINE)
|
||||
assert "RS_BENCHMARK_SRAM_OFFSET UINT32_C(0x10000)" in benchmark
|
||||
|
||||
|
||||
def test_open_pdk_profiles_enable_32kib_macro_sram_and_ics55_stays_absent() -> None:
|
||||
for pdk in ("ihp130", "gf180", "sky130"):
|
||||
profile = (ROOT / f"configs/ci/{pdk}.mk").read_text(encoding="utf-8")
|
||||
assert re.search(r"^HAVE_SRAM_IF\s*:= YES$", profile, re.MULTILINE)
|
||||
assert re.search(r"^HAVE_SRAM_MACRO\s*:= YES$", profile, re.MULTILINE)
|
||||
assert re.search(r"^SRAM_SIZE_KIB\s*:= 32$", profile, re.MULTILINE)
|
||||
|
||||
ics55 = (ROOT / "configs/ci/ics55.mk").read_text(encoding="utf-8")
|
||||
assert re.search(r"^HAVE_SRAM_IF\s*:= NO$", ics55, re.MULTILINE)
|
||||
assert re.search(r"^HAVE_SRAM_MACRO\s*:= NO$", ics55, re.MULTILINE)
|
||||
|
||||
for name in ("ihp130-hazard3", "ihp130-hazard3-coremark"):
|
||||
benchmark = (ROOT / f"configs/benchmark/{name}.mk").read_text(encoding="utf-8")
|
||||
assert re.search(r"^SRAM_SIZE_KIB\s*:= 128$", benchmark, re.MULTILINE)
|
||||
|
||||
|
||||
def test_smoke_regression_uses_ihp130_behavioral_coverage_only() -> None:
|
||||
commands, profiles = select_regression("smoke", "IHP130")
|
||||
|
||||
|
||||
Reference in new issue
Block a user