最近在项目中,发现验证环境中的顶层的program(一般将program作为验证环境的入口),都是automatic的。

其实Program默认是static的,那么为什么需要把验证环境做成automatic呢?

原因如下:

如果不加automatic,则program中的变量是static,也就是静态的。变量的存储在一个固定的空间。

如果使用automatic,则变量是动态分配空间的,这样可以避免对同一个变量操作,造成后面的覆盖前面的情况。

代码示例如下:

program automatic soc_ver_program();

`include "./regs_def.svi"

`include "./driver_inc.sv"

`include "./soc_testcase_inc.sv"

initial begin

run_test(); //注意这里的run_test后面不要加参数,这样不需要对不同用例重新编译,符合UVM方法学相关语法。

end

endprogram

注意:此program里面,调用了run_test(),run_test->create tc -> create env。大致的顺序是这样的。

转载于:https://www.cnblogs.com/zeushuang/p/8250042.html

验证环境中的program为什么必须是automatic相关推荐

  1. CPU系统级验证——验证环境——OpenHW core-v验证环境及文件分析

    本文记录的相关源工程和文件为: core-v RISCV核功能验证工程:https://github.com/openhwgroup/core-v-verif core-v 验证策略:https:// ...

  2. [UVM]UVM环境中的clock agent方案

    UVM环境中的clock agent方案 摘要:在验证环境中,我们通常需要多个不同频率的时钟,为了能方便的产生所需时钟,我们可以开发一个clk_agent,通过config来指定频率,通过interf ...

  3. UVM环境中reset复位的处理

    文章目录 前言 一.单独处理reset复位信号 1.1 复位agent的实现 1.2 复位transaction和interface 1.3 environment 1.4 复位sequence 1. ...

  4. SOC验证环境的启动方式

    SOC验证环境一千家公司有一千家公司的做法.那么一个优秀的SOC验证环境应该具备哪些功能呢? 首先是SOC验证环境支持C和SV两种下激励的方式. 通过C code启动SOC环境是怎么启动的呢?这里涉及 ...

  5. idea中使用osgi_OSGi环境中的Servlet基本身份验证

    idea中使用osgi 您首先需要获得对OSGI HTTP Service的引用. 您可以通过声明性服务来做到这一点. 这篇文章将集中在获得对HTTP服务的引用之后的步骤. 注意:此职位的完整课程位于 ...

  6. OSGi环境中的Servlet基本身份验证

    您首先需要获得对OSGI HTTP Service的引用. 您可以通过声明性服务来做到这一点. 这篇文章将集中在获得对HTTP服务的引用之后的步骤. 注意:此职位的完整课程位于此处 通过OSGI HT ...

  7. jssdk信息验证失败_阿里云环境中TLS/SSL握手失败的场景分析

    TLS/SSL握手是一个相对复杂的过程,在阿里云环境中结合产品,安全等特性,可能会让TLS/SSL握手过程的不定性更多.本文来总结下各种握手失败的场景. 一次TLS/SSL握手的过程 本文不详细介绍T ...

  8. 在离线环境中发布.NET Core至Windows Server 2008

    0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布一下试试.看了下官方给出的发布教程感觉挺详细的了(https://docs. ...

  9. 在离线环境中使用.NET Core

    0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网络中进行的,因此就开始了在离线环境中 ...

最新文章

  1. 如何用最强模型BERT做NLP迁移学习?
  2. Ubuntu18 的日常
  3. [C/C++基础知识] 一篇就让你彻底搞懂qsort快速排序的文章
  4. [C++11]可调用对象
  5. 怎么去除idea中代码的波浪线(黄色警告线)
  6. SEO人生衔接后用户可随时随地同他的合作伙伴协同工作
  7. CI框架 -- URL
  8. 华为手机如何升级鸿蒙系统_华为鸿蒙2.0带来好消息 2021年部分华为手机能升级到鸿蒙2.0...
  9. 【操作系统/OS笔记09】线程、线程的实现、上下文切换、进程控制
  10. django允许跨域请求配置
  11. 远程采集Linux硬盘信息,关关采集器利用远程SFTP采集 Linux放主站+windows采集教程...
  12. java国际时间转换为北京时间
  13. MEM/MBA 写作-论说文(02)立意 知识练习
  14. 用css设置多段背景色
  15. OPPO加入连接标准联盟董事会;BOSE为领克09汽车打造Centerpoint环绕声音响系统 | 全球TMT...
  16. 用Python怎么多赚钱?6种办法用上 让你过上挣钱的好日子
  17. 用Python绘制皮卡丘
  18. solidworks插件打包及简单的注册、解码、混淆、脱壳。
  19. java提供按摩比较复数大小_复数类实现 - kb
  20. 计算机科学界最高奖,中国科学家吴建平获国际互联网界最高奖

热门文章

  1. 计算机如何表示色彩?
  2. 2022-2028年中国自动化设备市场研究及前瞻分析报告
  3. 2022-2028年中国塑料人造革行业市场研究及前瞻分析报告
  4. 通过聚合数据API获取微信精选文章
  5. Pinia轻量级状态管理
  6. python对文件的读写正确操作方式
  7. Pytorch 多 GPU 并行处理机制
  8. LeetCode中等题之二倍数对数组
  9. LeetCode简单题之两个列表的最小索引总和
  10. AlexeyAB DarkNet YOLOv3框架解析与应用实践(一)