xilinx引荐尽量不复位,利用上电初始化,假如使用过程中需求复位,选用同步高复位。
假如逻辑工程较大,复位扇出会较多,会很影响时序,有以下常用办法:
复位信号依照不同时钟域分为rst0..rstn,每个复位信号被对应时钟域的时钟打一拍输出,复位不一起钟域,一起对一切复位寄存器用max fanout约 束。
复位信号上bufg,通过大局时钟线削减信号推迟,一起能够彻底忍耐高扇出。
不同的大模块用不同的复位信号,规划一个大局复位时序,先复位模块x1 再复位x2.。.直到复位完结xn。还能够做一个握手协议,每个模块复为成功 后输出一个信号,复位模块检测到此信号再进行下一步复位,假如超越某 时刻该呈现的复位信号没呈现,则报错。此办法比较复杂,办理比较精密,长处便是复位比较牢靠,不会呈现需求屡次复位才干成功的状况。适用于超大规模牢靠规划。
异步复位同步开释:也便是先做一个异步复位电路,当复位信号来暂时立马复位,输出通过同步器同步到不一起钟域输出,扇出大的状况下加max fanout束缚。前面的异步复位能够处理同步复位时时钟边缘在复位信号边缘邻近时呈现的亚稳态,而输出时由所以同步器打拍,又避免了异步开释时,时钟和复位信号边缘挨近时的亚稳态传达,一起确保复位信号和时钟边缘对齐。