UVM:2.4 UVM的终极大作sequence->2.4.2 sequence机制

1.sequence不属于验证平台的任何一部分,出于比较特殊的位置:


1).transaction 像一颗单独的子弹,包含数据元素。

2).sequence 是transaction 的 ”序列“。

3).sequencer 是一把枪,负责发射。

4).sequencer是一个uvm_component,sequence 是一个uvm_object。

5).sequence 生命周期比my_transaction 要长,因为是”序列“嘛!


2.sequence 如下:

`ifndef MY_SEQUENCE__SV
`define MY_SEQUENCE__SV

class my_sequence extends uvm_sequence #(my_transaction);
   my_transaction m_trans;

   function new(string name= "my_sequence");
      super.new(name);
   endfunction

   virtual task body();
      repeat (10) begin
         `uvm_do(m_trans)
      end
      #1000;
   endtask

   `uvm_object_utils(my_sequence)
endclass
`endif
1)循环 10次,弄出一个序列。

2)要指定transaction 类型。

3)每一个sequence都有一个body 任务(main_phase 是属于components之类的),当一个sequence 启动之后,会自动执行body 的代码。

4)uvm_do 宏:1)创建一个my_transaction 的实例m_

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值