原创 global reset and local reset

2010-11-6 23:39 2776 22 23 分类: 消费电子

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.

文章评论1条评论)

登录后参与讨论

用户1610115 2011-5-26 08:42

科学技术的发展如此迅速,多么希望有一天我们都能享受阳光沙滩,让机器人去代替真我。

用户1277994 2010-11-8 15:33

thanks!
相关推荐阅读
用户1523359 2012-07-02 10:18
评论:@丁国勇的EMC博客 博客中提到的“EMC磁珠到底是什么特性?(4)”
赞...
用户1523359 2012-06-20 11:28
xilinx modelsim 仿真错误解决
1.  从 ISE 调用 modelsim 仿真 IP 核,提示 Module 'my_dpmem800x64' is not defined. 原因:开始试了网上的方法,重新映射 model...
用户1523359 2012-06-15 13:40
评论:@菜鸟成长日记 博客中提到的“运放的参数和选择”
mark...
用户1523359 2012-06-15 13:39
评论:@丁国勇的EMC博客 博客中提到的“EMC用磁珠到底是什么特性?”
mark...
用户1523359 2012-06-12 19:44
提高 SPARTAN-6 性能的方法
  摘自 wp311 Improving Performance in Spartan-6 FPGA Designs v1.2 RTL: ·         使用同步复位。 利于把...
用户1523359 2012-05-30 14:58
【转】word2010排版技巧——编辑尾注
转自 http://www.colinjiang.com/2011/04/21/word2010_endnotes/ =============   对于word的排版技巧网络上很多,...
我要评论
1
22
关闭 站长推荐上一条 /2 下一条