feat(mpw): remove user Hazard3 design

This commit is contained in:
maksyuki committed 2026-08-04 20:20:23 +08:00
1 parent 35e855d1e2
commit 1549ebea49
16 files changed
+7227 -11739

No files matched your search

+1 -1
View File
@@ -124,7 +124,7 @@ module sysctrl_fault_tb;
if (read_data !== 32'd11) $fatal(1, "performance snapshot was not recorded");
read_register(32'h1000_B020, read_data);
if (read_data !== 32'h0000_003F) $fatal(1, "user cores were not held in reset");
if (read_data !== 32'h0000_001F) $fatal(1, "user cores were not held in reset");
write_register(32'h1000_B000, 32'h0000_0006);
read_register(32'h1000_B024, read_data);
if ((read_data & 32'h0000_081F) !== 32'h0000_0800) begin
+8 -4
View File
@@ -107,7 +107,10 @@ def test_generate_all_is_stable_and_expands_paths(tmp_path: Path) -> None:
assert {path: path.stat().st_mtime_ns for path in generated} == mtimes
assert (tmp_path / "def.fl").read_text(encoding="utf-8") == " ".join(defines) + "\n"
cluster = (tmp_path / "clusterip.fl").read_text(encoding="utf-8")
hazard3 = (tmp_path / "core_hazard3.fl").read_text(encoding="utf-8")
assert str(ROOT / "rtl/managed/clusterip") in cluster
assert str(ROOT / "rtl/managed/hazard3/hdl") in hazard3
assert "rtl/managed/mpw/core/username3" not in hazard3
assert (tmp_path / "core_hazard3.fl").is_file()
assert (tmp_path / "core_picorv32.fl").is_file()
assert {
@@ -525,6 +528,7 @@ def test_dependency_lock_and_config_key_include_a_fixed_timestamp(tmp_path: Path
lock = load_lock(ROOT / "config/dependencies.lock.json")
assert lock["schema_version"] == 1
assert len(lock["sources"]["mpw"]["revision"]) == 40
assert lock["sources"]["hazard3"]["destination"] == "rtl/managed/hazard3"
assert lock["sources"]["pdk_sky130"]["submodules"] == ["libraries/sky130_fd_sc_hd/latest"]
command = (
@@ -1151,13 +1155,13 @@ def test_warning_normalization_maps_isolated_mpw_sources_to_managed_sources(
tmp_path: Path,
) -> None:
message = (
f"{tmp_path}/build/ihp130-deadbeef/generated/mpw/verilator/core/username3/"
"./Hazard3/hazard3_core_username3.v:42: unused signal"
f"{tmp_path}/build/ihp130-deadbeef/generated/mpw/verilator/core/username1/"
"./kianV/kianv_harris_mc_edition_username1.v:42: unused signal"
)
normalized = normalize(tmp_path, "UNUSEDSIGNAL", message)
assert normalized == (
"UNUSEDSIGNAL:$ROOT/rtl/managed/mpw/core/username3/Hazard3/"
"hazard3_core.v:<line>: unused signal"
"UNUSEDSIGNAL:$ROOT/rtl/managed/mpw/core/username1/kianV/"
"kianv_harris_mc_edition.v:<line>: unused signal"
)
+8 -7
View File
@@ -48,17 +48,18 @@ def test_extensions_generate_isolated_scalar_bindings(tmp_path: Path) -> None:
ip = (tmp_path / "rtl/user_ip_bindings.svh").read_text(encoding="utf-8")
filelist = (tmp_path / "user_extensions.fl").read_text(encoding="utf-8")
assert core.count("rib_if u_user_") == 6
assert core.count("ribp_if u_user_") == 6
assert core.count("ribp2rib #(") == 6
assert core.count("rib_if u_user_") == 5
assert core.count("ribp_if u_user_") == 5
assert core.count("ribp2rib #(") == 5
assert core.count(".SYNC_RESET(1'b1)") == 2
assert core.count(".SYNC_RESET(1'b0)") == 4
assert core.count(".SYNC_RESET(1'b0)") == 3
assert "rib.cmd_valid = '0;" in core
assert "5'd0: begin" in core
assert "5'd5: begin" in core
assert "5'd4: begin" in core
assert "5'd5: begin" not in core
assert "core_reset_i[0]" in core
assert "mpw_core_kianv_rv32i_user_core_design #(0)" in core
assert "mpw_ip_tiny_timer_user_ip_design #(1)" in ip
assert "mpw_c0 #(0)" in core
assert "mpw_i1 #(1)" in ip
assert "User core 0 uses the RIBP contract" in core
assert ip.count("user_gpio_if #(`USER_GPIO_NUM)") == 2
assert "gpio.do_o = '0;" in ip