Altera_Forum
Honored Contributor
14 years agoSDRAM setup violation when reading
Hi,
I am using a Cyclone 4 FPGA running at 100Mhz. My design has a SDRAM interface also running at 100Mhz. Currently the PLL is generating 1 clock, which is used to clock the SDRAM data registers and is directly driven out off the FPGA (via non dedicated routing). I am not using any ALTDDIO buffer. After synthesis, I have a setup timing violation of ~0.1ns when reading. In Timequest, the path is reported as follow: ~2.9ns clock delay + 6ns input delay + ~1.1ns data delay. I've been reading several documents (including AN433), looking in the forum, but I am still a bit confused what is the best way to fix this. I read that the ALTDDIO output buffer improves the skew. But when I tried to use it, it also degrades the timing (clock delay is bigger). So it does not look like the solution for me. Now, I am thinking about using a new clock from the PLL that I can compensate to meet my timing. In such a case, should I also use the ALTDDIO buffer ? Or should I use the PLL dedicated output pin as sdram clock ? But in such a case I can’t control the phase. Or is there another solution ? Thanks for letting me know what you think is the best solution to fix this. Thanks, Frederic