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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

軟件與Verilog基本格式規(guī)范說明

FPGA之家 ? 來源:FPGA家 ? 2023-05-14 14:09 ? 次閱讀

一、 說明

以前總是沒有記錄的習(xí)慣,導(dǎo)致遇到問題時總得重新回憶與摸索,大大降低了學(xué)習(xí)效率,從今天開始決定改掉這個壞毛病,認(rèn)真記錄自己的Verilog學(xué)習(xí)之路,希望自己能一直堅持下去。

二、 軟件資源與硬件資源

軟件資源說明:

1、UltraEdit:本博客所有的Verilog代碼全部都在UltraEdit中編輯, UltraEdit具有語法高亮與自動補全(設(shè)置方法在本文最后面)功能,而且界面美觀,絕對是寫代碼的利器。

2、ISE14.7或Vivado2016.3:本博客的FPGA選擇的是Xilinx的,所以選擇Xilinx集成開發(fā)套件,本來之前一直在用7系列的FPGA,但是目前手頭只有一塊Spartan-6系列的二手開發(fā)板,所以代碼的驗證都在Spartan-6上驗證,但好在FPGA的結(jié)構(gòu)基本類似,Verilog的代碼基本可以通用。

3、ModelSim-win64-10.4-se:仿真工具使用ModelSim 10.4版本,其他版本也可以,無過多要求。

4、Windows-7 64-bit系統(tǒng):建議大家在Windows-7 64-bit系統(tǒng)做開發(fā) ,Windows-7 64-bit系統(tǒng)對以上軟件的兼容性都比較好。我的筆記本電腦用的是Windows-8.1系統(tǒng),安裝ISE14.7以后導(dǎo)入ModelSim仿真庫,選擇庫目錄的時候出現(xiàn)了卡住的情況,這種就是ISE14.7與WIndows-8.1不太兼容導(dǎo)致的,解決辦法如下。

解決Windows-8.1與ISE14.7不兼容的辦法:

找到ISE安裝目錄的中的nt64文件夾,我的ISE的安裝目錄在D盤,所以nt64的路徑如下D:Xilinx14.7ISE_DSISElib t64,然后把nt64文件夾中的libPortability.dll文件名改成libPortability.dll.org,再把libPortabilityNOSH.dll重命名為libPortability.dll。這樣可以有效解決一部分兼容性的問題。

5、更多軟件資源可以關(guān)注文末的微信公眾號并輸入關(guān)鍵字“軟件安裝包”獲取

硬件資源說明:

1、目前手頭只有一塊二手的黑金AX545開發(fā)板,F(xiàn)PGA的型號是:XC6SLX45-2CSG324,所以代碼都會在這個板子上進(jìn)行驗證。對于其他型號的FPGA只要理解原理了應(yīng)該也不難上手。

三、 Verilog命名規(guī)范與格式說明

Verilog語言并沒有固定的命名規(guī)范與編寫格式,每個人根據(jù)自己的喜好而定就行了,我自己比較喜歡下面規(guī)范與格式。這里先寫一部分,后面如果有補充的在加上。

Verilog命名規(guī)范:

1、所有輸入端口以大寫I加下劃線開始,然后后面內(nèi)容的一律用小寫,信號比較長的話,后面的小寫用下劃線隔開。如:

input I_clk;

input I_led_mode;

如果輸入端口低電平有效的話就在末尾加下劃線和小寫n,如:

input I_rst_n;

2、所有輸出端口以大寫O加下劃線開始,然后后面內(nèi)容的一律用小寫,信號比較長的話,后面的小寫用下劃線隔開。如:

output O_led;

output O_led_mode;

3、所有reg變量以大寫R加下劃線開始,然后后面內(nèi)容的一律用小寫,信號比較長的話,后面的小寫用下劃線隔開。如:

reg R_cnt;

reg R_cnt_100ms;

4、所有wire變量以大寫W加下劃線開始,然后后面內(nèi)容的一律用小寫,信號比較長的話,后面的小寫用下劃線隔開。如:

wire W_cnt;

wire W_led_mode;

5、所有常量(parameter變量)以大寫C加下劃線開始,然后后面內(nèi)容的一律用大寫以示與變量的區(qū)別,信號比較長的話,后面的大寫用下劃線隔開。如:

parameter C_IDLE;

parameter C_FLASH_READ;

6、命名一定要有意義,看著變量名就大概能猜出它的作用,并適當(dāng)采用縮寫,下面幾個縮寫是寫代碼過程中比較常用的縮寫。

‘rd’代替‘read’

‘wr’代替‘write

‘cnt’代替‘count’

‘rst’代替‘reset’

‘a(chǎn)ddr’代替‘a(chǎn)ddress’

Verilog編寫格式:

1、always塊的begin…end換行寫,如:

always @(posedge I_clk or negedge I_rst_n)

begin

end

2、if…else if…else語句的begin…end換行并空一個Tab鍵(記得設(shè)置一個Tab為4個空格)寫,如果if或者else下面只有一條語句那么就省略begin…end如:

if

begin

end

else if

begin

end

else

3、case…endcase語句中的條件后面如果只有一條語句,則直接在冒號后面寫語句,default一定要寫上,即使里面什么語句也沒有。最好用UltraEdit的列模式功能把那些冒號和分號都上下對齊。如

case(...)

C_IDEL : …… ;

C_FLASH : …… ;

default : ;

endcase

case…endcase語句中的條件后面如果有多條語句,則直接在冒號后面換行加Tab鍵寫begin…end。同樣用UltraEdit的列模式功能把那些冒號和分號都上下對齊。

case(R_state)

C_IDEL :

begin

…… ;

end

C_ FLASH :

begin

…… ;

end

default :

begin

…… ;

end

endcase

4、例化模塊的時候例化名就是在模塊名前面加一個大寫的U和下劃線,并且用UE的列模式功能把括號和逗號都對齊。如:

led_work U_ led_work

(

. I_clk (I_clk ),

. I_rst_n (I_rst_n ),

.O_led_mode (O_led_mode ),

.O_led_out (O_ led_out )

);

附、 UltraEdit設(shè)置方法

下載上文的UltraEdit壓縮包并解壓,里面有兩個文件,一個是UE的安裝包,一個是語法高亮文件

bf67c164-f0aa-11ed-90ce-dac502259ad0.png

雙擊exe文件安裝好了以后打開UE會提示選擇風(fēng)格,我比較喜歡黑暗風(fēng)格,選完風(fēng)格以后在菜單欄找到高級選項卡,然后在高級選項卡下載找到配置菜單

bf7a2caa-f0aa-11ed-90ce-dac502259ad0.png

單擊配置菜單,彈出如下界面

bf9226d4-f0aa-11ed-90ce-dac502259ad0.png

接著在上面的界面中找到自動完成功能并選中,然后按照下圖進(jìn)行設(shè)置

bfa35a80-f0aa-11ed-90ce-dac502259ad0.png

接著在找到自動換行/制表符設(shè)置,按照如下方式設(shè)置

bfb80fca-f0aa-11ed-90ce-dac502259ad0.png

最后找到編輯器顯示下面的語法加亮,選擇安裝包中的wordfile.uew配置文件就OK了,如下圖所示

bfcd08f8-f0aa-11ed-90ce-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    71

    文章

    2147

    瀏覽量

    120713
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4621

    瀏覽量

    86998
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1338

    瀏覽量

    109871
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4840

    瀏覽量

    96861
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4697

    瀏覽量

    68093

原文標(biāo)題:【接口時序】1、軟件與Verilog基本格式規(guī)范說明

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【分享】verilog代碼書寫規(guī)范

    FPGA verilog代碼書寫規(guī)范,很好的借鑒
    發(fā)表于 05-21 11:36

    Verilog HDL代碼書寫規(guī)范

    Verilog HDL代碼書寫規(guī)范
    發(fā)表于 09-30 08:55

    Verilog HDL代碼書寫規(guī)范

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

    Verilog HDL代碼書寫規(guī)范

    :① 邏輯功能正確,②可快速仿真,③ 綜合結(jié)果最優(yōu)(如果是hardware model),④可讀性較好。2. 范圍本規(guī)范涉及Verilog HDL編碼風(fēng)格,編碼中應(yīng)注意的問題, Testbench的編碼
    發(fā)表于 12-08 14:36

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載34:Verilog代碼書寫規(guī)范

    “國際標(biāo)準(zhǔn)”級別的Verilog或VHDL代碼書寫規(guī)范可供參考,但是相信每一個稍微規(guī)范點的做FPGA設(shè)計的公司都會為自己的團(tuán)隊制定一套供參考的代碼書寫規(guī)范。畢竟一個團(tuán)隊中,大家的代碼書
    發(fā)表于 12-27 09:41

    System Verilog問題和語言參考手冊規(guī)范

    本文討論了一些System Verilog問題以及相關(guān)的SystemVerilog 語言參考手冊規(guī)范。正確理解這些規(guī)格將有助于System Verilog用戶避免意外的模擬結(jié)果。
    發(fā)表于 12-24 07:07

    Verilog代碼書寫規(guī)范

    Verilog代碼書寫規(guī)范規(guī)范的目的是提高書寫代碼的可讀性、可修改性、可重用性,優(yōu)化代碼綜合和仿真的結(jié)果,指導(dǎo)設(shè)計工程師使用
    發(fā)表于 04-15 09:47 ?106次下載

    verilog代碼規(guī)范

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

    華為_VERILOG語言編寫規(guī)范

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

    VHDL與Verilog互轉(zhuǎn)的軟件

    VHDL與Verilog互轉(zhuǎn)的軟件, X-HDL v4.21 Crack.zip
    發(fā)表于 06-03 16:16 ?10次下載

    華為的verilog編碼規(guī)范

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

    Verilog教程之Verilog的命令格式資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Verilog HDL教程之Verilog HDL的命令格式資料說明。
    發(fā)表于 01-09 08:00 ?31次下載
    <b class='flag-5'>Verilog</b>教程之<b class='flag-5'>Verilog</b>的命令<b class='flag-5'>格式</b>資料<b class='flag-5'>說明</b>

    Verilog程序編寫規(guī)范

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

    FPGA的Verilog代碼編寫規(guī)范

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

    IC設(shè)計之Verilog代碼規(guī)范

    Verilog規(guī)范對于一個好的IC設(shè)計至關(guān)重要。
    的頭像 發(fā)表于 08-17 10:14 ?1228次閱讀
    IC設(shè)計之<b class='flag-5'>Verilog</b>代碼<b class='flag-5'>規(guī)范</b>