全局復位及局部復位設計
發布時間:2008/9/16 0:00:00 訪問次數:733
隨著fpga設計越來越復雜,芯片內部的時鐘域也越來越多,使全局復位已不能夠適應fpga設計的需求,更多的設計趨向于使用局部的復位。本節將會從fpga內部復位“樹”的結構來分析復位的結構。
我們的復位線將會是一個和時鐘一樣多扇出的網絡,如此多的扇出,時鐘信號是采用全局時鐘網絡的,那么復位如何處理?有人提出用全局時鐘網絡來傳遞復位信號,但是在fpga設計中,這種方法還是有其弊端。一是無法解決復位結束可能造成的時序問題,因為全局網絡的延時較大,并且不可以直接連到寄存器的復位端。仍然需要局部走線,這對于時序要求緊張的場合,較難滿足時序;二是會占用全局時鐘資源,多個復位信號會占用更多的全局時鐘資源。
在這里提出一個區域化復位的方案,如圖1所示。外部的異步復位信號被二級寄存器同步化之后,復制不同的復位寄存器連到不同的模塊來作為復位控制。如果單個模塊的復位扇出太大的話,還可以在模塊內部復制復位寄存器。強烈建議那些在datapath上不需要復位的寄存器不要在代碼中復位,因為這樣會增加復位信號的扇出,并增加邏輯資源和降低邏輯速度。
對于那些有多個時鐘區域,需要多個時鐘區域內獨立復位的設計由多個同步化的寄存器的模塊來完成同步,然后送到各模塊進行復位。
當然,對于選擇同步化的異步復位的方案,也可以如圖2所示來安排復位。將復位信號轉換成同步后送到不同的模塊,在各模塊中進行同步化處理,各模塊完成自己的本地復位。
圖1模塊化復位
圖2 同步化異步復位之模塊化復位
綜合本節說明的復位路徑設計,推薦采用局部復位,即各模塊或多個模塊采用自己的獨立復位信號。
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)
隨著fpga設計越來越復雜,芯片內部的時鐘域也越來越多,使全局復位已不能夠適應fpga設計的需求,更多的設計趨向于使用局部的復位。本節將會從fpga內部復位“樹”的結構來分析復位的結構。
我們的復位線將會是一個和時鐘一樣多扇出的網絡,如此多的扇出,時鐘信號是采用全局時鐘網絡的,那么復位如何處理?有人提出用全局時鐘網絡來傳遞復位信號,但是在fpga設計中,這種方法還是有其弊端。一是無法解決復位結束可能造成的時序問題,因為全局網絡的延時較大,并且不可以直接連到寄存器的復位端。仍然需要局部走線,這對于時序要求緊張的場合,較難滿足時序;二是會占用全局時鐘資源,多個復位信號會占用更多的全局時鐘資源。
在這里提出一個區域化復位的方案,如圖1所示。外部的異步復位信號被二級寄存器同步化之后,復制不同的復位寄存器連到不同的模塊來作為復位控制。如果單個模塊的復位扇出太大的話,還可以在模塊內部復制復位寄存器。強烈建議那些在datapath上不需要復位的寄存器不要在代碼中復位,因為這樣會增加復位信號的扇出,并增加邏輯資源和降低邏輯速度。
對于那些有多個時鐘區域,需要多個時鐘區域內獨立復位的設計由多個同步化的寄存器的模塊來完成同步,然后送到各模塊進行復位。
當然,對于選擇同步化的異步復位的方案,也可以如圖2所示來安排復位。將復位信號轉換成同步后送到不同的模塊,在各模塊中進行同步化處理,各模塊完成自己的本地復位。
圖1模塊化復位
圖2 同步化異步復位之模塊化復位
綜合本節說明的復位路徑設計,推薦采用局部復位,即各模塊或多個模塊采用自己的獨立復位信號。
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)
上一篇:XMD軟件的調試設計