采用EDA技術(shù)如何實現(xiàn)FPGA的應(yīng)用設(shè)計?
物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等新興技術(shù)的推動,集成電路技術(shù)和計算機技術(shù)得到蓬勃發(fā)展。電子產(chǎn)品設(shè)計系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化,各種電子系統(tǒng)的設(shè)計軟件應(yīng)運而生。在這些專業(yè)化軟件中,EDA(Electronic Design Automation)具有一定的代表性。EDA技術(shù)是一種基于芯片的現(xiàn)代電子系統(tǒng)設(shè)計方法。它的優(yōu)勢主要集中在能用HDL語言進行輸入、進行PEn(可編程器件)的設(shè)計與仿真等系統(tǒng)設(shè)計?,F(xiàn)場可編程門陣列FPGA作為集成度和復(fù)雜程度最高的可編程ASIC。是ASIC的一種新型門類,它建立在創(chuàng)新的發(fā)明構(gòu)思和先進的EDA技術(shù)之上。
FPGA(Field Programmable Gate Array)是一種以數(shù)字電路為主的集成芯片,屬于可編程邏輯器件(Programmable Logic Device,PLD)的一種。它是在PAL(可編程陣列邏輯)、GAL(通用陣列邏輯)等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。FPGA作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
采用FPGA技術(shù)集成設(shè)計數(shù)字電路產(chǎn)品最大的特點就是可以使設(shè)計和實現(xiàn)相統(tǒng)一。無須前期風(fēng)險投資,而且設(shè)計實現(xiàn)均在實驗室的EDA開發(fā)系統(tǒng)上進行,周期很短,大大有利于產(chǎn)品的市場競爭需求,所以FPGA的應(yīng)用設(shè)計。特別適應(yīng)于電子新產(chǎn)品的小批量開發(fā)??蒲许椖康臉訖C試制以及ASIC產(chǎn)品設(shè)計的驗證,能夠進行現(xiàn)場設(shè)計實現(xiàn)、現(xiàn)場仿真及現(xiàn)場修改。
FPGA所具有的無限次可重復(fù)編程能力,靈活的體系結(jié)構(gòu),豐富的觸發(fā)器及布線資源等一系列的特點使得它可以滿足電子產(chǎn)品設(shè)計的多種需求。FPGA的應(yīng)用領(lǐng)域主要集中在替換通用邏輯和復(fù)雜邏輯、重復(fù)編程使用、板極設(shè)計集成、高速計數(shù)器、加減法器、累加器和比較器的實現(xiàn)、總線接口邏輯等方面。面對科學(xué)技術(shù)高速發(fā)展,熟練的掌握EDA設(shè)計技術(shù),靈活巧妙的使用FPGA至關(guān)重要。
FPGA設(shè)計流程可分為以下步驟:
設(shè)計輸入:使用硬件描述語言(HDL)、狀態(tài)圖、原理圖等形式進行設(shè)計輸入,還可以使用一些專用語言如Quartus下的AHDL。
邏輯綜合:從RTL描述生成邏輯電路的過程,輸出網(wǎng)表文件,其中包括邏輯門、觸發(fā)器等邏輯元素的集合以及它們的連接關(guān)系。
技術(shù)映射:將網(wǎng)表所表示的邏輯映射到FPGA實際的邏輯元素的過程。
仿真驗證:用仿真工具對設(shè)計進行仿真,確認(rèn)設(shè)計的電路是否得到了預(yù)期輸出,包括前仿真和后仿真兩個階段。
布局布線:利用片上邏輯和布線等資源實現(xiàn)網(wǎng)表的過程,包括布局和布線兩個步驟。
時序仿真與驗證:在布局布線完成后,根據(jù)布局布線的仿真結(jié)果進一步仿真,估算布線時序事件并考慮這些因素。
配置下載:將最終設(shè)計的電路結(jié)構(gòu)以FPGA內(nèi)邏輯元素和布線開關(guān)的編程數(shù)據(jù)的形式保存,并使用編程器將這些配置文件寫入FPGA器件中。這些步驟完成后,就能得出最終的FPGA應(yīng)用設(shè)計方案。
FPGA的優(yōu)點主要包括:靈活性高,F(xiàn)PGA可以重新編程以實現(xiàn)各種不同的邏輯功能,這使得FPGA在進行快速原型開發(fā)時具有很大的優(yōu)勢,可以在短時間內(nèi)完成產(chǎn)品開發(fā)。在無法預(yù)料的應(yīng)用場景下,F(xiàn)PGA也能快速應(yīng)對變化的需求。低成本,與ASIC相比,F(xiàn)PGA的設(shè)計成本低得多,因為ASIC的設(shè)計需要花費大量的人力、時間和金錢進行驗證和測試,而FPGA則可以通過開發(fā)板進行測試,省去了設(shè)計所需的時間和成本。
運行速度快,F(xiàn)PGA的邏輯門可以以并行的方式工作,相比于CPU串行的方式,F(xiàn)PGA具有更快的計算速度,優(yōu)化計算強度較高的應(yīng)用。
可重用性好:FPGA的設(shè)計可以被反復(fù)使用,減少了產(chǎn)品開發(fā)周期,也因此降低了開發(fā)成本。通信高速接口設(shè)計,F(xiàn)PGA可以用來做高速信號處理,比如對數(shù)據(jù)進行抽取濾波,降低數(shù)據(jù)速率,使信號容易處理和傳輸。數(shù)字信號處理,F(xiàn)PGA可以進行圖像處理、雷達信號處理、醫(yī)學(xué)信號處理等,實時性好,用面積換速度,比CPU快的多。
大規(guī)模并行度:通過并發(fā)和流水兩種技術(shù)實現(xiàn),并發(fā)是指重復(fù)分配計算資源,使得多個模塊之間可以同時獨立進行計算。
作為現(xiàn)代集成電路設(shè)計的重點與熱點,FPGA設(shè)計一般采用自頂向下、由粗到細(xì)、逐步求精的方法。設(shè)計最頂層是指系統(tǒng)的整體要求,最下層是指具體的邏輯電路實現(xiàn)。自頂向下是將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大則進一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各子模塊關(guān)系合理、便于設(shè)計實現(xiàn)為止。