首页 > 其他分享 >UVM - 13 (lab2)

UVM - 13 (lab2)

时间:2024-03-19 10:57:58浏览次数:19  
标签:13 Makefile packets number lab2 phase UVM plusargs test

Makefile传递参数到SV中

  • 在仿真阶段使用$value$plusargs函数传递字符串
// 接收Makefile中传递过来的参数
if($value$plusargs("UVM_TESTNAME",test_name)) begin
  // 传递参数之后执行这里的内容
end

应用举例

// sv文件中,用于接收仿真的时候传入的number_packets

if($(value$plusargs("NUMBER_PACKET=%d",number_packets)) begin
  $display("TEST_BASE,number_packets = %d",number_packets);
end

if($(value$plusargs("TEST_MODE=%d",test_mode)) begin
  $display("TEST_BASE,test_mode = %d",test_mode);
end
# Makefile文件
simulate:
  +NUMBER_PACKET=10  # 会传给sv中定义的变量number_packets

cmdline中传递参数

# Makefile
# 定义变量10
PKT_NUM=10

simulate:
  +NUMBER_PACKET=$(PKT_NUM);

// 命令行执行仿真的时候,可以将命令行的参数传递进去
make simulate PKT_NUM=100

Lab2思路

different seed的必要性

  • 使用不同的seed,随机的变量才会得到不同的数据
    uploading-image-458343.png

复现ERROR

  • 如果ERROR是设计的问题,本地code再跑一遍,dump波形
  • error和约束相关,将本地代码和出现error的server上的代码版本一致,设置同一个seed,跑一遍,然后dump波形

uvm testbench architecture

  • active agent中含有monitor,driver,sequencer
  • passive agent中只含有monitor

phase相关

  • build_phase() - 创建对象
  • connect_phase() - tlm连接
  • run_phase() - task,进行事务处理

master agent中monitor的作用

  • 采样接口信号,将接口信号转为transaction,发送给reference model
  • check接口信号
  • 功能覆盖率收集

Lab2_Flow

test-->env-->agent-->driver
pacekt
sequence

packet.sv


uvm component

packet_da_3

  • 一个新transaction的类,继承自老的transaction的类

test_base



标签:13,Makefile,packets,number,lab2,phase,UVM,plusargs,test
From: https://www.cnblogs.com/Icer-newer/p/18081617

相关文章

  • me5413算法的实现细节
    Introduction这项作业的目的是让你通过几种基本规划算法及其应用来积累经验。在实施和测试这些算法后,你应该能够了解到规划中的现实挑战以及每种算法的优缺点。Task1:GlobalPlanningForbothTask1&2ofyourplanninghomework,youwillbeusingamapoftheVivoCity......
  • 【13.0】Django框架之模型层
    【一】前言Django自带的sqlite3数据对日期格式不敏感,处理的时候容易出错【1】测试脚本测试脚本当我们只想要测试Django中的某一个py文件的内容时,我们可以不需要书写前后端交互的形式,而是直接写一个测试脚本即可测试环境的准备在测试文件中书写下面内容这内容其......
  • 【13.5】图书管理系统
    【一】基础准备【1】创建Django项目django-adminstartprojectBookControlSystem或者借助第三方软件,如Pycharm【2】创建APP#创建图书APPpythonmanage.pystartappbook#创建作者APPpythonmanage.pystartappauthor#创建出版社APPpythonmanage.pystartapppu......
  • 代码随想录算法训练营day27 | leetcode 39. 组合总和、40. 组合总和 II、131. 分割回
    目录题目链接:39.组合总和-中等题目链接:40.组合总和II-中等题目链接:131.分割回文串-中等题目链接:39.组合总和-中等题目描述:给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形......
  • 毕设13
    今天学习了vuexVuex介绍•对于组件化开发来说,大型应用的状态往往跨越多个组件。在多层嵌套的父子组件之间传递状态已经十分麻烦,而Vue更是没有为兄弟组件提供直接共享数据的办法。•基于这个问题,许多框架提供了解决方案—使用全局的状态管理盟Er士分散的共享数据交由状态管......
  • [20240313]使用tpt ashtop.sql脚本的困惑.txt
    [20240313]使用tptashtop.sql脚本的困惑.txt--//使用tptashtop.sql脚本遇到的问题,做一些分析以及说明:1.环境:[email protected]:9014/ywdb>@ver1PORT_STRING                   VERSION       BANNER---------------------------------------------......
  • 【OceanBase OBCP题目解析13】关于OceanBase的合并设置,以下说法正确的是
    本文为云贝教育郭一军(微信:guoyJoe)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。关于OceanBase的合并设置,以下说法正确的是 ?A.修改合并时间命令例如altersystemsetmajor_freeze_duty_time='02:00'B.修改合并时间命令例如altersystem......
  • 代码随想录算法训练营第27天|39. 组合总和|40.组合总和II|131.分割回文串
    代码随想录算法训练营第27天|39.组合总和|40.组合总和II|131.分割回文串详细布置39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/文章讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%9......
  • 信息系统项目管理师013:数字生态(1信息化发展—1.4数字中国—1.4.4数字生态)
    文章目录1.4.4数字生态1.数据要素市场2.数字营商环境3.网络安全保护1.4.4数字生态  随着新一代信息技术创新和迭代速度的明显加快,其在提高社会生产力、优化资源配置等方面的作用日益凸显。营造良好数字生态,有利于充分激发数字技术的创新活力、要素潜能、发展空......
  • P1377 [TJOI2011] 树的序 (笛卡尔树)
    笛卡尔树模板题题目给出一个生成序列要我们构造一个二叉搜索树。所以值要满足二叉搜索树的性质。因为给出的是生成序列,所以序列的下标是满足最小堆的性质。那么可以按照满足二叉搜索树的那一维度进行排序也就是值进行排序。然后进行构建即可。最后进行先序遍历即可获得答......