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