excerpt from http://forums.xilinx.com/t5/PLD-Blog/That-Dangerous-Asynchronous-Reset/ba-p/12856
Try to think in terms of ‘global’ simply meaning ‘everything’ or ‘all’ regardless of scale. If I develop a macro that contains 100 flip-flops and every one of them is connected to a reset signal then we can say that the macro contains a global reset. If I then instantiate that macro in a design 20 times and I connect all the reset inputs back to one reset input pin there will be 2,000 flip-flops all connected to the same global reset even though at the top level it only looks like there are 20 loads. So it isn’t how it looks depending at what level you view it but the fact that you have just blindly connected every reset together at any level that you look at it. The danger is that what seems small at any one level all adds up to be something big and that large fan-out will result in larger delays and skew both of which contribute to the nasty stuff we are trying to avoid.
In contrast, a local reset is where only those flip-flops that need to be reset in a particular way are treated in isolation. For example, I may have recognized that of the 100 flip-flops in my macro, 4 were used to form a state machine critical to reliable operation so I provided them with a carefully controlled synchronous reset generated locally (probably a signal generated as a consequence of the release of the ‘global’ asynchronous reset). May be I left the other 96 flip-flops connected to the ‘global’ reset just for a clean simulation (or to satisfy that unnecessary design review item!). Back in the big design I would then have 1,920 flip-flops connected to the ‘global’ reset but providing as long as the input reset signal is clean that would be fine. However the complete design also contains 20 carefully controlled local resets which do matter.
Now there may be cases in which the local reset needs to connect to tens or even hundreds of flip-flops so you shouldn’t take fan-out as a measure of what is local or global. The key difference is that in any localized reset you maintain precise control over what happens because you care about it. In practice, it just gets very difficult to maintain that control if the fan-out is too high. If it were easy to have precise control over all flip-flops in the device then we wouldn’t be having this discussion.
To make it really simple….. Local means you care and global means you don’t.
用户1610115 2011-5-26 08:42
科学技术的发展如此迅速,多么希望有一天我们都能享受阳光沙滩,让机器人去代替真我。
用户1277994 2010-11-8 15:33