squencer 的作用是产生transaction然后发给driver。建议uvm环境中的sequencer从[uvm_squencer]这个类派生出来,因为其中包含了和driver进行通信的一些功能模块
- 使用方法
申明uvm_squencer时, 参数中的RES和REQ默认情况下是一致的, 如果不一致, 就需要指明第二个参数的类型。如下所示:
1 | // class uvm_sequencer #(type REQ = uvm_sequence_item, RSP = REQ) extends uvm_sequencer_param_base #(REQ, RSP); |
- 没有必要给每个sequence创建一个sequencer,但是可以使用下面的方式创建自定义的sequencer
1 | class my_sequencer extends uvm_sequencer; |
uvm中关于squencer的class结构如下: