0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SystemVerilog coding过程中你在哪里声明临时变量

芯片验证工程师 来源:芯片验证工程师 2023-03-08 13:08 次阅读

众所周知,语句块中需要用到的变量只能在语句块最开始定义。


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次阅读

    请问21489的引脚变量在哪里找?

    新手问下,21489的引脚变量在哪里找?我看例程里的好多表示引脚的变量,找了好几个头文件,都没有找到
    发表于 03-05 15:00

    keil怎么处理中断临时变量

    ,c 之间明显没有调用关系,那么假设a,c使用了相同的Xdata区域,先后进入中断1,2 ,那不是会导致明显的错误么?或者说keil怎么处理中断临时变量
    发表于 06-11 04:35

    如何使用外部eeprom变量声明

    声明一些变量(如果可能的话,如何这样做),或者我是否可以在不使用内部RAM的情况下在外部EEPROM声明一些变量,或者您是否认为有一种方
    发表于 10-14 13:27

    请问以下程序的几个变量在哪里定义?

    此文件是TI例程的文件,请问以下程序的几个变量在哪里定义? 我能不能访问呢? 因为在整个工程文件我没有看到以下
    发表于 05-29 16:17

    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

    请问21489的引脚变量在哪里找?

    新手问下,21489的引脚变量在哪里找?我看例程里的好多表示引脚的变量,找了好几个头文件,都没有找到
    发表于 11-30 06:35

    电源PCB上电感放在哪里合适

    Q首先抛出问题:线圈应该放在哪里?用于电压转换的开关稳压器使用电感来临时存储能量。这些电感的尺寸通常非常大,
    的头像 发表于 08-20 10:57 4238次阅读

    西门子SCL逻辑块中声明变量或参数类型

    每类本地变量或参数,都有用各自关键字对标识的自己的声明子域。每个子域包含允许的详细的声明子域,子域可按任何顺序定位。 下表显示能够在各种逻辑块中声明
    的头像 发表于 08-25 18:07 8021次阅读

    在Linux系统中系统变量在哪里呢?

    上面讲了很多系统变量,那么在Linux系统中,这些变量在哪里呢?为什么用户一登录shell就自动有了这些变量呢?我们先来看看下面几个文件。
    的头像 发表于 11-16 09:46 1392次阅读

    各种逻辑块中声明变量或参数类型

    临时变量在本地属于逻辑块,不产生静态内存区域,他们位于CPU的堆栈里。本块正在运行时,其值才被保留。临时变量不能从声明它的块外存取。一个OB
    的头像 发表于 03-08 11:14 634次阅读

    浅析python的变量类型

    python不需要事先声明变量。 python的变量类型是在运行过程中自动决定的,不需要代码声明类型。
    的头像 发表于 03-10 10:11 580次阅读
    浅析python的<b class='flag-5'>变量</b>类型

    分享一些SystemVerilogcoding guideline

    本文分享一些SystemVerilogcoding guideline。
    的头像 发表于 11-22 09:17 305次阅读
    分享一些<b class='flag-5'>SystemVerilog</b>的<b class='flag-5'>coding</b>  guideline