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

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

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

3天內不再提示

HDL開發(fā)的10大規(guī)則是什么

OpenFPGA ? 來源:OpenFPGA ? 作者:碎碎思 ? 2022-09-29 08:55 ? 次閱讀

編寫良好的、可移植的、可重用的 HDL 代碼,使設計能夠以所需的頻率實現(xiàn),這絕對是一個挑戰(zhàn)。

為此,許多(不是大多數(shù))專業(yè)組織都有編碼標準。不過,編碼規(guī)則可能會成為戰(zhàn)場。一些公司的編碼規(guī)則非常復雜,不僅控制代碼結構,還控制格式和命名,而有些公司則稍微寬松一些。

但是,如果你是專業(yè)開發(fā) FPGA,或者是作為愛好者,都應該有一些基本的編碼規(guī)則。當你來到項目的后端并且必須實現(xiàn)時序收斂時,遵守這些基本規(guī)則可以節(jié)省大量時間和精力。為此,我開始思考我的 HDL 開發(fā)的 10 大規(guī)則是什么??

狀態(tài)機——只是單個進程。忘記關于組合部分和順序部分的學校和課程。所有狀態(tài)機都應該是單個進程。這有助于調試,防止鎖存器的出現(xiàn),并確保所有輸出都是寄存器類型,從而減少毛刺并幫助我們實現(xiàn)時序收斂。

f8fe4312-3f8e-11ed-9e49-dac502259ad0.png

狀態(tài)機——盡可能多地從狀態(tài)機中解耦功能。這意味著確保計數(shù)器等位于它們自己的進程中(在 FSM 進程之外)并由來自 FSM 的信號控制。這種解耦使FPGA的實現(xiàn)對于 FSM 和計數(shù)器都更加優(yōu)化,結果會得到更好的結果質量。

狀態(tài)機——理想情況下,狀態(tài)機應該在們自己的單獨文件中,與其他代碼元素分開。我會允許在同一個文件中解耦計時器和其他元素。

推斷——只要有可能,編寫代碼時,應使綜合工具能夠推斷出它所綁定的邏輯結構(例如,DSP48、BRAM 等)。這使得代碼可以隨著系列之間架構特性的變化(例如,DSP48 到 DSP58)而更方便移植。

實例化——當無法執(zhí)行推理并且必須實例化組件時,應該在架構頂層的文件中。這使得替換或更新實例化的 IP 更容易。

實體/模塊——每個進入或離開模塊的信號都應該被注冊。這有助于解決時序收斂問題,尤其是當我們以更快的頻率運行時。

使用標準接口——使用 AXI4、AXIS、AXI4-Lite 或其他標準,如果是純 HDL 設計,例如使用wishbone總線在模塊之間進行通信。這簡化了架構元素對具有大量矢量端口和相關握手信號的需求,這些端口需要連接、布局和布線,并實現(xiàn)時序收斂。如果需要流水線實現(xiàn)時序收斂,這些接口通常也更加靈活。

不要將結構代碼和功能代碼混合——這使重用變得方便而簡單,因為功能代碼位于單獨的文件中可以輕松重用。同樣,結構代碼文件更容易理解,因為它們只是定義解決方案的配置。

命名——在整個設計中使用合理的變量名稱,這些名稱具有描述性,有助于提高可讀性。考慮使用 i_ o_ s_ v_ 等前綴來標識正在訪問或處理的變量的類型。前綴比后綴更有效,因為變量名稱的大小會發(fā)生變化。如果想要進行更改,使用前綴可以簡化批量編輯(豎選)。

文檔 – 可以讓閱讀正在使用的 IP 的文檔了解其工作原理(不要以為你知道它是如何工作的)。UltraFast 設計方法參考指南值得閱讀,可以學習編碼結構(例如,復位和控制信號)。同樣,在設計中包含自己的文檔也是一個好習慣。有幾種開源工具可以使用,例如用于時序圖的 WaveDrom、用于框圖的符號器、用于寄存器定義的位字段等。能夠將這些包含在源代碼中是理想的,因為它可以防止文檔丟失。在這種情況下,推薦TerosHDL 編輯器。

f9436d0c-3f8e-11ed-9e49-dac502259ad0.png

遵循這些規(guī)則,能夠創(chuàng)建優(yōu)秀的 FPGA 設計,這些設計不僅可以以所需的速度實現(xiàn),而且還具有靈活性并能夠實現(xiàn)大量重用。但是,我將添加兩個額外的規(guī)則:

仿真你的設計——在考慮實施之前,請確保頂層文件有一個測試臺,該測試臺可以證明設計按預期工作。設備上調試僅用于集成類型問題,而不是驗證設計是否有效。

使用 GIT 等版本控制系統(tǒng),并認真使用問題跟蹤和發(fā)布功能。它真的可以幫助你,讓你擺脫困境。

這些是我的 HDL 開發(fā)的前 10 條(好吧,12 條規(guī)則)。我很想知道如果是你,你會考慮添加哪些規(guī)則?




審核編輯:劉清

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

    關注

    1643

    文章

    21954

    瀏覽量

    613901
  • HDL
    HDL
    +關注

    關注

    8

    文章

    330

    瀏覽量

    47810
  • 狀態(tài)機
    +關注

    關注

    2

    文章

    493

    瀏覽量

    28062

原文標題:HDL 開發(fā)的 10 條規(guī)則

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ORCAD LAYOUT 封裝命名規(guī)則是怎樣的?

    名位哥哥姐姐!  請問ORCAD LAYOUT 封裝命名規(guī)則是怎樣的?謝謝!
    發(fā)表于 02-16 10:49

    論壇的規(guī)則是什么

    論壇的規(guī)則是什么,什么能做,什么不能做,積分多了有什么好處,錢多了有什么好處
    發(fā)表于 04-21 13:45

    集成整流橋堆型號命名規(guī)則是什么?ASEMI

    集成整流橋堆型號命名規(guī)則是什么?ASEMI
    發(fā)表于 06-10 17:24

    請問圖片里的安全規(guī)則是什么意思?

    圖片里的安全規(guī)則是什么意思,翻譯出來的意思完全不明白,請大神詳細的解釋一下
    發(fā)表于 04-29 04:15

    PCB設計走線的規(guī)則是什么

    PCB設計走線的規(guī)則是什么
    發(fā)表于 03-17 06:36

    如何正確設計BGA封裝?BGA設計規(guī)則是什么?

    如何正確設計BGA封裝?BGA設計規(guī)則是什么?BGA有什么局限性?
    發(fā)表于 04-25 07:31

    PCB元件庫命名規(guī)則是什么

    PCB元件庫命名規(guī)則是什么
    發(fā)表于 04-26 06:41

    3W規(guī)則是什么?20H規(guī)則是什么?

    3W規(guī)則是什么?20H規(guī)則是什么?五---五規(guī)則是什么
    發(fā)表于 04-27 06:09

    TI芯片的最新命名規(guī)則是什么

    TI芯片的最新命名規(guī)則是什么?怎樣去查找TI芯片的最新命名規(guī)則呢?
    發(fā)表于 10-25 08:19

    STM32型號的命名規(guī)則是什么

    STM32有哪幾種類型?STM32型號的命名規(guī)則是什么?
    發(fā)表于 10-28 08:06

    STM32芯片的命名規(guī)則是什么

    STM32系列可分為哪幾種?STM32芯片的命名規(guī)則是什么?
    發(fā)表于 11-04 07:14

    AURIX TC2xx芯片命名規(guī)則是什么?

    AURIX TC2xx芯片命名規(guī)則是什么?
    發(fā)表于 11-08 06:46

    鋰離子電池命名規(guī)則是什么?

    鋰離子電池命名規(guī)則是什么? 度寬度高度材質,如063048S型號代表厚度為6毫米,寬度為30毫米,高度為48毫米,S代表鋼殼,A代表鋁殼圓柱形二次
    發(fā)表于 10-26 13:48 ?4574次閱讀

    PCB設計中元器件布局的10規(guī)則,布線的規(guī)則是什么?

    一、布局元器件布局的10規(guī)則:1. 遵照“先大后小,先難后易”的布置原則,即重要的單元電路、核心元器件應當
    的頭像 發(fā)表于 07-17 18:48 ?1.7w次閱讀
    PCB設計中元器件布局的<b class='flag-5'>10</b>條<b class='flag-5'>規(guī)則</b>,布線的<b class='flag-5'>規(guī)則是</b>什么?

    PCB布局布線規(guī)則是什么

    手把手教你布局元器件布局的10規(guī)則
    的頭像 發(fā)表于 08-19 15:47 ?6808次閱讀