Line 274... |
Line 274... |
|
|
variable isPktError:boolean;
|
variable isPktError:boolean;
|
|
|
/* Tester variables. */
|
/* Tester variables. */
|
/* Synthesis-only randomisation. */
|
/* Synthesis-only randomisation. */
|
variable rand0:signed(63 downto 0);
|
variable rand0:signed(axiMaster_out.tData'high downto 0);
|
/* Simulation-only randomisation. */
|
/* Simulation-only randomisation. */
|
/* synthesis translate_off */
|
/* synthesis translate_off */
|
variable rv0:RandomPType;
|
variable rv0:RandomPType;
|
/* synthesis translate_on */
|
/* synthesis translate_on */
|
|
|
Line 312... |
Line 312... |
if falling_edge(irq_write) then
|
if falling_edge(irq_write) then
|
i_txFSM<=txFSM;
|
i_txFSM<=txFSM;
|
end if;
|
end if;
|
end process sequencer_regs;
|
end process sequencer_regs;
|
|
|
|
/* Transaction counter. */
|
|
process(nReset,symbolsPerTransfer,irq_write) is begin
|
|
if not nReset then outstandingTransactions<=symbolsPerTransfer;
|
|
elsif falling_edge(irq_write) then
|
|
/* Use synchronous reset for outstandingTransactions to meet timing because it is a huge register set. */
|
|
if not nReset then outstandingTransactions<=symbolsPerTransfer;
|
|
else
|
|
if outstandingTransactions<1 then
|
|
outstandingTransactions<=symbolsPerTransfer;
|
|
report "No more pending transactions." severity note;
|
|
elsif axiMaster_in.tReady then outstandingTransactions<=outstandingTransactions-1;
|
|
end if;
|
|
end if;
|
|
end if;
|
|
end process;
|
|
|
/* Reset symbolsPerTransfer to new value (prepare for new transfer) after current transfer has been completed. */
|
/* Reset symbolsPerTransfer to new value (prepare for new transfer) after current transfer has been completed. */
|
process(reset,irq_write) is
|
process(reset,irq_write) is
|
/* synthesis translate_off */
|
/* synthesis translate_off */
|
variable rv0:RandomPType;
|
variable rv0:RandomPType;
|