微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > System Verilog 请教

System Verilog 请教

时间:10-02 整理:3721RD 点击:
小弟目前正在学习OVM,问一个比较弱的问题:
假设我要生成一个子类
class gfp_transfer extends ovm_sequence_item;                                 
  rand bit [15:0]                    playload_length;
  rand bit [15:0]                     core_hec;                   //core head cHEC
  rand bit [2:0]                       playload_type;              //core head PTI
  rand bit                               payload_fcs;                //core head PFI
  rand bit [3:0]                       extension_header;           //core head EXI
  rand bit [7:0] unsigned       user_payload_identifier;    //playload head UPI
endclass
并将gfp_transfer 作为参数传递个另一个sequence子类,如
class gfp_tx_idle_sequence extends ovm_sequence #(gfp_transfer);
  function new(string name="gfp_tx_idle_sequence");
    super.new(name);
  endfunction
  `ovm_sequence_utils(gfp_tx_idle_sequence, gfp_tx_sequencer)
.......
endclass
由于gfp_transfer 定义的是一个协议帧帧结构,但是这个帧结构是可变的,例如我在生成gfp_tx_idle这个子类的时候,只需要
gfp_transfer 其中几个域,那么这个时候应该怎么做呢?

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

网站地图

Top