在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、腾讯与快手深入合作的三种可能性与路线图4840
  2. 2、2019年AppStore趋势分析与预判1843
  3. 3、人工智能长篇报告:1.5万字告诉你AI的应用究竟对人类社会经济有哪些影响791
  4. 4、2018年度:一个媒体从业者的思考721
  5. 5、文案苦手的救赎:写好标题只需WHCB法则就够了2466
  6. 6、指纹识别OUT了,未来你还能用什么姿势付款?1412
  7. 7、亚马逊高管:FirePhone定价过高我们赔惨了4730
  8. 8、公务员录用考试面试的八大细节2222
  9. 9、为什么创业者越来越多,站长却越来越少?2165
  10. 10、存量战场的厮杀:APP工厂永不眠4013
全部评论(0)
我也有话说
0
收藏
点赞
顶部