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