Code Browser Pages:
Files in
vmm1.2_example.tar



dummy_rtl.v
ReadMe.txt
vmm_cfg.sv
vmm_cov.sv
vmm_drv.sv
vmm_env.sv
vmm_gen.sv
vmm_interface.sv
Current file: vmm_packet.sv
vmm_rcv.sv
vmm_sbd.sv
vmm_scn.sv
vmm_top.sv



///////////////////////////////////////
///////////////////////////////////////
////                               ////
////        VMM 1.2 example        ////
////                               ////
////     For more vmm examples     ////
////     visit www.testbench.in    ////
////                               ////
///////////////////////////////////////
///////////////////////////////////////


//-----------------------------------------------------------------------------
//  This is a Packet-vmm_data class for dummy rtl
//-----------------------------------------------------------------------------

class packet extends vmm_data;

  // data members
  typedef enum { nEN, EN} ENABLE;
  typedef enum { READ, WRITE} RW;
  rand byte address;
  rand byte data;
  rand ENABLE en;
  rand RW rdwr;

  // vmm_data - standerd method implementing macro
  `vmm_data_member_begin(packet)
    `vmm_data_member_scalar(address, DO_ALL)
    `vmm_data_member_scalar(data, DO_ALL)
    `vmm_data_member_enum(en, DO_ALL)
    `vmm_data_member_enum(rdwr, DO_ALL)
  `vmm_data_member_end(packet)

  // control on randomization for data members
  constraint c_packet {
    address inside {[0:255]};
    data    inside {[0:255]};
    rdwr    inside {[READ:WRITE]};
    en      inside {[0:1]};
  }

  // reset function
  function reset();
    address = 8'h0;
    data    = 8'h0;
    en      = nEN;
    rdwr    = READ;
  endfunction : reset

endclass : packet

//-----------------------------------------------------------------------------
// end of file 
//-----------------------------------------------------------------------------