Forum Discussion
Altera_Forum
Honored Contributor
13 years agoNios II software bugging
I'm working with Nios II processor and quartus 10.1sp1 on the device cyclone III, using the EPCS64 flash memory. I've some problems when I send several commands of a sudden to the Nios software, f...
Altera_Forum
Honored Contributor
13 years agoHi,
Writing to a FLASH EEPROM Memory takes many milliseconds : because you can't directly write to one byte in FLASH, you (more precisely alt_epcs_flash_write function) needs to read the sector in which the byte is located, then copy to RAM, then modify the byte at correct address, then write all sector from RAM to Flash. And changing bit in Flash takes a few time (to provide sufficient current to level up the floating grid in the sillicium), so changing thousand of bytes takes thousand of this few time. Whereas reading from FLASH takes less than 100 nano seconds You have limited writing operations to flash : 100000 or 1 million. If you change bits very often : for example 100 times a second, the FLASH will be guaranted to be written only for 1000 seconds (or 10000 seconds), equals 16 minutes (or 2 hours and 46 minutes respectively). One "solution" is to use a cache. EDIT : Quartus 10 and Quartus 11 are transitional version from SOPC to QSYS. If you use Qsys, take Quartus version 12 minimum.