色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

FPGA入門之FPGA 開發流程

jf_78858299 ? 來源:CSDN ? 作者:原來如此呀 ? 2023-03-21 10:26 ? 次閱讀

FPGA 的設計流程就是利用 EDA 開發軟件和編程工具對 FPGA 芯片進行開發的過程。原理圖和HDL(Hardware description language,硬件描述語言)是兩種最常用的數字硬件電路描述方法。其中,運用 HDL 設計方法具有更好的移植性、通用性以及利于模塊劃分的特點,在工作學習中被廣泛使用。典型 FPGA 的開發流程一般如下圖所示, 其包括功能定義/器件選型、設計輸入、功能仿真、綜合優化、綜合后仿真、實現、布線后仿真、板級仿真以及芯片編程與調試等主要步驟。

第1節 功能定義/器件選型

在 FPGA 設計項目開始之前需要進行方案論證、系統設計和 FPGA 芯片的選型等準備性工作,在確定并評估好方案后需要進行系統功能的定義和模塊的劃分。根據方案中任務要求,如方案中所確定的系統功能以及復雜度,對硬件的工作速度和器件自身的資源、成本、以及性能指標等各個方面進行綜合考慮,選擇出較合適的器件類型。

**在設計方法上,一般都采用自頂向下的設計方法,首先將整個系統劃分成若干個基本模塊,然后再將每個基本模塊劃分為下一層次的基本單元,這樣依次劃分后確定好各個模塊的功能以及各個模塊需要設計的輸入輸出信號,再通過 EDA 工具進行各個模塊的設計。**最終要實現的目標是:針對每個輸入信號,利用 EDA 工具以及 FPGA 的資源設計出需要的輸出信號邏輯。

第2節 設計輸入( Design Entry)

設計輸入是指在 EDA 工具中,通過使用該開發軟件設計出所希望得到的系統或電路的一個過程。在日常工作學習中 最常使用的方式是通過硬件描述語言( HDL)的方式來描繪設計出最終的數字電路 。以此方式設計電路的過程需要在 EDA 軟件上通過文本描述,將實際的電路用硬件語言表述出來。

設計好文本后,編譯器會將硬件語言進行綜合、布局布線,最后轉換成一個個的邏輯門、寄存器、數據選擇器等實際電路。 設計師接觸比較多的 HDL 語言是行為 HDL,其主流語言是 Verilog HDL 和 VHDL,這兩種語言都是 IEEE 的標準,雖然兩者在語法結構以及設計標準上存在差別,但是都有一個共同的特點:語言與芯片工藝無關。在任一款 FPGA 芯片上,使用任何一種語言都可以設計出想要的數字電路。

另一種設計方式是使用原理圖輸入的方法進行設計輸入。原理圖輸入方式是一種最直接的描述方式,通過從元件庫中調出來需要的器件,畫出原理圖。

這一方式有點類似于硬件開發過程中設計原理圖的過程, 其在可編程邏輯陣列發展的前期應用的比較廣泛。使用這種方法具有設計直觀且易于仿真的優勢,但是設計效率不高,且難以維護改動,對模塊的構造和重用的支持度極不友好。當芯片升級后,所有的原理圖需要重新進行一定的改動,可移植性很差。

除了這 IEEE 標準語言外還有廠商自己的語言, 在實際的設計中也可以用 HDL 為主,原理圖為輔的混合設計方式,以發揮兩者的各自特色與優勢。

第3節 功能仿真( RTL-Simulation)

功能仿真也稱為綜合前仿真,用戶設計好數字邏輯后需要檢查自己的設計是否符合預期,在不需要綜合之前通過仿真軟件對電路進行邏輯驗證。

在功能仿真器件電路可以不用考慮延遲等因素,僅對初步的功能進行檢驗。通過建立測試平臺即 Testbench,利用波形編譯器(仿真軟件)和硬件描述語言建立好波形文件和激勵信號,在仿真軟件上會模擬實際電路的波形顯示出輸出波形信號,并生成報告文件。用戶通過觀察各個時間點信號的變化情況來驗證自己所設計邏輯的正確性。

綜合前仿真在 FPGA 開發過程中不是一定要進行的步驟,但卻是極為關鍵的一步。在實際的工作學習中,充分利用好仿真工具,能夠提高設計的效率并及時發現設計缺陷,從而為后續的開發過程提供保障。常用的硬件描述語言的仿真工具有 Model Tech 公司的 ModelSim、 VCS、 Ncsim 以及 NC-VHDL 等軟件。

第4節 綜合優化( Synthesis)

綜合即針對給定的電路實現功能和實現該電路的約束條件,如速度、功耗、成本及電路類型等,通過計算機進行優化處理獲得一個能滿足上述要求的電路設計方案。

也就是說,被綜合的文件是HDL 文件(或其他相應文件),綜合的依據是邏輯設計的描述和各種約束條件,綜合的結果則是一個硬件電路的實現方案,該方案必須同時滿足預期的功能和約束條件。

對于綜合來說,滿足要求的方案可能有多個,綜合器將產生一個最優的或接近最優的結果。因此,綜合的過程也就是設計目標的優化過程,最后獲得的結構與綜合器的工作性能有關。 常用的綜合工具有 Synplicity 公司的 Synplify/Synplify Pro 軟件以及各個 FPGA 廠家自己推出的綜合開發工具。

第5節 綜合后仿真

綜合后仿真是用來檢查綜合結果是否和原設計一致。后仿真與前仿真的區別在于: 前仿真是指綜合前的仿真,如在 Modelsim 對撰寫的代碼直接進行仿真,而后仿真是綜合后的仿真,也就是功能仿真。

假設設計師在 Modelsim 中用 HDL 編寫了一個計數器代碼, 其通過了行為級的仿真后被加載到 quartus 或者其他的綜合工具中進行綜合, 完成綜合后會生成功能網表, 將行為語言轉換成寄存器傳送級語言, 此時設計師再將其加載到 Modelsim 中進行的仿真被叫做后仿真。

后仿真成功后還需要在 quartus 中進行映射和布局布線, 并進行時序分析生成時序網表,描述器件里門或者布線的延時。 最后將延時網表和功能網表一起加載到 Modelsim 中仿真,這一仿真為門級仿真,而在實際的設計過程中,一般來說不做綜合后仿真也不會帶來太大的影響。

第6節 布局布線( Place & Routes)

布局布線可理解為利用實現工具把邏輯映射到目標器件結構的資源中從而決定邏輯的最佳布局,選擇邏輯與輸入輸出功能鏈接的布線通道進行連線,并產生相應文件(如配置文件與相關報告)。

實現是 將綜合生成的邏輯網表配置到具體的 FPGA 芯片上,布局布線是其中最重要的過程 。在完成綜合之后,就是相當于有了各種元件, 但如何建立元件之間的連接,就像在 PCB 上把元件放在哪里,元件之間的連接以及相連關系又是怎么樣的,這個都是布局布線完成的工作,綜合的結果可能每次都一樣,但是布局布線的結構基本每次都不會一樣。

布局將邏輯網表中的硬件原語和底層單元合理地配置到芯片內部的固有硬件結構上,并且往往需要在速度最優和面積最優之間作出選擇。布線根據布局的拓撲結構,利用芯片內部的各種連線資源,合理正確地連接各個元件。

目前, FPGA 的結構非常復雜,特別是在有時序約束條件時,需要利用時序驅動的引擎進行布局布線。布線結束后,軟件工具會自動生成報告,提供有關設計中各部分資源的使用情況。由于只有 FPGA 芯片生產商對芯片結構最為了解,所以布局布線必須選擇芯片開發商提供的工具。

第7節 時序仿真( Timing)

時序仿真,也稱為后仿真,是指將布局布線的延時信息反標注到設計網表中來檢測有無時序違規(即不滿足時序約束條件或器件固有的時序規則,如建立時間、保持時間等)現象。

時序仿真使用布局布線后器件給出的模塊和連線的延時信息, 在最壞的情況下對電路的行為作出實際地估計。時序仿真使用的仿真器和功能仿真使用的仿真器是相同的,所需的流程和激勵也是相同的,唯一的差別是: 時序仿真加載到仿真器的設計包括基于實際布局布線設計的最壞情況的布局布線延時,并且在仿真結果波形圖中時序仿真后的信號加載了時延,而功能仿真沒有。

由于不同芯片的內部延時不一樣,不同的布局布線方案也給延時帶來不同的影響。因此在布局布線后,通過對系統和各個模塊進行時序仿真,分析其時序關系,估計系統性能,以及檢查和消除競爭冒險是非常有必要的。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。

第8節 板級仿真與驗證

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

第9節 編程與調試

設計的最后一步就是芯片的編程與調試。編程是指將 FPGA 開發工具最后產生使用的數據文件(位數據流文件, Bitstream Generation)加載到 FPGA 芯片中。

其中,芯片編程需要滿足一定的條件,如編程電壓、 編程時序和編程算法等,而這些條件一般廠家都會事先完成設計, 設計師直接按照規范操作即可。

數據文件下載到 FPGA 芯片中以后還需要進行調試驗證,=邏輯分析儀(Logic Analyzer, LA)便是 FPGA 設計的主要調試工具。使用 LA 需要引出大量的測試管腳,且 LA 價格昂貴,但是當工程較大、所需要調試觀察的信號過多時,仍舊需要 LA 來對芯片內部的信號進行觀察驗證。

目前,主流的 FPGA 芯片生產商都提供了內嵌的在線邏輯分析儀(如 Xilinx ISE 中的 ChipScope、 Altera QuartusII 中的 SignalTapII 以及 SignalProb),它們只需要占用芯片少量的邏輯資源便可達到同樣的效果,在實際的工程調試中發揮了極大的作用。之后將會詳細介紹 SIGNALTAP 工具的使用。

版權聲明:本文為CSDN博主「原來如此呀」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/Royalic/article/details/120995615

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

    關注

    1629

    文章

    21729

    瀏覽量

    603004
  • 芯片
    +關注

    關注

    455

    文章

    50714

    瀏覽量

    423152
  • eda
    eda
    +關注

    關注

    71

    文章

    2755

    瀏覽量

    173201
  • HDL
    HDL
    +關注

    關注

    8

    文章

    327

    瀏覽量

    47377
收藏 人收藏

    評論

    相關推薦

    FPGA開發流程簡介

    FPGA開發基本流程包括:設計輸入、設計仿真、設計綜合、布局布線,它們的連接關系如圖1 所示。
    發表于 06-10 08:24 ?1740次閱讀

    FPGA開發流程及仿真技術解析

    FPGA開發流程是遵循著ASIC的開發流程發展的,發展到目前為止,FPGA
    發表于 01-06 11:19 ?1901次閱讀

    FPGA入門教程

    FPGA入門教程 FPGA 入門教程 1 .數字電路設計入門 2 .FPGA 簡介 3
    發表于 08-11 11:40

    FPGA入門:基本開發流程概述

    FPGA入門:基本開發流程概述 本文節選自特權同學的圖書《FPGA/CPLD邊練邊學——快速入門
    發表于 02-09 20:14

    FPGA基本開發流程概述

    FPGA入門:基本開發流程概述 在第一章中,已經給出了FPGA/CPLD的基本開發
    發表于 01-28 02:29

    FPGA開發流程

    。總而言之,FPGA開發流程雖然有些復雜,但是隨著學習的逐步深入,對流程全貌由更深入的認知,你會發現其實FPGA
    發表于 01-28 04:24

    FPGA入門開發具體流程有哪些?求過程

    FPGA入門開發具體流程有哪些?求過程
    發表于 07-26 06:44

    FPGA-SOPC入門中文教程V2.03

    SOPC FPGA 快速入門教程 本教程以豐富的實例和詳細的步驟講解基于QuartusII的FPGA開發流程和基于Nios II的SOPC
    發表于 06-05 18:47 ?308次下載

    FPGA/SOPC開發快速入門教程

    FPGA/SOPC開發快速入門教程
    發表于 08-06 16:56 ?79次下載
    <b class='flag-5'>FPGA</b>/SOPC<b class='flag-5'>開發</b>快速<b class='flag-5'>入門</b>教程

    FPGA開發流程及編程思想

    FPGA開發流程及編程思想,好東西,喜歡的朋友可以下載來學習。
    發表于 01-18 15:17 ?31次下載

    FPGA開發流程

    FPGA開發流程,好東西,喜歡的朋友可以下載來學習。
    發表于 01-18 15:17 ?33次下載

    Xilin ISE設計流程FPGA系統設計入門免費下載

    本文檔的主要內容詳細介紹的是Xilin ISE設計流程FPGA系統設計入門免費下載。
    發表于 10-29 08:00 ?9次下載
    Xilin ISE設計<b class='flag-5'>流程</b><b class='flag-5'>FPGA</b>系統設計<b class='flag-5'>入門</b>免費下載

    關于FPGA它的開發流程是怎樣的

    FPGA的設計流程就是利用EDA開發軟件和編程工具對FPGA芯片進行開發的過程。FPGA
    發表于 11-06 15:17 ?2464次閱讀

    FPGA基礎知識----第二章 FPGA 開發流程

    第二章 FPGA 開發流程FPGA 的設計流程就是利用 EDA 開發軟件和編程工具對
    發表于 12-29 19:40 ?9次下載
    <b class='flag-5'>FPGA</b>基礎知識----第二章 <b class='flag-5'>FPGA</b> <b class='flag-5'>開發</b><b class='flag-5'>流程</b>

    FPGA的詳細開發流程

    ??FPGA 的詳細開發流程就是利用 EDA 開發工具對 FPGA 芯片進行開發的過程,所以
    的頭像 發表于 07-04 14:37 ?5041次閱讀
    <b class='flag-5'>FPGA</b>的詳細<b class='flag-5'>開發</b><b class='flag-5'>流程</b>
    主站蜘蛛池模板: 国模啪啪久久久久久久| 伊人青青草| 亚洲成AV人片一区二区不卡| 受被攻做到腿发颤高h文| 日本黄色官网| 肉动漫3D卡通无修在线播放| 日产精品高潮呻吟AV久久| 日韩熟女精品一区二区三区| 日本熟妇乱妇熟色A片蜜桃亚洲| 日本成熟bbxxxxxxxx| 忘忧草秋观看未满十八| 亚洲AV福利天堂一区二区三 | 日本欧美久久久久免费播放网| 99re 这里只有精品| 俄罗斯17vidio| 国产永久免费高清在线观看| 精品第一国产综合精品蜜芽| 久热这里在线精品| 日韩精品一区二区中文| 亚洲国产精品无码2019| 最新亚洲人成网站在线影院| 被黑人群jian又粗又大H| 国产综合在线观看| 女女破视频在线观看| 亚州免费一级毛片| 666永久视频在线| 国产精品久久久久影院| 狼与美女谐音歌词| 涩涩电影网| 97人人爽人人爽人人人片AV| 国产精品久久久久久久久无码| 久久综合给合久久狠狠狠…| 熟女啪啪白浆嗷嗷叫| 777ZYZ玖玖资源站最稳定网址| 国产精品第100页| 欧美顶级情欲片免费看| 亚洲欧美精品无码一区二在线| japonensis护士| 久久久久久九九| 小sao货ji巴cao死你视频| yellow免费影视大全|