国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

$unit聲明空間

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

很容易出現定義不同的重復標識符名稱。

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

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

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2837

    瀏覽量

    53294
  • Verilog
    +關注

    關注

    30

    文章

    1374

    瀏覽量

    114530
  • 編譯
    +關注

    關注

    0

    文章

    694

    瀏覽量

    35166

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

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    結構體聲明與定義

    1、聲明 結構體的聲明使用struct關鍵字,如果我們想要把我們的學籍信息組織一下的話,可以這樣表示: struct Info { unsigned long identifier;//學號
    發表于 12-11 07:52

    字存儲空間的小端格式

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

    共用體聲明

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

    安世中國關于當前供應鏈局勢及相關訴求的鄭重聲明

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

    發布元服務配置隱私聲明

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

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

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

    一文了解3C認證自我聲明制度

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

    通過sysmem接口擴展內存空間

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

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

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

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

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

    如何降低視頻占用空間

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

    錦浪科技逆變器榮獲產品碳足跡核查聲明

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

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-內核空間與用戶空間的數據拷貝之數據拷貝介紹

    在Linux系統中,內核空間和用戶空間是兩個獨立的地址空間,它們有不同的訪問權限和內存保護機制。在內核空間和用戶空間之間進行數據傳輸時,需要
    發表于 03-19 08:55