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

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

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

SystemVerilog coding過程中你在哪里聲明臨時(shí)變量

芯片驗(yàn)證工程師 ? 來源:芯片驗(yàn)證工程師 ? 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í)行一些過程語句,然后在某個(gè)時(shí)候你發(fā)現(xiàn)需要添加新變量。 你第一反應(yīng)可能是在最頂部定義新變量,即使你真正使用的地方離變量聲明的地方很遠(yuǎn),這樣的代碼可讀性并不是很好,你可能需要往前翻很多行才能找到變量的聲明以及確認(rèn)初始值。

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

 所以,建議當(dāng)你只需要一個(gè)臨時(shí)的/一次性的變量時(shí),你可以就在使用的地方(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1338

    瀏覽量

    109860
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    164

    瀏覽量

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

    關(guān)注

    0

    文章

    609

    瀏覽量

    28289
  • Coding
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6429

原文標(biāo)題:SystemVerilog coding過程中你在哪里聲明臨時(shí)變量

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    SystemVerilog的Virtual Methods

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

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

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

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

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

    keil怎么處理中斷臨時(shí)變量?

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

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

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

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

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

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

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

    SystemVerilog$cast的應(yīng)用

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

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

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

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

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

    淺析python的變量類型

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

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

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

    Systemverilog的Driving Strength講解

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

    分享一些SystemVerilogcoding guideline

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