- 博客(7)
- 资源 (9)
- 收藏
- 关注
原创 UVM验证方法学(三)-phase机制
task phase消耗仿真时间,而functiton phase不消耗仿真时间。uvm中为平台组件定义了一套phase流程来控制仿真平台的执行过程。objection对于task phase才有意义,控制task phase的运行和终止。run phase与12个run_time phase的关系想等的。不要在拥有无限循环的task phase中使用raise和drop objection。只有当所有的component的同名phase执行完毕时,才会执行下一个phase;uvm phase机制。
2025-12-27 22:02:13
202
原创 UVM验证方法学(二)
monitor的主要功能是监视接口信号,捕获接口上活动的事务,并且将PIN级的信号事务转化为事务级的数据包,之后将这些数据包发送到analysis组件(reference model , scoreboard)进行数据分析;agent中要实例化sequencer, driver, monitor,并将sequencer和driver连接起来。env需要实例化agent, reference_model, scoreboard以及其他组件并将这些组件相互连接。testcase实例化和配置env;
2025-12-08 18:29:37
119
原创 UVM验证方法学(一)
从uvm平台来看,sequence_item和sequence并不属于结构的一部分。当transaction类创建好后,需要通过某种方式产生对象,这需要sequence额帮助。需要从uvm_sequence_item扩展。将sequence产生的item发送到uvm的组件:driver中;一种sequence只能产生一种类型的transaction;将转化之后的PIN级信号按照DUT总线协议的方式驱动给DUT;sequence需要从uvm_sequence扩展。3.支持受约束随机激励的产生;
2025-12-07 21:51:53
233
原创 c++学习(二)
mutable是一个关键字,用于修饰类的成员变量,使其能够在const成员函数中被修改。通常情况下,const成员函数不能修改对象的状态,但如果某个成员变量被声明为mutable,则可以在const函数中对其进行修改。当有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用extern来得到已定义的变量或函数的引用,extern可以用来在另一个文件中声明一个全局变量或函数。mutable(c++11):用于修饰类中的成员变量,允许在const成员函数中修改这些变量的值。
2025-11-05 17:55:22
1318
原创 c++学习笔记(一)
如果转换失败,对于指针类型会返回 nullptr,对于引用类型则会抛出 std::bad_cast 异常。动态转换(dynamic_cast)是 C++ 中用于在继承层次结构中进行向下转换(downcasting)的一种机制。// 常量转换,将const int转换为int。重新解释转换将一个数据类型的值重新解释为另一个数据类型的值,通常用于在不同的数据类型之间进行转换。常量转换用于将 const 类型的对象转换为非 const 类型的对象。静态转换 将一种数据类型的值强制转换为另一种数据类型的值。
2025-11-04 18:07:53
417
原创 jenkins 更改默认工作根目录
Jenkins默认目录是/home/.jenkins, 由于根目录空间资源有限,我们需要将.jenkins根目录移植到其他硬盘空间。在系统配置中,可以发现jenkins工作目录确实发生修改了。设置JENKINS_HOME参数即可修改。如果想后台启动Jenkins。
2024-05-08 16:28:21
1413
原创 Vivado compile_simlib failed to compile for vcs_mx with error in 189 libraries
vivado 2019.1 COMPLIE SIMULATION LIBATARIES时报错,原因是vcs版本太低
2022-04-25 11:05:44
1184
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅