Testplan
Testpoints
Stage V2 Testpoints
LevelTriggeredIp_A
Test: rv_plic_assert
If interrupt pending (ip
) is triggered, and the level indicator is set to
level triggered (le=0
), then in the prvious clock cycle, the interrupt source
(`intr_src_i) should be set to 1.
LevelTriggeredIpWithClaim_A
Test: rv_plic_assert
If intr_src_i
is set to 1, level indicator is set to level triggered, and claim
signal is not set, then at the next clock cycle ip
will be triggered.
IpStableAfterTriggered_A
Test: rv_plic_assert
Once ip
is set, it stays stable until is being claimed.
IpClearAfterClaim_A
Test: rv_plic_assert
Once ip
is set and being claimed, its value is cleared to 0.
IpStableAfterClaimed_A
Test: rv_plic_assert
Once ip
is cleared to 0, it stays stable until completed and being triggered
again.
TriggerIrqForwardCheck_A
Test: rv_plic_assert
If interrupt is enabled (ie=1
), interrupt pending is set (ip=1
), interrupt
input has the highest priority among the rest of the inputs, and its priority is
above the threshold. Then in the next clock clcye, the irq_o
should be triggered,
and the irq_id_o
will reflect the input ID.
TriggerIrqBackwardCheck_A
Test: rv_plic_assert
If irq_o
is set to 1, then in the previous clock cycle, the corresponding
ip
should be set, ie
should be enabled, and the interrupt source should above the
threshold and have the highest priority.
IdChangeWithIrq_A
Test: rv_plic_assert
If irq_id_o
signal is changed and the signal does not change to 0 (value 0 does
not represent any interrupt source ID). Then either of the two condition should have
happened:
irq_o
is triggered- No interrupt triggered,
ip
is set andie
is enabled, interrupt source priority is the largest among the rest of the interrupt, but the interrupt source priority is smaller than the threshold
fpv_csr_rw
Test: rv_plic_fpv_csr_rw
Write assertions to verify all the CSRs from the TileLink. Each CSR will include a read assertion to ensure the read value from the TileLink is expected, and a write assertion to ensure the write value is updated correctly to DUT according to the register’s access.