一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

$unit聲明空間

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-06-21 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

$unit是一個危險的共享名稱空間,充滿危險。它的使用會導(dǎo)致設(shè)計難以編譯和維護(hù)。
下列unit代表$unit
筆記

在將包添加到SystemVerilog標(biāo)準(zhǔn)之前,SV提供了一種不同的機(jī)制來創(chuàng)建多個模塊共享的定義。這個機(jī)制是一個名為unit的偽全局名稱空間,也稱unit 編譯單元或聲明空間。聲明空間之外的任何聲明都在unit聲明空間中。在下面的示例中,bool_t的定義在兩個模塊之外,因此在unit聲明空間中。

bc813bc0-f0fa-11ec-ba43-dac502259ad0.png

unit聲明空間可以包含與包相同類型的用戶定義,并且具有相同的綜合限制。然而,與包不同的是,unit聲明空間可能導(dǎo)致設(shè)計代碼難以維護(hù),EDA也難以編譯。使用unit的一些危險包括

以unit聲明空間的定義可能分散在許多文件中,使代碼維護(hù)和代碼重用成為一場噩夢,當(dāng)引用包中用戶自定義類型、任務(wù)、函數(shù)或其他標(biāo)識符名稱時,相對容易找到和維護(hù)標(biāo)識符名稱的定義。總是有一個顯式的包引用或包導(dǎo)入語句來顯示在哪里可以找到定義。當(dāng)在unit聲明空間中定義了用戶自定義類型、任務(wù)、函數(shù)或其他標(biāo)識符時,該定義可以位于構(gòu)成設(shè)計和驗(yàn)證測試臺源代碼的任何文件、任何目錄、任何服務(wù)器中。定位、維護(hù)和重新定義是困難的。

當(dāng)unit聲明空間中的定義位于多個文件中時,必須按照特定的順序編譯這些文件。

SystemVerilog要求在引用定義之前對其進(jìn)行編譯。當(dāng)unit聲明分散在許多文件中時,按照正確的順序編譯所有文件可能會很困難,甚至是不可能的。

更改unit定義需要重新編譯所有源代碼文件。

對unit聲明空間中定義的任何更改都需要重新編譯構(gòu)成設(shè)計和驗(yàn)證測試臺的所有源代碼,因?yàn)槿魏蔚胤降娜魏挝募伎梢詿o需導(dǎo)入地使用該定義。許多軟件工具不會強(qiáng)制要求重新編譯所有文件,但如果不重新編譯,設(shè)計模塊最終可能使用過時的定義。

對于仿真和綜合,unit聲明空間可以是相同,但通常是不同的。

編譯器的每次調(diào)用都會啟動一個新的unit聲明空間,該空間不共享其他unit聲明空間中的聲明。許多SystemVerilog仿真器一起編譯多個文件。這些工具將看到一個unit空間。一個文件中的unit定義對于單個編譯中的任何后續(xù)文件都是可見的。大多數(shù)SystemVerilog綜合編譯器和一些仿真器都支持單獨(dú)的文件編譯,每個文件都可以獨(dú)立編譯。這些工具將看到幾個斷開連接的unit聲明空間。一個文件中的unit定義對任何其他文件都不可見。

很容易出現(xiàn)定義不同的重復(fù)標(biāo)識符名稱。

在SystemVerilog中,在同一名稱空間中多次定義同一名稱是非法的。如果一個文件在unit聲明空間中定義了bool_t用戶自定義類型,而另一個文件在unit聲明空間中也定義了bool_t用戶自定義類型,那么這兩個文件永遠(yuǎn)不能一起編譯,因?yàn)檫@兩個定義最終會在相同的unit空間中結(jié)束。為了避免這種沖突,工程師必須使用’define 和 ’ifdef添加條件編譯指令,以便只編譯編譯器遇到的第一個定義。

包可以導(dǎo)入到unit中,但其危害與直接在unit中定義的危害相同。此外,必須注意不要將同一個包多次導(dǎo)入同一unit聲明空間,這是非法的。

避免像Bubonic plague一樣使用$unit!相反,使用包來共享定義。
包避免了$unit的所有危害,包提供了一個易于維護(hù)和重用的受控聲明空間。
最佳實(shí)踐指南4-2

bc9883b6-f0fa-11ec-ba43-dac502259ad0.jpg

審核編輯 :李倩

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

    關(guān)注

    7

    文章

    2787

    瀏覽量

    50289
  • Verilog
    +關(guān)注

    關(guān)注

    29

    文章

    1367

    瀏覽量

    112209
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    679

    瀏覽量

    33952

原文標(biāo)題:SystemVerilog(十二)-$unit聲明空間

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    PanDao應(yīng)用:輸入中頻空間公差,最小中頻波長

    半徑為6400公里的行星上的中頻空間波。 條紋的非直邊是由未優(yōu)化設(shè)置的CNC拋光工藝中的中頻空間誤差引起的 預(yù)拋光光學(xué)元件上的同心圓狀中頻空間誤差,由未優(yōu)化的點(diǎn)接觸式CNC研磨工藝所導(dǎo)致 中頻
    發(fā)表于 06-04 08:46

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核空間與用戶空間的數(shù)據(jù)拷貝之?dāng)?shù)據(jù)拷貝介紹

    本帖最后由 jf_13411809 于 2025-3-20 14:10 編輯 在Linux系統(tǒng)中,內(nèi)核空間和用戶空間是兩個獨(dú)立的地址空間,它們有不同的訪問權(quán)限和內(nèi)存保護(hù)機(jī)制。在內(nèi)核空間
    發(fā)表于 03-20 11:50

    飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核空間與用戶空間的數(shù)據(jù)拷貝之?dāng)?shù)據(jù)拷貝介紹

    在Linux系統(tǒng)中,內(nèi)核空間和用戶空間是兩個獨(dú)立的地址空間,它們有不同的訪問權(quán)限和內(nèi)存保護(hù)機(jī)制。在內(nèi)核空間和用戶空間之間進(jìn)行數(shù)據(jù)傳輸時,需要
    發(fā)表于 03-19 08:55

    LBE大空間火熱,如何落地文旅場景?

    LBE大空間,即Location-Based Entertainment大空間,是一種基于特定場地,通過結(jié)合 VR(虛擬現(xiàn)實(shí))、AR(增強(qiáng)現(xiàn)實(shí))、MR(混合現(xiàn)實(shí))等前沿科技與三維數(shù)字資產(chǎn)的制作、播放與運(yùn)營,將虛擬內(nèi)容與現(xiàn)實(shí)世界相結(jié)合,為用戶創(chuàng)造全新虛擬
    的頭像 發(fā)表于 02-15 10:14 ?611次閱讀

    大疆發(fā)布DJI O4 Air Unit系列:圖傳性能再升級

    近期,大疆正式發(fā)布了DJI O4 Air Unit Pro和DJI O4 Air Unit兩款數(shù)字圖傳解決方案,再次實(shí)現(xiàn)了圖傳性能的飛躍。這兩款產(chǎn)品為用戶帶來了更高清、更低延時、更遠(yuǎn)距離的影像傳輸
    的頭像 發(fā)表于 01-15 15:03 ?1419次閱讀

    聲明式資源管理方法

    1、管理k8s核心資源的三種基礎(chǔ)方法 陳述式管理方法:主要依賴命令行CLI工具進(jìn)行管理 聲明式管理方法:主要依賴統(tǒng)一資源配置清單(manifest)進(jìn)行管理 GUI式管理方法:主要依賴圖形化操作界面
    的頭像 發(fā)表于 12-31 10:16 ?567次閱讀

    TüV南德授予上海瑞斯達(dá)組織溫室氣體核查聲明

    廈門2024年12月13日?/美通社/ --?近日,TüV南德意志集團(tuán)(以下簡稱"TüV南德")為上海瑞斯達(dá)防護(hù)制品有限公司(以下簡稱"上海瑞斯達(dá)")頒發(fā)組織溫室氣體核查聲明。TüV南德大中華區(qū)
    的頭像 發(fā)表于 12-15 09:21 ?384次閱讀
    TüV南德授予上海瑞斯達(dá)組織溫室氣體核查<b class='flag-5'>聲明</b>

    新品|無刷電機(jī)運(yùn)動執(zhí)行套件 — RollerCAN Unit &amp;amp; RollerCAN Lite

    的Roller485Unit,它采用了CAN接口,同時產(chǎn)品外觀進(jìn)行全新配色設(shè)計。產(chǎn)品特性:無刷直流電機(jī)控制CAN通訊/I2C通訊控制集成OLED顯示RGB指示燈FOC閉環(huán)
    的頭像 發(fā)表于 10-19 08:08 ?481次閱讀
    新品|無刷電機(jī)運(yùn)動執(zhí)行套件 — RollerCAN <b class='flag-5'>Unit</b> &amp;amp; RollerCAN Lite

    電壓空間矢量分量的極性是什么

    電壓空間矢量分量的極性是一個復(fù)雜且深入的電氣工程主題,涉及到電磁學(xué)、電路理論以及電機(jī)學(xué)等多個領(lǐng)域。 1. 電壓矢量的概念 在電氣工程中,電壓不僅僅是一個標(biāo)量值,它還可以被看作是一個矢量。電壓矢量
    的頭像 發(fā)表于 10-12 15:14 ?1107次閱讀

    Synology如何使用Nvme固態(tài)做存儲空間

    Synology 如何使用Nvme固態(tài)做存儲空間
    發(fā)表于 10-09 10:55 ?0次下載

    安科瑞ADL200-2DM宿舍預(yù)付費(fèi)電表 照明空調(diào)單獨(dú)計量

    安科瑞宿舍照明空調(diào)單獨(dú)計量預(yù)付費(fèi)電表適合于學(xué)生宿舍(公寓)用電管理。終端可以一路火線進(jìn)線,兩路火線并聯(lián)輸出,可分別計量插座、空調(diào)回路,可進(jìn)行預(yù)付費(fèi)控制,可對兩路出線分別進(jìn)行負(fù)載控制和時間控制并支持近30條跳閘事件記錄存儲功能,實(shí)現(xiàn)對學(xué)校宿舍用電管理的電力商品化、用電安全和按需控制。
    的頭像 發(fā)表于 09-26 10:21 ?498次閱讀
    安科瑞ADL200-2DM宿舍預(yù)付費(fèi)電表 照<b class='flag-5'>明空</b>調(diào)單獨(dú)計量

    新品|無刷直流電機(jī)運(yùn)動執(zhí)行套件|Roller485 Unit

    無刷直流電機(jī)(BLDC)因其高效率、低維護(hù)需求和精準(zhǔn)控制性能廣泛應(yīng)用于工業(yè)場景,但實(shí)現(xiàn)這一性能往往需要更復(fù)雜的電子控制系統(tǒng)。為此,M5Stack推出了Roller485Unit,它支持速度、位置
    的頭像 發(fā)表于 09-14 08:07 ?836次閱讀
    新品|無刷直流電機(jī)運(yùn)動執(zhí)行套件|Roller485 <b class='flag-5'>Unit</b>

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型Unit與Nothing類型

    一、Unit 類型 對于那些只關(guān)心副作用而不關(guān)心值的表達(dá)式,它們的類型是Unit。例如,print 函數(shù)、賦值表達(dá)式、復(fù)合賦值表達(dá)式、自增和自減表達(dá)式、循環(huán)表達(dá)式,它們的類型都是 Unit
    發(fā)表于 09-06 15:43

    達(dá)實(shí)智能AIoT空間場景控制系統(tǒng)概述

    面對當(dāng)前建筑空間智能化實(shí)施運(yùn)營中存在的子系統(tǒng)不互通、控制延時、運(yùn)維成本高、面板復(fù)雜不統(tǒng)一等問題,達(dá)實(shí)通過分割整體建筑為單元空間,集成空間環(huán)境設(shè)備、設(shè)置模塊化流程,統(tǒng)一控制面板,實(shí)現(xiàn)對單元空間
    的頭像 發(fā)表于 07-30 11:27 ?1458次閱讀

    433MHz頻段的LoRa通訊單元 | LoRaE220-433 Unit

    NEWLoRaE220-433UnitLoRaE220-433Unit是一款適用于433MHz頻段的LoRa通訊單元,集成了LLCC68芯片方案。相較于傳統(tǒng)的SX1278方案,LLCC68具有傳輸
    的頭像 發(fā)表于 07-13 08:30 ?1198次閱讀
    433MHz頻段的LoRa通訊單元 | LoRaE220-433 <b class='flag-5'>Unit</b>