mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-06 14:55:14 +00:00
feat: add formal verification properties for DMA design and corresponding testbench
- Introduced to define formal properties for the DMA design, ensuring correct behavior under various conditions. - Created as a testbench for the DMA register interface, implementing APB and AXI4 protocols to validate register operations. - Added to verify synchronization between RTL and SDK register constants, ensuring consistency across implementations.
This commit is contained in:
57 files changed
+5285
-1300
No files matched your search
@@ -115,20 +115,23 @@ def test_topology_generates_complete_rib_apb_and_gpio_bindings(tmp_path: Path) -
|
||||
assert ".axi4(u_system_axi4_if)" in apb_system_fabric
|
||||
assert "`define SOC_IRQ_VECTOR_WIDTH 32" in irq_config
|
||||
assert "`define SOC_USER_IRQ_MASK 32'h000EFBFC" in irq_config
|
||||
assert "`define SOC_IRQ_APB4_PERIPH_WIDTH 14" in irq_config
|
||||
assert "`define SOC_IRQ_APB4_PERIPH_WIDTH 15" in irq_config
|
||||
assert "`define SOC_IRQ_APB4_SYSTEM_WIDTH 5" in irq_config
|
||||
assert "assign irq_o[0] = u_clint_if.software_irq_o[0];" in rib_irq
|
||||
assert "assign irq_o[10] = ws2812.irq_o;" in rib_irq
|
||||
assert "assign irq_o[11] = gpio.irq_o;" in rib_irq
|
||||
assert "assign irq_o[12] = i2c1.irq_o;" in rib_irq
|
||||
assert "assign irq_o[13] = s_dvp_irq;" in rib_irq
|
||||
assert "assign irq_o[14] = s_dma_irq;" in rib_irq
|
||||
assert "assign irq_o[0] = pwm.irq_o;" in apb_irq
|
||||
assert "assign irq_o[4] = s_rng_irq;" in apb_irq
|
||||
assert "s_irq[10]" not in irq_wiring
|
||||
assert "s_irq[15] = s_apb4_periph_irq[13];" in irq_wiring
|
||||
assert "s_irq[16] = s_apb4_system_irq[4];" in irq_wiring
|
||||
assert "s_irq[20] = s_apb4_periph_irq[14];" in irq_wiring
|
||||
assert "irq_i[10] == 1'b0" in irq_sva
|
||||
assert "irq_i[15] == apb4_periph_irq_i[13]" in irq_sva
|
||||
assert "irq_i[20] == apb4_periph_irq_i[14]" in irq_sva
|
||||
assert "irq_i[31] == 1'b0" in irq_sva
|
||||
assert "bind retrosoc soc_irq_topology_sva" in irq_sva
|
||||
assert filelist.startswith("+incdir+")
|
||||
@@ -167,6 +170,7 @@ def test_topology_preserves_default_irq_compatibility_mapping() -> None:
|
||||
("gpio", "apb4_periph", 11, 18, "gpio.irq_o"),
|
||||
("i2c1", "apb4_periph", 12, 19, "i2c1.irq_o"),
|
||||
("dvp", "apb4_periph", 13, 15, "s_dvp_irq"),
|
||||
("dma", "apb4_periph", 14, 20, "s_dma_irq"),
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user