Altera_Forum
Honored Contributor
13 years agoNeed Opinion: Timing Closure with Incremental Compilation and Design Space Explore
I was given a design with a long pipeline of logic path running at 300 Mhz, and DDR3 memory controller at 166 Mhz in Arria V GX with Quartus II 12.1 SJ Version.
There were initially 8000+ timing errors but fortunately, most were falsepath and multicycle, and some were computational which can be further pipelined (re-clocked). It got me down to less than 100 errors, but now I am dealing with very tight packing DSP block, memory locations and I followed the "Tips for Incremental Compilation And LogicLock" written by Ryan Scoville. The document offers so much strategy/technique that by partitioning, and LogicLock, I get as little as 9 timing errors in the 100ps-300ps range for 300 Mhz clock! (but later when getting very addicted with 4+ LogicLock not recommended by the document, timing closure head downhill) The issue I am having is, there seems no chance to get rid of these tiny little timing margin and claim victory... So I went on and run overnight of Design Space Explore hoping to get a "seed" or suggested setting, and that actually head me the wrong way. Which I end up with tons of few nanosecond of timing error and for example, the LCELL Insertion setting caused a super long recovery error (on the reset line which the tool decided to go very far corner and pick a buffer, then route it back to the logic). Am I running into the limitation of the silicon/device if the numbers is at best what it can do? The contradictory point to that is the errors I am getting are related to high fan-out to adders/DSP while the data path seem optimal from Chip Planner and inconsistent from each run (i.e. the DSP error may be gone, but other error unveil elsewhere such as memory block input/output path). I have also tried with a bigger device and resulted to the similar timing error. Anyone's opinion and advice much appreciated!