當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]FPGA是可編程芯片,因此FPGA的設(shè)計(jì)方法包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。硬件包括FPGA芯片電路、 存儲(chǔ)器、輸入輸出接口電路以及其他設(shè)備,軟件即是相應(yīng)的HDL程序以及最新才流行的嵌入式C程序。

FPGA是可編程芯片,因此FPGA的設(shè)計(jì)方法包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。硬件包括FPGA芯片電路、 存儲(chǔ)器、輸入輸出接口電路以及其他設(shè)備,軟件即是相應(yīng)的HDL程序以及最新才流行的嵌入式C程序。


目前微電子技術(shù)已經(jīng)發(fā)展到SOC階段,即集成系統(tǒng)(Integrated System)階段,相對(duì)于集成電路(IC)的設(shè)計(jì)思想有著革命性的變化。SOC是一個(gè)復(fù)雜的系統(tǒng),它將一個(gè)完整產(chǎn)品的功能集成在一個(gè)芯片上,包括核心處理器、存儲(chǔ)單元、硬件加速單元以及眾多的外部設(shè)備接口等,具有設(shè)計(jì)周期長(zhǎng)、實(shí)現(xiàn)成本高等特點(diǎn),因此其設(shè)計(jì)方法必然是自頂向下的從系統(tǒng)級(jí)到功能模塊的軟、硬件協(xié)同設(shè)計(jì),達(dá)到軟、硬件的無(wú)縫結(jié)合。


這么龐大的工作量顯然超出了單個(gè)工程師的能力,因此需要按照層次化、結(jié)構(gòu)化的設(shè)計(jì)方法來(lái)實(shí)施。首先由總設(shè)計(jì)師將整個(gè)軟件開(kāi)發(fā)任務(wù)劃分為若干個(gè)可操作的模塊,并對(duì)其接口和資源進(jìn)行評(píng)估,編制出相應(yīng)的行為或結(jié)構(gòu)模型,再將其分配給下一層的設(shè)計(jì)師。這就允許多個(gè)設(shè)計(jì)者同時(shí)設(shè)計(jì)一個(gè)硬件系統(tǒng)中的不同模塊,并為自己所設(shè)計(jì)的模塊負(fù)責(zé);然后由上層設(shè)計(jì)師對(duì)下層模塊進(jìn)行功能驗(yàn)證。


自頂向下的設(shè)計(jì)流程從系統(tǒng)級(jí)設(shè)計(jì)開(kāi)始,劃分為若干個(gè)二級(jí)單元,然后再把各個(gè)二級(jí)單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?,一直下去,直到能夠使用基本模塊或者IP核直接實(shí)現(xiàn)為止,流行的FPGA開(kāi)發(fā)工具都提供了層次化管理,可以有效地梳理錯(cuò)綜復(fù)雜的層次,能夠方便地查看某一層次模塊的源代碼以修改錯(cuò)誤。


在工程實(shí)踐中,還存在軟件編譯時(shí)長(zhǎng)的問(wèn)題。由于大型設(shè)計(jì)包含多個(gè)復(fù)雜的功能模塊,其時(shí)序收斂與仿真驗(yàn)證復(fù)雜度很高,為了滿足時(shí)序指標(biāo)的要求,往往需要反復(fù)修改源文件,再對(duì)所修改的新版本進(jìn)行重新編譯,直到滿足要求為止。這里面存在兩個(gè)問(wèn)題:首先,軟件編譯一次需要長(zhǎng)達(dá)數(shù)小時(shí)甚至數(shù)周的時(shí)間,這是開(kāi)發(fā)所不能容忍的;其次,重新編譯和布局布線后結(jié)果差異很大,會(huì)將已滿足時(shí)序的電路破壞。因此必須提出一種有效提高設(shè)計(jì)性能,繼承已有結(jié)果、便于團(tuán)隊(duì)化設(shè)計(jì)的軟件工具。FPGA廠商意識(shí)到這類(lèi)需求,由此開(kāi)發(fā)出了相應(yīng)的邏輯鎖定和增量設(shè)計(jì)的軟件工具。例如,賽靈思公司的解決方案就是PlanAhead。


Planahead允許高層設(shè)計(jì)者為不同的模塊劃分相應(yīng)FPGA芯片區(qū)域,并允許底層設(shè)計(jì)者在所給定的區(qū)域內(nèi)獨(dú)立地進(jìn)行設(shè)計(jì)、實(shí)現(xiàn)和優(yōu)化,等各個(gè)模塊都正確后,再進(jìn)行設(shè)計(jì)整合。如果在設(shè)計(jì)整合中出現(xiàn)錯(cuò)誤,單獨(dú)修改即可,不會(huì)影響到其它模塊。Planahead將結(jié)構(gòu)化設(shè)計(jì)方法、團(tuán)隊(duì)化合作設(shè)計(jì)方法以及重用繼承設(shè)計(jì)方法三者完美地結(jié)合在一起,有效地提高了設(shè)計(jì)效率,縮短了設(shè)計(jì)周期。


不過(guò)從其描述可以看出,新型的設(shè)計(jì)方法對(duì)系統(tǒng)頂層設(shè)計(jì)師有很高的要求。在設(shè)計(jì)初期,他們不僅要評(píng)估每個(gè)子模塊所消耗的資源,還需要給出相應(yīng)的時(shí)序關(guān)系;在設(shè)計(jì)后期,需要根據(jù)底層模塊的實(shí)現(xiàn)情況完成相應(yīng)的修訂。


4.1 典型FPGA開(kāi)發(fā)流程與注意事項(xiàng)


FPGA的設(shè)計(jì)流程就是利用EDA開(kāi)發(fā)軟件和編程工具對(duì)FPGA芯片進(jìn)行開(kāi)發(fā)的過(guò)程。典型FPGA的開(kāi)發(fā)流程一般如圖4.1.1所示,包括功能定義/器件選型、設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)、布線后仿真、板級(jí)仿真以及芯片編程與調(diào)試等主要步驟。


1、功能定義/器件選型


在FPGA設(shè)計(jì)項(xiàng)目開(kāi)始之前,必須有系統(tǒng)功能的定義和模塊的劃分,另外就是要根據(jù)任務(wù)要求,如系統(tǒng)的功能和復(fù)雜度,對(duì)工作速度和器件本身的資源、成本、以及連線的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計(jì)方案和合適的器件類(lèi)型。一般都采用自頂向下的設(shè)計(jì)方法,把系統(tǒng)分成若干個(gè)基本單元,然后再把每個(gè)基本單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?,一直這樣做下去,直到可以直接使用EDA元件庫(kù)為止。


2、 設(shè)計(jì)輸入


設(shè)計(jì)輸入是將所設(shè)計(jì)的系統(tǒng)或電路以開(kāi)發(fā)軟件要求的某種形式表示出來(lái),并輸入給EDA工具的過(guò)程。常用的方法有硬件描述語(yǔ)言(HDL)和原理圖輸入方法等。原理圖輸入方式是一種最直接的描述方式,在可編程芯片發(fā)展的早期應(yīng)用比較廣泛,它將所需的器件從元件庫(kù)中調(diào)出來(lái),畫(huà)出原理圖。這種方法雖然直觀并易于仿真,但效率很低,且不易維護(hù),不利于模塊構(gòu)造和重用。更主要的缺點(diǎn)是可移植性差,當(dāng)芯片升級(jí)后,所有的原理圖都需要作一定的改動(dòng)。目前,在實(shí)際開(kāi)發(fā)中應(yīng)用最廣的就是HDL語(yǔ)言輸入法,利用文本描述設(shè)計(jì),可以分為普通HDL和行為HDL。普通HDL有ABEL、CUR等,支持邏輯方程、真值表和狀態(tài)機(jī)等表達(dá)方式,主要用于簡(jiǎn)單的小型設(shè)計(jì)。而在中大型工程中,主要使用行為HDL,其主流語(yǔ)言是Verilog HDL和VHDL。這兩種語(yǔ)言都是美國(guó)電氣與電子工程師協(xié)會(huì)(IEEE)的標(biāo)準(zhǔn),其共同的突出特點(diǎn)有:語(yǔ)言與芯片工藝無(wú)關(guān),利于自頂向下設(shè)計(jì),便于模塊的劃分與移植,可移植性好,具有很強(qiáng)的邏輯描述和仿真功能,而且輸入效率很高。除了這IEEE標(biāo)準(zhǔn)語(yǔ)言外,還有廠商自己的語(yǔ)言。也可以用HDL為主,原理圖為輔的混合設(shè)計(jì)方式,以發(fā)揮兩者的各自特色。


3、 功能仿真


功能仿真也稱(chēng)為前仿真是在編譯之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒(méi)有延遲信息,僅對(duì)初步的功能進(jìn)行檢測(cè)。仿真前,要先利用波形編輯器和HDL等建立波形文件和測(cè)試向量(即將所關(guān)心的輸入信號(hào)組合成序列),仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察各個(gè)節(jié)點(diǎn)信號(hào)的變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)修改邏輯設(shè)計(jì)。常用的工具有Model Tech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等軟件。


4、 綜合優(yōu)化


所謂綜合就是將較高級(jí)抽象層次的描述轉(zhuǎn)化成較低層次的描述。綜合優(yōu)化根據(jù)目標(biāo)與要求優(yōu)化所生成的邏輯連接,使層次設(shè)計(jì)平面化,供FPGA布局布線軟件進(jìn)行實(shí)現(xiàn)。就目前的層次來(lái)看,綜合優(yōu)化(Synthesis)是指將設(shè)計(jì)輸入編譯成由與門(mén)、或門(mén)、非門(mén)、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門(mén)級(jí)電路。真實(shí)具體的門(mén)級(jí)電路需要利用FPGA制造商的布局布線功能,根據(jù)綜合后生成的標(biāo)準(zhǔn)門(mén)級(jí)結(jié)構(gòu)網(wǎng)表來(lái)產(chǎn)生。為了能轉(zhuǎn)換成標(biāo)準(zhǔn)的門(mén)級(jí)結(jié)構(gòu)網(wǎng)表,HDL程序的編寫(xiě)必須符合特定綜合器所要求的風(fēng)格。由于門(mén)級(jí)結(jié)構(gòu)、RTL級(jí)的HDL程序的綜合是很成熟的技術(shù),所有的綜合器都可以支持到這一級(jí)別的綜合。常用的綜合工具有Synplicity公司的Synplify/Synplify Pro軟件以及各個(gè)FPGA廠家自己推出的綜合開(kāi)發(fā)工具。


5、 綜合后仿真


綜合后仿真檢查綜合結(jié)果是否和原設(shè)計(jì)一致。在仿真時(shí),把綜合生成的標(biāo)準(zhǔn)延時(shí)文件反標(biāo)注到綜合仿真模型中去,可估計(jì)門(mén)延時(shí)帶來(lái)的影響。但這一步驟不能估計(jì)線延時(shí),因此和布線后的實(shí)際情況還有一定的差距,并不十分準(zhǔn)確。目前的綜合工具較為成熟,對(duì)于一般的設(shè)計(jì)可以省略這一步,但如果在布局布線后發(fā)現(xiàn)電路結(jié)構(gòu)和設(shè)計(jì)意圖不符,則需要回溯到綜合后仿真來(lái)確認(rèn)問(wèn)題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。


FPGA典型設(shè)計(jì)流程


6、 實(shí)現(xiàn)與布局布線


布局布線可理解為利用實(shí)現(xiàn)工具把邏輯映射到目標(biāo)器件結(jié)構(gòu)的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能鏈接的布線通道進(jìn)行連線,并產(chǎn)生相應(yīng)文件(如配置文件與相關(guān)報(bào)告),實(shí)現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上,布局布線是其中最重要的過(guò)程。布局將邏輯網(wǎng)表中的硬件原語(yǔ)和底層單元合理地配置到芯片內(nèi)部的固有硬件結(jié)構(gòu)上,并且往往需要在速度最優(yōu)和面積最優(yōu)之間作出選擇。布線根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用芯片內(nèi)部的各種連線資源,合理正確地連接各個(gè)元件。目前,F(xiàn)PGA的結(jié)構(gòu)非常復(fù)雜,特別是在有時(shí)序約束條件時(shí),需要利用時(shí)序驅(qū)動(dòng)的引擎進(jìn)行布局布線。布線結(jié)束后,軟件工具會(huì)自動(dòng)生成報(bào)告,提供有關(guān)設(shè)計(jì)中各部分資源的使用情況。由于只有FPGA芯片生產(chǎn)商對(duì)芯片結(jié)構(gòu)最為了解,所以布局布線必須選擇芯片開(kāi)發(fā)商提供的工具。


7、 時(shí)序仿真


時(shí)序仿真,也稱(chēng)為后仿真,是指將布局布線的延時(shí)信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來(lái)檢測(cè)有無(wú)時(shí)序違規(guī)(即不滿足時(shí)序約束條件或器件固有的時(shí)序規(guī)則,如建立時(shí)間、保持時(shí)間等)現(xiàn)象。時(shí)序仿真包含的延遲信息最全,也最精確,能較好地反映芯片的實(shí)際工作情況。由于不同芯片的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)帶來(lái)不同的影響。因此在布局布線后,通過(guò)對(duì)系統(tǒng)和各個(gè)模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)系統(tǒng)性能,以及檢查和消除競(jìng)爭(zhēng)冒險(xiǎn)是非常有必要的。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。


8、 板級(jí)仿真與驗(yàn)證


板級(jí)仿真主要應(yīng)用于高速電路設(shè)計(jì)中,對(duì)高速系統(tǒng)的信號(hào)完整性、電磁干擾等特征進(jìn)行分析,一般都以第三方工具進(jìn)行仿真和驗(yàn)證。


9、 芯片編程與調(diào)試


設(shè)計(jì)的最后一步就是芯片編程與調(diào)試。芯片編程是指產(chǎn)生使用的數(shù)據(jù)文件(位數(shù)據(jù)流文件,Bitstream Generaon),然后將編程數(shù)據(jù)下載到FPGA芯片中。其中,芯片編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等方面。邏輯分析儀(Logic Analyzer,LA)是FPGA設(shè)計(jì)的主要調(diào)試工具,但需要引出大量的測(cè)試管腳,且LA價(jià)格昂貴。目前,主流的FPGA芯片生產(chǎn)商都提供了內(nèi)嵌的在線邏輯分析儀(如Xilinx ISE中的ChipScope、Altera QuartusII中的SignalTapII以及SignalProb)來(lái)解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實(shí)用價(jià)值。


-END-


|?整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有?|

|?如有侵權(quán),請(qǐng)聯(lián)系刪除?|


【1】知名半導(dǎo)體MCU大廠軟件開(kāi)發(fā)C代碼規(guī)范

【2】工業(yè)項(xiàng)目,用MCU還是PLC?

【3】為什么嵌入式工程師會(huì)對(duì)8位MCU有誤解?

【4】RGB 接口和 MCU 接口有什么不一樣?

【5】8位微控制器(MCU)的隱形成本



免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉