在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、AI时代,工业机器人逆袭正当时570
  2. 2、5G时代到来,多省市新基建开足马力“吸金”2106
  3. 3、工业互联网驱动的数字化智能化转型2292
  4. 4、一周智造汇总丨科创板提速超预期,中联重科千亿智慧产业城项目启动5011
  5. 5、通过利用FPGA协处理器实现对汽车娱乐系统进行优化设计2128
  6. 6、谈谈FPGA的在线调试工具4835
  7. 7、基于可编程逻辑器件实现航姿计算机的设计4494
  8. 8、工业物联网将产生巨大的经济价值,未来十年内推动各种创新1149
  9. 9、霍尔传感器在智能坐便器无刷电机上的应用解析2532
  10. 10、智能地铁检修车在地铁车辆检修中的应用2336
全部评论(0)
我也有话说
0
收藏
点赞
顶部