女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

FPGA時序的基本概念,RTL項目的設計探索

e9Zb_gh_8734352 ? 來源:未知 ? 作者:李倩 ? 2018-10-31 15:21 ? 次閱讀

對于FPGA而言,時序收斂是一個很重要的概念。在我看來,時序約束是必要的,但不是在最重要的,我們應該在設計初始就考慮到時序問題,而不是完全的靠約束來獲得一個好的結果。

在軍事和航空領域,工程師面臨的挑戰越來越嚴峻,例如延遲要求、帶寬要求、在極端氣溫下使應用達標,以及緊迫的工程進度。在更高的抽象層級上工作,設計會更加清晰簡潔,報錯和糾錯也會更少。但是,這個方法一般會以犧牲性能為代價。要想在 FPGA 設計中實現高性能,需要手動優化 RTL 代碼。而在 C 到 RTL 開發環境中直接生成的RTL代碼,往往是不達標的.

1. FPGA時序的基本概念

FPGA器件的需求取決于系統和上下游(upstream and downstrem)設備。我們的設計需要和其他的devices進行數據的交互,其他的devices可能是FPGA外部的芯片,可能是FPGA內部的硬核。

對于FPGA design來說,必須要關注在指定要求下,它能否正常工作。這個正常工作包括同步時序電路的工作頻率,以及輸入輸出設備的時序要求。在FPGA design內部,都是同步時序電路,各處的延時等都能夠估計出來,但是FPGA內部并不知道外部的設備的時序關系。所以,Timing constraints包括:

輸入路徑(Input paths )

寄存器-寄存器路徑(Register-to-register paths )

輸出路徑(Output paths )

例外(Path specific exceptions )

這正好對應了上圖中三個部分,Path specific exceptions 暫時不提。

Input paths對應的是OFFSET IN約束,即輸入數據和時鐘之間的相位關系。針對不同的數據輸入方式(系統同步和源同步,SDR和DDR)有不同的分析結果。

Register-to-register paths 對應的是整個FPGA design的工作時鐘。如果只有一個時鐘,那么只需要指定輸入的頻率即可。如果有多個時鐘,這些時鐘是通過DCM,MMCM,PLL生成的,那么顯然ISE知道這些時鐘之間的頻率、相位關系,所以也不需要我們指定。如果這些不同的時鐘是通過不同的引腳輸入的,ISE不知道其相位關系,所以指定其中一個為主時鐘,需要指定其間的相位關系。

Output paths對應的是OFFSET OUT 約束,和OFFSET IN約束很類似,不過方向相反。

2.找到合適的 FPGA 工具設置

盡管工程師們很清楚已有 FPGA 工具的參數設置,但是很多時候并沒有完全把這些設置的功能發揮出來。一般而言,這些設置只有在設計無法達到時序要求的時候才會用到。而且,對于已經達到性能目標的設計來說,如果好好利用這些設置,性能再提升10%-50%也是完全有可能的。難點在于,各種 FPGA 工具一般會有30-70個綜合和布局布線的設置選項,從這些選項中選擇合適的那一組設置組合如同大海撈針。幸好,目前已經有些工具可以控制并運行設計探索,而且整套流程是自動化的,也十分嚴謹。

最后的一個難題,是計算資源的匱乏。傳統的嵌入式應用都是在單一電腦上設計的,但是運行多個編譯需要更多的計算能力,這樣就會犧牲更多的時間。如果可以并行運行編譯的話,那么周轉時間就會短很多。

3.優化高層次設計

市面上已經有工具可以將設計性能提升50%并且不改變 RTL 代碼了。如下圖所展示的是設計探索非常好的一個例子:在視頻處理的設計中,進行 Sobel Filter Implementation。該設計的目標器件為一個 FPGA 搭載雙核 Arm? Cortex?-A9 MPCore?。

該設計的時鐘周期為5.00ns或者200MHz。根據時序預估,它的時序還差506ps,也就是據目標速率還差10%或181MHz,如下圖

Intime在不改變 C++代碼的情況下,工程師把設計輸出為 RTL 代碼。通過使用一種探索工具,工程師打開項目(xpr),然后并行運行不同 FPGA 工具參數的編譯來優化設計。

在兩輪優化,15次編譯之后,該設計達到了性能目標,200MHz,而且沒有修改源代碼。如下圖:

這個案例并不是說這種優化只能在高層次設計中進行。其實,只要是RTL代碼都有可能提升性能。

4.RTL 項目的設計探索

軟件無線電 (SDR) 是另一個可以從時序收斂工具中獲益的應用。在這個案例中,參考設計直接用 RTL 代碼創建。這是一個高性能,高集成度的射頻 (RF) 捷變收發器 (Agile Transceiver),為3G和4G基站的應用而設計。該設備把一個擁有靈活混合信號基帶單元的射頻前端 (RF Front End),和集成頻率合成器 (integrated frequency synthesizers)相結合,再把處理器加上一個可配置的數字界面。

開始的時鐘周期是4ns 或250MHz,并且參考設計默認時序達標。為了讓這個設計時序失敗,工程師把時鐘周期設置成激進的2ns,新的目標速率為500MHz。在這種情況下,設計時序離達標就會差246ps,并以445MHz 運行。

在同樣的情況下,不改變RTL,該設計可以通過探索多種 FPGA 工具參數來優化。優化過程為三輪,60次編譯。

結果顯示,最終 WNS 從-246ps 提升到-0.051ps,提升了79.2%,相當于時鐘周期為487MHz 以及9.4%的最大頻率提升。如下圖:

5.讓性能更進一步

隨著科學技術的發展,電子器件會變得越來越復雜,要求也越來越高,這是大勢所趨。新的 FPGA 軟件科技和方法會幫助我們提升質量、效率,滿足我們的需求。盡管 FPGA 設計的潛能尚未完全被了解,但工具參數的探索可以減少高層次設計的性能犧牲,從而保證項目完成地又快又好。工程師們會在使用工具探索 FPGA 設計參數選項上,越來越熟練。這些工具也會在設計中大放異彩。

有需要試用intime軟件者,請加群提交申請即可。

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

    關注

    1643

    文章

    21957

    瀏覽量

    614026
  • 芯片
    +關注

    關注

    459

    文章

    52162

    瀏覽量

    436081
  • 寄存器
    +關注

    關注

    31

    文章

    5421

    瀏覽量

    123315

原文標題:Intime在軍事航空項目中大放異彩

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術聯盟】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    時序分析中的一些基本概念

    時序分析是FPGA設計中永恒的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念
    發表于 10-21 09:28 ?2606次閱讀

    Fpga Cpld的基本概念

    Fpga Cpld的基本概念
    發表于 08-20 17:14

    FPGA功耗的基本概念,如何降低FPGA功耗?

    FPGA功耗的基本概念,如何降低FPGA功耗?IGLOO能夠做到如此低的功耗是因為什么?
    發表于 04-30 06:08

    FPGA高級班前言基本原理基本概念

    FPGA高級班前言基本原理基本概念 在數字化、信息化的時代,集成電路應用的非常廣泛。經過長期的進步發展成為可以完成超大規模復雜組合邏輯與時序邏輯
    發表于 02-09 11:22 ?70次下載
    <b class='flag-5'>FPGA</b>高級班前言基本原理<b class='flag-5'>基本概念</b>

    時序分析中的一些基本概念

    時序分析時FPGA設計中永恒的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念
    發表于 02-11 19:08 ?4523次閱讀
    <b class='flag-5'>時序</b>分析中的一些<b class='flag-5'>基本概念</b>

    時序分析基本概念介紹——時序庫Lib,除了這些你還想知道什么?

    時序分析基本概念介紹——時序庫Lib。用于描述物理單元的時序和功耗信息的重要庫文件。lib庫是最基本的時序庫,通常文件很大,分為兩個部分。
    的頭像 發表于 12-15 17:11 ?1.3w次閱讀
    <b class='flag-5'>時序</b>分析<b class='flag-5'>基本概念</b>介紹——<b class='flag-5'>時序</b>庫Lib,除了這些你還想知道什么?

    詳細介紹時序基本概念Timing arc

    時序分析基本概念介紹——Timing Arc
    的頭像 發表于 01-02 09:29 ?2.5w次閱讀
    詳細介紹<b class='flag-5'>時序</b><b class='flag-5'>基本概念</b>Timing arc

    時序分析和時序約束的基本概念詳細說明

    時序分析時FPGA設計中永恒的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念
    發表于 01-08 16:57 ?28次下載
    <b class='flag-5'>時序</b>分析和<b class='flag-5'>時序</b>約束的<b class='flag-5'>基本概念</b>詳細說明

    時序設計基本概念之collection

    今天我們要介紹的時序分析基本概念是collection。代表的是一個集合,類似指針。在數字后端工具中,我們可以通過命令get_*來尋找想要的Object。這些get_*命令返回的就是collection。不同類型的object對應不同的get命令。
    的頭像 發表于 11-26 10:30 ?4066次閱讀

    FPGA設計中時序分析的基本概念

    時序分析時FPGA設計中永恒的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念
    的頭像 發表于 03-18 11:07 ?3184次閱讀

    靜態時序分析的基本概念和方法

    向量和動態仿真 。本文將介紹靜態時序分析的基本概念和方法,包括時序約束,時序路徑,時序裕量,setup檢查和hold檢查等。
    的頭像 發表于 06-28 09:38 ?1800次閱讀
    靜態<b class='flag-5'>時序</b>分析的<b class='flag-5'>基本概念</b>和方法

    介紹時序分析的基本概念lookup table

    今天要介紹的時序分析基本概念是lookup table。中文全稱時序查找表。
    的頭像 發表于 07-03 14:30 ?2083次閱讀
    介紹<b class='flag-5'>時序</b>分析的<b class='flag-5'>基本概念</b>lookup table

    介紹時序分析基本概念MMMC

    今天我們要介紹的時序分析基本概念是MMMC分析(MCMM)。全稱是multi-mode, multi-corner, 多模式多端角分析模式。這是在先進工藝下必須要使用的一種時序分析模式。
    的頭像 發表于 07-04 15:40 ?3238次閱讀
    介紹<b class='flag-5'>時序</b>分析<b class='flag-5'>基本概念</b>MMMC

    時序分析Slew/Transition基本概念介紹

    今天要介紹的時序分析基本概念是Slew,信號轉換時間,也被稱為transition time。
    的頭像 發表于 07-05 14:50 ?4265次閱讀
    <b class='flag-5'>時序</b>分析Slew/Transition<b class='flag-5'>基本概念</b>介紹

    時序分析基本概念介紹—Timing Arc

    今天我們要介紹的時序基本概念是Timing arc,中文名時序弧。這是timing計算最基本的組成元素,在昨天的lib庫介紹中,大部分時序信息都以Timing arc呈現。
    的頭像 發表于 07-06 15:00 ?4415次閱讀
    <b class='flag-5'>時序</b>分析<b class='flag-5'>基本概念</b>介紹—Timing Arc