眾所周知,語句塊中需要用到的變量只能在語句塊最開始定義。
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)可能是在最頂部定義新變量,即使你真正使用的地方離變量聲明的地方很遠(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)你只需要一個臨時的/一次性的變量時,你可以就在使用的地方(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文章
1364瀏覽量
111570 -
System
+關(guān)注
關(guān)注
0文章
165瀏覽量
37524 -
變量
+關(guān)注
關(guān)注
0文章
614瀏覽量
28773 -
Coding
+關(guān)注
關(guān)注
0文章
6瀏覽量
6497
原文標(biāo)題:SystemVerilog coding過程中你在哪里聲明臨時變量
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
SystemVerilog中的類構(gòu)造函數(shù)new
在systemverilog中,如果一個類沒有顯式地聲明構(gòu)造函數(shù)(new()),那么編譯仿真工具會自動提供一個隱式的new()函數(shù)。這個new函數(shù)會默認(rèn)地將所有屬性變量。
發(fā)表于 11-16 09:58
?3877次閱讀
SystemVerilog中的Virtual Methods
SystemVerilog中多態(tài)能夠工作的前提是父類中的方法被聲明為virtual的。
發(fā)表于 11-28 11:12
?813次閱讀
程序運行過程中,有些數(shù)據(jù)被莫名修改了怎么辦?
導(dǎo)讀:程序運行過程中,有些數(shù)據(jù)被莫名修改了,在哪里修改的?又是怎么修改的?這個代碼我只想知道是否運行過,或者運行了多少次,但是不想讓程序停下來,或者僅打印調(diào)試信息,怎么辦?當(dāng)這個變量設(shè)置成某個數(shù)據(jù)后,我想讓程序自動暫停下來進行分

變量的聲明和定義有什么區(qū)別和聯(lián)系
變量的聲明和定義是編程中的兩個重要概念,它們在語法和語義上有一些區(qū)別和聯(lián)系。在本文中,我將詳細(xì)介紹變量的聲明和定義之間的區(qū)別和聯(lián)系。 首先,
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)壓器使用電感來臨時存儲能量。這些電感的尺寸通常非常大,
西門子SCL邏輯塊中聲明的變量或參數(shù)類型
每類本地變量或參數(shù),都有用各自關(guān)鍵字對標(biāo)識的自己的聲明子域。每個子域包含允許的詳細(xì)的聲明子域,子域可按任何順序定位。 下表顯示能夠在各種邏輯塊中聲明
SystemVerilog中$cast的應(yīng)用
SystemVerilog casting意味著將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。在將一個變量賦值給另一個變量時,SystemVerilog要求這兩個
在Linux系統(tǒng)中系統(tǒng)變量存在哪里呢?
上面講了很多系統(tǒng)變量,那么在Linux系統(tǒng)中,這些變量存在哪里呢?為什么用戶一登錄shell就自動有了這些變量呢?我們先來看看下面幾個文件。
各種邏輯塊中聲明的變量或參數(shù)類型
臨時變量在本地屬于邏輯塊,不產(chǎn)生靜態(tài)內(nèi)存區(qū)域,他們位于CPU的堆棧里。本塊正在運行時,其值才被保留。臨時變量不能從聲明它的塊外存取。一個OB
SAS:Data step中first和last變量的應(yīng)用場景
在SAS的data步中,可以使用by分組,在處理過程中會產(chǎn)生兩個臨時變量first.variable和last.variable,這兩個臨時

Systemverilog中的Driving Strength講解
在systemverilog中,net用于對電路中連線進行建模,driving strength(驅(qū)動強度)可以讓net變量值的建模更加精確。

評論