在FPGA开发中尽量避免全局复位的使用?(2)

在Xilinx 的FPGA器件中,全局的复位/置位信号(Global Set/Reset (GSR))(可以通过全局复位管脚引入)是几乎绝对可靠的,因为它是芯片内部的信号。如果所有的触发器都使用这一全局复位信号,则GSR信号将形成一个高扇出的网络(有兴趣的朋友可以在综合工具中查看)。虽然在启动顺序中,它可以与一个用户自定义的时钟进行同步,但是想让它与设计中的所有时钟信号进行同步是不可能的;比如,一个Xilinx FPGA中可能含有多个DLL/DCM/PLL时钟处理模块,每个模块又可以产生多个时钟信号,在各个模块内部进行时钟信号的同步是可行的,然而想让所有时钟信号同步是完全不可行的——从DCM的分布上就可以看出来:中间相隔的长距离布线对高频时钟信号的延时显著增大,进行同步自然无法做到。于是,在时钟信号频率越来越高的情况下,全局复位信号便开始成为时序关键。解释如下:

 在FPGA开发中尽量避免全局复位的使用?(2)_设计制作_可编程逻辑

图1 给出了被两个时钟信号的边沿截断的复位信号的时序图,第一行是时钟信号,第二行是器件复位管脚上的信号,第三行是到达触发器复位端的复位信号。为了使触发器进行有效的复位,在有效的时钟边沿到来之前,复位信号应该被保持至少一个建立时间(时钟信号的简历时间)。可以看出,时钟信号的频率越高,用来分配复位信号的可用时间就越少。而且考虑到全局复位信号往往是高扇出的的网络,想在这个庞大的网络中满足苛刻的时序要求是非常困难的。在经常使用的异步复位的设计中,更没有办法来保证所有的触发器都可以在同一个时钟边沿被释放,即使存在用来分配复位信号的可用时间。这一点从图2中可以看出。

 在FPGA开发中尽量避免全局复位的使用?(2)_设计制作_可编程逻辑

图2给出了异步设计中复位信号的时序图。可以看出,在A时刻产生的复位信号,将在第一个时钟信号的有效边沿产生,而在C时刻产生的复位信号将在第二个有效的时钟信号边沿产生。在B时刻,触发器很难有效定义哪一个复位信号是有效的,这将导致亚稳态的产生。
随着时钟信号频率的增高和器件规模增大带来的潜在的时钟偏移,在同一个时钟边沿对所有的触发器进行是否已经几乎是不可能的了。图3显示了高时钟频率下的复位时序图。

 在FPGA开发中尽量避免全局复位的使用?(2)_设计制作_可编程逻辑


7
18
0
80

相关资讯

  1. 1、杨幂新片票房扑街?王威拉票这样称呼杨幂,险变乌龙3480
  2. 2、漫威猎鹰与冬兵倒计时4天!巴基跳飞机摔惨,两人被嘲像杨过与雕2730
  3. 3、[午夜放映]《潘神的迷宫》:游走于魔幻与现实间778
  4. 4、漫威这次拼了?《黑豹》冲击奥斯卡,秘密武器就是他245
  5. 5、红星观察│70岁的张艺谋,新片《一秒钟》为何票房低迷4448
  6. 6、刘亦菲版《花木兰》开机,李连杰巩俐等出演,是中国国籍的只有他1611
  7. 7、《窃听风云3》4日腾讯首映周迅被拷问新恋情4418
  8. 8、银幕不是最后的舞台,《一出好戏》可能实现电影向话剧反输出3517
  9. 9、《奇怪的袜子精灵》:袜子总是丢一只?原因在这里呀!1635
  10. 10、《陪读妈妈》为夏天挂出免死金牌!男主角此时必须任性2105
全部评论(0)
我也有话说
0
收藏
点赞
顶部