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 2 and 6

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

Rev 2 Rev 6
Line 391... Line 391...
           begin
           begin
              bytes = 1'b1 << size;
              bytes = 1'b1 << size;
              wdata_cnt = valid_cnt+(addr[DATA_LOG-1:0]/bytes);
              wdata_cnt = valid_cnt+(addr[DATA_LOG-1:0]/bytes);
              data_cnt  = ((wdata_cnt)/(DATA_BITS/(bytes*8))) * (DATA_BITS/8);
              data_cnt  = ((wdata_cnt)/(DATA_BITS/(bytes*8))) * (DATA_BITS/8);
              add_data  = {DATA_BITS/8{data_cnt}};
              add_data  = {DATA_BITS/8{data_cnt}};
              next_data = base_data + add_data;
              next_data = (use_addr_base ? addr : base_data) + add_data;
              insert_wr_data(next_data);
              insert_wr_data(next_data);
              valid_cnt = valid_cnt+1;
              valid_cnt = valid_cnt+1;
           end
           end
         //insert command
         //insert command
         insert_wr_cmd(addr, len, size);
         insert_wr_cmd(addr, len, size);
Line 440... Line 440...
           begin
           begin
              bytes = 1'b1 << size;
              bytes = 1'b1 << size;
              wdata_cnt = valid_cnt+(addr[DATA_LOG-1:0]/bytes);
              wdata_cnt = valid_cnt+(addr[DATA_LOG-1:0]/bytes);
              data_cnt  = ((wdata_cnt)/(DATA_BITS/(bytes*8))) * (DATA_BITS/8);
              data_cnt  = ((wdata_cnt)/(DATA_BITS/(bytes*8))) * (DATA_BITS/8);
              add_data  = {DATA_BITS/8{data_cnt}};
              add_data  = {DATA_BITS/8{data_cnt}};
              next_data = base_data + add_data;
              next_data = (use_addr_base ? addr : base_data) + add_data;
              next_addr = addr + (bytes * valid_cnt);
              next_addr = addr + (bytes * valid_cnt);
              strb = (1 << (bytes*8)) - 1;
              strb = (1 << (bytes*8)) - 1;
              mask = strb << (next_addr[DATA_LOG-1:0]*8);
              mask = strb << (next_addr[DATA_LOG-1:0]*8);
              insert_scrbrd(next_addr, next_data, mask);
              insert_scrbrd(next_addr, next_data, mask);
              valid_cnt = valid_cnt+1;
              valid_cnt = valid_cnt+1;
Line 613... Line 613...
      begin
      begin
         read_single_ack(addr, rdata, resp);
         read_single_ack(addr, rdata, resp);
      end
      end
   endtask
   endtask
 
 
 
   task check_single;
 
      input [ADDR_BITS-1:0]  addr;
 
      input [DATA_BITS-1:0]  expected;
 
 
 
      reg [1:0] resp;
 
      reg [DATA_BITS-1:0] rdata;
 
      begin
 
         read_single_ack(addr, rdata, resp);
 
         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);
 
      end
 
   endtask
 
 
 
   task write_and_check_single;
 
      input [ADDR_BITS-1:0]  addr;
 
      input [DATA_BITS-1:0]  data;
 
 
 
      begin
 
         write_single(addr, data);
 
         check_single(addr, data);
 
      end
 
   endtask
 
 
   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;
 
 
      reg [1:0] resp;
      reg [1:0] resp;

powered by: WebSVN 2.1.0

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