URL
https://opencores.org/ocsvn/axi4_tlm_bfm/axi4_tlm_bfm/trunk
Subversion Repositories axi4_tlm_bfm
Compare Revisions
- This comparison shows the changes necessary to convert path
/axi4_tlm_bfm
- from Rev 38 to Rev 39
- ↔ Reverse comparison
Rev 38 → Rev 39
/trunk/rtl/axi4-stream-bfm-master.vhdl
55,8 → 55,9
-- axiSlave_in:in tAxi4Transactor_m2s; |
-- axiSlave_out:buffer tAxi4Transactor_s2m; |
|
symbolsPerTransfer:in i_transactor.t_cnt; |
outstandingTransactions:in i_transactor.t_cnt; |
-- symbolsPerTransfer:in i_transactor.t_cnt; |
-- outstandingTransactions:in i_transactor.t_cnt; |
lastTransaction:in boolean; |
|
/* Debug ports. */ |
-- dbg_cnt:out unsigned(9 downto 0); |
91,7 → 92,7
when idle=> |
if i_trigger then axiTxState<=payload; end if; |
when payload=> |
if outstandingTransactions<1 then axiTxState<=endOfTx; end if; |
if lastTransaction then axiTxState<=endOfTx; end if; |
when endOfTx=> |
axiTxState<=idle; |
when others=>axiTxState<=idle; |
103,26 → 104,29
axi_bfmTx_op: process(all) is begin |
i_writeResponse<=writeResponse; |
|
i_axiMaster_out.tValid<=false; |
i_axiMaster_out.tLast<=false; |
i_axiMaster_out.tData<=(others=>'Z'); |
i_writeResponse.trigger<=false; |
|
case next_axiTxState is |
when idle=> |
i_axiMaster_out.tValid<=false; |
i_axiMaster_out.tData<=(others=>'Z'); |
|
if i_trigger then |
i_axiMaster_out.tData<=writeRequest.message; |
i_axiMaster_out.tValid<=true; |
end if; |
when payload=> |
i_axiMaster_out.tData<=writeRequest.message; |
i_axiMaster_out.tValid<=true; |
when payload | endOfTx => |
if i_trigger then |
i_axiMaster_out.tData<=writeRequest.message; |
i_axiMaster_out.tValid<=true; |
end if; |
|
if axiMaster_in.tReady then |
i_writeResponse.trigger<=true; |
end if; |
|
if outstandingTransactions<1 then i_axiMaster_out.tLast<=true; end if; |
if lastTransaction then i_axiMaster_out.tLast<=true; end if; |
when others=> null; |
end case; |
end process axi_bfmTx_op; |
/trunk/rtl/user.vhdl
66,8 → 66,9
|
/* Global counters. */ |
constant maxSymbols:positive:=2048; --maximum number of symbols allowed to be transmitted in a frame. Each symbol's width equals tData's width. |
signal symbolsPerTransfer:i_transactor.t_cnt; |
signal outstandingTransactions:i_transactor.t_cnt; |
signal symbolsPerTransfer:i_transactor.t_cnt; --TODO deprecate. |
signal outstandingTransactions:i_transactor.t_cnt; --TODO deprecate. |
signal lastTransaction:boolean; |
|
/* BFM signalling. */ |
signal readRequest,writeRequest:i_transactor.t_bfm:=(address=>(others=>'X'),message=>(others=>'X'),trigger=>false); |
97,8 → 98,7
axiMaster_in=>axiMaster_in, |
axiMaster_out=>axiMaster_out, |
|
symbolsPerTransfer=>symbolsPerTransfer, |
outstandingTransactions=>outstandingTransactions, |
lastTransaction=>lastTransaction, |
dbg_axiTxFSM=>dbg_axiTxFSM |
); |
|
133,8 → 133,7
readRequest=>readRequest, writeRequest=>writeRequest, |
readResponse=>readResponse, writeResponse=>writeResponse, |
irq_write=>irq_write, |
symbolsPerTransfer=>symbolsPerTransfer, |
outstandingTransactions=>outstandingTransactions, |
lastTransaction=>lastTransaction, |
selTxn=>selTxn |
); |
end architecture rtl; |