end
end else if (app_wdf_afull || app_af_afull) begin
/* wait */
- end else if (`inAddrWrite_full && `inDataWrite_full) begin
+ end else if (`inAddrWrite_full && `inDataWrite_full && `out_empty) begin
`drain_inDataWrite
`drain_inAddrWrite
app_wdf_data <= inDataWrite_d;
out_d <= { 1'b1, 37'b0 };
mask <= 8'b00000000;
`fill_out
- end else if (`inAddrRead_full) begin
+ end else if (`inAddrRead_full && `out_empty) begin
`drain_inAddrRead
app_af_addr <= { inAddrRead_d, 2'b00 };
app_af_cmd <= 3'b001;