微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 在 uvm中 如何设置两个 transaction 之间的 constraint

在 uvm中 如何设置两个 transaction 之间的 constraint

时间:10-02 整理:3721RD 点击:
在那个地方设置这个 constaint?virtual sequencer ? 在那个phase?
谢谢

sequence里面,PKT里面,drv都可以,想象力!

sequence里面怎么设呢?代码如下
virtual task body();
b_sequenceb_sq;
a_sequencea_sq;

if(starting_phase != null)
starting_phase.raise_objection(this);
`uvm_info("TRACE", $sformatf("%m"), UVM_HIGH);
fork
begin repeat(20) `uvm_do_on(a_sq,p_sequencer.a_sqr);end
begin repeat(20) `uvm_do_on(b_sq,p_sequencer.b_sqr);end
join
repeat(10) #`ECLK_PERIOD;
if(starting_phase != null)
starting_phase.drop_objection(this);

ork
a_seq.yy <--> b_seq.xx
之后再克制seq发包
join

a_seq.yy <--> b_seq.xx
<-->是什么意思?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top