众所周知,语句块中需要用到的变量只能在语句块最开始定义。
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文章
1324浏览量
109285 -
System
+关注
关注
0文章
161浏览量
36562 -
变量
+关注
关注
0文章
593浏览量
28103 -
Coding
+关注
关注
0文章
6浏览量
6404
原文标题:SystemVerilog coding过程中你在哪里声明临时变量
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
SystemVerilog中的类构造函数new
在systemverilog中,如果一个类没有显式地声明构造函数(new()),那么编译仿真工具会自动提供一个隐式的new()函数。这个new函数会默认地将所有属性变量。
发表于 11-16 09:58
•2781次阅读
keil怎么处理中断中的临时变量?
,c 之间明显没有调用关系,那么假设a,c使用了相同的Xdata区域,先后进入中断1,2 ,那不是会导致明显的错误么?或者说keil怎么处理中断中的临时变量?
发表于 06-11 04:35
如何使用外部eeprom中变量的声明?
来声明一些变量(如果可能的话,如何这样做),或者我是否可以在不使用内部RAM的情况下在外部EEPROM中声明一些变量,或者您是否认为有一种方
发表于 10-14 13:27
51单片机学习过程中的疑问
8位单片机疑问手册文章目录8位单片机疑问手册前言一、511.1 51语法二、PIC2.1 PIC编译2.2 PIC使用与语法前言本文档主要研究51单片机学习过程中的疑问。提示:以下是本篇文章正文内容
发表于 11-24 07:53
CH573使用MRS编译,.S堆栈空间定义在哪里?
CH573使用MRS编译,.S堆栈空间定义在哪里?临时变量使用老是不正常。全局变量又没问题。变量使用内存是自低地址向高地址分配,堆栈是从高地
发表于 09-19 06:38
求助,保存的全局变量在哪里?
我有一个关于全局变量的新手问题。我们定义是否将代码保存到 RAM 或 FLASH 中,并带有函数属性。但是全局变量(在函数外部定义的)存储在哪里?也可以更改存储它们的位置吗?
发表于 06-12 07:31
西门子SCL逻辑块中声明的变量或参数类型
每类本地变量或参数,都有用各自关键字对标识的自己的声明子域。每个子域包含允许的详细的声明子域,子域可按任何顺序定位。 下表显示能够在各种逻辑块中声明的
在Linux系统中系统变量存在哪里呢?
上面讲了很多系统变量,那么在Linux系统中,这些变量存在哪里呢?为什么用户一登录shell就自动有了这些变量呢?我们先来看看下面几个文件。
各种逻辑块中声明的变量或参数类型
临时变量在本地属于逻辑块,不产生静态内存区域,他们位于CPU的堆栈里。本块正在运行时,其值才被保留。临时变量不能从声明它的块外存取。一个OB
评论