Reply To: Dissecting the OSVVM AXI Master BFM
Why OSVVM™? › Forums › OSVVM › Dissecting the OSVVM AXI Master BFM › Reply To: Dissecting the OSVVM AXI Master BFM
The Axi4Manager has a TransactionDispatcher, which receives transactions from the Test Sequencer (TestCtrl) and dispatches these out to interface handlers (such as WriteAddressHandler). The interface handlers connect to the DUT and represent independently running pieces of the VC. The communication between the TransactionDispatcher and interface handlers uses the FIFOs and/or Scoreboards, hence, for AXI4 with all of its independent interfaces, there are quite a few of them.
ignal WriteAddressFifo : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
signal WriteDataFifo : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
signal ReadAddressFifo : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
signal ReadAddressTransactionFifo : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
signal ReadDataFifo : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
signal WriteResponseScoreboard : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
signal ReadResponseScoreboard : osvvm.ScoreboardPkg_slv.ScoreboardIDType ;
There are also corresponding integer based handshaking signals (they do a little more than handshaking too).
The “*DelayCov” signals handle putting randomized delays on the XxValid signals for AXI outputs or XxReady signals for AXI inputs.