Hello Everyone, hope you are doing well.
I have been practicing TB development of an APB2SPI protocol, and have built separate agents for the two protocols. I have used the RAL model as well.
In order to check the clock period, the slave select, the Interrupt and some other pins’ state transition I have planned to use Concurrent Assertions.
But I am confused as to where should I implement this??
My initial thought is to do it in the SPI_MONITOR_BFM (of type “interface”), but for appropriate execution it will require information of the values in the REG_BLOCK for example the DIVIDER reg for clock frequency, the SS reg for knowing which is the appropriate pin of ss_pad_o to be deasserted. So, could I send a handle of the REG_BLOCK to the BFM?? Or should I copy the current value from BLOCK to 32 bit variables in the BFM (like bit [31:0] CTRL_PROXY = rb.ctrl.get() ) ??
What would be the best way to do this??