FPGA入門知識,什么是FPGA?
FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。FPGA的基本特點主要有:
1)采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。
5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。
目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片內(nèi)RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。
加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。
FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。
以各種類型的FPGA芯片加上實驗開發(fā)需要的外圍通用電路,結合實驗程序,就形成FPGA開發(fā)板,可以高效快速學習FPGA開發(fā)。
ASIC(Application Specific Integrated Circuit)是專用集成電路。
目前,在集成電路界ASIC被認為是一種為專門目的而設計的集成電路。是指應特定用戶要求和特定電子系統(tǒng)的需要而設計、制造的集成電路。ASIC的特點是面向特定用戶的需求,ASIC在批量生產(chǎn)時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優(yōu)點。
ASIC分為全定制和半定制。全定制設計需要設計者完成所有電路的設計,因此需要大量人力物力,靈活性好但開發(fā)效率低下。如果設計較為理想,全定制能夠比半定制的ASIC芯片運行速度更快。半定制使用庫里的標準邏輯單元(Standard Cell),設計時可以從標準邏輯單元庫中選擇SSI(門電路)、MSI(如加法器、比較器等)、數(shù)據(jù)通路(如ALU、存儲器、總線等)、存儲器甚至系統(tǒng)級模塊(如乘法器、微控制器等)和IP核,這些邏輯單元已經(jīng)布局完畢,而且設計得較為可靠,設計者可以較方便地完成系統(tǒng)設計。
現(xiàn)代ASIC常包含整個32-bit處理器,類似ROM、RAM、EEPROM、Flash的存儲單元和其他模塊. 這樣的ASIC常被稱為SoC(片上系統(tǒng))。
FPGA是ASIC的近親,一般通過原理圖、VHDL對數(shù)字系統(tǒng)建模,運用EDA軟件仿真、綜合,生成基于一些標準庫的網(wǎng)絡表,配置到芯片即可使用。它與ASIC的區(qū)別是用戶不需要介入芯片的布局布線和工藝問題,而且可以隨時改變其邏輯功能,使用靈活。
FPGA(現(xiàn)場可編程門陣列)是專用集成電路(ASIC)中集成度最高的一種,用戶可對FPGA內(nèi)部的邏輯模塊和I/O模塊重新配置,以實現(xiàn)用戶的邏輯,因而也被用于對CPU的模擬。用戶對FPGA的編程數(shù)據(jù)放在Flash芯片中,通過上電加載到FPGA中,對其進行初始化。也可在線對其編程,實現(xiàn)系統(tǒng)在線重構,這一特性可以構建一個根據(jù)計算任務不同而實時定制的CPU,這是當今研究的熱門領域。