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

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

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

3天內不再提示

FPGA工程師的核心競爭力 - 方法篇(一)

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀

在前面的文章《FPGA工程師的核心競爭力-學習篇(一)》中,提到要做一名合格的FPGA工程師,需要從底層做起,模塊編寫、工程搭建、系統開發、平臺架構設計,到系統級的軟硬件全棧能力。對于FPGA工程師而言,概括起來,日常工作主要集中于算法邏輯設計和接口驅動設計。然而,從初級工程師到高級工程師,直至技術專家,不能永遠停留在底層設計,有了成熟的邏輯開發經驗后,需要往更高層次轉變,做系統級設計,達到系統架構師或總師的級別,這時候需要的是全局觀。

有沒有好的設計方法,可以讓工程師們走得更順利、更遠呢?全球數十萬FPGA工程師正致力于讓系統設計更簡單、更高效,具體怎樣開展呢?Xilinx隆重推出了UltraFast設計方法論。

關于UltraFast設計方法論

Xilinx推出的UltraFast設計方法論是一整套旨在幫助簡化當今器件設計進程的最佳實踐。這些設計的規模與復雜性需要執行特定的步驟與設計任務,從而確保設計每個階段的成功開展。當您遵循這些步驟和最佳實踐進行操作,將有助于您盡可能最快且最高效的方式實現期望的設計目標。

具體設計方法論是什么呢?這里提供設計指南:

(1)《UltraFast設計方法指南》(UG949),該指南中描述了各種設計任務、分析與報告功能,以及用于設計創建和收斂的最佳實踐。

(2)《UltraFast 設計方法快捷參考指南》(UG1231) 中采用易于使用的雙面卡格式著重講解了主要設計方法論步驟。

(3)《UltraFast 設計方法時序收斂快捷參考指南》(UG1292) 提供了有關時序收斂的建議,包括運行初始設計檢查、設定設計基線和解決時序違例。

(4)《UltraFast 設計方法檢查表》(XTP301) 可從賽靈思 Documentation Navigator 獲取,也可作為獨立電子數據表獲取。您可使用此檢查表來識別整個設計進程中的常見錯誤和決策點。

(5)《UltraFast 設計方法論系統級設計流程》圖展示了 賽靈思 Documentation Navigator 中提供的整個 Vivado?Design Suite 設計流程。您可單擊圖中的設計步驟以打開相關文檔、宣傳材料以及常見問題及解答以幫助您入門。

另外建議:除上述資源外,賽靈思建議,處理嵌入式設計時請參閱《UltraFast 嵌入式設計方法指南》(UG1046),使用含基于 C 的 IP 的 Vivado IP integrator 開發復雜系統時請參閱《UltraFast Vivado HLS 方法指南》(UG1197)。

本文主要參考UG949,進行重點闡述。在最新的UG949(2020版)中,共240頁,內容主要分為6章,分別為:

?引言

?開發板和器件規劃

?利用RTL創建設計

?設計約束

?設計實現

?設計收斂

指點迷津:做任何事情,只講勤奮努力是不夠的,最重要的是找到好的方法可以高效完成任務,這條真理,放之四海而皆準。

引言

介紹UltraFast設計方法論,如何使用該指南,使用UltraFast設計方法檢查表,使用UltraFast設計方法論DRC,使用UltraFast設計方法系統級設計流程,以及了解UltraFast設計方法概念。

其中,使用UltraFast設計方法論進行DRC,即設計規則檢查,個人覺得很重要,可以為后面節省不少時間。能在綜合和實現前搞定的東西,就別留在調試中去,不然累死了還找不到問題原因。

Vivado Design Suite 包含一組方法論相關 DRC,可使用 report_methodology Tcl 命令來運行。此命令針對以下每個設計階段都具有相應的規則:
? 在綜合前,在細化 RTL 設計中用于驗證 RTL 結構
? 在綜合后,用于驗證網表和約束
? 在實現后,用于驗證約束和時序相關問題。

建議:為了最大限度發揮作用,請在每個設計階段運行方法論DRC,并解決其中所有問題,然后再繼續執行下一個階段。

TCL命令其實功能很強大,能完成所有界面引導操作,還能完成在界面引導不能勝任的操作。TCL的用戶指南為《Vivado Design Suite Tcl 命令參考指南》(UG835)。

對于UltraFast設計方法系統級設計流程,用一張圖來表示最直觀:

poYBAGIMog-AaO9eAAKRY-qGb1s325.png

在UltraFast 設計方法概念中,最重要的思想就是,從設計之初即采用正確方法并盡早關注設計目標(包括 RTL、時鐘、管腳和 PCB 管腳分配)至關重要。在每個設計階段中正確定義和驗證設計有助于減少后續實現階段的時序收斂、布線收斂和功耗問題。

在開發周期早期,需要注意時序設計目標。設計流程的早期階段(C、C++ 和 RTL 綜合)對于設計性能、密度和功耗的影響遠超后期實現階段的影響。因此,如果設計不滿足時序目標,建議重新評估綜合階段(包括 HDL 和約束),而不是僅在實現階段通過迭代來尋找解決方案。圖2中關于HLS,高層次綜合,主要面對從事軟件開發人員,但是他想利用FPGA進行工程設計,說不定他不懂RTL,不懂HDL,因此采用高級語言C或C++來設計。

poYBAGIMohCAMBEPAADUMlLlPQ4015.png

UltraFast設計方法強調對設計預算(例如,面積、功耗、時延和時序)進行監控以及盡早采取如下措施更正設計的重要性:

? 利用賽靈思模板創建最佳 RTL 結構,并在執行細化后進行綜合前采用方法 DRC 來驗證 RTL。由于 Vivado 工具從始至終使用時序驅動的算法,設計必須從設計流程開始就得到正確的約束。

? 在綜合后開展時序分析。要指定正確的時序,您必須分析設計中每個主時鐘及有關生成時鐘之間的關系。在 Vivado 工具中,每次時鐘交互都必須滿足時序要求,除非顯式聲明為異步時鐘交互或偽路徑 (false path)。

? 在繼續執行下一個設計階段前采用正確的約束滿足時序要求。可遵循如下建議并使用 Vivado Design Suite 的交互式分析環境來加速總體時序與實現收斂。

pYYBAGIMohKAPu3WAAHp5qb7TaU984.png

如能夠通過正時序裕度 (positive margin) 或相對較小的負時序裕度 (negative timing margin) 滿足設計目標,那么綜合即可視為完成。例如,如果綜合后未能滿足時序要求,那么布局布線結果也不太可能滿足時序要求。

時序違例對電路運行會產生較大影響,很可能跑飛,導致邏輯混亂。關于時序約束,在UG949中會講到。另外,在UG612、UG625、UG903等也有講到進行時序收斂和約束的方法。

開發板和器件規劃

正確規劃開發板上的器件朝向并向特定管腳分配信號可以顯著提升總體系統性能、降低功耗、提升散熱性能并縮短設計周期。將器件與印刷電路板 (PCB) 進行物理或邏輯交互的方式以直觀方式展現出來,即可精簡通過器件的數據流。

未正確規劃 I/O 配置則可能導致系統性能下降和設計收斂時間延長。賽靈思強烈建議在考慮 I/O 管腳分配的同時進行開發板級規劃。

當然,對于從事邏輯算法開發的人員,不太關注器件規劃,硬件工程師一張原理圖和器件表扔過去就可以開始干活了。

這一章就不詳細說明了,去官網下載沒有興趣慢慢看吧。

利用RTL創建設計

完成器件 I/O 管腳分配、PCB 布局規劃并決定 Vivado? Design Suite 的使用模型后,即可開始創建設計。設計創建包括:

? 規劃設計的層級
? 識別要在設計中使用和定制的 IP 核
? 對于沒有合適的 IP 可用的互連邏輯和功能,請創建定制 RTL
? 創建時序約束、功耗約束和物理約束

? 指定綜合與實現階段所使用的其它約束、屬性及其它元件

創建設計時,主要的考慮要素包括:
? 實現所需的功能
? 按期望的頻率運行
? 按期望的可靠程度運行
? 符合硅片資源和功耗預算要求

在此階段做出的決策將影響最終產品。在這一階段的錯誤決策會導致后續階段問題層出不窮,進而造成整個設計周期中不斷返工。在此過程中盡早花時間詳細規劃設計有助于達成設計目標并最大限度縮短實驗室中的調試時間。

特別是開始一個新的項目時,這一步實在是太重要了。我們講究邏輯,沒有邏輯的世界是飄渺的,會導致矛盾重重,做事效率低,漏洞百出。

1.定義理想的設計層級

設計創建的第一步是決定如何對設計進行邏輯分區。定義層級時主要考慮的是如何對含特定功能的設計部分進行分區。
這樣便于特定設計人員單獨設計 IP,以及隔離一段代碼以供復用。

說白一點,就是功能模塊劃分。一個完整的功能系統,總是由若干個功能單元構成,就好比一個人,眼、耳、口、鼻、四肢、內臟、肌肉,各司其職,同時又協同工作。

但僅根據功能來確定層級會導致對時序收斂、運行時間和調試的最優化方法考慮不周。在層級規劃過程考慮如下因素也有助于時序收斂。

1.1 在頂層附近添加 I/O 組件

盡可能在頂層附近添加 I/O 組件,以保障設計可讀性。推斷組件時,請提供要完成功能的描述。然后,綜合工具會對HDL 代碼進行解釋,以確定使用哪些硬件組件來執行該功能。可推斷的組件為簡單的單端 I/O(IBUF、OBUF、OBUFT 和 IOBUF)以及 I/O 中的單數據速率寄存器

1.2 在頂層附近插入時鐘元件

朝頂層方向插入時鐘元件便于模塊間的時鐘共享。時鐘共享可以減少時鐘資源占用,從而提高資源利用率,提升性能,并降低功耗。除了在其中創建時鐘的模塊之外,時鐘路徑只能向下驅動進入模塊。任何先自上而下而后又自下而上貫穿的路徑都會在VHDL 仿真中造成 delta cycle 問題,此類問題的調試既艱難又費時。

1.3 在邏輯邊界處寄存數據路徑

對層級邊界輸出進行寄存可將關鍵路徑包含在單一模塊或邊界內。輸入同樣可以寄存在層級邊界處。相比于遍布多個模塊的路徑,模塊內部的時序路徑始終更便于分析和修復。未在層級邊界處寄存的任何路徑都應采用層級重構來加以綜合或者扁平化以便實現跨層級最優化。在邏輯邊界處寄存數據路徑有助于保留整個設計進程中的可追溯性(用于調試),因為這樣可以最大限度避免跨層級最優化,并且邏輯不會跨模塊遷移。

模塊之間有交互,當一個模塊的輸出信號送入下一個模塊時,最好通過寄存再輸出。同樣,很多時候為了避免跨時鐘處理以及模塊復用,會對輸入信號進行打拍處理。

1.4 針對功能和時序調試最優化層級

把關鍵路徑限定在同一層級邊界內有助于時序的調試和滿足時序要求。同樣,出于功能調試(及修改)目的,相關信號應限定在同一層級上。這樣即可使相關信號的探測和修改變得相對簡單,因為當信號限定在單個層級中時,更易于跟蹤通過綜合對信號名稱進行的最優化。

2.IP 的使用

使用預先驗證的 IP 核能夠大幅減少設計和驗證工作量,從而加速產品上市進程。如需了解有關使用 IP 的更多信息,請參閱以下資源:
? 《Vivado Design Suite 用戶指南:采用 IP 進行設計》(UG896)
? 《Vivado Design Suite 用戶指南:采用 IP integrator 設計 IP 子系統》(UG994)
? Vivado Design Suite QuickTake 視頻:在 Vivado 中配置和管理可復用 IP

當然,有時候我們對第三方IP不放心,自己進行IP開發和封裝,方便移植和復用。

2.1 規劃IP要求

根據所需功能以及其它設計目標,評估賽靈思或其它第三方合作伙伴提供的 IP 選項。

考慮需要使用的接口,例如,存儲器接口、網絡接口和外設接口。

2.2 AMBA AXI

AXI4 專為高性能、高時鐘頻率系統設計制定,適用于高速互連。

AXI4-Lite 是 AXI4 的精簡版,主要用于訪問控制寄存器和狀態寄存器。

AXI4-Stream 用于從主接口到從接口的單向數據流。典型應用包括 DSP、視頻和通信

用的最多的算是AXI4-Stream,接口和時序簡單,比較方便使用。

關于如何使用IP,就不贅述了,本文的長度已經可以預感,會比較長。

3 RTL 編碼指南

可創建定制 RTL 來實現膠合邏輯功能以及不含適合 IP 的功能。

創建 RTL 或例化賽靈思原語時使用 Vivado Design Suite 語言模板。這些語言模板包含建議的編碼結構,用于正確推斷賽靈思器件架構。使用語言模板可以簡化設計進程,并改進結果。要從 Vivado IDE 打開“語言模板”,請選擇“Flow Navigator”中的“Language Templates”選項,然后選擇所需模板。

在工程開發中,我本人其實沒有這樣做,習慣于自己創建文件,定義接口,然后進行邏輯設計。當然,好的方法我們要虛心學習借鑒。關注FPGA器件映射的本質,也許會有助于進行RTL設計。

3.1 控制信號和控制集

控制集是控制信號(置位/復位信號、時鐘使能信號和時鐘信號)的組合,用于驅動任意給定 SRL、LUTRAM 或寄存器。對于控制信號的任意獨特組合,都會組成 1 個獨立控制集。由于 7 系列 slice 中的寄存器全部共享公用控制信號,導致只能將含公用控制集的寄存器封裝到相同 slice 中,因此該功能十分重要。例如,如果具有給定控制集的寄存器僅具有 1 個寄存器作為負載,那么其占據的 slice 中的另 7 個寄存器將變為不可用。

復位

復位是需要在設計中考慮并加以限制的較為常見且重要的控制信號之一。復位會對設計的性能、面積和功耗產生顯著影響。

多路復用器的輸入輸出中所描述的異步復位可能導致將寄存器放置到 slice 中而不是放置到 DSP 塊中。在此類情況下,將使用額外邏輯資源,從而對功耗和設計性能產生負面影響。

使用復位的時間和位置

賽靈思器件具有專用的全局置位/復位信號 (GSR)。在器件配置結束時,此信號會設置硬件中所有時序單元的初始值。

謹慎判斷何時設計需要復位以及何時不需要復位。大多數情況下,在控制路徑邏輯上可能需要復位以確保正常運行。然而在數據路徑邏輯上通常不需要復位。復位的使用限制如下:
? 限制復位信號線的總體扇出。
? 減少復位布線所需的互連數量。
? 簡化復位路徑的時序。
? 在大多數情況下,這樣即可整體改進性能、面積和功耗。

同步復位對比異步復位

如需復位,賽靈思建議使用同步復位。同步復位相比于異步復位具有諸多優勢。詳細說明,參考UG949。

3.2 掌握推斷的結果

代碼最終必須映射到器件中存在的資源上。請盡力理清所處理的關鍵架構中的關鍵算法、存儲和邏輯元件。這樣在對設計功能進行編碼時,即可預測代碼將映射到的硬件資源。

3.3 有助于提升性能的編碼方式

關鍵路徑上的高扇出

高扇出信號線在設計進程早期階段更便于處理。性能要求和路徑的結構往往會導致高扇出問題。

流水線設置注意事項

另一種提升性能的方法是對具有多個邏輯層次的長數據路徑進行重構并將其分布在多個時鐘周期中。此方法可加速時鐘周期并增加數據吞吐量,但代價是時延和流水線開銷邏輯管理工作增加。

自動流水線設置注意事項

可以選擇在布局期間插入額外的流水線寄存器,以解決特定總線和接口上的時序收斂難題。

3.4 提升功耗的編碼方式

?時鐘或數據路徑門控

?最大限度增加門控元件數量

?使用專用時鐘緩存的時鐘使能管腳

?無需優先級編碼器時使用 Case 塊

由于篇幅較長,先到此為止,下篇我們將針對設計約束、設計實現和設計收斂進行學習分析。

參考文獻

[1]Xiinx ,《UltraFast設計方法指南》(UG949)。

審核編輯:符乾江

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

    關注

    1643

    文章

    21985

    瀏覽量

    615097
  • 編碼
    +關注

    關注

    6

    文章

    967

    瀏覽量

    55576
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    機械工程師的九個段位,你現在處于哪層?

    ,目標是全面提升產品的核心競爭力。 9、研發副總,CEO 對整個產品的核心競爭力負責成為基礎工作。同時要了解國內外制造業相關標準規范,知道打進歐美市場的門檻。行業展會轉
    發表于 05-28 13:47

    物聯網工程師為什么要學Linux?

    物聯網工程師需要掌握Linux的主要原因可以從技術生態、開發需求、行業應用及就業競爭力四個角度來分析: 、技術生態與行業適配性 1)嵌入式開發的主流平臺 物聯網設備往往基于嵌入式系統開發
    發表于 05-26 10:32

    充電樁EMC整改:如何成為充電樁企業的核心競爭力

    深圳南柯電子|充電樁EMC整改:如何成為充電樁企業的核心競爭力
    的頭像 發表于 05-21 11:15 ?193次閱讀
    充電樁EMC整改:如何成為充電樁企業的<b class='flag-5'>核心</b><b class='flag-5'>競爭力</b>

    電子工程師自學速成 —— 提高

    本文共3冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 電子工程師自學速成分為:入門、提高和設計,本文為提高
    發表于 05-15 15:56

    電子工程師自學速成——入門

    本文共3冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 電子工程師自學速成分為:入門、提高和設計,本文為入門
    發表于 05-15 15:50

    如何成為名合格的KaihongOS北向應用開發工程師

    :參加相關的培訓、研討會或會議,不斷提升自己的技能。 10. 獲得認證 專業認證:如果可能,獲取相關的專業認證,這可以增加你的可信度和市場競爭力。 成為名合格的北向應用開發工程師需要時間和努力,通過不斷學習和實踐,你將能夠
    發表于 04-23 06:46

    【社區之星】張飛:做技術值不值錢,核心競爭力在于精

    自然就目了然了。 廣是為了精做鋪墊的。你值不值錢,你的核心競爭力在于精。對于做技術來說,精大于廣。 社區小助手:您本人比較偏好或擅長哪方面的產品設計?列舉下最得意的產品 張飛老師:
    發表于 04-07 15:50

    招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    嵌入式軟件工程師就業好不好?

    、智能醫療設備等,都離不開嵌入式軟件的支持。預計2025年,物聯網設備的數量將呈爆發式增長,這將為嵌入式軟件開發工程師帶來大量的就業機會。 薪資待遇具有競爭力 由于嵌入式軟件開發工程師的技術門檻較高
    發表于 02-20 10:19

    如何成為嵌入式開發工程師

    ,參加相關的研討會和培訓課程,閱讀專業書籍和論文。 9. 認證和網絡:- 考慮獲取相關認證,這可以增加你的市場競爭力。- 加入專業組織和在線社區,擴展你的人際網絡。 通過上述步驟的學習和實踐,你可以逐步成長為名合格的嵌入式開發工程師
    發表于 02-19 10:39

    芯和半導體榮獲2024上海軟件核心競爭力企業

    2024上海軟件核心競爭力企業評選活動是由上海市軟件行業協會主辦,旨在表彰在軟件領域具有創新能力和核心競爭力的企業。本次活動依據T/SSIA 0001-2018《軟件企業
    的頭像 發表于 01-06 16:43 ?738次閱讀

    Keysight助力提升工程師的測試測量知識水平

    Keysight為您解鎖測試測量領域的最新知識,助力工程師在快速變化的科技環境中保持競爭力
    的頭像 發表于 10-16 09:28 ?780次閱讀

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題() Q:FPGA中的FPGA算法工程師
    發表于 09-23 18:26

    學習SOLIDWORKS提高學生的就業競爭力

    在當今快速發展的工程技術領域,掌握先進的計算機輔助設計(CAD)軟件已成為工程師和設計不可或缺的技能之。SOLIDWORKS作為款3D
    的頭像 發表于 07-22 17:19 ?589次閱讀
    學習SOLIDWORKS提高學生的就業<b class='flag-5'>競爭力</b>
    主站蜘蛛池模板: 中文字幕在线观看一区二区三区 | 99久久免费精品国产免费高清 | 九九热精品视频 | 一级片在线观看免费 | 四虎在线最新永久免费 | 欧美一级片在线免费观看 | 在线www 天堂网在线 | 亚洲一区二区视频 | 欧美黑粗特黄午夜大片 | 在线91精品亚洲网站精品成人 | 午夜一级毛片不卡 | 狠狠色丁香婷婷综合橹不卡 | 国产一级特黄高清免费大片 | 成人免费看黄网站yyy456 | 一级特黄aa毛片免费观看 | 国产高清在线视频 | bt天堂在线最新版在线 | 欧美在线观看视频一区 | 国产日韩精品一区二区三区 | 伊人成人在线 | 久久黄网站 | 欧美大胆一级视频 | 欧美色碰碰碰免费观看长视频 | 四虎精品久久久久影院 | 天天摸日日干 | 六月激情| 狠狠色狠狠色狠狠五月ady | 你懂得国产| 亚洲天堂手机在线 | 免费看特级淫片日本 | 三级精品视频在线播放 | 黄色午夜网站 | 美女又爽又黄视频 | 五月婷婷六月丁香在线 | 久久国产午夜精品理论篇小说 | 久久毛片视频 | 色狠狠网 | 亚洲精品久久久久久婷婷 | 五月天亚洲婷婷 | 亚洲qingse中文字幕久久 | 国产20岁美女一级毛片 |