Forum Discussion
Altera_Forum
Honored Contributor
11 years agoFPGA Area Optimization
I have a code for in Altera project (Sensorless control algortihm) with resource utilization aroung 66000 gates. My supervisor wants me to do area optimization to reduce the gates. Can, any guide my...
Altera_Forum
Honored Contributor
11 years agoTools -> Advisors -> Resource Optimization Advisor
If you're trying to reduce basic logic, it's really hard. The big ones are: Memories/shift-registers that could go into RAM blocks but aren't DSP logic that isn't going into DSP blocks Usually when these things happen, it's pretty apparent. Decent sized RAMs going into logic take a ton of area and you'd know early on. DSP logic that doesn't use the DSP blocks usually fails timing and takes a ton of logic. So both of these are uncommon to begin with, and when they do happen are usually noticed right away unless the designers is just running code where they have no idea what's inside. After that, it's really hard to do anything noticable. The synthesis options(like synthesizing for Area) have a negligible option. The bottom line is synthesis does whatever is in the RTL, and removes anything not hooked up, duplicated, or unnecessary, and is quite good at that(too good, if you ask some). So your left with logic to do what your code is and that's it. Different synthesis algorithms can refactor to remove some LUTs here and there, but nothing specific. So changing options might reduce it a percent, maybe two. If you need a lot more, you really need to remove logic from the design or try to find some algorithmic trick to do it more efficiently. I've had users spend weeks flipping switches and what not because they were too big for their device, but eventually realize some logic had to go to the chopping block. It's really just a symptom of synthesis being efficient from the get-go.