ctlr_mosi.address<=RESIZE_MEM_CTLR_ADDRESS(cur_address);-- no need to hold during burst, because the Avalon constantBurstBehaviour=FALSE (default) of the DDR IP slave
ctlr_mosi.burstbegin<='0';-- only used for legacy DDR controllers, because the controller can derive it internally by counting wr and rd accesses
ctlr_mosi.burstsize<=(OTHERS=>'0');-- no need to hold during burst, because the Avalon constantBurstBehaviour=FALSE (default) of the DDR IP slave
wr_snk_out.ready<='0';
nxt_dvr_done<='0';
...
...
@@ -169,7 +187,7 @@ BEGIN
ctlr_mosi.wr<='1';
nxt_burst_wr_cnt<=burst_wr_cnt-1;
IFburst_wr_cnt=1THEN-- check for the last cycle of this burst sequence
nxt_state<=s_wr_request;-- initiate a new wr burst or goto idle via the wr_request state, simulation shows this does not cost a cycle
nxt_state<=s_wr_request;-- initiate a new wr burst or goto idle via the wr_request state, simulation shows going directly idle by checking address_cnt_is_0 here does not save a cycle