OpenCores
URL https://opencores.org/ocsvn/apb_mstr/apb_mstr/trunk

Subversion Repositories apb_mstr

[/] [apb_mstr/] [trunk/] [src/] [base/] [apb_master.v] - Diff between revs 2 and 5

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 5
Line 63... Line 63...
//
//
//
//
//////////////////////////////////////
//////////////////////////////////////
 
 
 
 
OUTFILE apb_master.v
OUTFILE PREFIX.v
 
 
INCLUDE def_apb_master.txt
INCLUDE def_apb_master.txt
 
 
VERIFY (DATA_BITS==32) else only 32 bit data supported
VERIFY (DATA_BITS==32) else only 32 bit data supported
 
 
module apb_master(PORTS);
module PREFIX(PORTS);
 
 
 
 
   input                    clk;
   input                    clk;
   input                    reset;
   input                    reset;
 
 
Line 97... Line 97...
 
 
   //set random tasks to be only 32 bit singles
   //set random tasks to be only 32 bit singles
   initial
   initial
     begin
     begin
        #1;
        #1;
        apb_master_axi_master.enable_all;
        PREFIX_axi_master.enable_all;
        apb_master_axi_master.use_addr_base=1;
        PREFIX_axi_master.use_addr_base=1;
        apb_master_axi_master.len_min=0;
        PREFIX_axi_master.len_min=0;
        apb_master_axi_master.len_max=0;
        PREFIX_axi_master.len_max=0;
        apb_master_axi_master.size_min=2;
        PREFIX_axi_master.size_min=2;
        apb_master_axi_master.size_max=2;
        PREFIX_axi_master.size_max=2;
     end
     end
 
 
 
 
   CREATE axi_master.v DEFCMD(SWAP.GLOBAL CONST(PREFIX) apb_master_axi_master)
   CREATE axi_master.v DEFCMD(SWAP.GLOBAL CONST(PREFIX) PREFIX_axi_master)
 
 
     apb_master_axi_master apb_master_axi_master(
     PREFIX_axi_master PREFIX_axi_master(
                           .clk(clk),
                           .clk(clk),
                           .reset(reset),
                           .reset(reset),
                           .GROUP_STUB_AXI(GROUP_STUB_AXI),
                           .GROUP_STUB_AXI(GROUP_STUB_AXI),
                           .idle()
                           .idle()
                           );
                           );
 
 
 
 
   CREATE axi2apb.v DEFCMD(SWAP CONST(SLAVE_NUM) 1) DEFCMD(SWAP.GLOBAL CONST(PREFIX) apb_master)
   CREATE axi2apb.v DEFCMD(SWAP CONST(SLAVE_NUM) 1) DEFCMD(SWAP.GLOBAL CONST(PREFIX) PREFIX_axi2apb)
 
 
   apb_master_axi2apb apb_master_axi2apb(
   PREFIX_axi2apb PREFIX_axi2apb(
                           .clk(clk),
                           .clk(clk),
                           .reset(reset),
                           .reset(reset),
                           .GROUP_STUB_AXI(GROUP_STUB_AXI),
                           .GROUP_STUB_AXI(GROUP_STUB_AXI),
 
 
                           .penable(penable),
                           .penable(penable),
Line 138... Line 138...
 
 
   task write_single;
   task write_single;
      input [ADDR_BITS-1:0]  addr;
      input [ADDR_BITS-1:0]  addr;
      input [DATA_BITS-1:0]  wdata;
      input [DATA_BITS-1:0]  wdata;
      begin
      begin
         apb_master_axi_master.write_single(0, addr, wdata);
         PREFIX_axi_master.write_single(0, addr, wdata);
      end
      end
   endtask
   endtask
 
 
   task read_single;
   task read_single;
      input [ADDR_BITS-1:0]  addr;
      input [ADDR_BITS-1:0]  addr;
      output [DATA_BITS-1:0]  rdata;
      output [DATA_BITS-1:0]  rdata;
      begin
      begin
         apb_master_axi_master.read_single(0, addr, rdata);
         PREFIX_axi_master.read_single(0, addr, rdata);
      end
      end
   endtask
   endtask
 
 
   task check_single;
   task check_single;
      input [ADDR_BITS-1:0]  addr;
      input [ADDR_BITS-1:0]  addr;
      input [DATA_BITS-1:0]  expected;
      input [DATA_BITS-1:0]  expected;
      begin
      begin
         apb_master_axi_master.check_single(0, addr, expected);
         PREFIX_axi_master.check_single(0, addr, expected);
      end
      end
   endtask
   endtask
 
 
   task write_and_check_single;
   task write_and_check_single;
      input [ADDR_BITS-1:0]  addr;
      input [ADDR_BITS-1:0]  addr;
      input [DATA_BITS-1:0]  data;
      input [DATA_BITS-1:0]  data;
      begin
      begin
         apb_master_axi_master.write_and_check_single(0, addr, data);
         PREFIX_axi_master.write_and_check_single(0, addr, data);
      end
      end
   endtask
   endtask
 
 
 
 
endmodule
endmodule

powered by: WebSVN 2.1.0

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