Hi all,
We have made much progress in working with the OMAPl138 processor communications with a spartan-6 FPGA via the EMIF bus. Heres what we have:
- We use address lines EMA_A[13:0]
- We are doing 16-bit addressing which will disable BA0
- I map the ASYNC2 address + 0x3800 using mmap_device_memory
- I write data to the pointer resulting from the mmap_device_memory call.
- On the FPGA we are using chipScope to look at address lines EMA_A[13:0]
- What we see is 0x0E00 on the address lines where i would expect to see 0x3800. It's 2 bits off. ie. if I shift 0x0E00 to the left by 2 bits I get 0x3800.
- If I change my address to be mapped to ASYNC2 address + 0xE000 (0x3800 shifted left by 2 bits), chipScope sees 0x3800.
All the timing looks good as far as setup, read and write wait cycles goes. Also, the data comes over correctly.
I think I may be missing something in the setup somewhere - any thoughts?