uvm环境下sequence的时序控制问题
时间:10-02
整理:3721RD
点击:
1. 首先描述一下uvm的结构:为了控制sequence的时序,我把多个sequence封装到virtual sequence中。
在uvm中,使用objection机制来控制仿真的时长。但是我的想法是,不想让sequence来决定仿真结束,而是希望用monitor来控制。这样我就在virtual sequence最后添加了while(1);,在monitor中来finish仿真结束;
2. 这样出现了编译错误,给出了类似的glibc detect, Backtrace的错误,我现在觉得可以用event来控制应该可以避免这类错误,但是谁能帮我解释一下这个错误的原因?
3. 我对这个错误的理解就是类似segment fault之类的错误,但为什么还是不清楚,希望有经验的兄弟帮我解释一下。如果有描述不清楚的地方,我会在详细描述一下。多谢!
在uvm中,使用objection机制来控制仿真的时长。但是我的想法是,不想让sequence来决定仿真结束,而是希望用monitor来控制。这样我就在virtual sequence最后添加了while(1);,在monitor中来finish仿真结束;
2. 这样出现了编译错误,给出了类似的glibc detect, Backtrace的错误,我现在觉得可以用event来控制应该可以避免这类错误,但是谁能帮我解释一下这个错误的原因?
3. 我对这个错误的理解就是类似segment fault之类的错误,但为什么还是不清楚,希望有经验的兄弟帮我解释一下。如果有描述不清楚的地方,我会在详细描述一下。多谢!
mon中加phase raise。
用的哪个仿真器?这是工具的bug了
phase raise是不是一般都用在sequence中?
还是说每个模块都可以phase raise,然后跳的下一个phase前检查所有的objection机制是否完成。
用的VCS,不知道是谁的bug,估计编译的时候发现sequence 的phase raise永远结束不了,所以报错?
继承uvm_component的类都可以有objection操作
每个模块都可以用