Area Optimization

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

Reply to
jt_eaton
Loading thread data ...

(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

Reply to
glen herrmannsfeldt

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.

Reply to
Christopher Head

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

Reply to
Brian Drummond

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

Reply to
rickman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.