Hi Aaron,
The data coming in is (or was) synched to the cpu clock. The 1-2MHz meant that every say 30-80 clocks a value would be ready to be read into (streamed into) the Nios.
We were looking at Example 17 on page 69 of the Avalon .pdf, so the peripheral was attempting to load this value on demand into the Nios using dataavailable just as shown. We got it to work somewhat, but never without errors as described earlier.
Anyway, we finally had to give up and used an Avalon Master Port instead and had the peripheral write directly into the buffer. We followed example 13 on page 53 and had this working in no time.
I'm still integrating this module back into the overall system, but the test Nios with this port is working flawlessly.
Thanks,
Ken