众所周知,语句块中需要用到的变量只能在语句块最开始定义。
task some_task(); // do some stuff // ... // want to do some stuff here, but need a new var endtask你正在编写task,需要执行一些过程语句,然后在某个时候你发现需要添加新变量。 你第一反应可能是在最顶部定义新变量,即使你真正使用的地方离变量声明的地方很远,这样的代码可读性并不是很好,你可能需要往前翻很多行才能找到变量的声明以及确认初始值。
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
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Verilog
+关注
关注
28文章
1352浏览量
110517 -
System
+关注
关注
0文章
165浏览量
37103 -
变量
+关注
关注
0文章
613浏览量
28501 -
Coding
+关注
关注
0文章
6浏览量
6452
原文标题:SystemVerilog coding过程中你在哪里声明临时变量
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
SystemVerilog中的类构造函数new
在systemverilog中,如果一个类没有显式地声明构造函数(new()),那么编译仿真工具会自动提供一个隐式的new()函数。这个new函数会默认地将所有属性变量。
发表于 11-16 09:58
•3735次阅读
程序运行过程中,有些数据被莫名修改了怎么办?
导读:程序运行过程中,有些数据被莫名修改了,在哪里修改的?又是怎么修改的?这个代码我只想知道是否运行过,或者运行了多少次,但是不想让程序停下来,或者仅打印调试信息,怎么办?当这个变量设置成某个数据后,我想让程序自动暂停下来进行分
![程序运行<b class='flag-5'>过程中</b>,有些数据被莫名修改了怎么办?](https://file1.elecfans.com/web2/M00/8F/FA/wKgZomTUOW2ADmrMAAB1dhoTLhU371.jpg)
变量的声明和定义有什么区别和联系
变量的声明和定义是编程中的两个重要概念,它们在语法和语义上有一些区别和联系。在本文中,我将详细介绍变量的声明和定义之间的区别和联系。 首先,
keil怎么处理中断中的临时变量?
,c 之间明显没有调用关系,那么假设a,c使用了相同的Xdata区域,先后进入中断1,2 ,那不是会导致明显的错误么?或者说keil怎么处理中断中的临时变量?
发表于 06-11 04:35
求助,保存的全局变量在哪里?
我有一个关于全局变量的新手问题。我们定义是否将代码保存到 RAM 或 FLASH 中,并带有函数属性。但是全局变量(在函数外部定义的)存储在哪里?也可以更改存储它们的位置吗?
发表于 06-12 07:31
西门子SCL逻辑块中声明的变量或参数类型
每类本地变量或参数,都有用各自关键字对标识的自己的声明子域。每个子域包含允许的详细的声明子域,子域可按任何顺序定位。 下表显示能够在各种逻辑块中声明
SystemVerilog中$cast的应用
SystemVerilog casting意味着将一种数据类型转换为另一种数据类型。在将一个变量赋值给另一个变量时,SystemVerilog要求这两个
在Linux系统中系统变量存在哪里呢?
上面讲了很多系统变量,那么在Linux系统中,这些变量存在哪里呢?为什么用户一登录shell就自动有了这些变量呢?我们先来看看下面几个文件。
各种逻辑块中声明的变量或参数类型
临时变量在本地属于逻辑块,不产生静态内存区域,他们位于CPU的堆栈里。本块正在运行时,其值才被保留。临时变量不能从声明它的块外存取。一个OB
SAS:Data step中first和last变量的应用场景
在SAS的data步中,可以使用by分组,在处理过程中会产生两个临时变量first.variable和last.variable,这两个临时
![SAS:Data step<b class='flag-5'>中</b>first和last<b class='flag-5'>变量</b>的应用场景](https://file1.elecfans.com/web2/M00/88/75/wKgZomRnGMSAWrdwAADvvD2zfUQ730.jpg)
Systemverilog中的Driving Strength讲解
在systemverilog中,net用于对电路中连线进行建模,driving strength(驱动强度)可以让net变量值的建模更加精确。
![<b class='flag-5'>Systemverilog</b><b class='flag-5'>中</b>的Driving Strength讲解](https://file1.elecfans.com/web2/M00/89/AC/wKgaomSJcSWAUfCrAAF04gZw8WE916.jpg)
评论