精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

FPGA開發全攻略:典型芯片和SOC系統設計流程及注意事項

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-20 13:13 ? 次閱讀

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

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


典型 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、 綜合后仿真

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

圖 1 FPGA 典型設計流程

6、 實現與布局布線

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

7、 時序仿真

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

8、 板級仿真與驗證

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

9、 芯片編程與調試

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


基于 FPGA 的 SOC 設計方法
目前,由于 FPGA 性能提升價格下降,同時嵌入越來越多內核,很自然地,很多 IC 設計公司將 FPGA 用于 ASIC 原型驗證,把 FPGA 可編程的優點帶到了 SOC 領域,其系統由嵌入式處理器內核、DSP 單元、大容量處理器、吉比特收發器、混合邏輯、IP 以及原有的設計部分組成。

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

基于 FPGA 的典型 SOC 開發流程為:



1、芯片內的考慮

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

2、板級驗證

在芯片設計完畢后,需要再進行板級驗證,以便在印刷電路板(PCB) 上保證與最初設計功能一致。因此,PCB 布局以及信號完整性測試應被納入設計流程。由于芯片內設計所做的任何改變都將反映在下游的設計流程中,各個過程之間的數據接口和管理也必須是無誤的。預計 SOC 系統以及所必須的額外過程將使數據的大小成指數增長,因此,管理各種數據集本身是急劇挑戰性的任務。

聽過了太多國產 EDA 工具、FPGA 芯片的報道,很全面,也都能站在國家戰略,資本市場等多個宏觀角度去思考、分析問題。但我想,對于普通開發者而言,我們當然相信前途是很美好的,但我們也很關心 EDA 工具是否穩定,比如說:

1 500M 的芯片,跑不了 50M 的邏輯,EDA 工具都經歷了什么?


2 簡單的邏輯就導致布線的擁塞?


3 在線邏輯分析儀抓不到想要的信號?

這次我們邀請了 MYMINIEYE 的 Mill 和高云半導體市場副總裁 Paul(黃俊)從技術的角度聊聊 EDA 工具和 FPGA 芯片。Mill 有著多年的 FPGA 產品開發經驗,而 Paul 也在國內外原廠有著多年的技術及市場經驗,因此,從開發者和原廠的角度一起探討 FPGA 開發核心技術問題,說出 FPGA 原廠背后的有趣故事。

審核編輯 黃昊宇

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

    關注

    1626

    文章

    21678

    瀏覽量

    602037
  • 芯片
    +關注

    關注

    454

    文章

    50460

    瀏覽量

    421973
  • soc
    soc
    +關注

    關注

    38

    文章

    4124

    瀏覽量

    217966
收藏 人收藏

    評論

    相關推薦

    MCU開發流程中的注意事項

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

    MSP430系統級ESD注意事項

    電子發燒友網站提供《MSP430系統級ESD注意事項.pdf》資料免費下載
    發表于 09-21 09:20 ?0次下載
    MSP430<b class='flag-5'>系統</b>級ESD<b class='flag-5'>注意事項</b>

    繞線電感定制的注意事項

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

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

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

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

    電子發燒友網站提供《先進FPGA的電源設計注意事項(電源設計器121).pdf》資料免費下載
    發表于 08-26 09:27 ?0次下載
    先進<b class='flag-5'>FPGA</b>的電源設計<b class='flag-5'>注意事項</b>(電源設計器121)

    逆變器線纜選擇注意事項攻略

    均對光伏系統的整體性能產生深遠影響。以下是對逆變器線纜選擇注意事項及安裝常見問題的詳細解析。 一、逆變器線纜的選擇 1.交直流線纜的選擇 直流電纜:光伏組件與逆變器之間的連接通常使用直流電纜。建議選擇經過輻照交聯的
    的頭像 發表于 08-15 17:25 ?894次閱讀
    逆變器線纜選擇<b class='flag-5'>注意事項</b>與<b class='flag-5'>攻略</b>

    FPGA的高速接口應用注意事項

    FPGA的高速接口應用注意事項主要包括以下幾個方面: 信號完整性與電磁兼容性(EMC) : 在設計FPGA高速接口時,必須充分考慮信號完整性和電磁兼容性。這要求合理的PCB布局、走線策略和屏蔽技術
    發表于 05-27 16:02

    天線設計攻略簡要概述 帶你玩轉PCB和WIFI

    給大家分享干貨啦!天線設計全攻略,帶你玩轉PCB和WIFI
    的頭像 發表于 05-08 14:42 ?1476次閱讀
    天線設計<b class='flag-5'>攻略</b>簡要概述 帶你玩轉PCB和WIFI

    FMD LINK 使用注意事項

    電子發燒友網站提供《FMD LINK 使用注意事項.pdf》資料免費下載
    發表于 05-06 10:11 ?0次下載

    FPGA設計添加復位功能的注意事項

    本文將回顧使用重置輸入對給定功能進行編碼的一些基本注意事項。設計者可能會忽視使用復位輸入的后果,但不正確的復位策略很容易造成嚴重處罰。復位功能會對 FPGA 設計的速度、面積和功耗產生不利影響。
    發表于 05-03 09:49 ?182次閱讀
    向<b class='flag-5'>FPGA</b>設計添加復位功能的<b class='flag-5'>注意事項</b>

    浪涌抑制器的應用及注意事項

    浪涌抑制器的應用及注意事項?|深圳比創達電子
    的頭像 發表于 01-19 09:55 ?689次閱讀
    浪涌抑制器的應用及<b class='flag-5'>注意事項</b>?

    STM32ADC中斷的使用注意事項和優化建議

    STM32ADC中斷的使用注意事項和優化建議 STM32ADC(模擬數字轉換器)是STMicroelectronics開發的一款用于外部模擬信號轉換為數字信號的器件。在使用STM32ADC時,合理地
    的頭像 發表于 01-12 15:17 ?3190次閱讀

    芯片金線包封膠的使用注意事項是什么?

    芯片金線包封膠的使用注意事項是什么?金線包封膠是一種高性能、高粘度的密封膠,廣泛應用于電子、電器、汽車等領域。它具有良好的防水、防潮、防震等性能,能夠保護產品內部零件不受環境影響,提高產品的使用壽命
    的頭像 發表于 01-05 11:29 ?912次閱讀
    <b class='flag-5'>芯片</b>金線包封膠的使用<b class='flag-5'>注意事項</b>是什么?

    霍爾元件使用的注意事項

    霍爾元件使用的注意事項? 霍爾元件是一種常見的電子元件,主要用于測量和檢測磁場的變化。它具有靈敏度高、響應速度快、耐磁場干擾等優點,在各種應用中得到廣泛使用。然而,為了確保霍爾元件的正常工作和延長其
    的頭像 發表于 12-18 14:56 ?1243次閱讀

    電流互感器的使用注意事項

    當談到電流互感器的使用時,有一些重要的注意事項需要我們牢記。在本文中,我們將探討這些注意事項,為您提供詳細和全面的信息。
    的頭像 發表于 12-15 10:34 ?1390次閱讀
    電流互感器的使用<b class='flag-5'>注意事項</b>