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

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

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

SystemVerilog coding過程中你在哪里聲明臨時變量

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-03-08 13:08 ? 次閱讀

眾所周知,語句塊中需要用到的變量只能在語句塊最開始定義。


task some_task();          
  // do some stuff          
  // ...          
            
  // want to do some stuff here, but need a new var          
endtask
你正在編寫task,需要執(zhí)行一些過程語句,然后在某個時候你發(fā)現(xiàn)需要添加新變量。 你第一反應(yīng)可能是在最頂部定義新變量,即使你真正使用的地方離變量聲明的地方很遠,這樣的代碼可讀性并不是很好,你可能需要往前翻很多行才能找到變量的聲明以及確認初始值。

task some_task();          
  int some_var; // defined here, but used way farther down          
  // doing some stuff          
  // ...          
            
  // do some stuff here with 'some_var'          
endtask

 所以,建議當你只需要一個臨時的/一次性的變量時,你可以就在使用的地方(begin--end語句塊中)聲明就好了

task some_task();
  // do some stuff
  // ...
  
  begin
    int some_var;
    //do some stuff here with 'some_var'
  end
  
  // carry on with other statements
  // ...
endtask

????

審核編輯:湯梓紅

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

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109713
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    163

    瀏覽量

    36744
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    607

    瀏覽量

    28257
  • Coding
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6428

原文標題:SystemVerilog coding過程中你在哪里聲明臨時變量

文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SystemVerilog的類構(gòu)造函數(shù)new

    systemverilog,如果一個類沒有顯式地聲明構(gòu)造函數(shù)(new()),那么編譯仿真工具會自動提供一個隱式的new()函數(shù)。這個new函數(shù)會默認地將所有屬性變量。
    發(fā)表于 11-16 09:58 ?3417次閱讀

    SystemVerilog的Virtual Methods

    SystemVerilog多態(tài)能夠工作的前提是父類的方法被聲明為virtual的。
    發(fā)表于 11-28 11:12 ?626次閱讀

    程序運行過程中,有些數(shù)據(jù)被莫名修改了怎么辦?

    導(dǎo)讀:程序運行過程中,有些數(shù)據(jù)被莫名修改了,在哪里修改的?又是怎么修改的?這個代碼我只想知道是否運行過,或者運行了多少次,但是不想讓程序停下來,或者僅打印調(diào)試信息,怎么辦?當這個變量設(shè)置成某個數(shù)據(jù)后,我想讓程序自動暫停下來進行分
    的頭像 發(fā)表于 08-10 09:11 ?2011次閱讀
    程序運行<b class='flag-5'>過程中</b>,有些數(shù)據(jù)被莫名修改了怎么辦?

    變量聲明和定義有什么區(qū)別和聯(lián)系

    變量聲明和定義是編程的兩個重要概念,它們在語法和語義上有一些區(qū)別和聯(lián)系。在本文中,我將詳細介紹變量聲明和定義之間的區(qū)別和聯(lián)系。 首先,
    的頭像 發(fā)表于 12-07 16:14 ?831次閱讀

    keil怎么處理中斷臨時變量

    ,c 之間明顯沒有調(diào)用關(guān)系,那么假設(shè)a,c使用了相同的Xdata區(qū)域,先后進入中斷1,2 ,那不是會導(dǎo)致明顯的錯誤么?或者說keil怎么處理中斷臨時變量?
    發(fā)表于 06-11 04:35

    求助,保存的全局變量在哪里?

    我有一個關(guān)于全局變量的新手問題。我們定義是否將代碼保存到 RAM 或 FLASH ,并帶有函數(shù)屬性。但是全局變量(在函數(shù)外部定義的)存儲在哪里?也可以更改存儲它們的位置嗎?
    發(fā)表于 06-12 07:31

    電源PCB上電感放在哪里合適

    Q首先拋出問題:線圈應(yīng)該放在哪里?用于電壓轉(zhuǎn)換的開關(guān)穩(wěn)壓器使用電感來臨時存儲能量。這些電感的尺寸通常非常大,
    的頭像 發(fā)表于 08-20 10:57 ?4469次閱讀

    西門子SCL邏輯塊聲明變量或參數(shù)類型

    每類本地變量或參數(shù),都有用各自關(guān)鍵字對標識的自己的聲明子域。每個子域包含允許的詳細的聲明子域,子域可按任何順序定位。 下表顯示能夠在各種邏輯塊聲明
    的頭像 發(fā)表于 08-25 18:07 ?9241次閱讀

    SystemVerilog$cast的應(yīng)用

    SystemVerilog casting意味著將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。在將一個變量賦值給另一個變量時,SystemVerilog要求這兩個
    的頭像 發(fā)表于 10-17 14:35 ?2580次閱讀

    在Linux系統(tǒng)系統(tǒng)變量在哪里呢?

    上面講了很多系統(tǒng)變量,那么在Linux系統(tǒng),這些變量在哪里呢?為什么用戶一登錄shell就自動有了這些變量呢?我們先來看看下面幾個文件。
    的頭像 發(fā)表于 11-16 09:46 ?1747次閱讀

    各種邏輯塊聲明變量或參數(shù)類型

    臨時變量在本地屬于邏輯塊,不產(chǎn)生靜態(tài)內(nèi)存區(qū)域,他們位于CPU的堆棧里。本塊正在運行時,其值才被保留。臨時變量不能從聲明它的塊外存取。一個OB
    的頭像 發(fā)表于 03-08 11:14 ?871次閱讀

    淺析python的變量類型

    python不需要事先聲明變量。 python的變量類型是在運行過程中自動決定的,不需要代碼聲明類型。
    的頭像 發(fā)表于 03-10 10:11 ?713次閱讀
    淺析python的<b class='flag-5'>變量</b>類型

    SAS:Data stepfirst和last變量的應(yīng)用場景

    在SAS的data步,可以使用by分組,在處理過程中會產(chǎn)生兩個臨時變量first.variable和last.variable,這兩個臨時
    的頭像 發(fā)表于 05-19 14:36 ?2117次閱讀
    SAS:Data step<b class='flag-5'>中</b>first和last<b class='flag-5'>變量</b>的應(yīng)用場景

    Systemverilog的Driving Strength講解

    systemverilog,net用于對電路連線進行建模,driving strength(驅(qū)動強度)可以讓net變量值的建模更加精確。
    的頭像 發(fā)表于 06-14 15:50 ?1259次閱讀
    <b class='flag-5'>Systemverilog</b><b class='flag-5'>中</b>的Driving Strength講解

    分享一些SystemVerilogcoding guideline

    本文分享一些SystemVerilogcoding guideline。
    的頭像 發(fā)表于 11-22 09:17 ?579次閱讀
    分享一些<b class='flag-5'>SystemVerilog</b>的<b class='flag-5'>coding</b>  guideline