OpenCores
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;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.