Overview

This is the simple APB3 monitor check plan. The description is mentioned for every check along with the ERRRO ID and the spec section which describes the condition in detail. You can check the source code for the ERROR_ID definition and the VIP Monitor to better understand how these checks are being utilized.




Testplan ( 19 Tests ) ( Click on any test or sequence to go to the source code of it directly )


A basic sanity test where, a RD/WR transaction is geerated randomly
Random reads and writes happen in any order but within a working randomization space in order to hit any scoreboarding corner cases. Also this test is intended to fire multiple scenarios in any order with full randomization enabled. ( the last feature is not supported yet )
Back to back read test where in slave returns data immideatly. This is a optimistic scenarios since a slave takes time to return the data for the second read. To check if the back to back read follows the APB3 timing and handshake, this test is used.
Consecutive writes with minimum clock delay and random clock delay
Back to back read after write with minimum latency ( ie 1 clk )
Read data with error injection ( Scoreboard will throw an error which helps us validate that the Scoreboard is working )
In this test, the PRESETn is asserted once during a read transaction.
In this test, the PRESETn is asserted once during a write transaction. According to the specification, the Slave should not neccessarily update it’s data in case of a Write. Added to this, the Slave will reset like any other logic device.
In this test, the PRESETn is asserted once during a read with waits states transaction.
In this test, the PRESETn is asserted once during a write with wait states transaction after which a simple read is prerfomed to cross check the data in the slave's memory.
This test is used to check if the PRDATA bus has been driven with x’s or 0’s when an PSLVERR is asserted by the Slave. The X or 0 behaviour is specific to Slave and hence must use the provided configuration bit in the common parameters file.