基于模塊化設計方法實現FPGA動態部分重構
關鍵詞:FPGA;動態部分重構;重構;Virtex
隨著可編程技術的不斷發展,FPGA被廣泛應用于電子設計的各個領域。新的設計思想和設計方法也被不斷的提出和應用,如FPGA的動態部分重構技術。所謂動態重構是指對于時序變化的數字邏輯系統,其時序邏輯的發生,不是通過調用芯片內不同區域不同邏輯資源的組合來實現,而是通過對具有專門緩存邏輯資源的FPGA,進行局部和全局芯片邏輯的動態重構而快速實現。動態可重構FPGA器件在編程結構上應具有專門的特征,其內部邏輯塊和內連線的改變可以通過讀取不同的配置比特流文件來實現邏輯重建。動態部分重構是指重新配置FPGA的部分區域,重構過程中,FPGA其余部分的工作狀態不受影響。此方式減小了重構范圍和單元數目,從而大大縮短了FPGA的重構時間。
本文引用地址:http://www.j9360.com/article/191607.htm應用FPGA動態部分重構功能使硬件設計更加靈活,可用于硬件的遠程升級、系統容錯和演化硬件以及通信平臺設計[1]等。動態部分重構可以通過兩種方法實現:基于模塊化設計方法(Module-Based Partial Reconfiguration)和基于差別的設計方法(Difference-Based Partial Reconfiguration),本文以基于模塊化設計為例說明實現部分重構的方法。
1 FPGA配置原理簡介
本文針對Xilinx公司的FPGA進行研究,支持模塊化動態部分重構的器件族有Virtex/-II/-E和Virtex-II Pro。
Xilinx公司FPGA是基于SRAM工藝的,包括配置邏輯塊(CLBs),輸入輸出塊(IOBs),塊RAMs,時鐘資源和編程布線等資源[2]。CLBs是構造用戶所需邏輯的功能單元,IOBs提供封裝引腿與內部信號引線的接口??删幊袒ミB資源提供布線通道連接可配置元件的輸入和輸出到相應的網絡。
存儲在內部配置存儲器單元中的數值決定了FPGA實現的邏輯功能和互接方式。Virtex FPGA的配置存儲器是由配置列(Configuration Columns)組成的,這些配置列以垂直陣列的方式排列,如圖1給出了Virtex-E XCV600E器件的配置列構成圖。配置存儲器可分為五種配置列:Center 列包含四個全局時鐘的配置信息;兩個IOB 列存儲位于器件左邊和右邊所有IOBs的配置信息;CLB列存儲FPGA基本邏輯功能的配置信息;Block SelectRAM Content列存儲內部塊RAM的配置信息;Block SelectRAM Interconnect列存儲內部塊RAM間互聯的配置信息[3]。
圖1 Virtex-E XCV600E的配置列構成及地址
評論