Forum Discussion
Altera_Forum
Honored Contributor
14 years ago --- Quote Start --- Okay, Here's what I found out! When having a 16-bit device mapped to 32bit nios via tristate-bridge, every IOWR_16DIRECT will initiate 2 accesses to the device. Ex: IOWR_16DIRECT to 0x04 will write to location: 0x04 and 0x06. My question is: is my observation true? Why is it designed that way? If it is that case, the CFI-flash will go crazy because all the command sequence will go wrong. I'm sure that someone already succeeded in getting the CFI flash working. How to work with CFI-flash ???? ... Any reference design available? Thanks a lot. Jeff --- Quote End --- Hallo, I have an similar problem. I would like to connect a memory mapped slave, with a 16-Bit wide data interface to the nios ii. Then I do the IOWR_16DIRECT() operation from nios and try to set some registers inside the slave depending on the addresses. Unfortunately addressing fails. Maybe the multiple write operations causes this. Now I extend the data interface to 32-Bit and use IOWR() (ignoring the upper 24 bits) -> everything works fine. surprisingly (http://www.dict.cc/englisch-deutsch/surprisingly.html) the IOWR_8DIRECT() method works fine. I use it several times to access registers of slaves with a 8-Bit wide data interface. Could somebody explain this behavior? :confused: Greets Sim