91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

$unit聲明空間

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    7

    文章

    2837

    瀏覽量

    53300
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1374

    瀏覽量

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

    關(guān)注

    0

    文章

    694

    瀏覽量

    35175

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    深入剖析PCIe配置空間中Type 0 Header的核心成員

    (Subsystem ID),還聲明了它的職業(yè)能力(Class Code)以及它需要占用的辦公資源(BAR 空間)。我們將深入剖析 PCIe 配置空間中 Type 0 Header 的核心成員,探討這些寄存器背后的意義。
    的頭像 發(fā)表于 02-26 16:44 ?582次閱讀
    深入剖析PCIe配置<b class='flag-5'>空間</b>中Type 0 Header的核心成員

    結(jié)構(gòu)體聲明與定義

    1、聲明 結(jié)構(gòu)體的聲明使用struct關(guān)鍵字,如果我們想要把我們的學(xué)籍信息組織一下的話,可以這樣表示: struct Info { unsigned long identifier;//學(xué)號(hào)
    發(fā)表于 12-11 07:52

    字存儲(chǔ)空間的小端格式

    CW32F030 內(nèi)核為 32 位的 ARM? Cortex?-M0+ 微處理器,最大尋址空間為 4GB。芯片內(nèi)置的程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、各外設(shè)及端口寄存器被統(tǒng)一編址在同一個(gè) 4GB 的線性
    發(fā)表于 12-11 07:03

    共用體聲明

    還要考慮內(nèi)存對(duì)齊的問(wèn)題。 共用體可以類似結(jié)構(gòu)體一樣來(lái)定義和聲明,但是共用體還可以允許不帶名字: union { int i; char ch; float f; } a, b;
    發(fā)表于 12-05 07:24

    安世中國(guó)關(guān)于當(dāng)前供應(yīng)鏈局勢(shì)及相關(guān)訴求的鄭重聲明

    安世中國(guó)在官方微信號(hào)發(fā)布了關(guān)于當(dāng)前供應(yīng)鏈局勢(shì)及相關(guān)訴求的鄭重聲明;我們分享給大家:
    的頭像 發(fā)表于 11-28 21:32 ?2374次閱讀
    安世中國(guó)關(guān)于當(dāng)前供應(yīng)鏈局勢(shì)及相關(guān)訴求的鄭重<b class='flag-5'>聲明</b>

    發(fā)布元服務(wù)配置隱私聲明

    元服務(wù)必須先使用AGC的隱私聲明托管服務(wù)生成自己的隱私聲明,才能在版本信息頁(yè)面選擇到。詳細(xì)內(nèi)容參見(jiàn)配置隱私聲明(元服務(wù))和配置用戶協(xié)議。 登錄AppGallery Connect,點(diǎn)擊“APP與元
    發(fā)表于 11-25 11:24

    維信諾五家工廠獲頒ISO 14064溫室氣體核查聲明

    近日,在第八屆中國(guó)國(guó)際進(jìn)口博覽會(huì)上,維信諾五家工廠集體獲頒ISO 14064溫室氣體核查聲明,進(jìn)一步夯實(shí)綠色低碳責(zé)任,彰顯可持續(xù)發(fā)展的責(zé)任與決心。此次五家工廠同時(shí)獲得SGS頒發(fā)的ISO 14064
    的頭像 發(fā)表于 11-13 10:08 ?649次閱讀

    一文了解3C認(rèn)證自我聲明制度

    一、什么是3C認(rèn)證自我聲明3C認(rèn)證自我聲明(CCCSelf-Declaration),是國(guó)家市場(chǎng)監(jiān)督管理總局自2019年起推行的新型管理方式。它允許部分低風(fēng)險(xiǎn)產(chǎn)品企業(yè)不再通過(guò)第三方認(rèn)證機(jī)構(gòu)發(fā)證,而是
    的頭像 發(fā)表于 11-11 11:58 ?1150次閱讀
    一文了解3C認(rèn)證自我<b class='flag-5'>聲明</b>制度

    通過(guò)sysmem接口擴(kuò)展內(nèi)存空間

    存儲(chǔ)器的訪問(wèn)接口,在e203_subsys_mems.v文件中可以找到: 同時(shí)在這個(gè)源文件中實(shí)現(xiàn)了一主多從的總線系統(tǒng),可以看到sysmem被分配到0x80000000到0xFFFFFFFF的地址空間
    發(fā)表于 10-24 08:12

    使用CubeMX移植nano編譯時(shí)提示大量未聲明,為什么?

    編譯時(shí)出現(xiàn)大量報(bào)錯(cuò)。報(bào)錯(cuò)集中在core/src/syscalls.c以及sysmem.c文件中。 報(bào)錯(cuò)內(nèi)容如下所示,主要是提示找不到errno.h中的相關(guān)聲明。 但是errno.h使用f12可以打開(kāi)
    發(fā)表于 09-26 06:29

    ISSE國(guó)際智慧空間展覽會(huì)即將登場(chǎng)—智構(gòu)空間,慧聚未來(lái)

    智構(gòu)空間,慧聚未來(lái)ISSE國(guó)際智慧空間展覽會(huì)(ISSE)2025年9月25至29日中國(guó)杭州大會(huì)展中心全面覆蓋四大版塊應(yīng)用“智慧建筑及園區(qū)”“城市公共空間”“智慧商業(yè)”“智慧生活”報(bào)名注冊(cè)最后召集!預(yù)
    的頭像 發(fā)表于 09-22 14:15 ?833次閱讀
    ISSE國(guó)際智慧<b class='flag-5'>空間</b>展覽會(huì)即將登場(chǎng)—智構(gòu)<b class='flag-5'>空間</b>,慧聚未來(lái)

    如何降低視頻占用空間?

    我發(fā)現(xiàn)不同分辨率圖像保存的視頻大小接近,1分鐘的視頻都是30MB,如下圖 我最終目的是希望保存視頻占用空間小一點(diǎn),同時(shí)我也沒(méi)有找到降低幀率的方法,目前只能使用默認(rèn)的30幀
    發(fā)表于 08-14 06:25

    錦浪科技逆變器榮獲產(chǎn)品碳足跡核查聲明

    日前,全球權(quán)威檢驗(yàn)機(jī)構(gòu)TüV南德意志集團(tuán)為錦浪科技正式頒發(fā)了產(chǎn)品碳足跡核查聲明。這不僅標(biāo)志著錦浪科技產(chǎn)品全生命周期碳足跡評(píng)估能力獲得了國(guó)際權(quán)威認(rèn)可,更印證了其在減少碳排放、提升可再生能源應(yīng)用比例以及推動(dòng)循環(huán)經(jīng)濟(jì)三大關(guān)鍵領(lǐng)域所取得的突出成果。
    的頭像 發(fā)表于 08-05 17:10 ?1795次閱讀

    永磁同步直線電機(jī)的粒子群PID空間矢量控制

    控制器,并通過(guò)MAT-LAB/Simmlimnk對(duì)永磁同步直線電機(jī)和其空間關(guān)量控制系統(tǒng)進(jìn)行建模和仿真實(shí)驗(yàn)。仿真結(jié)果表明,采用粒子群優(yōu)化算法的PID控制系統(tǒng)在指定速度1m/s和加入200N的負(fù)載時(shí),比傳統(tǒng)
    發(fā)表于 08-05 14:20

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

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