FPGA可應(yīng)用于SOPC方向!FPGA芯片可重構(gòu)技術(shù)是什么?
在這篇文章中,小編將對FPGA的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。
一、FPGA可用于SOPC方向
嚴(yán)格意義上來說這個已經(jīng)在FPGA設(shè)計的范疇之內(nèi),只不過是利用FPGA這個平臺搭建的一個嵌入式系統(tǒng)的底層硬件環(huán)境,然后設(shè)計者主要是在上面進行嵌入式軟件開發(fā)而已。設(shè)計對于FPGA本身的設(shè)計時相當(dāng)少的。
就目前SOPC方向發(fā)展相比其它應(yīng)用方向相對較慢,其主要原因是因為SOPC以FPGA為主,或者是在FPGA內(nèi)部的資源實現(xiàn)一個“軟”的處理器,或者是在FPGA內(nèi)部嵌入一個處理器核。但大多數(shù)的嵌入式設(shè)計卻是以軟件為核心,以現(xiàn)有的硬件發(fā)展情況來看,多數(shù)情況下的接口都已經(jīng)標(biāo)準(zhǔn)化,并不需要那么大的FPGA邏輯資源去設(shè)計太過復(fù)雜的接口。而且就目前看來SOPC相關(guān)的開發(fā)工具還非常的不完善,以ARM為代表的各類嵌入式處理器開發(fā)工具卻早已深入人心,大多數(shù)以ARM為核心的SOC芯片提供了大多數(shù)標(biāo)準(zhǔn)的接口,大量成系列的單片機/嵌入式處理器提供了相關(guān)行業(yè)所需要的硬件加速電路,需要專門定制硬件場合確實很少。通常是在一些特種行業(yè)才會在這方面有非常迫切的需求。目前Xilinx已經(jīng)將ARMcortex- A9的硬核嵌入到FPGA里面,未來對嵌入式的發(fā)展有很大推動,不過,不要忘了很多老掉牙的8位單片機還在嵌入式領(lǐng)域混呢,嵌入式主要不是靠硬件的差異而更多的是靠軟件的差異來體現(xiàn)價值的。
二、FPGA可重構(gòu)技術(shù)
FPGA上的可重構(gòu)技術(shù)根據(jù)FPGA芯片內(nèi)部的不同結(jié)構(gòu)可以分為兩種,分別是動態(tài)可重構(gòu)和靜態(tài)可重構(gòu)。如果FPGA芯片是常規(guī)的SRAM結(jié)構(gòu),那么它只能做到靜態(tài)可重構(gòu),重構(gòu)過程必須首先發(fā)送中斷指令停止正在運行的程序,之后再把全新的Bitstream文件加載到FPGA上。而如果FPGA芯片是特殊結(jié)構(gòu),那么它就可以進行動態(tài)可重構(gòu),重構(gòu)過程可以在FPGA運行時期進行,動態(tài)可重構(gòu)不但可以在系統(tǒng)運行時期隨時改變模塊參數(shù),甚至可以在系統(tǒng)運行時期在FPGA內(nèi)部的可重構(gòu)區(qū)域動態(tài)重構(gòu)電路邏輯。
FPGA的動態(tài)可重構(gòu)又可以分為動態(tài)全局可重構(gòu)和動態(tài)局部可重構(gòu)。動態(tài)全局可重構(gòu)是指上位機給FPGA芯片加載一個全新的配置文件,而這個配置文件包含了新的任務(wù)需求所要涉及的整片F(xiàn)PGA內(nèi)所有資源,從而實現(xiàn)FPGA重新配置,上一個任務(wù)實現(xiàn)的所有邏輯電路將全部消除。在重構(gòu)操作執(zhí)行前,首先在外掛存儲器中加載多個不同任務(wù)需求的配置文件,同時每個配置文件中都包含該任務(wù)所需要涉及的FPGA芯片全部邏輯資源。正是因為每一個配置文件都包含了整塊FPGA芯片的所有資源,所以動態(tài)全局可重構(gòu)只能從外掛存儲器中選擇將一個配置文件加載到FPGA芯片中。當(dāng)這個配置文件對應(yīng)的任務(wù)結(jié)束后,再選擇另一個新的配置文件加載到FPGA芯片中,通過不同配置文件的分時加載實現(xiàn)系統(tǒng)功能任務(wù)的切換。
這種動態(tài)全局可重構(gòu)的實現(xiàn)方式比較容易,只需要在配置文件中寫入該功能任務(wù)所包含的FPGA全部資源,但是這種實現(xiàn)方式因為包含全部資源而導(dǎo)致文件較大,配置的時間也就相應(yīng)變長。尤其是在兩個功能任務(wù)對應(yīng)的邏輯電路相差不大的配置文件先后進行重構(gòu)時,本可以只改變相差部分的邏輯電路,卻要對FPGA芯片內(nèi)部的全部資源重新進行改變。
動態(tài)局部可重構(gòu)因為只重構(gòu)部分區(qū)域,所以配置文件中的重構(gòu)內(nèi)容也相應(yīng)變小,重構(gòu)時間也隨之縮短。但是動態(tài)局部可重構(gòu)的難點在于靜態(tài)區(qū)域和可重構(gòu)區(qū)域的大小劃分是否可以滿足系統(tǒng)功能要求、分別處在兩個區(qū)域的模塊之間如何進行通信以及如何在可重構(gòu)區(qū)域進行合理的布局布線。因此使用動態(tài)局部可重構(gòu)的實現(xiàn)過程相對復(fù)雜。
以上便是小編此次想要和大家共同分享的內(nèi)容,如果你對本文內(nèi)容感到滿意,不妨持續(xù)關(guān)注我們網(wǎng)站喲。最后,十分感謝大家的閱讀,have a nice day!