Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

Can the NIOS II f be used as a dropin replacement for NIOS II e?

Can the NIOS II f be used as a dropin replacement for the NIOS II e? In other words are there any things that need to be taken into consideration when switching from the e version to the f version in QSYS? Is there anything in the e version that would not work in the f version? Our problem appears to lie in the communication between the NIOS II f and a register file generated in the SoC. 


Quartus Version: Quartus II 64-Bit 15.0.0 Build 145 SJ Web Edition 

Board: Altera DE2-115 Development and Education Board 

Language of code running on NIOS: C 


0 Kudos
2 Replies
Honored Contributor I

SOLUTION: Set data cache size of the NIOS II/f through QSYS (edit) to 0. This fixed everything. 


Found at this post. Kind of hard to find on Google due to the many ways one can spell NIOS II/f.
Honored Contributor I

Yes the cache is the main difference between the cores that can cause problems with the software. If you still want to use the speed bump provided by the cache, you need to change the way you communicate with your components. You can use uncached addresses (I think the function to do that is called alt_remap_uncached() IIRC), or use the cache control functions to flush the cache after writing and invalidate it before reading. 

This applies also to memory buffers read/written by DMA: