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

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

3天內不再提示

IC設計之Verilog代碼規范

Hack電子 ? 來源: 最炫ICerX ? 2023-08-17 10:14 ? 次閱讀

Verilog規范對于一個好的IC設計至關重要。

本文包含以下幾方面內容,程序設計,模塊例化、運算符,模塊設計模板

目標:用最簡單,最簡潔的方式,設計最易讀,最高效的代碼

1、程序設計

1)設計時不用的語法

94adb4da-3ca2-11ee-ac96-dac502259ad0.png

2)設計時使用的語法,主要為下述a,b,c三類

94c73f86-3ca2-11ee-ac96-dac502259ad0.png

3)電路設計結構,主要有以下三種

94d3862e-3ca2-11ee-ac96-dac502259ad0.png??94e6a718-3ca2-11ee-ac96-dac502259ad0.png94f827ea-3ca2-11ee-ac96-dac502259ad0.png

950a382c-3ca2-11ee-ac96-dac502259ad0.png

9514857a-3ca2-11ee-ac96-dac502259ad0.png

95441ae2-3ca2-11ee-ac96-dac502259ad0.png

4)電路設計要點

[1]一個always只產生一個信號

下述不合適

95539440-3ca2-11ee-ac96-dac502259ad0.png

改為下述,只考慮一個信號,調試,分析,代碼修改很方便,不需要考慮很多

956d6bc2-3ca2-11ee-ac96-dac502259ad0.png

[2]一個信號只在一個always中產生

下述不符合要求,在多個always中產生

95774412-3ca2-11ee-ac96-dac502259ad0.png

[3]always是描述一個信號產生的方法,即在什么情況下,信號值為多少,其它情況下,值又為多少,情況要全部考慮

9595fbb4-3ca2-11ee-ac96-dac502259ad0.png

[4] 條件判斷只允許使用if else和case,其它的不使用(包括casex);

[5] 含有posedge或negedge的,一定是D觸發器,是時序電路

[6] 想立即有結果用組合邏輯,延遲一拍有結果用時序邏輯

2、模塊例化

1)什么是例化,簡單到復雜

95a503c0-3ca2-11ee-ac96-dac502259ad0.png

95bd61c2-3ca2-11ee-ac96-dac502259ad0.png

95c7513c-3ca2-11ee-ac96-dac502259ad0.png

2)例化方法

960a944c-3ca2-11ee-ac96-dac502259ad0.png

3)參數例化

961e3754-3ca2-11ee-ac96-dac502259ad0.png? ??962e16ec-3ca2-11ee-ac96-dac502259ad0.png

3、運算符

1)信號類型reg/wire

(1)設計代碼僅用reg,wire兩種類型

(2)設計代碼中,由本模塊且是always產生的信號,為reg類型

9637e9ce-3ca2-11ee-ac96-dac502259ad0.png

9658273e-3ca2-11ee-ac96-dac502259ad0.png

(3)測試代碼中,用initial產生的對測試模塊的輸入信號,用reg類型

(4)其它情況都用wire

96657d3a-3ca2-11ee-ac96-dac502259ad0.png

9676462e-3ca2-11ee-ac96-dac502259ad0.png

(5)reg類型的信號,不一定產生寄存器

2)參數parameter

96822a7a-3ca2-11ee-ac96-dac502259ad0.png

(1)將整個模塊中的CNT_C_W替換成12

(2)參數名用大寫

3)算術運算符(+,-,*,/,%)

(1)+,-,*用的多,/,%少用,消耗資源多,用的少

4)賦值運算符(=,<=),注:時序邏輯用<=,組合邏輯用=,其它情況不存在

(1)時序邏輯用<=

(2)組合邏輯用=

5)關系運算符(>,<,>=,<=)

6)邏輯運算符(&&,||,?。?/p>

(1)一般兩邊都是1bit信號,多Bit也可以

(2)一般用于條件判斷

7)位運算符(~,|,^,&)

(1)一般用于賦值

8)移位運算符(<<,>>)

(1)一般用于乘除運算

(2)右移1位表示除2,左移1位表示乘2

9)拼接運算符({ })

(1){a[0],b[3:2]}

(2){{3{a[0]}},b[2],a[1]}

4、模塊設計模板

1)解析電路功能

下圖為自加1的電路圖,左邊為組合邏輯,右邊為時序邏輯

969c332a-3ca2-11ee-ac96-dac502259ad0.png

2)修改電路設計模塊

verilog模板

規則:輸出信號必須打一拍送出去,所以會在always中賦值,所以輸出信號定義為reg類型

先定義,位寬參數,輸入,輸出,中間信號,編寫組合邏輯,時序邏輯代碼,下述為上圖加法器代碼

96b081f4-3ca2-11ee-ac96-dac502259ad0.png

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

    關注

    37

    文章

    1276

    瀏覽量

    103189
  • Verilog
    +關注

    關注

    28

    文章

    1328

    瀏覽量

    109466
  • 程序
    +關注

    關注

    114

    文章

    3640

    瀏覽量

    79728
  • Verilog設計
    +關注

    關注

    0

    文章

    20

    瀏覽量

    6483
收藏 人收藏

    評論

    相關推薦

    【分享】verilog代碼書寫規范

    FPGA verilog代碼書寫規范,很好的借鑒
    發表于 05-21 11:36

    Verilog HDL代碼書寫規范

    Verilog HDL代碼書寫規范
    發表于 09-30 08:55

    Verilog HDL代碼書寫規范

    本帖最后由 lee_st 于 2017-10-31 08:46 編輯 Verilog HDL代碼書寫規范
    發表于 10-21 20:53

    Verilog HDL代碼書寫規范

    1. 目的本規范的目的是提高書寫代碼的可讀性、可修改性、可重用性,優化代碼綜合和仿真的結果,指導設計工程師使用VerilogHDL規范代碼
    發表于 12-08 14:36

    FPGA的代碼書寫規范

    代碼書寫規范本文節選自特權同學的圖書《FPGA設計實戰演練(邏輯篇)》配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 雖然沒有“國際標準”級別的Verilog
    發表于 04-16 04:08

    Verilog代碼書寫規范

    Verilog代碼書寫規范規范的目的是提高書寫代碼的可讀性、可修改性、可重用性,優化代碼
    發表于 04-15 09:47 ?106次下載

    verilog_代碼資料

    verilog_代碼資料,非常實用的代碼示例。
    發表于 02-18 15:00 ?36次下載

    verilog代碼規范

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

    華為 內部資料 verilog編碼規范coding style

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

    華為_VERILOG語言編寫規范

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

    華為verilog教程

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

    華為的verilog編碼規范

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

    Verilog程序編寫規范

    在實際工作中,許多公司對Verilog程序編寫規范都有要求。在公司內部統一Verilog程序編寫規范不僅可以增強程序的可讀性、可移植性,而且也有助于邏輯工程師之間交流、溝通,提升邏輯組
    的頭像 發表于 09-15 09:35 ?3599次閱讀

    科普一下Verilog代碼命名規范

    命名規范包括模塊命名規范代碼命名規范,代碼命名需要有確定的含義,提高代碼可讀性和可維護性。
    的頭像 發表于 11-17 09:54 ?3123次閱讀

    FPGA的Verilog代碼編寫規范

      注:以R起頭的是對編寫Verilog代碼的IP設計者所做的強制性規定,以G起頭的條款是建議采用的規范。每個設計者遵守本規范可鍛煉命名規范
    的頭像 發表于 08-15 16:23 ?1358次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>