在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

verilog/systemverilog中隱藏的初始化說明

sanyue7758 ? 來源:硅芯思見 ? 2023-08-25 09:47 ? 次閱讀

Verilog和SystemVerilog中經常需要在使用變量或者線網之前,期望變量和線網有對應的初始值,為此經常會在過程塊或者連續賦值語句中對相關變量或者線網進行初始化,這樣的初始化我們稱之為“顯式初始化”,其實除了這種初始化操作方式之外,也有人會在變量和線網聲明的同時進行初始化,這種初始化方式成為“隱式初始化”,只不過在使用“隱式初始化”時經常會出現一些不期望的結果,下面將通過示例對這些初始化操作進行說明。

1 線網初始化

【示例】

81d1a11c-4294-11ee-a2ef-92fbcf53809c.png

仿真結果】

81f8f47e-4294-11ee-a2ef-92fbcf53809c.png

示例中,net1在聲明的同時進行了賦值操作(初始化),同時在代碼中通過連續賦值語句對net1又進行了賦值(與聲明時初始化的值不同),此時從仿真結果可以觀測到net1顯示結果為不定態;net2在聲明時并沒有進行賦值操作,對其的賦值操作發生在連續賦值語句中,從仿真結果可以看到net2并沒有出現不定態,其獲得了確切的數值。

出現線網net1這種現象的主要是因為線網聲明時的“初始化”是一種“隱式的連續賦值語句”,并且在仿真過程中會一直保持,當有其他語句驅動該線網時,此時相當于對該線網進行了多驅動,在仿真波形上就會表現出不定態。那么對于變量的初始化操作是否也會像示例中net1這樣的情況呢?請看下例。

2 變量初始化

【示例】

820a4cce-4294-11ee-a2ef-92fbcf53809c.png

【仿真結果】

824f2632-4294-11ee-a2ef-92fbcf53809c.png

編譯報錯,從報錯信息上可以知道,var1同時被過程塊代碼和結構級代碼驅動,這主要是因為var1為變量,在聲明時進行了初始化,同時又在連續賦值語句中也進行了賦值,從而導致了編譯錯誤,即錯誤原因是變量聲明時進行了初始化的話,那么該變量不能作為連續賦值語句的賦值對象進行使用,即SystemVerilog中不允許對于同一變量在連續賦值語句和過程語句中同驅動。對上述代碼進行修改,如下。

【示例】

8265a876-4294-11ee-a2ef-92fbcf53809c.png

【仿真結果】

82847972-4294-11ee-a2ef-92fbcf53809c.png

示例中,var1聲明時進行了初始化,但是本例中并沒有其他連續賦值語句對該變量的值進行修改驅動,所以此時var1中的值在仿真過程中一直保持,var2在聲明時沒有進行初始化,其值由連續賦值語句驅動為4’b0100,可見,SystemVerilog中變量可以用于連續賦值語句中,var3聲明時進行了初始化,但在過程塊(initial)中對var3進行了修改,此時var3的值更新為了過程塊中的值,由此我們可以看出,變量在聲明時的初始化先于過程塊的執行,其次變量聲明時的初始化并不具有持續性,會被后續的賦值操作所更新,否則就會出現多驅動情況,即并不具有“隱式連續賦值的特點”

通過上述示例可以看到,線網聲明時的初始化實際上是一種“隱式連續賦值語句”,其“初始化”具有持續性,而變量聲明時的初始化會被后續的賦值操作更新,并不具有持續性,同時需要注意如果變量在聲明時進行初始化,此時該變量不能同時被連續賦值語句驅動。






審核編輯:劉清

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

    關注

    14

    文章

    1018

    瀏覽量

    83746
  • VaR
    VaR
    +關注

    關注

    0

    文章

    39

    瀏覽量

    11341
  • Verilog語言
    +關注

    關注

    0

    文章

    113

    瀏覽量

    8235

原文標題:verilog/systemverilog 中隱藏的初始化

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

收藏 人收藏

    評論

    相關推薦

    請問verilog如何實現SJA1000的初始化

    verilog 如何實現SJA1000的初始化
    發表于 11-01 10:03

    手機模塊初始化向導

    手機模塊初始化向導:為了剛好的對手機模塊進行初始化,所以把最基本的向導寫下來.本向導適用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機模塊前,請先確定DT
    發表于 09-18 09:41 ?17次下載

    RDA1846S初始化設置

    RDA1846S初始化設置RDA1846S初始化設置RDA1846S初始化設置
    發表于 01-15 17:08 ?0次下載

    UCOS_III_配置與初始化

    UCOS_III_配置與初始化
    發表于 12-20 22:53 ?5次下載

    objc源碼NSObject如何進行初始化

    + alloc 和 - init 這一對我們在 iOS 開發每天都要用到的初始化方法一直困擾著我, 于是筆者仔細研究了一下 objc 源碼 NSObject 如何進行初始化。 在具
    發表于 09-26 09:58 ?0次下載

    SEED-DEC2812初始化函數說明

    SEED-DEC2812系統初始化函數。
    發表于 04-13 09:05 ?11次下載
    SEED-DEC2812<b class='flag-5'>初始化</b>函數<b class='flag-5'>說明</b>

    uboot和內核里phy的初始化_內核里的雙網絡配置及phy的初始化

    uboot 和內核里 phy 的初始化,以及內核里的雙網絡配置及 phy 的初始化。 本文以盈鵬飛嵌入式的CoM-335x(基于AM335x)核心板及網絡芯片LAN8720 為例,說明修改步驟
    的頭像 發表于 05-17 08:19 ?1.2w次閱讀

    8253初始化程序分享_8253應用案例

    本文首先介紹了8253概念及8253各通道的工作方式,其次詳細介紹了8253初始化要求及編程,最后用一個例子介紹了8253的初始化程序。
    發表于 05-23 15:52 ?2.2w次閱讀
    8253<b class='flag-5'>初始化</b>程序分享_8253應用案例

    在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決

    本文檔的主要內容詳細介紹的是在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決。
    發表于 08-20 17:31 ?0次下載
    在51平臺下<b class='flag-5'>初始化</b>文件的引入導致全局變量無法<b class='flag-5'>初始化</b>的問題如何解決

    C++之初始化列表學習的總結

    可以使用初始化列表對成員進行初始化
    的頭像 發表于 12-24 17:39 ?849次閱讀

    Armlinux內核移植及系統初始化過程分析

    Armlinux內核移植及系統初始化過程分析說明
    發表于 04-06 15:53 ?11次下載

    RT-Thread自動初始化機制

    共使用了 6 順序的初始化,本文以其中的一個 INIT_APP_EXPORT(fn) 為例進行自動初始化的原理分析,其他順序的初始化的原理與之一致。
    的頭像 發表于 06-17 08:52 ?2655次閱讀
    RT-Thread自動<b class='flag-5'>初始化</b>機制

    VHDL和Verilog數組定義、初始化、賦值方法

    方法:實際應用里,通常需要在上電復位過程對變量進行初始化,如果數組個數少時,直接賦初始值即可,但是數組個數多時,可以用循環實現賦值,通常的循環語句有FOR和WHILE。(注意變量的賦值方式)
    的頭像 發表于 09-23 14:20 ?1.1w次閱讀

    如何在Segger J-Flash設置芯片初始化序列?

    許多微控制器在燒錄之前需要一個自定義的初始化序列來初始化目標硬件,例如初始化PLL時鐘,關閉看門狗或定義Flash的等待狀態。在使用這些對初始化過程有特殊要求的芯片時,在Segger
    的頭像 發表于 12-12 10:56 ?2323次閱讀

    隱式初始化操作說明

    VerilogSystemVerilog中經常需要在使用變量或者線網之前,期望變量和線網有對應的初始
    的頭像 發表于 07-24 15:00 ?559次閱讀
    隱式<b class='flag-5'>初始化</b>操作<b class='flag-5'>說明</b>
    主站蜘蛛池模板: 一本二卡三卡四卡乱码二百| 婷婷亚洲综合一区二区| 午夜黄色福利| 激情五月婷婷网| 天天操人人爱| 亚洲日本欧美日韩高观看| 色福利视频| 永久免费观看午夜视频在线| 亚洲影院手机版777点击进入影院 亚洲综合精品成人啪啪 | 色综合久久综精品| 国产成人优优影院| 国产精品1区2区3区| 一级欧美视频| 国产欧美久久久精品影院| 国产亚洲精品aa在线看| 一级在线观看| 复古毛片| xxxx性欧美高清| 日日噜噜夜夜狠狠久久丁香| 午夜视频在线播放| 国模私拍视频| 国产精品福利午夜在线观看| 在线精品一区二区三区| 很黄很色网站| 4388x17亚洲最大成人网| 天天爱天天色| 亚洲精品福利视频| 日本口工禁漫画无遮挡全彩 | 美女被免费视频的网站| 狠狠色色综合网站| 久久福利青草精品资源站免费| 狠狠久| 五月婷婷激情五月| 亚洲午夜视频在线| 久久精品网站免费观看 | 国产精品 色| 日本sese| 你懂的免费在线视频| 国产三片高清在线观看| 香港三级理论在线影院| 亚洲精品视频免费|