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

Subversion Repositories axi_master

[/] [axi_master/] [trunk/] [src/] [base/] [axi_master_single.v] - Diff between revs 12 and 14

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

Rev 12 Rev 14
Line 49... Line 49...
                                       (MAX_CMDS <= 128) ? 7 :
                                       (MAX_CMDS <= 128) ? 7 :
                                       (MAX_CMDS <= 256) ? 8 :
                                       (MAX_CMDS <= 256) ? 8 :
                                       (MAX_CMDS <= 512) ? 9 : 0; //0 is ilegal
                                       (MAX_CMDS <= 512) ? 9 : 0; //0 is ilegal
 
 
 
 
 
 
   input                               clk;
   input                               clk;
   input                               reset;
   input                               reset;
 
 
   port                                GROUP_STUB_AXI;
   port                                GROUP_STUB_AXI;
 
 
Line 73... Line 72...
 
 
   reg                                 enable = 0;
   reg                                 enable = 0;
   reg                                 rd_enable = 0;
   reg                                 rd_enable = 0;
   reg                                 wr_enable = 0;
   reg                                 wr_enable = 0;
   reg                                 wait_for_write = 0;
   reg                                 wait_for_write = 0;
 
   reg                                 err_on_wr_resp = 1;
 
   reg                                 err_on_rd_resp = 1;
 
 
   reg                                 scrbrd_enable = 0;
   reg                                 scrbrd_enable = 0;
   reg [LEN_BITS-1:0]                   wvalid_cnt;
   reg [LEN_BITS-1:0]                   wvalid_cnt;
 
 
   reg                                 rd_cmd_push = 0;
   reg                                 rd_cmd_push = 0;
Line 247... Line 248...
   assign         ARCACHE = 4'd0; //not supported
   assign         ARCACHE = 4'd0; //not supported
   assign         ARPROT  = 4'd0; //not supported
   assign         ARPROT  = 4'd0; //not supported
   assign         ARLOCK  = 2'd0; //not supported
   assign         ARLOCK  = 2'd0; //not supported
 
 
   assign         rd_fifo_data_in = RDATA;
   assign         rd_fifo_data_in = RDATA;
   assign         rd_fifo_resp_in = BRESP;
   assign         rd_fifo_resp_in = RRESP;
 
 
   assign         wr_data_bytes = 1'b1 << wr_data_size;
   assign         wr_data_bytes = 1'b1 << wr_data_size;
 
 
   assign         wr_data_strb =
   assign         wr_data_strb =
                  wr_data_size == 'd0 ? 1'b1       :
                  wr_data_size == 'd0 ? 1'b1       :
Line 546... Line 547...
         resp = rd_fifo_resp;
         resp = rd_fifo_resp;
         @(negedge clk); #FFD;
         @(negedge clk); #FFD;
         rd_fifo_pop = 1;
         rd_fifo_pop = 1;
         @(posedge clk); #FFD;
         @(posedge clk); #FFD;
         rd_fifo_pop = 0;
         rd_fifo_pop = 0;
 
         if ((resp != 2'b00) && (err_on_rd_resp))
 
           $display("PREFIX_MASTER%0d: RRESP_ERROR: Received RRESP 2'b%0b.\tTime: %0d ns.", MASTER_NUM, resp, $time);
      end
      end
   endtask
   endtask
 
 
   task get_scrbrd;
   task get_scrbrd;
      output [ADDR_BITS-1:0] addr;
      output [ADDR_BITS-1:0] addr;
Line 580... Line 583...
         resp = wr_resp_resp;
         resp = wr_resp_resp;
         @(negedge clk); #FFD;
         @(negedge clk); #FFD;
         wr_resp_pop = 1;
         wr_resp_pop = 1;
         @(posedge clk); #FFD;
         @(posedge clk); #FFD;
         wr_resp_pop = 0;
         wr_resp_pop = 0;
 
         if ((resp != 2'b00) && (err_on_wr_resp))
 
           $display("PREFIX_MASTER%0d: BRESP_ERROR: Received BRESP 2'b%0b.\tTime: %0d ns.", MASTER_NUM, resp, $time);
      end
      end
   endtask
   endtask
 
 
   task insert_rd_single;
   task insert_rd_single;
      input [ADDR_BITS-1:0]  addr;
      input [ADDR_BITS-1:0]  addr;
Line 636... Line 641...
      reg [1:0] resp;
      reg [1:0] resp;
      reg [DATA_BITS-1:0] rdata;
      reg [DATA_BITS-1:0] rdata;
      begin
      begin
         read_single_ack(addr, rdata, resp);
         read_single_ack(addr, rdata, resp);
         if (rdata !== expected)
         if (rdata !== expected)
           $display("MASTER%0d: CHK_SINGLE_ERROR: Address: 0x%0h, Expected: 0x%0h, Received: 0x%0h.\tTime: %0d ns.", MASTER_NUM, addr, expected, rdata, $time);
           $display("PREFIX_MASTER%0d: CHK_SINGLE_ERROR: Address: 0x%0h, Expected: 0x%0h, Received: 0x%0h.\tTime: %0d ns.", MASTER_NUM, addr, expected, rdata, $time);
      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;
Line 676... Line 681...
         get_rd_resp(rdata, resp);
         get_rd_resp(rdata, resp);
         expected_data = expected_data & mask; //TBD insert z as dontcare (for print)
         expected_data = expected_data & mask; //TBD insert z as dontcare (for print)
         rdata_masked = rdata & mask;
         rdata_masked = rdata & mask;
 
 
         if (expected_data !== rdata_masked)
         if (expected_data !== rdata_masked)
           $display("MASTER%0d: SCRBRD_ERROR: Address: 0x%0h, Expected: 0x%0h, Received: 0x%0h.\tTime: %0d ns.", MASTER_NUM, addr, expected_data, rdata, $time);
           $display("PREFIX_MASTER%0d: SCRBRD_ERROR: Address: 0x%0h, Expected: 0x%0h, Received: 0x%0h.\tTime: %0d ns.", MASTER_NUM, addr, expected_data, rdata, $time);
      end
      end
   endtask
   endtask
 
 
   always @(posedge scrbrd_enable)
   always @(posedge scrbrd_enable)
     begin
     begin

powered by: WebSVN 2.1.0

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