精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Verilog程序編寫規范

我快閉嘴 ? 來源:fpga加油站 ? 作者:fpga加油站 ? 2022-09-15 09:35 ? 次閱讀

在實際工作中,許多公司Verilog程序編寫規范都有要求。在公司內部統一Verilog程序編寫規范不僅可以增強程序的可讀性、可移植性,而且也有助于邏輯工程師之間交流、溝通,提升邏輯組成員之間的團隊協作能力。本文就大部分公司常見的Verilog程序編寫規范作一個介紹。

01 編寫風格

begin/end要單獨另起一行,配對的begin/end列對齊。

if/else分支中,多條語句必須使用being/end。多條語句若不加begin/end,則只有第一條語句會有效,故多條語句必須加begin/end。

書寫時括號和括號間不用空格。舉例:assign y = ((a==1’b1) && (b==1’b1))。

if/else語句必須配對使用,時序邏輯中else不用給自身賦值,空操作時只需要寫“;”。

所有的縮進以4個空格為單位。

分號和逗號緊跟信號

case/default配對使用。

模塊內部不能使用高阻或未知結果用作對比條件。例:if(a == 1'bz) 或 if(a == 1'bx)。

02 命名風格

Verilog的保留關鍵字不允許作為命名字符串使用。在RTL代碼中使用Verilog的關鍵字命名可能會導致綜合或仿真出現編譯錯誤。

命名字符集只能為[“a-z”,“A-Z”,"0-9”, “_” ],不能有其他字符。

代碼中的所有信號名都必須小寫。

信號命名總數不超過15個字符。

使用下劃線作為命名分隔符。

不允許兩個連續的下劃線出現在命名字符串中。如果采用連續兩個或多個下劃線,不便于代碼閱讀和維護,而且閱讀時很難區分有幾個下劃線。

不允許使用大小寫來區分模塊名稱、變量、信號。

用大小寫來區分模塊、變量或信號不僅不方便代碼閱讀和理解,而且有安全隱患。因為編譯器有可能不區分大小寫,增加代碼出錯的風險。

03 設計風格

模塊中經常使用的參數,或在例化時需要修改的參數使用parameter定義。

同一always塊中,非阻塞賦值和阻塞賦值不能混用。在時序邏輯語句塊(always)中統一采用非阻塞型賦值;在組合邏輯語句塊(always和assign)中統一采用阻塞型賦值;組合時序混合電路,統一采用非阻塞賦值;不可以用反或混合使用阻塞和非阻塞賦值;

不要使用門控時鐘。門控時鐘的定義:組合邏輯產生的信號當其它模塊的時鐘稱為門控時鐘。門控時鐘是非常危險的,極易產生毛刺,使邏輯誤動作。在可編程邏輯器件中,一般使用觸發器的時鐘使能端,而這樣,并不增加資源,只要保證建立時間,可使毛刺不起作用。

模塊的內部信號統一用時鐘的上升沿采樣。

模塊中的信號必須在復位時被賦予初始值。

不要將時鐘信號作為數據信號輸入,不允許使用行波計數器。行波計數器中,前級寄存器的數據輸出作為后級寄存器的時鐘輸入。行波計數器雖然原理簡單,設計方便,但級連時鐘(行波時鐘)最容易造成時鐘偏差(△T),級數多了,很可能會影響其控制的觸發器的建立/保持時間,使設計難度加大。

在條件表達式中不要使用高阻Z。在邏輯代碼中,除了三態控制邏輯接口允許使用高阻Z狀態進行信號賦值外,在其他信號賦值,條件表達式等邏輯中都不允許使用高阻Z狀態。

向量、參數和信號的位寬在定義時要清晰的表示出來,數據位寬要匹配。

審核編輯:湯梓紅

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

    關注

    1620

    文章

    21507

    瀏覽量

    598835
  • Verilog
    +關注

    關注

    28

    文章

    1333

    瀏覽量

    109710
  • 程序編寫
    +關注

    關注

    1

    文章

    14

    瀏覽量

    8187

原文標題:Verilog語言編程規范

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

收藏 人收藏

    評論

    相關推薦

    請問CAN通信接口verilog程序如何編寫

    CAN通信接口 verilog程序如何編寫
    發表于 11-01 10:16

    Verilog代碼書寫規范

    Verilog代碼書寫規范規范的目的是提高書寫代碼的可讀性、可修改性、可重用性,優化代碼綜合和仿真的結果,指導設計工程師使用
    發表于 04-15 09:47 ?106次下載

    Verilog HDL程序基本結構與程序入門

    Verilog HDL程序基本結構與程序入門 Verilog HDL程序基本結構  V
    發表于 02-08 11:43 ?2264次閱讀

    verilog代碼規范

    verilog代碼規范,學會寫代碼還不行,我們需要更加的規范
    發表于 03-25 14:43 ?24次下載

    華為_VERILOG語言編寫規范

    verilog代碼規范,學會寫代碼還不行,我們需要更加的規范
    發表于 03-25 14:36 ?34次下載

    Verilog程序編寫規范

    適合verilog初學者的教程,可以好好參考學習。
    發表于 03-25 14:06 ?12次下載

    Verilog編寫的基于SPARTAN板的VGA接口顯示程序

    Xilinx FPGA工程例子源碼:Verilog編寫的基于SPARTAN板的VGA接口顯示程序
    發表于 06-07 14:54 ?10次下載

    Verilog編寫的信道估計

    Xilinx FPGA工程例子源碼:Verilog編寫的信道估計
    發表于 06-07 14:54 ?38次下載

    華為的verilog編碼規范

    華為的verilog編碼規范
    發表于 11-01 08:41 ?41次下載
    華為的<b class='flag-5'>verilog</b>編碼<b class='flag-5'>規范</b>

    詳細分析Verilog編寫程序測試無符號數和有符號數的乘法

    有符號數的計算在 Verilog 中是一個很重要的問題(也很容易會被忽視),在使用 Verilog 語言編寫 FIR 濾波器時,需要涉及到有符號數的加法和乘法,在之前的程序中我把所有的
    的頭像 發表于 05-02 10:48 ?7119次閱讀
    詳細分析<b class='flag-5'>Verilog</b><b class='flag-5'>編寫程序</b>測試無符號數和有符號數的乘法

    Verilog HDL語言的發展歷史和能力綜述

    Verilog入門教程,介紹Verilog的語法知識,基本程序編寫
    發表于 08-13 10:56 ?2次下載

    verilog語言編寫規范

    規范的目的是提高書寫代碼的可讀性 可修改性 可重用性 優化代碼綜合和仿真的結 果 指導設計工程師使用VerilogHDL規范代碼和優化電路 規范化公司的ASIC設計輸入從而做到。
    的頭像 發表于 11-23 17:28 ?1026次閱讀

    基于verilog編寫99秒計數器

    Verilog語言編寫,通過模塊化設計的99秒技術器
    發表于 02-16 16:16 ?0次下載

    FPGA的Verilog代碼編寫規范

      注:以R起頭的是對編寫Verilog代碼的IP設計者所做的強制性規定,以G起頭的條款是建議采用的規范。每個設計者遵守本規范可鍛煉命名規范
    的頭像 發表于 08-15 16:23 ?1838次閱讀

    IC設計之Verilog代碼規范

    Verilog規范對于一個好的IC設計至關重要。
    的頭像 發表于 08-17 10:14 ?1103次閱讀
    IC設計之<b class='flag-5'>Verilog</b>代碼<b class='flag-5'>規范</b>