在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、《狼烟》湖南凤凰热拍王新少数民族装束亮眼3808
  2. 2、赵丽颖最受好评的五部剧:《陆贞传奇》第二名,你知道哪部一名吗4953
  3. 3、《完美的他人》大咖云集曹政奭将成为宋昰昀和李瑞镇的矛盾源头3233
  4. 4、话剧改编电影一不小心就浮夸1305
  5. 5、《李茶的姑妈》口碑崩盘,作为配角的他一出现却成为电影的笑点?989
  6. 6、《站住!小偷》未映先火网友:郑云的电影一万个放心2775
  7. 7、董卿朱军仍主持春晚张泽群接棒张国立或无缘4728
  8. 8、《青春派》入围大影节董子健提名最佳新人奖2724
  9. 9、2003年他凭借《金粉世家》成名,随后抛弃蒋勤勤,15年后患癌去世4376
  10. 10、周润发:姜文跟很多导演不一样叫冯小刚看《邪不压正》有深意!4325
全部评论(0)
我也有话说
0
收藏
点赞
顶部