This post is to inform whomever may find it important.Referring to -Device 10M04 family (important that this issue only affects 10M04 variants) -Documentation version 2016.05.02 -IP Core altera_onchip_flash version 15.1 If you try to access altera_onchip_flash directly, meaning creating a QSYS module with only an Altera Onchip Flash block in the system contents. Beware that the documentation section in 5-6 which talks about the Control Register. It is not correct or what i mean is, there is not clear definition relating sector number ie sector 1/2/3/4/5 to UFM1/UFM0/CFM2/CFM1/CFM0. This issue only exist for 10M04 families, since it is the only variant in the family that has no UFM1 sector which is supposed to be by default referring to sector 1. However. That is not the case. According to documentation, in order to access UFM0, I would have to set WP[27-23] as 5'b11101 and if i want to erase sector, i would need to set SE[22-20] to 3'b010. Now this is not the case. In fact I need to disable WP to UFM1 and set SE to 3'b001! Of course, logically it makes sense. that the starting sector 1 points to the first existing identifier sector which in this case is UFM0. Please also note that I confirmed that my understanding is correct based on the code generated for the Data controller and the CSR controller for the On-Chip Flash. It was crucial for me to find the issue in few hours instead of few days. So I am very happy that Altera lets developers like me verify against the code generated for interfaces to internal/external peripherals.