Hi, everyone. My board is composed of 4 DSP(TMS320C6455) and 4 FPGA(XC5VLX50T), 1 DSP and 1 FPGA is a pair. DSP connects with FPGA via EMIFA interface. DSP read/write data from/to a dual RAM in FPGA, EMIFA worked at 100MHz and EDMA3 are used as read/write data engine. as figure below shows.
When I debug my board, there are some strange phenomenon that confuse me.
1. when the board first powered up, i run my DSP program of the 4 pairs at the same time, pair 1,2,4 run very well. The third pair can't run(i sampled EMIFA signal with Xilinx chipscope, i found that EMIFA signal was error--at some times, CE4 was high at the time it should be low), but when i restart or reload my program, it could run very well. what i wanted to ask is that does DSP chang its core status when i restart or reload program ? Does DSP initialization need more time before execute my program ?
2. I sampled EMIFA signals with Xilinx chipscope: After power up, i execute my program at the first time, I found that DSP used almost 100 clock cycles to read/write a 32bit data from/to FPGA dual RAM. But when I restart or relaod my program, it can read/write a 32bit data in a clock cycle. This phenomenon can happened in one pair, two pairs, three pairs or four pairs. It is random. What is the reason ? figure below is one example.