OpenCores
URL https://opencores.org/ocsvn/avalon-wishbone-bridge/avalon-wishbone-bridge/trunk

Subversion Repositories avalon-wishbone-bridge

[/] [avalon-wishbone-bridge/] [trunk/] [UVM/] [av_master_agent/] [avalon_m_if.sv] - Rev 2

Compare with Previous | Blame | View Log

`ifndef AVALON_IF__SV
`define AVALON_IF__SV


interface avalon_if #(AW=32,DW=64,TW=2)(input bit clk,rst_n);
  logic  [AW-1:0]       address;
  logic  [DW/8-1:0]     byteenable;
  logic                 chipselect;
  logic                 read;
  logic                 write;
  logic  [DW-1:0]       readdata;
  logic  [DW-1:0]       writedata;
  logic                 waitrequest;
  logic                 readdatavalid;
  logic  [3:0]          burstcount;
  logic                 beginbursttransfer;
  // Clocking block
  clocking m_cb @(posedge clk);
    default input #1step output #1;

    output address;
    output byteenable;
    output chipselect;
    output read;
    output write;
    output writedata;
    output burstcount;
    output beginbursttransfer;
    input  readdata;
    input  waitrequest;
    input  readdatavalid;
  endclocking
  // Slave Clocking block
  clocking s_cb @(posedge clk);
    default input #1step output #1;

    input address;
    input byteenable;
    input chipselect;
    input read;
    input write;
    input writedata;
    input burstcount;
    input beginbursttransfer;
    output  readdata;
    output  waitrequest;
    output  readdatavalid;
  endclocking
modport master (clocking m_cb);
modport slave (clocking s_cb);
//task read_transaction(logic [AW-1:0] addr);
//      wait(waitrequest ==1'b0);
//      address=addr;
//      byteenable=8'hFF;
//      chipselect=1'b1;
//      read=1'b1;
//      write=1'b0;
//      //readdata;
//      writedata='0;
//      //waitrequest;
//      //readdatavalid;
//      burstcount='0;
//      beginbursttransfer=1'b0;
//endtask
//task write_transaction(logic [AW-1:0] addr, logic [DW-1:0] data);
//      wait(waitrequest ==1'b0);
//      address=addr;
//      byteenable=8'hFF;
//      chipselect=1'b1;
//      read=1'b0;
//      write=1'b1;
//      //readdata;
//      writedata=data;
//      //waitrequest;
//      //readdatavalid;
//      burstcount='0;
//      beginbursttransfer=1'b0;
//endtask 
endinterface

`endif

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.