当FPGA复位扇出较多时 有以下办法可以解决

可编程逻辑

1390人已加入

描述

xilinx推荐尽量不复位,利用上电初始化,如果使用过程中需要复位,采用同步高复位。

如果逻辑工程较大,复位扇出会较多,会很影响时序,有以下常用方法:

复位信号按照不同时钟域分为rst0..rstn,每个复位信号被对应时钟域的时钟打一拍输出,复位不同时钟域,同时对所有复位寄存器用max fanout约 束。

复位信号上bufg,通过全局时钟线减少信号延迟,同时可以完全忍受高扇出。

不同的大模块用不同的复位信号,设计一个全局复位时序,先复位模块x1 再复位x2.。.直到复位完成xn。还可以做一个握手协议,每个模块复为成功 后输出一个信号,复位模块检测到此信号再进行下一步复位,如果超过某 时间该出现的复位信号没出现,则报错。此方法比较复杂,管理比较精细,优点就是复位比较可靠,不会出现需要多次复位才能成功的情况。适用于超大规模可靠设计。

异步复位同步释放:也就是先做一个异步复位电路,当复位信号来临时立马复位,输出经过同步器同步到不同时钟域输出,扇出大的情况下加max fanout约束。前面的异步复位可以解决同步复位时时钟边沿在复位信号边沿附近时出现的亚稳态,而输出时由于是同步器打拍,又避免了异步释放时,时钟和复位信号边沿接近时的亚稳态传播,同时保证复位信号和时钟边沿对齐。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分