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