Forum Discussion
As mentioned here (https://www.intel.com/content/www/us/en/docs/programmable/683180/18-0/ufm-sector-erase-operation.html) the maximum sector erase time is 350ms, so you can try adding a delay as a workaround. May be for another reason that if one of the CFM images cannot be erased, FPGA switch to that image and program itself from it. So you must be sure that all 2 images erased successfully.
- JensVkb3 years ago
Occasional Contributor
@jozephka99 wrote:
As mentioned here (https://www.intel.com/content/www/us/en/docs/programmable/683180/18-0/ufm-sector-erase-operation.html) the maximum sector erase time is 350ms, so you can try adding a delay as a workaround. May be for another reason that if one of the CFM images cannot be erased, FPGA switch to that image and program itself from it. So you must be sure that all 2 images erased successfully.
Since I use the dual-configuration IP block, I know that the FPGA could boot from the other CFM if one is not available. This is, however, not happening as I make sure there is another image in the other CFM, so I can clearly see if it boots from the other (and thus the erase was successful).
I had some simulation progress today. Where previously the wait_request signal never went to '0', I can now see it has a pattern of 2 clock-cycles '1' and one clock-cycle '0'. I forgot to explicitly put the reset_n signal to '0' a few cycles before putting it to '1' for the remainder of the simulation. So I changed my code in a few places to wait for the wait_request to go to '0' once the erase command has started (busy state changed to "01").
This change in code, however, had no consequences in the actual hardware implementation. The "successful" bit is still set, but after a powercycle of the board, the image is still present in the flash.
So, I guess my final option is indeed figuring out how to setup the Signal Tap and do live debugging, in the hopes this shows what goes wrong. (which is a pity, since the simulation now reports no errors and everything behaves as stated in the manual https://www.intel.com/content/www/us/en/docs/programmable/683180/18-0/ufm-sector-erase-operation.html )