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

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

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

看一下SystemVerilog中package的使用方法與注意事項(xiàng)

FPGA技術(shù)驛站 ? 來源:FPGA技術(shù)驛站 ? 2023-10-07 11:33 ? 次閱讀

談到package,用過VHDL的工程師并不陌生。實(shí)際上,SystemVerilog中的package正是從VHDL引入的,以進(jìn)一步增強(qiáng)其在系統(tǒng)級的描述能力。我們來看一下SystemVerilog中package的使用方法與注意事項(xiàng)。 SystemVerilog中的package需要在關(guān)鍵字package和endpackage之間進(jìn)行定義,其包含的內(nèi)容可以是parameter,localparam,const,typedef,task,function,import,export和time unit。當(dāng)然,package中也可以包含一些不可綜合的用于驗(yàn)證的內(nèi)容如class。

我們來看一個具體的例子,如下圖所示代碼片段。代碼第2行通過關(guān)鍵字package表明其描述類別,package之后的top_pkg是package的名字。代碼第5行至第11行以條件編譯的方式結(jié)合typedef定義了數(shù)據(jù)類型。代碼第13行通過typedef enum定義了枚舉類型。代碼第15行到第18行通過typedefstruct定義了結(jié)構(gòu)體。代碼第20行至第22行定義了function。代碼第23行以endpackage確定package結(jié)束。

22c30572-6313-11ee-939d-92fbcf53809c.png

從可綜合的SystemVerilog代碼風(fēng)格角度而言,需要注意:對于需要定義在package中的常數(shù),應(yīng)采用localparam或const定義,而不要使用parameter定義。此外,結(jié)構(gòu)體應(yīng)定義在package中,而不是以獨(dú)立的.sv文件存在。

當(dāng)需要使用package中的對象時,就需要導(dǎo)入package,如下圖所示代碼片段。代碼第2行通過import導(dǎo)入package?!?”表示導(dǎo)入top_pkg中的所有內(nèi)容。也可以只導(dǎo)入需要使用的package中的某個具體內(nèi)容,例如

import top_pkg::word_t;

如果使用此方法導(dǎo)入用戶定義的枚舉類型時,需要明確導(dǎo)入使用到的枚舉標(biāo)簽,如下所示:

import top_pkg::ADD;

import top_pkg::SUB;

import top_pkg::ABS;

import top_pkg::DIV2;

22da4192-6313-11ee-939d-92fbcf53809c.png

import package可以放在module聲明之前,如上圖所示代碼第2行的位置,也可以放在端口聲明之前,如下圖所示代碼片段的第4行。兩者的效果是一樣的,即:端口聲明部分和module內(nèi)的語句均可使用導(dǎo)入的package內(nèi)容。

22efe222-6313-11ee-939d-92fbcf53809c.png

盡管可以使用如下圖所示代碼片段第6行所示方式,但實(shí)際工程中并不建議這么使用,這會導(dǎo)致代碼變得冗長。工程實(shí)踐表明,采用類似于“importtop_pkg::*;”的方式更為方便,也更為明了。

23042fde-6313-11ee-939d-92fbcf53809c.png

Vivado是支持package的。只需將package單獨(dú)定義在一個后綴為.sv的文件中即可。Vivado會自動將package放在首位進(jìn)行編譯,如下圖所示。

230f1520-6313-11ee-939d-92fbcf53809c.png






審核編輯:劉清

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

    關(guān)注

    19

    文章

    797

    瀏覽量

    65854
  • Verilog語言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8192
  • sub
    sub
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    2224

原文標(biāo)題:說說SystemVerilog的Package

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    防雷元器件的使用方法及使用注意事項(xiàng)

    防雷元器件的使用方法及使用注意事項(xiàng)  ?。?b class='flag-5'>一)防雷元器件的使用方法  1、開關(guān)元件主要應(yīng)用于共模保護(hù),也常在無源電
    發(fā)表于 12-09 11:34 ?1739次閱讀

    信號發(fā)生器的使用方法注意事項(xiàng)

    小編為大家介紹信號發(fā)生器的使用方法注意事項(xiàng)。 信號發(fā)生器的使用方法: 選用與驗(yàn)電器相同電壓等級的驗(yàn)電信號發(fā)生器。手持驗(yàn)電器工作部分(驗(yàn)電器頭)將發(fā)生器的電極頭接觸被測驗(yàn)電器的電極頭,按動“工作”開關(guān)
    發(fā)表于 02-19 16:08

    大電流發(fā)生器使用方法注意事項(xiàng)

    的工作人員,今天專門來介紹一下大電流發(fā)生器使用方法注意事項(xiàng)。希望能給以上相關(guān)人士在工作中定的幫助。大電流測試儀的使用方法如下。第
    發(fā)表于 05-05 13:57

    視頻展臺的典型使用方法/注意事項(xiàng)

    視頻展臺的典型使用方法/注意事項(xiàng)   目前,隨著多媒體教學(xué)設(shè)備在學(xué)校的廣泛普及,專為教育演示設(shè)計(jì)的視頻展臺產(chǎn)品在某此
    發(fā)表于 02-08 11:29 ?1518次閱讀

    搖表的接線和使用方法注意事項(xiàng)

    本文介紹搖表的接線和搖表使用方法及搖表注意事項(xiàng)
    發(fā)表于 01-28 09:33 ?2w次閱讀

    額溫計(jì)的使用方法圖解及使用注意事項(xiàng)

    本文首先闡述了額溫計(jì)的使用方法圖解,另外還介紹了紅外額溫計(jì)使用注意事項(xiàng)。
    發(fā)表于 02-27 09:01 ?5.5w次閱讀

    淺談壓力傳感器的使用方法注意事項(xiàng)

    淺談壓力傳感器的使用方法注意事項(xiàng)
    發(fā)表于 03-10 17:36 ?14次下載
    淺談壓力傳感器的<b class='flag-5'>使用方法</b>及<b class='flag-5'>注意事項(xiàng)</b>

    PCB承載大電流的操作方法注意事項(xiàng)

    筆者對PCB是否能夠承載100~150A大電流的問題進(jìn)行了分析,一起來看一下吧。 常見的PCB可以承載150A電流,但是原則上不推薦作為常規(guī)或者持續(xù)的使用方法。下面主要論述三個方面: 1、PCB承載大電流操作方法 2、P
    的頭像 發(fā)表于 07-26 17:14 ?1830次閱讀
    PCB承載大電流的操作<b class='flag-5'>方法</b>和<b class='flag-5'>注意事項(xiàng)</b>

    javaequals()方法注意事項(xiàng)

    會有不同的注意事項(xiàng)。在本文中,我們將詳細(xì)討論equals()方法注意事項(xiàng),并解釋如何正確使用它來比較兩個對象。 首先,我們來看一下equals()
    的頭像 發(fā)表于 11-17 16:59 ?625次閱讀

    射頻電纜組件的使用方法注意事項(xiàng)

    射頻電纜組件的使用方法注意事項(xiàng)? 射頻電纜組件是類廣泛應(yīng)用于通信系統(tǒng)、無線電設(shè)備和其他射頻設(shè)備的重要電子組件。它們在傳輸高頻信號時扮演著關(guān)鍵的角色,因此使用和安裝時需要特別
    的頭像 發(fā)表于 01-05 15:08 ?444次閱讀

    錫膏的使用方法注意事項(xiàng)

    的介紹一下使用方法注意事項(xiàng)、錫膏的使用方法1、錫膏須保存在2℃-10℃的冷藏空間內(nèi),貯存期限為6個月。在使用前,將原裝的錫膏從冷藏室取
    的頭像 發(fā)表于 03-26 16:51 ?2447次閱讀
    錫膏的<b class='flag-5'>使用方法</b>及<b class='flag-5'>注意事項(xiàng)</b>

    數(shù)字萬用表的使用方法注意事項(xiàng)

    數(shù)字萬用表的使用方法注意事項(xiàng)
    的頭像 發(fā)表于 05-07 16:50 ?443次閱讀

    鉗形電流表的使用方法注意事項(xiàng)

    鉗形電流表,作為電氣測量和測試的重要工具,其使用方法注意事項(xiàng)對于保障測量結(jié)果的準(zhǔn)確性和操作人員的安全至關(guān)重要。本文將從鉗形電流表的使用方法注意事項(xiàng)兩個方面進(jìn)行詳細(xì)闡述,以期為讀者提
    的頭像 發(fā)表于 05-14 16:14 ?2225次閱讀

    現(xiàn)場總線的使用方法注意事項(xiàng)

    的穩(wěn)定可靠運(yùn)行,正確的使用方法注意事項(xiàng)至關(guān)重要。本文將詳細(xì)介紹現(xiàn)場總線的使用方法注意事項(xiàng),以供讀者參考。
    的頭像 發(fā)表于 06-06 11:49 ?467次閱讀

    光纖收發(fā)器的使用方法注意事項(xiàng)

    光纖收發(fā)器作為光纖通信系統(tǒng)的關(guān)鍵設(shè)備,其正確的使用方法注意事項(xiàng)對于確保網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性和可靠性至關(guān)重要。光纖收發(fā)器作為光纖通信系統(tǒng)的關(guān)鍵設(shè)備,其正確的
    的頭像 發(fā)表于 08-26 15:20 ?327次閱讀