FPGA的設(shè)計(jì)流程就是利用EDA開發(fā)軟件和編程工具對(duì)FPGA芯片進(jìn)行開發(fā)的過程。下面粵嵌嵌入式培訓(xùn)帶你了解一下FPGA開發(fā)的基本流程。
功能定義/器件選型。在FPGA設(shè)計(jì)項(xiàng)目開始之前,必須有系統(tǒng)功能的定義和模塊的劃分,另外就是要根據(jù)任務(wù)要求。一般都采用自頂向下的設(shè)計(jì)方法,把系統(tǒng)分成若干個(gè)基本單元,然后再劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫(kù)為止。
設(shè)計(jì)輸入。常用的方法有硬件描述語言(HDL)和原理圖輸入方法等。原理圖輸入方法雖然直觀并易于仿真,但效率很低,且不易維護(hù),不利于模塊構(gòu)造和重用。更主要的缺點(diǎn)是可移植性差,當(dāng)芯片升級(jí)后,所有的原理圖都需要作一定的改動(dòng)。
功能仿真。仿真前,要先利用波形編輯器和HDL等建立波形文件和測(cè)試向量,仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察各個(gè)節(jié)點(diǎn)信號(hào)的變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)修改邏輯設(shè)計(jì)。
綜合優(yōu)化。就目前的層次來看,綜合優(yōu)化是指將設(shè)計(jì)輸入編譯成由與門、或門、非門、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門級(jí)電路。真實(shí)具體的門級(jí)電路需要利用FPGA制造商的布局布線功能,根據(jù)綜合后生成的標(biāo)準(zhǔn)門級(jí)結(jié)構(gòu)網(wǎng)表來產(chǎn)生。
綜合后仿真。在仿真時(shí),把綜合生成的標(biāo)準(zhǔn)延時(shí)文件反標(biāo)注到綜合仿真模型中去,可估計(jì)門延時(shí)帶來的影響。目前的綜合工具較為成熟,對(duì)于一般的設(shè)計(jì)可以省略這一步,但如果在布局布線后發(fā)現(xiàn)電路結(jié)構(gòu)和設(shè)計(jì)意圖不符,則需要回溯到綜合后仿真來確認(rèn)問題所在。
實(shí)現(xiàn)與布局布線。目前,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)為了解,所以布局布線必須選擇芯片開發(fā)商提供的工具。
時(shí)序仿真。在布局布線后,通過對(duì)系統(tǒng)和各個(gè)模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)系統(tǒng)性能,以及檢查和消除競(jìng)爭(zhēng)冒險(xiǎn)是非常有必要的。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。
板級(jí)仿真與驗(yàn)證。板級(jí)仿真主要應(yīng)用于高速電路設(shè)計(jì)中,對(duì)高速系統(tǒng)的信號(hào)完整性、電磁干擾等特征進(jìn)行分析,一般都以第三方工具進(jìn)行仿真和驗(yàn)證。
芯片編程與調(diào)試。目前,主流的FPGA芯片生產(chǎn)商都提供了內(nèi)嵌的在線邏輯分析儀來解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實(shí)用價(jià)值。
以上是粵嵌嵌入式培訓(xùn)FPGA開發(fā)的基本流程。想了解更多的FPGA開發(fā)信息,可以來粵嵌咨詢!