Files
retroSoC/tests
maksyuki 52f619b9dc feat: add APU-P1 support and enhance test coverage
- Introduced new task  in  for handling high-performance APU writes with access fault checks.
- Updated  to support an expanded resource count, including ownership and IRQ routing for the new APU resource.
- Enhanced  to validate IRQ expectations for the newly added APU resource.
- Created  for directed verification of APU-P1 APB4 register shell and integrated IRQ ownership topology.
- Added  to ensure synchronization between RTL and SDK register ABI.
- Modified  to parameterize tests for product modes, improving flexibility in testing.
- Updated  to reflect changes in APU memory mapping and ensure correct assertions.
- Enhanced  to validate the complete IRQ and resource allocations for the APU.
2026-09-02 22:00:45 +08:00
..

Repository Tests

This directory contains tests for deterministic SDK behavior and build/quality tooling.

  • c/test_runtime.c is the host C test program used by make sw-host-test.
  • test_script_tools.py covers setup, dependency, filelist, warning, metric, archive, and regression-helper behavior.
  • test_agent_skills.py checks the repository feature-skill metadata, references, eval corpora, and manual hand-off policy.
  • test_rtl_readiness.py covers the machine-readable RTL maturity and synthesis-intent checks.
  • test_rtl_style.py covers ownership, named connections, and staged naming rules for new owned RTL.
  • test_crypto.py runs directed AES, SHA-2, RSA/Montgomery, streaming, and APB4 simulations; test_crypto_register_parity.py checks the handwritten RTL/C register ABI and test_dma.py covers DMA bursts, TCD fetch, CRC, tail-byte writes, and crypto endpoints.
  • test_apu.py checks the complete fail-closed APU-P1 APB4 register matrix and integrated LP/HP IRQ ownership topology; test_apu_register_parity.py keeps its handwritten RTL/C ABI and matrix coverage synchronized.
  • test_user_ip_register_parity.py keeps the integrated slot 1 timer and slot 2 GPIO register offsets synchronized with their application-owned C definitions and checks their extension-manifest slot assignments.
  • test_hp_boot_bundle.py checks the HP flash ABI, CRCs, payload placement, and handwritten mailbox RTL/C offset parity. test_hp_platform.py, test_hp_mailbox.py, test_plic.py, and the AXI tests cover the remaining HP integration contracts. test_xpi_fast_flash.py covers the explicitly selected Verilator slot-0 read accelerator, including backpressure and negative completion paths.

Add a host C test when changing deterministic runtime or media logic; add a Python test when changing scripts or build policy. Run:

make sw-host-test
python3 -m pytest -q

These tests complement, but do not replace, firmware builds, RTL simulation, synthesis, timing, or hardware validation.