7.2.8. Port-Write Transactions
To test port-writes, the test performs some basic configuration of the port-write registers in the DUT and the sister_rio module. It then programs the DUT to transmit port-write request packets to the sister_rio module. The port-writes are received by the sister_rio module and retrieved by the test program.
The configuration enables the RX_PACKET_STORED interrupt in the sister_rio module. If this interrupt is enabled, the sister_rio module asserts its mnt_mnt_s_irq signal when the sister_rio module receives a Port-Write transaction and the payload can be retrieved. To enable the interrupt, the testbench calls the sister_sys_mnt_master_bfm read_write_cmd task.
|Places data into the TX_PORT_WRITE_BUFFER.||Write incrementing payload to registers at addresses 0x10210 to 0x1024C.|
|Indicates to the DUT that Port-Write data is ready.||Write DESTINATION_ID = 0xCD or 0xCDCD, depending on the device ID width setting, and PACKET_READY = 0x1 to 0x10200.|
|Waits for the sister_rio module to receive the port-write.||Monitor the sister_rio module mnt_mnt_s_irq signal.|
|Verifies that the sister_rio module has the interrupt bit PACKET_STORED set.||Read register at address 0x10080.|
|Retrieves the Port-Write payload from the sister_rio module and checks for data integrity.||Read registers at addresses 0x10260–0x1029C.|
|Checks the sister_rio module Rx Port Write Status register for correct payload size||Read register at address 0x10254.|
|Clears the PACKET_STORED interrupt in the sister_rio module||Write 1'b1 to bit 4 of register at address 0x10080.|
|Waits for the next interrupt at the sister _rio module.||Monitor the sister_rio module mnt_mnt_s_irq signal.|
Did you find the information on this page useful?