xilinx推薦盡量不復位,利用上電初始化,如果使用過程中需要復位,采用同步高復位。
如果邏輯工程較大,復位扇出會較多,會很影響時序,有以下常用方法:
-
復位信號按照不同時鍾域分為rst0..rstn,每個復位信號被對應時鍾域的時鍾打一拍輸出,復位不同時鍾域,同時對所有復位寄存器用max fanout約 束。
-
復位信號上bufg,通過全局時鍾線減少信號延遲,同時可以完全忍受高扇出。
不同的大模塊用不同的復位信號,設計一個全局復位時序,先復位模塊x1 再復位x2...直到復位完成xn。還可以做一個握手協議,每個模塊復為成功 后輸出一個信號,復位模塊檢測到此信號再進行下一步復位,如果超過某 時間該出現的復位信號沒出現,則報錯。此方法比較復雜,管理比較精細,優點就是復位比較可靠,不會出現需要多次復位才能成功的情況。適用於超大規模可靠設計。
異步復位同步釋放:也就是先做一個異步復位電路,當復位信號來臨時立馬復位,輸出經過同步器同步到不同時鍾域輸出,扇出大的情況下加max fanout約束。前面的異步復位可以解決同步復位時時鍾邊沿在復位信號邊沿附近時出現的亞穩態,而輸出時由於是同步器打拍,又避免了異步釋放時,時鍾和復位信號邊沿接近時的亞穩態傳播,同時保證復位信號和時鍾邊沿對齊。
版權所有權歸卿萃科技 杭州FPGA事業部,轉載請注明出處
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA極客空間 微信公眾號
掃描二維碼關注杭州卿萃科技FPGA極客空間