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

Subversion Repositories axi_slave

[/] [axi_slave/] [trunk/] [src/] [base/] [axi_slave_ram.v] - Diff between revs 2 and 10

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

Rev 2 Rev 10
Line 40... Line 40...
 
 
   port                       GROUP_STUB_MEM;
   port                       GROUP_STUB_MEM;
 
 
 
 
   //busy
   //busy
   wire                       ARREADY_pre;
   wire                       ARBUSY;
   wire                       RVALID_pre;
 
   wire                       AWREADY_pre;
 
   wire                       WREADY_pre;
 
   wire                       BVALID_pre;
 
   wire                       RBUSY;
   wire                       RBUSY;
 
   wire                       AWBUSY;
 
   wire                       WBUSY;
   wire                       BBUSY;
   wire                       BBUSY;
 
 
   //wcmd fifo
   //wcmd fifo
   wire [ADDR_BITS-1:0]       wcmd_addr;
   wire [ADDR_BITS-1:0]       wcmd_addr;
   wire [ID_BITS-1:0]          wcmd_id;
   wire [ID_BITS-1:0]          wcmd_id;
   wire [1:0]                  wcmd_size;
   wire [SIZE_BITS-1:0]       wcmd_size;
   wire [LEN_BITS-1:0]        wcmd_len;
   wire [LEN_BITS-1:0]        wcmd_len;
   wire [1:0]                  wcmd_resp;
   wire [1:0]                  wcmd_resp;
   wire                       wcmd_timeout;
   wire                       wcmd_timeout;
   wire                       wcmd_ready;
   wire                       wcmd_ready;
   wire                       wcmd_empty;
   wire                       wcmd_empty;
   wire                       wcmd_full;
   wire                       wcmd_full;
 
 
   //rcmd fifo
   //rcmd fifo
   wire [ADDR_BITS-1:0]       rcmd_addr;
   wire [ADDR_BITS-1:0]       rcmd_addr;
   wire [ID_BITS-1:0]          rcmd_id;
   wire [ID_BITS-1:0]          rcmd_id;
   wire [1:0]                  rcmd_size;
   wire [SIZE_BITS-1:0]    rcmd_size;
   wire [LEN_BITS-1:0]        rcmd_len;
   wire [LEN_BITS-1:0]        rcmd_len;
   wire [1:0]                  rcmd_resp;
   wire [1:0]                  rcmd_resp;
   wire                       rcmd_timeout;
   wire                       rcmd_timeout;
   wire                       rcmd_ready;
   wire                       rcmd_ready;
 
   wire                       rcmd_empty;
   wire                       rcmd_full;
   wire                       rcmd_full;
 
 
   wire [ID_BITS-1:0]          rcmd_id2;
   wire [ID_BITS-1:0]          rcmd_id2;
   wire [LEN_BITS-1:0]        rcmd_len2;
   wire [LEN_BITS-1:0]        rcmd_len2;
 
 
Line 86... Line 85...
   wire                       RD_last;
   wire                       RD_last;
 
 
   assign                     RID   = rcmd_id2;
   assign                     RID   = rcmd_id2;
 
 
 
 
   assign                     ARREADY_pre = (~rcmd_full) & (~AR_stall);
   assign                     ARREADY = ((~rcmd_full) & (~AR_stall) & (~ARBUSY)) || (~ARVALID);
   assign                     AWREADY_pre = (~wcmd_full) & (~AW_stall);
   assign                     AWREADY = ((~wcmd_full) & (~AW_stall) & (~AWBUSY)) || (~AWVALID);
   assign                     BVALID_pre  = (~wresp_timeout) & (wresp_pending ? (~wresp_empty) : (~wresp_empty) & (~BBUSY));
   assign                     BVALID  = (~wresp_timeout) & (wresp_pending ? (~wresp_empty) : (~wresp_empty) & (~BBUSY));
 
 
   CREATE axi_slave_busy.v
   CREATE axi_slave_busy.v
   PREFIX_busy
   PREFIX_busy
     PREFIX_busy (
     PREFIX_busy (
                   .clk(clk),
                   .clk(clk),
                   .reset(reset),
                   .reset(reset),
                   .ARREADY_pre(ARREADY_pre),
                   .ARBUSY(ARBUSY),
                   .RVALID_pre(RVALID_pre),
 
                   .AWREADY_pre(AWREADY_pre),
 
                   .WREADY_pre(WREADY_pre),
 
                   .BVALID_pre(BVALID_pre),
 
                   .ARREADY(ARREADY),
 
                   .RVALID(RVALID),
 
                   .AWREADY(AWREADY),
 
                   .WREADY(WREADY),
 
                   .BVALID(BVALID),
 
                   .RBUSY(RBUSY),
                   .RBUSY(RBUSY),
 
                   .AWBUSY(AWBUSY),
 
                   .WBUSY(WBUSY),
                   .BBUSY(BBUSY)
                   .BBUSY(BBUSY)
                   );
                   );
 
 
   CREATE axi_slave_cmd_fifo.v
   CREATE axi_slave_cmd_fifo.v
   PREFIX_cmd_fifo #(WCMD_DEPTH)
   PREFIX_cmd_fifo #(WCMD_DEPTH)
Line 179... Line 171...
                       .cmd_size(),
                       .cmd_size(),
                       .cmd_len(rcmd_len2),
                       .cmd_len(rcmd_len2),
                       .cmd_resp(),
                       .cmd_resp(),
                       .cmd_timeout(),
                       .cmd_timeout(),
                       .cmd_ready(),
                       .cmd_ready(),
                       .cmd_empty(),
                       .cmd_empty(rcmd_empty),
                       .cmd_full(rcmd_full)
                       .cmd_full(rcmd_full)
                       );
                       );
 
 
   CREATE axi_slave_wresp_fifo.v
   CREATE axi_slave_wresp_fifo.v
   PREFIX_wresp_fifo #(WCMD_DEPTH)
   PREFIX_wresp_fifo #(WCMD_DEPTH)
Line 229... Line 221...
                          .restart(RD_last),
                          .restart(RD_last),
                          .ADDR(ADDR_RD)
                          .ADDR(ADDR_RD)
                          );
                          );
 
 
   CREATE axi_slave_rd_buff.v
   CREATE axi_slave_rd_buff.v
   PREFIX_rd_buff #(DATA_BITS, ID_BITS)
   PREFIX_rd_buff
   PREFIX_rd_buff(
   PREFIX_rd_buff(
                   .clk(clk),
                   .clk(clk),
                   .reset(reset),
                   .reset(reset),
                   .RD(RD),
                   .RD(RD),
                   .DOUT(DOUT),
                   .DOUT(DOUT),
                   .rcmd_len(rcmd_len),
                   .rcmd_len(rcmd_len),
                   .rcmd_len2(rcmd_len2),
                   .rcmd_len2(rcmd_len2),
                   .rcmd_resp(rcmd_resp),
                   .rcmd_resp(rcmd_resp),
                   .rcmd_timeout(rcmd_timeout),
                   .rcmd_timeout(rcmd_timeout),
                   .rcmd_ready(rcmd_ready),
                   .rcmd_ready(rcmd_ready),
                   .RVALID(RVALID_pre),
                   .RVALID(RVALID),
                   .RREADY(RREADY),
                   .RREADY(RREADY),
                   .RLAST(RLAST),
                   .RLAST(RLAST),
                   .RDATA(RDATA),
                   .RDATA(RDATA),
                   .RD_last(RD_last),
                   .RD_last(RD_last),
                   .RRESP(RRESP),
                   .RRESP(RRESP),
                   .RBUSY(RBUSY)
                   .RBUSY(RBUSY)
                   );
                   );
 
 
   //wr_buff
   //wr_buff
   assign                     WREADY_pre = (~wcmd_timeout) & (~wcmd_empty);
   assign                     WREADY = (~wcmd_timeout) & (~wcmd_empty) & (~WBUSY);
   assign                     WR         = WVALID & WREADY & (~wcmd_empty);
   assign                     WR         = WVALID & WREADY & (~wcmd_empty);
   assign                     DIN        = WDATA;
   assign                     DIN        = WDATA;
   assign                     BSEL       = WSTRB;
   assign                     BSEL       = WSTRB;
 
 
 
 

powered by: WebSVN 2.1.0

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