feat: refactor NMI interface and remove unused variables

- Removed CORE and IP variables from common.tcl and synth.tcl scripts.
- Updated yosys.mk to exclude CORE and IP from environment variables.
- Modified bus_fault_tb to enhance NMI interface with management and user NMI signals.
- Added user access denial handling in bus_fault_tb.
- Updated pll_ctrl_tb and sysctrl_fault_tb to reflect changes in NMI interface.
- Adjusted test_gpio_user_mux.py to remove IP_MDD definition.
- Enhanced memory map tests to include user extensions and ensure proper generation.
- Updated test_script_tools.py to reflect changes in core management and user extensions.
- Refined topology tests to ensure user APB target is always added.
- Adjusted tech cell configuration tests to use simplified profile paths.
- Improved user extensions tests for scalar bindings and slot validation.
This commit is contained in:
maksyuki committed 2026-07-26 09:03:33 +08:00
1 parent 3f98ad646c
commit 7a604ec86b
111 files changed
+3729 -2012

No files matched your search

+4 -2
View File
@@ -50,7 +50,9 @@ def test_extensions_generate_isolated_scalar_bindings(tmp_path: Path) -> None:
assert core.count("nmi_if u_user_") == 6
assert "nmi.valid = '0;" in core
assert "5'd6: begin" in core
assert "5'd0: begin" in core
assert "5'd5: begin" in core
assert "core_reset_i[0]" in core
assert "user_core_design_username1 #(" in core
assert ip.count("user_gpio_if #(`USER_GPIO_NUM)") == 2
assert "gpio.do_o = '0;" in ip
@@ -64,7 +66,7 @@ def test_extensions_reject_noncontiguous_slots_and_invalid_modules(tmp_path: Pat
document["core_targets"][2]["slot"] = 7
result = validate(write_invalid_extensions(tmp_path, document))
assert result.returncode != 0
assert "slots must be contiguous from one" in result.stderr
assert "slots must be contiguous from 0" in result.stderr
document = json.loads(EXTENSIONS.read_text(encoding="utf-8"))
document["ip_targets"][0]["module"] = "user-ip"