一个基本的 uvm 验证环境结构如下图所示,包含两个 agent,其中 in_agent 用于驱动 DUT ,同时将驱动数据同时传递给 reference model, out_agent 用于按照协议采集 DUT 的输出数据,并将数据传递给 scoreboard,在 scoreboard 收集到 reference model 的运算结果后,再进行比对验证。 要想实现 monitor 和
转载
2024-02-25 09:13:54
402阅读
一个基本的 uvm 验证环境结构如下图所示,包含两个 agent,其中 in_agent 用于驱动 DUT ,同时将驱动数据同时传递给 reference model, out_agent 用于按照协议采集 DUT 的输出数据,并将数据传递给 scoreboard,在 scoreboard 收集到 reference model 的运算结果后,再进行比对验证。 要想实现 monito
config_db机制是uvm中很重要的机制之一。由于验证平台的结构往往会比较复杂,其中的组件如果要进行互相通信和参数传递,则需要一种高效且稳妥的办法,这就是config_db机制的意义。 目录一、config_db机制概述(1)路径(2)set和get(3)省略get函数二、跨层次多重设置三、非直线获取四、对通配符的支持五、保证传递的正确六、调试总结 一、config_db机制概述u
转载
2024-07-04 05:16:24
558阅读
软件测试技术就是一系列活动,这些活动是为了评估一个程序或软件系列的特性或能力,并确定其是否达到了预期结果。测试是试图验证软件是“工作的”,也就是验证软件功能执行的正确性。测试的目的也就是验证软件是否符合事先设定的要求。测试的活动是以人们的“设想”或“预期的结果”为依据。这里的“设想”或“预期的结果”是指需要定义、软件设计的结果。回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导
回归测试的四种方法:一.回归测试策略的概念在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身,从而造成修改
转载
2024-04-02 08:32:29
0阅读
哪个方法可以激活UVM验证平台,如何调用它?**run_test()方法(静态方法)**用来激活UVM验证平台。通常在顶层的“ initial begin…end”块中调用,并且它使用一个参数(UVM_TESTNAME)指定要运行的test case。所有程序的启动都有一个入口。像是C程序的入口是main(),普通verilog的启动是在顶层模块中的initial begin end间的代码。一般
转载
2024-04-11 20:11:53
326阅读
导读:商汤科技-南洋理工大学联合 AI 研究中心 S-Lab 与新加坡国立大学的研究者针对不平衡回归问题提出 Balanced MSE 损失函数。标签不平衡经常出现在现实世界中的视觉回归问题中,而常用的MSE损失函数在预测少见标签时往往会产生很大的误差。Balanced MSE 从统计的视角解决标签的不平衡,同时适用于一维与多维回归;具有简单、灵活的实现形式,不需要提前对标签分布进行计算也可以轻松
makefile 的调试有点像魔法。可惜,并不存在makefile 调试器之类的东西可用来查看特定规则是如何被求值的,或某个变量是如何被扩展的。相反,大部分的调试过程只是在执行输出的动作以及查看makefile。事实上,GNU make 提供了若干可以协助调试的内置函数以及命令行选项。用来调试makefile 的一个最好方法就是加入调试挂钩以及使用具保护的编程技术,让你能够在事情出错时恢复原状。我
文章目录前言1、uvm_event2、uvm_event_pool总结 前言 1、uvm_eventuvm_event类有两种不同的操作模式:边沿敏感和电平敏感。边沿敏感模式包括:trigger(),wait_trigger(),wait_ptrigger()和wait_ptrigger_data() 方法。不要使用reset(),is_on(),is_off(),wait_on()和w
1 之前的方式要测试不同的sequence,必须要修改default_sequence,重新编译
原创
2023-07-31 17:36:02
274阅读
1.通过get_full_name()得到此component 的路径:2.uvm_top 的名字是
原创
2023-07-31 17:28:27
287阅读
1,主Makefile,Makefile所在的目录只有main.cpp main2.cpp,及要把生成的.o文件放到./obj目录下SOURCES = $(filter-out main2.cpp,$(wildcard *.cpp))
#make test:make -n
#如果还有其他目录下的文件,可
原创
2015-06-09 16:48:44
739阅读
1.除了PORT 和 EXPORT外,还有第三种端口:IMP。它才是UVM 的精髓,承担UVM 中TLM的大部分代码实现。源码
原创
2023-07-31 17:27:09
422阅读
引入sequence的原因:将 生成测试case的语句 从 main_phase 中独立出来,使得使用不同测试用例时,只需要修改sequence部分即可,而不用关注 UVM剩余部分。(提高剩余部分的可复用性)。引入sequence的仲裁机制的原因:一个sequencer上通过fork…join可以启动多个sequence,而多个sequence按照什么顺序启动需要一定的仲裁机制来控制,具体而言主要
转载
2024-06-15 10:25:00
75阅读
(2020.4.27 更新中:有空慢慢写)(已经做完了,想看结果的请移步去另一个帖子,这个贴将写一写整个学习过程的思考细节故会比较琐碎。而结果贴只会写最优化的结果)Day.1 今天想学习一下,写一个多元回归问题交作业,先在找了一段源代码。clc,clear
x1=[7 1 11 11 7 11 3 1 2 21 1 11 10];
x
转载
2024-10-11 17:14:38
12阅读
_____________________________________________________________________________________________________________ 文章转自:http:...
转载
2016-01-24 13:44:00
233阅读
2评论
1.除了PORT,EXPORT,IMP外,还有analysis_port 和analysis_export,都用于传递transaction,区别是:1)一个analysis_port 可以连接多个IMP,也就是一对多通信。put 和get 是一对一(除非实例化new时制定数量)。2)analysis_port 和analysis_export 没有阻塞和非阻塞的区分。本身就是广播,像是非
原创
2023-07-31 17:27:43
476阅读
一、定义:测试人员只执行了变更引起的相关功能的回归测试 二、发生时间段Always 三、陷阱表现1.只测试了系统或软件功能2.回归测试未包含系统质量测试3.未对架构、设计和实现约束的回归测试 四、负面后果1.无法满足质量需求的变更通过回归测试无法发现2.开发未意识到质量特性的重要性 五、原因1. 功能测试更易设计和运行,质量测试较之困难2.&nb
原创
2018-01-10 10:46:21
1826阅读
1.使用寄存器模型的后门
原创
2023-07-31 17:31:48
726阅读
1.UVM 中常用的PORT有:总结到一起:1)put,get,transport
原创
2023-07-31 17:39:30
417阅读