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

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

3天內(nèi)不再提示

簡談FPGA研發(fā)設計相關規(guī)范(企業(yè)中很實用)

FPGA學習交流 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-05-21 14:56 ? 次閱讀

大家好!又到了每日學習的時間了,今天我們聊一聊FPGA做開發(fā)的時候,有哪些設計規(guī)范,從文檔到工程建立等,聊一聊也許你會學到很多東西,少走很多彎路哦!
在團隊項目開發(fā)中,為了使開發(fā)的高效性、一致性、正確性,團隊應當要有一個規(guī)范的設計流程。按照規(guī)范來完成項目的設計開發(fā)工作,歸類清晰明了的工程文件夾級別;項目應擁有良好風格和完整的文檔,如設計思路與調(diào)試記錄及器件選型等;代碼書寫高效,即統(tǒng)一的書寫規(guī)范,文件頭包含的信息完整,無論自己還是團隊他人閱讀便一目了然。



一、文檔命名:
清晰的文檔命名能夠讓我們思路非常的清晰,所以FPGA工程文件夾的目錄要求層次鮮明,歸類清晰。一個工程必須要有一個嚴整的框架結(jié)構(gòu),用來存放相關的文檔、設計,不僅方便自己查看,也提高了項目的團隊工作效率。
下面我們來舉例說明:
一級文件夾為工程名
二級文件夾多個:
用以存放源文件
用以存放Testbench文件
用來存放設計思路相關類的文件
用來存放IP 核的文件
等等…



二、設計文檔化:
將自己對設計的思路和調(diào)試記錄在文檔中,有利于以后對模塊功能的添加和維護,并且在項目聯(lián)調(diào)時方便項目組其他人員讀代碼。也方便不同廠家的FPGA之間移植,以及FPGA到ASIC的移植。如下圖就是設計文檔化的舉例說明,文檔介紹清晰,功能分析明確,有利于以后對模塊功能的添加和維護。

154342q75nbex3fsnx7gng.png

設計思路:按照項目的要求,自頂向下的分成若干模塊,分別編寫功能。頂層盡量只做行為描述,邏輯描述在底層編寫。模塊的編寫要有硬件電路思維方式,每一個模塊的設計都應考慮是否存在該硬件電路,盡量采用同步設計。



三、編程風格:
每個module應存在于單獨的源文件中,源文件名應與其所包含的模塊名相同。每個設計都應該有一個完善的文件頭,包含公司名稱、設計者、設計時間、文件名、所屬項目、模塊名稱及功能、修改記錄及版本信息等內(nèi)容。代碼中的標識符采用傳統(tǒng)C語言的命名方法,在單詞之間用下劃線分開,采用有意義,能反應對象特征、作用和性質(zhì)的單詞命名標識符,以此來增強程序的可讀性。為避免標識符過于冗長,較長的單詞可以適當?shù)目s寫。



四、代碼規(guī)范:
低電平有效的信號,后綴名要用“_n”,比如低電平有效的復位信號“rst_n”
模塊名和信號名統(tǒng)一小寫
變量名要小寫,如wire、reg、input、output等定義的
變量命名應按照變量的功能用英文簡潔表示出來“xxx_xxx_xxx”,避免過長
采用大寫字母定義常量參數(shù),參數(shù)名小于20個字母,如parameter TIME=20
時鐘信號應前綴“clk”,復位信號應前綴“rst”
對于頂層模塊的輸出信號盡量被寄存
三態(tài)邏輯避免在子模塊使用,可以在頂層模塊使用
到其它模塊的接口信號按:輸入、(雙向)、輸出的順序定義端口
一個模塊至少要有一個輸入、輸出,避免書寫空模塊
時鐘事件的表達式用“posedge”或“negedge”的形式
If語句嵌套不能太多
建議不要使用include語句
建議每個模塊添加timescale
代碼中給出必要的注釋
每個文件有個一頭文件
每個文件只包含一個模塊
模塊名和文件名保持一致
異步復位,用if(xxx==1’b1) 或 if(xxx==1’b0)
同步時序邏輯的always block中有且只有一個時鐘信號,并且在同一個沿動作
采用同步設計,避免使用異步邏輯
一般不要將時鐘信號作為數(shù)據(jù)信號的輸入
不要在時鐘路徑上添加任何buffer
在頂層模塊中,時鐘信號必須可見
不要采用向量定義的方式定義一組時鐘信號
不要在模塊內(nèi)部生成時鐘信號,使用pll產(chǎn)生
盡量不使用任務
不使用事件變量
不使用系統(tǒng)函數(shù)
不使用disable語句
盡量不使用forever、repeat、while等循環(huán)語句
不使用不可綜合的運算符
在一個always語句中有且只能有一個事件列表
移位變量必須是一個常數(shù)
時序邏輯語塊中統(tǒng)一使用非阻塞型賦值
組合邏輯語塊中使用阻塞型賦值

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

    關注

    1625

    文章

    21638

    瀏覽量

    601353
收藏 人收藏

    評論

    相關推薦

    FPGA的上電復位

    大家好,博主最近有事忙了幾天,沒有更新,今天正式回來了。那么又到了每日學習的時間了,今天咱們來聊一聊 FPGA的上電復位,歡迎大家一起交流學習。 在基于verilog的FPGA設計
    的頭像 發(fā)表于 06-18 19:24 ?2w次閱讀
    <b class='flag-5'>簡</b><b class='flag-5'>談</b><b class='flag-5'>FPGA</b>的上電復位

    FPGA的片內(nèi)資源

    FPGA的片內(nèi)資源
    發(fā)表于 01-08 22:12

    FPGA研發(fā)設計相關規(guī)范實用)

    今天和大俠聊一聊FPGA研發(fā)設計相關規(guī)范,養(yǎng)成良好的個人習慣,代碼設計風格等,都有助于日后發(fā)展。有哪些設計規(guī)范,從文檔到工程建立等,聊一聊
    發(fā)表于 04-16 15:42

    FPGA研發(fā)設計相關規(guī)范實用)

    今天和大俠聊一聊FPGA研發(fā)設計相關規(guī)范,養(yǎng)成良好的個人習慣,代碼設計風格等,都有助于日后發(fā)展。有哪些設計規(guī)范,從文檔到工程建立等,聊一聊也
    發(fā)表于 05-13 15:39

    國內(nèi)知名企業(yè)招聘FPGA研發(fā)工程師

    FPGA研發(fā)工程師 地點:廣州主要職責:1、理解部件功能需求并對需求進行詳細分解;2、承擔電路設計和編碼,實現(xiàn)功能需求以及輸出流程規(guī)定相關技術文檔;3、組織進行部件設計Review以及完成測試;4
    發(fā)表于 03-07 14:16

    FPGA設計法為什么這么簡單

    由潘文明先生開創(chuàng)的IC/FPGA設計法,具備劃時代的意義。這種設計方法不僅將IC/FPGA學習難度降到了最低,同時將設計過程變得簡單,并規(guī)范了代碼避免了混亂,將出錯幾率降到最低。下
    發(fā)表于 12-15 15:10

    FPGA 研發(fā)設計相關 規(guī)范企業(yè)實用)

    大家好!又到了每日學習的時間了,今天我們聊一聊FPGA做開發(fā)的時候,有哪些設計規(guī)范,從文檔到工程建立等,聊一聊也許你會學到很多東西,少走很多彎路哦!在團隊項目開發(fā),為了使開發(fā)的高效性、一致性
    發(fā)表于 02-24 15:58

    明德?lián)P獨創(chuàng)“至設計法”介紹

    ,也學習和使用,并運用到實際工作;三、規(guī)范性設計過程采用至設計法獨具特色的“八步法”,把FPGA設計步驟標準化,思路清晰,布局簡潔,邏輯嚴謹,順序流暢。所有項目只需要依據(jù)
    發(fā)表于 07-25 16:50

    FPGA研發(fā)設計相關規(guī)范企業(yè)初入職場實用)

    發(fā)表于 06-30 13:53

    明德?lián)P至設計原理資料包(官方原版)

    FPGA工作經(jīng)驗的工程師,初步了解到至設計法的優(yōu)越性后,也學習和使用,并運用到實際工作;3、 規(guī)范性。設計過程采用至設計法獨具特色的“
    發(fā)表于 02-18 15:30

    FPGA研發(fā)設計相關規(guī)范企業(yè)初入職場實用)

    FPGA研發(fā)設計相關規(guī)范,養(yǎng)成良好的個人習慣,代碼設計風格等,都有助于日后發(fā)展。有哪些設計規(guī)范,從文檔到工程建立等,聊一聊也許你會學到很多
    發(fā)表于 05-23 18:15

    基于FPGA的千兆以太網(wǎng)設計

    大俠帶來基于FPGA的千兆以太網(wǎng)設計,話不多說,上貨。今天我們來簡單的聊一聊以太網(wǎng),以太網(wǎng)在FPGA學習屬于比較高級的內(nèi)容了,有些大俠
    發(fā)表于 06-01 18:39

    FPGA的設計規(guī)范

           大家好,又到了每日學習的時間了,有一段時間沒有正經(jīng)更新了,之前有粗略地聊過FPGA的設計規(guī)范,那今天我們就詳細的聊一聊FPGA做開發(fā)的時候,有
    的頭像 發(fā)表于 11-14 13:54 ?6022次閱讀

    FPGA和USB3.0通信-FX3硬件設計

    FPGA和USB3.0通信-FX3硬件設計本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下稱 FX3),該芯片是標準的USB3.0 PHY,可以大大簡化使用USB...
    發(fā)表于 12-01 20:06 ?24次下載
    <b class='flag-5'>FPGA</b>和USB3.0通信-FX3硬件設計<b class='flag-5'>簡</b><b class='flag-5'>談</b>

    FPGA設計經(jīng)驗.zip

    FPGA設計經(jīng)驗
    發(fā)表于 12-30 09:20 ?1次下載