I followed the AMBA 3 APB specification to design my APB slave. Reading from slave requires several clock cycles to make the data ready for the bus, so I set my PREADY signal for one clock cycle when the data is valid (PREADY default is always low). However, the APB bus controller does not wait when PREADY goes HI. It keeps PENABLE for one clock cycle and terminates the transection. Any one has an idea what is wrong?
It is running on soft processor CortexM1 on Microsemi FPGA.