基于FPGA的動態(tài)可重構系統(tǒng)設計與實現(xiàn)
0 引 言
由于數(shù)字邏輯系統(tǒng)功能復雜化的需求,單片系統(tǒng)的芯片正朝著超大規(guī)模、高密度的方向發(fā)展。對于一個大規(guī)模的數(shù)字系統(tǒng)而言,系統(tǒng)規(guī)模是基于各種邏輯功能模塊的組合。但是,無論是時序邏輯系統(tǒng),還是組合邏輯系統(tǒng),或者組合/時序混合系統(tǒng),從時間軸上來看,系統(tǒng)中的各個功能模塊并不是時刻都在工作,而是根據(jù)系統(tǒng)外部的整體要求,輪流或循環(huán)地被激活或工作。并且,隨著數(shù)字邏輯規(guī)模的擴大,在相同速度條件下,在一定的時間區(qū)間,其功能模塊的平均使用率將下降。因此,系統(tǒng)設計應該從傳統(tǒng)追求大規(guī)模、高密度的方向,轉向如何提高資源利用率,用有限的資源實現(xiàn)更大規(guī)模的邏輯設計上來??芍貥嬘嬎慵夹g能夠提供硬件的效率和軟件的可編程性,它綜合了微處理器和ASIC的特點,在空間維和時間維上均可變。
1 可重構技術概述
1.1 可重構的定義
可重構就是在電子系統(tǒng)的工作狀態(tài)下,動態(tài)地改變電路的結構。這主要通過對系統(tǒng)中的可編程邏輯器件進行重新配置或者局部重新配置來完成。利用可重構技術,能在只增加少量硬件資源的情況下,使系統(tǒng)同時具有軟件實現(xiàn)和硬件實現(xiàn)的優(yōu)點。
1.2 可重構方式的分類
按照重構的方式,系統(tǒng)重構可以分為靜態(tài)系統(tǒng)重構(Static Reconfiguration)和動態(tài)系統(tǒng)重構(Dynamic Reconfiguration)。
1.2.1 靜態(tài)系統(tǒng)重構
靜態(tài)系統(tǒng)重構是指目標系統(tǒng)的邏輯功能靜態(tài)重載,只能在運行前配置的系統(tǒng),如圖1所示。
FPGA功能在外部邏輯的控制下,通過存儲于存儲器中不同的目標系統(tǒng)數(shù)據(jù)重新下載,從而實現(xiàn)芯片邏輯功能的改變。
1.2.2 動態(tài)系統(tǒng)重構
動態(tài)系統(tǒng)重構是指能在運行過程中實時配置的可重構系統(tǒng),如圖2所示。
對于時序變化的數(shù)字邏輯系統(tǒng),其時序邏輯的發(fā)生不是通過調用芯片內不同區(qū)域、不同邏輯資源組合而成的,而是通過對具有專門緩存邏輯資源的FPGA進行局部或全局的芯片邏輯的動態(tài)重構而快速實現(xiàn)的。動態(tài)系統(tǒng)結構的FPGA具有緩存邏輯(Cache Logic),在外部邏輯的控制下,通過緩存邏輯對芯片邏輯進行全局或局部的快速修改,通過有控制重新布局布線的資源配置來加速實現(xiàn)系統(tǒng)的動態(tài)重構。就動態(tài)重構實現(xiàn)面積的不同,又可以分為全局重構和局部重構。
評論