Xilinx、Altera、Lattice的FPGA器件都是SRAM查找表結(jié)構(gòu)。Xilinx支持模塊化動(dòng)態(tài)部分重構(gòu)的器件族有XC6200系列,90nm工藝Spartan-3和Virtex-Virtex-II-E和Virtex-IIPro[7]。Acmel公司的AT6000系列同樣基于SRAM結(jié)構(gòu),只是SRAM的各單元能夠單獨(dú)訪問(wèn)配置,即支持部分重構(gòu)。Lattice公司的基于Flash的FPGA通過(guò)在Flash上存儲(chǔ)多種邏輯功能的配置數(shù)據(jù)流,經(jīng)過(guò)配置實(shí)現(xiàn)不同邏輯功能,嚴(yán)格意義上講屬于靜態(tài)可重構(gòu)技術(shù)。Altera公司的Flex系列、ACEX、APEX、Cyclone系列也是基于SRAM的可重構(gòu)邏輯。
支持重構(gòu)的FPGA器件有數(shù)量逐漸增加的趨勢(shì)。但目前價(jià)格相對(duì)偏高。由于可重構(gòu)系統(tǒng)的研究歷史很短,目前尚未形成標(biāo)準(zhǔn)的結(jié)構(gòu)形式,在此僅根據(jù)已有的應(yīng)用做初步分析。按重構(gòu)的粒度和方式,可重構(gòu)系統(tǒng)可以粗略地分為兩種。一種是粗粒度重構(gòu)單元的模塊級(jí)重構(gòu),即重構(gòu)時(shí)改變某一個(gè)或若干個(gè)子模塊的結(jié)構(gòu)。此時(shí)不僅電路邏輯改變,連線資源也重新分配。重構(gòu)所需的電路輸出配置信息事先由編譯軟件生成。通常重構(gòu)時(shí)系統(tǒng)需要暫停工作,待重構(gòu)完成后再繼續(xù)。這種重構(gòu)系統(tǒng)設(shè)計(jì)簡(jiǎn)單,但靈活性不足,且有時(shí)不能完全發(fā)揮出硬件運(yùn)算的效率。較適合應(yīng)用于嵌入式系統(tǒng)中。另一種細(xì)粒度的重構(gòu)單元的元件級(jí)重構(gòu),即重構(gòu)時(shí)僅改變?nèi)舾稍倪壿嫻δ堋MǔG闆r下重構(gòu)時(shí)連線資源的分配狀況不作修改。