RM新时代网站-首页

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

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

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

分享一些優(yōu)秀的verilog代碼 高質(zhì)量verilog代碼的六要素

sanyue7758 ? 來源:IC的世界 ? 作者:IC的世界 ? 2023-07-18 10:09 ? 次閱讀

高質(zhì)量6要素

高質(zhì)量的verilog代碼至少需要包含以下幾個要素:可讀性、功能、性能、標(biāo)準(zhǔn)化、穩(wěn)定性、可定位。

標(biāo)準(zhǔn)化:iterlaken MAC PCIE 這些模塊的設(shè)計必須要符合協(xié)議標(biāo)準(zhǔn),能夠與其他廠商產(chǎn)品進(jìn)行正常對接。

可讀性:代碼是容易閱讀,是否容易理解原理

功能:功能是否正確,功能點是否全面,是否靈活可配置。

性能:讀寫、傳輸速率是否達(dá)標(biāo)

穩(wěn)定性:跨時鐘等是否處理細(xì)致,異常情況代碼是否能夠保持穩(wěn)定,是否能夠自恢復(fù),狀態(tài)機(jī)是否會卡住。

可定位:定位手段是否添加全面、遇到故障,是否能夠快速定位。

wKgaomS19GKAAPY_AAGVDtwT-A4277.png

1、可讀性

代碼是否容易閱讀理解,需要注意代碼格式、關(guān)鍵信號命令、盡量多添加注釋。

代碼格式:代碼編寫需要采用普遍的格式、如空格的插入、if else的位置放置、特別是復(fù)雜的邏輯判斷,該斷行的需要斷行,該添加括號的地方添加括號。

信號命名:信號命名需要注意:如請求信號以req命令,響應(yīng)信號ack,流控信號fc,信號命令需要通俗易懂,采用常見的縮寫。

注釋清晰:一定要多寫注釋,很多代碼時間長了,自己都看不明白了,就算能看明白,也需要花費不少時間

2、功能達(dá)標(biāo)

代碼功能點是否全面。

各個功能是否能夠正常實現(xiàn)。

各功能是否靈活可配置,如是否具有使能開關(guān)

3、性能達(dá)標(biāo)

模塊性能是否達(dá)標(biāo)。設(shè)計是否已考慮各項性能指標(biāo),如數(shù)據(jù)通路常見的指標(biāo)為BPS和PPS。

極限(最佳速率和最差速率)和正常場景下性能是否達(dá)標(biāo)。

特殊包長場景是否已考慮。是否能夠及時處理突發(fā)數(shù)據(jù)。

4、標(biāo)準(zhǔn)化

模塊設(shè)計是否符合標(biāo)準(zhǔn)協(xié)議,如IEEE802.3 MAC 模塊設(shè)計是否符合標(biāo)準(zhǔn),PCIE 是否能夠與其他廠商的PCIE進(jìn)行對接傳輸數(shù)據(jù),且與主機(jī)相關(guān)的各項能力結(jié)構(gòu)能夠與主機(jī)正常交互。如interlaken接口是否能夠與FPGA的interlaken進(jìn)行正常對接。

5、穩(wěn)定性

代碼的穩(wěn)定性需要關(guān)注常見的spyglass lint cdc、跨時鐘信號、代碼是否能夠自恢復(fù)。

常見spyglass lint檢查:信號位寬是否匹配,技術(shù)是否會溢出、是否產(chǎn)生了latch等等

跨時鐘:跨時鐘的信號是否都進(jìn)行了同步處理、單bit、多bit信號是否正確同步。電平單bit、多bit數(shù)據(jù)、單bit脈沖、復(fù)位信號的同步方式各不相同,是否都正確同步了。信號同步的max_delay 延時是否符合要求。

自恢復(fù):異常情況下,模塊是否能夠自行恢復(fù),當(dāng)異常情況消失后,模塊是否夠能夠正常工作。異常情況有:

1)不符合規(guī)定的信號輸入:輸入信號eop_in/sop_in/vld_in/error_in的有效狀態(tài)有一定的規(guī)律,不符合規(guī)律的輸入信號是否會導(dǎo)致模塊無法正常處理后面正確的輸入數(shù)據(jù)。

2)狀態(tài)機(jī)沒有響應(yīng):狀態(tài)機(jī)跳轉(zhuǎn)信號沒有響應(yīng),是否會導(dǎo)致狀態(tài)機(jī)卡死,無法跳轉(zhuǎn)到IDLE狀態(tài)。

3)關(guān)鍵信號異常跳變:偶發(fā)性強(qiáng)電磁反應(yīng)導(dǎo)致的信號跳變是否會導(dǎo)致模塊一直無法正常工作。

6、可定位

常見的定位手段是否添加全面,比如:各類統(tǒng)計計數(shù)、關(guān)鍵信號狀態(tài)是否可讀、中斷信號添加是否全面。

統(tǒng)計計數(shù):模塊進(jìn)入數(shù)據(jù)包多少,輸出數(shù)據(jù)包多少。完成了多少次xx操作。

關(guān)鍵信號可讀:狀態(tài)機(jī)當(dāng)前狀態(tài)要求可讀,關(guān)鍵信號要求可讀

中斷:fifo和ram的寫溢出、空讀、ECC、parity要求接入中斷。

教你如何書寫高質(zhì)量的Verilog代碼?

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

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110074
  • 時鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1733

    瀏覽量

    131446
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3614

    瀏覽量

    93685
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    898

    瀏覽量

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

    關(guān)注

    30

    文章

    4779

    瀏覽量

    68521

原文標(biāo)題:高質(zhì)量的verilog代碼是什么樣的

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

收藏 人收藏

    評論

    相關(guān)推薦

    何為高質(zhì)量代碼?如何寫出高質(zhì)量代碼

    懂得“數(shù)據(jù)結(jié)構(gòu)與算法” 寫出高效的代碼,懂得“設(shè)計模式”寫出高質(zhì)量代碼。
    發(fā)表于 08-02 09:44 ?824次閱讀
    何為<b class='flag-5'>高質(zhì)量</b>的<b class='flag-5'>代碼</b>?如何寫出<b class='flag-5'>高質(zhì)量</b><b class='flag-5'>代碼</b>?

    怎么樣提高verilog代碼編寫水平?

    優(yōu)秀代碼:在網(wǎng)上查找開源的、經(jīng)過驗證的高質(zhì)量 Verilog 代碼,學(xué)習(xí)他人的編程風(fēng)格、代碼結(jié)構(gòu)
    發(fā)表于 09-25 20:05

    編寫高質(zhì)量C語言代碼

    編寫高質(zhì)量C語言代碼 編寫高質(zhì)量C語言代碼 編寫高質(zhì)量C語言代碼
    發(fā)表于 07-31 17:47

    verilog_代碼資料

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

    verilog代碼規(guī)范

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

    微軟四大名著之編程精粹:編寫高質(zhì)量C語言代碼

    c語言有些比較冗雜,要想編出一些高質(zhì)量的c語言代碼,需要思想來指導(dǎo),才能更好寫代碼。
    發(fā)表于 04-20 10:50 ?0次下載

    8051 verilog代碼

    8051 verilog代碼分享,有需要的下來看看。
    發(fā)表于 05-24 09:45 ?0次下載

    Verilog 入門的實例代碼

    Verilog 入門的實例代碼,有需要的下來看看
    發(fā)表于 05-24 10:03 ?20次下載

    verilog_代碼

    verilog_代碼分享,有需要的朋友下來看看。
    發(fā)表于 05-24 10:03 ?12次下載

    Verilog HDL入門教程

    本文主要介紹了Verilog HDL 語言的一些基本知識,目的是使初學(xué)者能夠迅速掌握HDL設(shè)計方法,初步了解并掌握Verilog HDL語言的基本要素,能夠讀懂簡單的設(shè)計
    發(fā)表于 07-15 15:27 ?0次下載

    Verilog HDL入門教程

    本文主要介紹了Verilog HDL 語言的一些基本知識,目的是使初學(xué)者能夠迅速掌握HDL 設(shè)計方法,初步了解并掌握Verilog HDL語言的基本要素,能夠讀懂簡單的設(shè)計
    發(fā)表于 02-11 08:00 ?99次下載
    <b class='flag-5'>Verilog</b> HDL入門教程

    高質(zhì)量Verilog代碼有什么特點

    高質(zhì)量verilog代碼主要包含以下幾個要素:可讀性、功能、性能、標(biāo)準(zhǔn)化、穩(wěn)定性、可定位。
    發(fā)表于 03-30 10:12 ?1945次閱讀
    <b class='flag-5'>高質(zhì)量</b><b class='flag-5'>Verilog</b><b class='flag-5'>代碼</b>有什么特點

    華為Verilog HDL入門教程的PDF電子書免費下載

    本文主要介紹了Verilog HDL 語言的一些基本知識,目的是使初學(xué)者能夠迅速掌握HDL設(shè)計方法,初步了解并掌握Verilog HDL語言的基本要素,能夠讀懂簡單的設(shè)計
    發(fā)表于 12-23 16:47 ?92次下載
    華為<b class='flag-5'>Verilog</b> HDL入門教程的PDF電子書免費下載

    什么樣的Verilog代碼風(fēng)格是好的風(fēng)格?

    代碼是給別人和多年后的自己看的。 關(guān)于Verilog代碼設(shè)計的一些風(fēng)格和方法之前也寫過一些Verilo
    的頭像 發(fā)表于 10-24 15:23 ?1524次閱讀

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?286次閱讀
    如何自動生成<b class='flag-5'>verilog</b><b class='flag-5'>代碼</b>
    RM新时代网站-首页