91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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提供了一種不同的機制來創(chuàng)建多個模塊共享的定義。這個機制是一個名為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è)計和驗證測試臺源代碼的任何文件、任何目錄、任何服務(wù)器中。定位、維護(hù)和重新定義是困難的。

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

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

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

對unit聲明空間中定義的任何更改都需要重新編譯構(gòu)成設(shè)計和驗證測試臺的所有源代碼,因為任何地方的任何文件都可以無需導(dǎo)入地使用該定義。許多軟件工具不會強制要求重新編譯所有文件,但如果不重新編譯,設(shè)計模塊最終可能使用過時的定義。

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    7

    文章

    2838

    瀏覽量

    53321
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1374

    瀏覽量

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

    關(guān)注

    0

    文章

    694

    瀏覽量

    35198

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    字存儲空間的小端格式

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

    共用體聲明

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

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

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

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

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

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

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

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

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

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

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

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

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

    ISSE國際智慧空間展覽會即將登場—智構(gòu)空間,慧聚未來

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

    如何降低視頻占用空間?

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

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

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

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

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

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

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