Code Browser Pages:
Files in
rvm_eth.tar



call_back.vr
cfg_intf.vr
cfg_xtor.vr
chan.vr
cov.vr
defines.vr
env.vr
host_driver.vr
host_intf.vr
host_xtor_rx.vr
host_xtor.vr
Current file: phy_driver.vr
phy_intf.vr
phy_xtor_rx.vr
phy_xtor.vr
pkt.vr
pro.vr
run
rx_pkt.vr
sb.vr
timescale.v
top.v



#include <rvm_std_lib.vrh>

#ifndef PHY_DRIVER_CLASS
#define PHY_DRIVER_CLASS

class phy_driver extends rvm_xactor {

  task new(string name);

  function bit [2:0] read_Speed ();
  function bit       read_Tx_er ();
  function bit       read_Tx_en ();
  function bit [7:0] read_Txd   ();

  task drive_Rx_er (bit       Rx_er ) ;
  task drive_Rx_dv (bit       Rx_dv ) ;
  task drive_Rxd   (bit  [7:0]Rxd   ) ;
  task drive_Crs   (bit       Crs   ) ;
  task drive_Col   (bit       Col   ) ;
  task posedge_clk();

}


task phy_driver::new(string name) { super.new("PHY_DRVR",name); log = new("PHY_DRVR",name); }

function bit [2:0] phy_driver::read_Speed ()  { read_Speed  = phy_intf.Speed ;}
function bit       phy_driver::read_Tx_er ()  { read_Tx_er  = phy_intf.Tx_er ;}
function bit       phy_driver::read_Tx_en ()  { read_Tx_en  = phy_intf.Tx_en ;}
function bit [7:0] phy_driver::read_Txd   ()  { read_Txd    = phy_intf.Txd   ;}

task phy_driver::drive_Rx_er (bit       Rx_er )  {phy_intf.Rx_er  = Rx_er ;}
task phy_driver::drive_Rx_dv (bit       Rx_dv )  {phy_intf.Rx_dv  = Rx_dv ;}
task phy_driver::drive_Rxd   (bit  [7:0]Rxd   )  {phy_intf.Rxd    = Rxd   ;}
task phy_driver::drive_Crs   (bit       Crs   )  {phy_intf.Crs    = Crs   ;}
task phy_driver::drive_Col   (bit       Col   )  {phy_intf.Col    = Col   ;}
task phy_driver::posedge_clk () { @(posedge phy_intf.clk);}
#endif