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