Avalaon MM BFM read problem
Hi,
I am trying to read from my custom IP, but i have the problem that the BFM Master does not see any kind of acknowledge by the slave.
My IP combines multiple interfaces with an Avalon Pipeline bridge to a single slave interface. The internal interfaces are very standard like SGDMA descriptor and CSR, APB translator.
Firstly, I wondered why my slave IP triggered no readdatavalid. But that seems to be normal for that subinterfaces. Therefore, I deactivated the "readdatavalid" port at the BFM.
But now there is some automatism I dont understand that an interconnect is placed between BFM and IP, which modifies the bus signals. As result, the slave shows a dip at "waitrequest" but on BFM side there is no more dip. At the end the BFM does not know when the transaction is finished and throws a timeout error.
How do I handle the BFM correctly?
Current setup:
altera_avalon_mm_master_bfm #(
.AV_ADDRESS_W (32),
.AV_SYMBOL_W (8),
.AV_NUMSYMBOLS (4),
.AV_BURSTCOUNT_W (1),
.AV_READRESPONSE_W (8),
.AV_WRITERESPONSE_W (8),
.USE_READ (1),
.USE_WRITE (1),
.USE_ADDRESS (1),
.USE_BYTE_ENABLE (1),
.USE_BURSTCOUNT (0),
.USE_READ_DATA (1),
.USE_READ_DATA_VALID (0),
.USE_WRITE_DATA (1),
.USE_BEGIN_TRANSFER (0),
.USE_BEGIN_BURST_TRANSFER (0),
.USE_WAIT_REQUEST (1),
.USE_TRANSACTIONID (0),
.USE_WRITERESPONSE (0),
.USE_READRESPONSE (0),
.USE_CLKEN (0),
.AV_CONSTANT_BURST_BEHAVIOR (1),
.AV_BURST_LINEWRAP (1),
.AV_BURST_BNDR_ONLY (1),
.AV_MAX_PENDING_READS (0),
.AV_MAX_PENDING_WRITES (0),
.AV_FIX_READ_LATENCY (1),
.AV_READ_WAIT_TIME (1),
.AV_WRITE_WAIT_TIME (0),
.REGISTER_WAITREQUEST (0),
.AV_REGISTERINCOMINGSIGNALS (0),
.VHDL_ID (0)
)Regards