Area Optimization

Jun 11, 2011 24 Replies

You can't avoid 100% of all async reset flops but you can easily do the

99.999% where sync will give you a smaller, faster design and your design is still a black box equivalent to using the async reset.

With xilinx parts every flop with an async reset wastes 1 lut over a sync reset. In asic design every async reset flop doubles the number of endpoints needing timing closure from 1 to 2. If you do a really lousy job in designing your reset distribution then these async paths could become critical paths and start taking routing resources away from your other more important paths.

Async resets on flops are nothing but trouble.

John

--------------------------------------- Posted through

formatting link

(snip)

I thought (at least for some) if you do a global async reset that it used the same reset as for configuration. If you reset from a LUT output, then it needs something different. I am not sure now which family that is for, though.

-- glen

After tweaking my pipeline a bit and discovering that even after getting it down to well under 100% LUT utilization, it still utterly fails to PAR, I'm going to reassess the overall algorithm.

At this point, try to PAR with a ridiculously slow target clock. If that works, increase the clock until it fails, and let the timing report tell you which part of the pipeline is failing. Re-engineer that, and repeat...

- Brian

e
b

re

Actually you miss the point. There is no 99.999% issue. When you hit the PROGRAM pin, it is an async input and your entire design stops while the chips reconfigures. So any "analog" issues you may have with async reset inputs applies to the PROGRAM pin. Not much you can do but tie it off hard, but according to your description of the problems an async input has this won't address your concerns.

Also, your analysis of the LUT utilization is flawed. There is only a LUT savings in some cases where using the set and/or reset inputs to the FF as sync inputs will save you a LUT. There are plenty of logic cases where this is not true. Heck, there are plenty of cases where no LUTs are used with a FF. So how can you save a LUT then?

Rick

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required