国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網(wǎng)

標(biāo)題: FPGA的設(shè)計(jì)開發(fā)流程 [打印本頁]

作者: 小融一號    時(shí)間: 2017-1-9 17:21
標(biāo)題: FPGA的設(shè)計(jì)開發(fā)流程
融創(chuàng)芯城首創(chuàng)全球工程師,利潤分享計(jì)劃,只要你邀請朋友注冊融創(chuàng)芯城,所注冊的朋友產(chǎn)生的收益,你就分成!

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

目前微電子技術(shù)已經(jīng)發(fā)展到SOC階段,即集成系統(tǒng)(Integrated System)階段,相對于集成電路(IC)的設(shè)計(jì)思想有著革命性的變化。


SOC是一個(gè)復(fù)雜的系統(tǒng),它將一個(gè)完整產(chǎn)品的功能集成在一個(gè)芯片上,包括核心處理器、存儲單元、硬件加速單元以及眾多的外部設(shè)備接口等。具有設(shè)計(jì)周期長、實(shí)現(xiàn)成本高等特點(diǎn),因此其設(shè)計(jì)方法必然是自頂向下的從系統(tǒng)級到功能模塊的軟、硬件協(xié)同設(shè)計(jì),達(dá)到軟、硬件的無縫結(jié)合。

              
這么龐大的工作量顯然超出了單個(gè)工程師的能力,因此需要按照層次化、結(jié)構(gòu)化的設(shè)計(jì)方法來實(shí)施。


首先由總設(shè)計(jì)師將整個(gè)軟件開發(fā)任務(wù)劃分為若干個(gè)可操作的模塊,并對其接口和資源進(jìn)行評估,編制出相應(yīng)的行為或結(jié)構(gòu)模型,再將其分配給下一層的設(shè)計(jì)師。這就允許多個(gè)設(shè)計(jì)者同時(shí)設(shè)計(jì)一個(gè)硬件系統(tǒng)中的不同模塊,并為自己所設(shè)計(jì)的模塊負(fù)責(zé);然后由上層設(shè)計(jì)師對下層模塊進(jìn)行功能驗(yàn)證。                  

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



圖1 自頂向下的FPGA設(shè)計(jì)開發(fā)流程


在工程實(shí)踐中,還存在軟件編譯時(shí)長的問題。由于大型設(shè)計(jì)包含多個(gè)復(fù)雜的功能模塊,其時(shí)序收斂與仿真驗(yàn)證復(fù)雜度很高,為了滿足時(shí)序指標(biāo)的要求,往往需要反復(fù)修改源文件,再對所修改的新版本進(jìn)行重新編譯,直到滿足要求為止。


這里面存在兩個(gè)問題:首先,軟件編譯一次需要長達(dá)數(shù)小時(shí)甚至數(shù)周的時(shí)間,這是開發(fā)所不能容忍的;其次,重新編譯和布局布線后結(jié)果差異很大,會將已滿足時(shí)序的電路破壞。


因此必須提出一種有效提高設(shè)計(jì)性能,繼承已有結(jié)果,便于團(tuán)隊(duì)化設(shè)計(jì)的軟件工具。FPGA廠商意識到這類需求,由此開發(fā)出了相應(yīng)的邏輯鎖定和增量設(shè)計(jì)的軟件工具。例如,Xilinx公司的解決方案就是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ú)修改即可,不會影響到其它模塊。Planahead將結(jié)構(gòu)化設(shè)計(jì)方法、團(tuán)隊(duì)化合作設(shè)計(jì)方法以及重用繼承設(shè)計(jì)方法三者完美地結(jié)合在一起,有效地提高了設(shè)計(jì)效率,縮短了設(shè)計(jì)周期。               

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


典型FPGA開發(fā)流程


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


圖2 FPGA開發(fā)的一般流程


1、電路設(shè)計(jì)


在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行的是方案論證、系統(tǒng)設(shè)計(jì)和FPGA芯片選擇等準(zhǔn)備工作。系統(tǒng)工程師根據(jù)任務(wù)要求,如系統(tǒng)的指標(biāo)和復(fù)雜度,對工作速度和芯片本身的各種資源、成本等方面進(jìn)行權(quán)衡,選擇合理的設(shè)計(jì)方案和合適的器件類型。


一般都采用自頂向下的設(shè)計(jì)方法,把系統(tǒng)分成若干個(gè)基本單元,然后再把每個(gè)基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。


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

        
設(shè)計(jì)輸入是將所設(shè)計(jì)的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并輸入給EDA工具的過程。


常用的方法有硬件描述語言(HDL)和原理圖輸入方法等。原理圖輸入方式是一種最直接的描述方式,在可編程芯片發(fā)展的早期應(yīng)用比較廣泛,它將所需的器件從元件庫中調(diào)出來,畫出原理圖。


這種方法雖然直觀并易于仿真,但效率很低,且不易維護(hù),不利于模塊構(gòu)造和重用。更主要的缺點(diǎn)是可移植性差,當(dāng)芯片升級后,所有的原理圖都需要作一定的改動。


目前,在實(shí)際開發(fā)中應(yīng)用最廣的就是HDL語言輸入法,利用文本描述設(shè)計(jì),可以分為普通HDL和行為HDL。普通HDL有ABEL、CUR等,支持邏輯方程、真值表和狀態(tài)機(jī)等表達(dá)方式,主要用于簡單的小型設(shè)計(jì)。而在中大型工程中,主要使用行為HDL,其主流語言是Verilog HDL和VHDL。


這兩種語言都是美國電氣與電子工程師協(xié)會(IEEE)的標(biāo)準(zhǔn),其共同的突出特點(diǎn)有:語言與芯片工藝無關(guān),利于自頂向下設(shè)計(jì),便于模塊的劃分與移植,可移植性好,具有很強(qiáng)的邏輯描述和仿真功能,而且輸入效率很高。      

3、功能仿真


功能仿真,也稱為前仿真,是在編譯之前對用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒有延遲信息,僅對初步的功能進(jìn)行檢測。


仿真前,要先利用波形編輯器和HDL等建立波形文件和測試向量(即將所關(guān)心的輸入信號組合成序列),仿真結(jié)果將會生成報(bào)告文件和輸出信號波形,從中便可以觀察各個(gè)節(jié)點(diǎn)信號的變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)修改邏輯設(shè)計(jì)。常用的工具有Model Tech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等軟件。            

4、綜合優(yōu)化

        
所謂綜合就是將較高級抽象層次的描述轉(zhuǎn)化成較低層次的描述。綜合優(yōu)化根據(jù)目標(biāo)與要求優(yōu)化所生成的邏輯連接,使層次設(shè)計(jì)平面化,供FPGA布局布線軟件進(jìn)行實(shí)現(xiàn)。


就目前的層次來看,綜合優(yōu)化(Synthesis)是指將設(shè)計(jì)輸入編譯成由與門、或門、非門、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門級電路。真實(shí)具體的門級電路需要利用FPGA制造商的布局布線功能,根據(jù)綜合后生成的標(biāo)準(zhǔn)門級結(jié)構(gòu)網(wǎng)表來產(chǎn)生。


為了能轉(zhuǎn)換成標(biāo)準(zhǔn)的門級結(jié)構(gòu)網(wǎng)表,HDL程序的編寫必須符合特定綜合器所要求的風(fēng)格。由于門級結(jié)構(gòu)、RTL級的HDL程序的綜合是很成熟的技術(shù),所有的綜合器都可以支持到這一級別的綜合。常用的綜合工具有Synplicity公司的Synplify/Synplify Pro軟件以及各個(gè)FPGA廠家自己推出的綜合開發(fā)工具。            

5、綜合后仿真   


綜合后仿真檢查綜合結(jié)果是否和原設(shè)計(jì)一致。在仿真時(shí),把綜合生成的標(biāo)準(zhǔn)延時(shí)文件反標(biāo)注到綜合仿真模型中去,可估計(jì)門延時(shí)帶來的影響。但這一步驟不能估計(jì)線延時(shí),因此和布線后的實(shí)際情況還有一定的差距,并不十分準(zhǔn)確。


目前的綜合工具較為成熟,對于一般的設(shè)計(jì)可以省略這一步,但如果在布局布線后發(fā)現(xiàn)電路結(jié)構(gòu)和設(shè)計(jì)意圖不符,則需要回溯到綜合后仿真來確認(rèn)問題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。


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


實(shí)現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上,布局布線是其中最重要的過程。布局將邏輯網(wǎng)表中的硬件原語和底層單元合理地配置到芯片內(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ū)動的引擎進(jìn)行布局布線。布線結(jié)束后,軟件工具會自動生成報(bào)告,提供有關(guān)設(shè)計(jì)中各部分資源的使用情況。


由于只有FPGA芯片生產(chǎn)商對芯片結(jié)構(gòu)最為了解,所以布局布線必須選擇芯片開發(fā)商提供的工具。           

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

  
時(shí)序仿真,也稱為后仿真,是指將布局布線的延時(shí)信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來檢測有無時(shí)序違規(guī)(即不滿足時(shí)序約束條件或器件固有的時(shí)序規(guī)則,如建立時(shí)間、保持時(shí)間等)現(xiàn)象。


時(shí)序仿真包含的延遲信息最全,也最精確,能較好地反映芯片的實(shí)際工作情況。由于不同芯片的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)帶來不同的影響。


因此在布局布線后,通過對系統(tǒng)和各個(gè)模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)系統(tǒng)性能,以及檢查和消除競爭冒險(xiǎn)是非常有必要的。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。

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

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

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

      
設(shè)計(jì)的最后一步就是芯片編程與調(diào)試。芯片編程是指產(chǎn)生使用的數(shù)據(jù)文件(位數(shù)據(jù)流文件,Bitstream Generation),然后將編程數(shù)據(jù)下載到FPGA芯片中。


其中,芯片編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等方面。邏輯分析儀(Logic Analyzer,LA)是FPGA設(shè)計(jì)的主要調(diào)試工具,但需要引出大量的測試管腳,且LA價(jià)格昂貴。


目前,主流的FPGA芯片生產(chǎn)商都提供了內(nèi)嵌的在線邏輯分析儀(如Xilinx ISE中的ChipScope、Altera QuartusII中的SignalTapII以及SignalProb)來解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實(shí)用價(jià)值。


基于FPGA的SOC設(shè)計(jì)方法


基于FPGA的SOC設(shè)計(jì)理念將FPGA可編程的優(yōu)點(diǎn)帶到了SOC領(lǐng)域,其系統(tǒng)由嵌入式處理器內(nèi)核、DSP單元、大容量處理器、吉比特收發(fā)器、混合邏輯、IP以及原有的設(shè)計(jì)部分組成。相應(yīng)的FPGA規(guī)模大都在百萬門以上,適合于許多領(lǐng)域,如電信、計(jì)算機(jī)等行業(yè)。              

系統(tǒng)設(shè)計(jì)方法是SOC常用的方法學(xué),其優(yōu)勢在于,可進(jìn)行反復(fù)修改并對系統(tǒng)架構(gòu)實(shí)現(xiàn)進(jìn)行驗(yàn)證。 包括SOC集成硬件和軟件組件之間的接口。


不過,目前仍存在很多問題,最大的問題就是沒有通用的系統(tǒng)描述語言和系統(tǒng)級綜合工具。隨著FPGA平臺的融入,將 SOC逐步地推向了實(shí)用。


SOC平臺的核心部分是內(nèi)嵌的處理內(nèi)核,其硬件是固定的,軟件則是可編程的;外圍電路則由FPGA的邏輯資源組成,大都以IP 的形式提供,例如存儲器接口、USB接口以及以太網(wǎng)MAC層接口等,用戶根據(jù)自己需要在內(nèi)核總線上添加,并能自己訂制相應(yīng)的接口IP和外圍設(shè)備。              

基于FPGA的典型SOC開發(fā)流程為:               

1、芯片內(nèi)的考慮    


從設(shè)計(jì)生成開始,設(shè)計(jì)人員需要從硬件/軟件協(xié)同驗(yàn)證的思路入手,以找出只能在系統(tǒng)集成階段才會被發(fā)現(xiàn)的軟、硬件缺陷。然后選擇合適的芯片以及開發(fā)工具,在綜合過程得到優(yōu)化,隨后進(jìn)行精確的實(shí)現(xiàn),以滿足實(shí)際需求。由于設(shè)計(jì)規(guī)模越來越大,工作頻率也到了數(shù)百兆赫茲,布局布線的延遲將變得非常重要。為了確保滿足時(shí)序,需要在布局布線后進(jìn)行靜態(tài)時(shí)序分析,對設(shè)計(jì)進(jìn)行驗(yàn)證。               

2、板級驗(yàn)證         


在芯片設(shè)計(jì)完畢后,需要再進(jìn)行板級驗(yàn)證,以便在印刷電路板(PCB)上保證與最初設(shè)計(jì)功能一致。因此,PCB布局以及信號完整性測試應(yīng)被納入設(shè)計(jì)流程。


由于芯片內(nèi)設(shè)計(jì)所做的任何改變都將反映在下游的設(shè)計(jì)流程中,各個(gè)過程之間的數(shù)據(jù)接口和管理也必須是無誤的。預(yù)計(jì)SOC系統(tǒng)以及所必須的額外過程將使數(shù)據(jù)的大小成指數(shù)增長,因此,管理各種數(shù)據(jù)集本身是機(jī)具挑戰(zhàn)性的任務(wù)。




文章來源:微信公眾號   融創(chuàng)芯城(一站式電子元器件、PCB、PCBA購買服務(wù)平臺,項(xiàng)目眾包平臺,方案共享平臺)






歡迎光臨 電子工程網(wǎng) (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 99视频精品全部在线播放 | 午夜网页 | 奇米一区二区三区四区久久 | www.亚洲第一| 日本在线视频免费观看 | 日韩欧美视频在线一区二区 | 四虎影院.com| 黄视频网站大全 | 青青热久久国产久精品秒播 | 黄色小视频免费在线观看 | 国产欧美一区二区三区在线看 | 韩国免费毛片在线看 | 色妞色综合久久夜夜 | 高清精品一区二区三区一区 | 国产亚洲毛片在线 | 一级日韩一级欧美 | 极品的亚洲 | 99re热这里只有精品66 | 91九色在线播放 | 国产在线观看麻豆91精品免费 | 国产在线一区二区 | 一本综合久久国产二区 | 亚洲一区二区三区国产精品 | 国产麻豆精品在线观看 | 日本高清视频免费观看 | 日韩成人综合网 | 成年女人午夜毛片免费看 | 手机日韩看片 | 九九热热九九 | 亚洲一区二区三区四区视频 | 国产码欧美日韩高清综合一区 | 欧美成人全部费免网站 | 天天操天天操天天干 | 日本在线观看免费 | 日本久久久久亚洲中字幕 | 精品第一国产综合精品蜜芽 | 热99久久 | 日本黄色大全 | 亚州久久 | 国产免费一区不卡在线 | 久久精品亚洲一级毛片 |