在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

典型FPGA開發流程與注意事項

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2020-11-16 15:59 ? 次閱讀

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

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

這么龐大的工作量顯然超出了單個工程師的能力,因此需要按照層次化、結構化的設計方法來實施。首先由總設計師將整個軟件開發任務劃分為若干個可操作的模塊,并對其接口和資源進行評估,編制出相應的行為或結構模型,再將其分配給下一層的設計師。這就允許多個設計者同時設計一個硬件系統中的不同模塊,并為自己所設計的模塊負責;然后由上層設計師對下層模塊進行功能驗證。

自頂向下的設計流程從系統級設計開始,劃分為若干個二級單元,然后再把各個二級單元劃分為下一層次的基本單元,一直下去,直到能夠使用基本模塊或者IP核直接實現為止,流行的FPGA開發工具都提供了層次化管理,可以有效地梳理錯綜復雜的層次,能夠方便地查看某一層次模塊的源代碼以修改錯誤。

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

Planahead允許高層設計者為不同的模塊劃分相應FPGA芯片區域,并允許底層設計者在所給定的區域內獨立地進行設計、實現和優化,等各個模塊都正確后,再進行設計整合。如果在設計整合中出現錯誤,單獨修改即可,不會影響到其它模塊。Planahead將結構化設計方法、團隊化合作設計方法以及重用繼承設計方法三者完美地結合在一起,有效地提高了設計效率,縮短了設計周期。

不過從其描述可以看出,新型的設計方法對系統頂層設計師有很高的要求。在設計初期,他們不僅要評估每個子模塊所消耗的資源,還需要給出相應的時序關系;在設計后期,需要根據底層模塊的實現情況完成相應的修訂。

4.1 典型FPGA開發流程與注意事項

FPGA的設計流程就是利用EDA開發軟件和編程工具對FPGA芯片進行開發的過程。典型FPGA的開發流程一般如圖4.1.1所示,包括功能定義/器件選型、設計輸入、功能仿真、綜合優化、綜合后仿真、實現、布線后仿真、板級仿真以及芯片編程與調試等主要步驟。

1、功能定義/器件選型

在FPGA設計項目開始之前,必須有系統功能的定義和模塊的劃分,另外就是要根據任務要求,如系統的功能和復雜度,對工作速度和器件本身的資源、成本、以及連線的可布性等方面進行權衡,選擇合適的設計方案和合適的器件類型。一般都采用自頂向下的設計方法,把系統分成若干個基本單元,然后再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。

2、 設計輸入

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

3、 功能仿真

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

4、 綜合優化

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

5、 綜合后仿真

綜合后仿真檢查綜合結果是否和原設計一致。在仿真時,把綜合生成的標準延時文件反標注到綜合仿真模型中去,可估計門延時帶來的影響。但這一步驟不能估計線延時,因此和布線后的實際情況還有一定的差距,并不十分準確。目前的綜合工具較為成熟,對于一般的設計可以省略這一步,但如果在布局布線后發現電路結構和設計意圖不符,則需要回溯到綜合后仿真來確認問題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。

FPGA典型設計流程

6、 實現與布局布線

布局布線可理解為利用實現工具把邏輯映射到目標器件結構的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能鏈接的布線通道進行連線,并產生相應文件(如配置文件與相關報告),實現是將綜合生成的邏輯網表配置到具體的FPGA芯片上,布局布線是其中最重要的過程。布局將邏輯網表中的硬件原語和底層單元合理地配置到芯片內部的固有硬件結構上,并且往往需要在速度最優和面積最優之間作出選擇。布線根據布局的拓撲結構,利用芯片內部的各種連線資源,合理正確地連接各個元件。目前,FPGA的結構非常復雜,特別是在有時序約束條件時,需要利用時序驅動的引擎進行布局布線。布線結束后,軟件工具會自動生成報告,提供有關設計中各部分資源的使用情況。由于只有FPGA芯片生產商對芯片結構最為了解,所以布局布線必須選擇芯片開發商提供的工具。

7、 時序仿真

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

8、 板級仿真與驗證

板級仿真主要應用于高速電路設計中,對高速系統的信號完整性、電磁干擾等特征進行分析,一般都以第三方工具進行仿真和驗證。

9、 芯片編程與調試

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

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21983

    瀏覽量

    614689
  • 芯片
    +關注

    關注

    459

    文章

    52253

    瀏覽量

    437120
  • 集成電路
    +關注

    關注

    5420

    文章

    11971

    瀏覽量

    367412

原文標題:FPGA開發基本流程

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    智多晶PLL使用注意事項

    FPGA設計中,PLL(鎖相環)模塊作為核心時鐘管理單元,通過靈活的倍頻、分頻和相位調整功能,為系統提供多路高精度時鐘信號。它不僅解決了時序同步問題,還能有效消除時鐘偏移,提升系統穩定性。本文將深入探討智多晶PLL在實際應用中的關鍵注意事項,幫助工程師規避常見設計風險。
    的頭像 發表于 06-13 16:37 ?478次閱讀
    智多晶PLL使用<b class='flag-5'>注意事項</b>

    請問從哪里可以獲取CCG5 軟件開發及Layout注意事項?

    我們準備開發一款雷電4的拓展塢 請問從哪里可以獲取CCG5 軟件開發及Layout注意事項
    發表于 05-30 06:21

    掃描電鏡的日常維護有哪些注意事項

    掃描電鏡日常維護的注意事項
    的頭像 發表于 03-24 11:38 ?398次閱讀
    掃描電鏡的日常維護有哪些<b class='flag-5'>注意事項</b>?

    智多晶DDR Controller使用注意事項

    最后一期我們主要介紹智多晶DDR Controller使用時的注意事項
    的頭像 發表于 01-24 11:14 ?635次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項</b>

    多層板埋孔設計注意事項

    多層板埋孔設計注意事項
    的頭像 發表于 12-20 16:06 ?733次閱讀

    PCBA生產注意事項

    ? ?PCBA生產注意事項。 長按識別二維碼關注[現代電子裝聯工藝技術]訂閱號,開啟我們共同的學習之旅 end
    的頭像 發表于 11-15 17:04 ?796次閱讀
    PCBA生產<b class='flag-5'>注意事項</b>

    MCU開發流程中的注意事項

    微控制器單元(MCU)是現代電子系統中不可或缺的核心組件,廣泛應用于各種嵌入式系統和物聯網設備中。MCU開發流程涉及多個階段,從需求分析到最終產品的測試和部署。在這個過程中,開發者需要注意
    的頭像 發表于 11-01 13:52 ?756次閱讀

    如何為住宅配置靜態IP:步驟與注意事項

    為住宅配置靜態IP地址,通常涉及以下步驟和注意事項
    的頭像 發表于 10-24 08:02 ?876次閱讀

    租用云數據庫違法嗎?租用流程注意事項集錦

    租用云數據庫違法嗎?租用云數據庫本身并不違法,但用戶需要遵守相關法律法規和服務商的管理規則,不得用于違法活動。以下是關于租用云數據庫的詳細流程注意事項
    的頭像 發表于 10-16 10:28 ?480次閱讀

    脈沖式充電器的使用注意事項

    脈沖式充電器的使用注意事項主要包括以下幾個方面: 一、安全注意事項 用電安全 :在充電過程中,應始終保持警惕,注意用電安全,避免觸電和短路等危險情況的發生。 防火防災 :避免在易燃易爆物品附近進行
    的頭像 發表于 09-26 16:05 ?2276次閱讀

    繞線電感定制的注意事項

    電子發燒友網站提供《繞線電感定制的注意事項.docx》資料免費下載
    發表于 09-20 11:24 ?4次下載

    profinet網關的接線步驟和注意事項

    Profinet網關的接線過程可以根據具體的應用場景和設備型號有所不同,但一般可以按照以下步驟進行,以下是一個典型的接線步驟和注意事項
    的頭像 發表于 09-18 11:53 ?1481次閱讀

    共模電感定制的注意事項

    電子發燒友網站提供《共模電感定制的注意事項.docx》資料免費下載
    發表于 09-04 11:47 ?0次下載

    LiFePO4設計注意事項

    電子發燒友網站提供《LiFePO4設計注意事項.pdf》資料免費下載
    發表于 09-03 09:24 ?0次下載
    LiFePO4設計<b class='flag-5'>注意事項</b>

    先進FPGA的電源設計注意事項(電源設計器121)

    電子發燒友網站提供《先進FPGA的電源設計注意事項(電源設計器121).pdf》資料免費下載
    發表于 08-26 09:27 ?0次下載
    先進<b class='flag-5'>FPGA</b>的電源設計<b class='flag-5'>注意事項</b>(電源設計器121)
    主站蜘蛛池模板: 女上男下边吃奶边做视频成都 | 久久怡红院国产精品 | 免费观看黄色网址 | 主人扒开腿揉捏花蒂调教cfh | 国产高清一区二区三区 | 国产产一区二区三区久久毛片国语 | 黄网站视频观看免费 | 亚洲啪啪看看 | 午夜国产精品视频 | 久草香蕉在线 | 777欧美| 日韩美a一级毛片 | 午夜69成人做爰视频网站 | www亚洲成人 | 五月婷婷影院 | 精品视频一二三区 | 97色在线视频 | 苦瓜se影院在线视频网站 | 三级黄色片免费观看 | 亚洲网在线观看 | 五夜婷婷| 午夜精品福利视频 | 久久综合色婷婷 | 国产精品福利一区二区亚瑟 | 久久久蜜桃 | 天天草夜夜操 | 在线视频精品视频 | 激情文学综合丁香 | 特级做a爰片毛片免费看一区 | 双性人皇上被c到哭 | 永久免费影视在线观看 | 偷窥自拍亚洲色图 | 2019天天干| 欧美一区二区三区综合色视频 | 一级女性黄 色生活片 | 在线色视频网站 | 亚洲天堂免费在线 | 熊出没之环球大冒险旧版免费观看 | 大美女久久久久久j久久 | 69久久夜色精品国产69小说 | 色噜噜噜 |