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

Subversion Repositories robust_axi_fabric

[/] [robust_axi_fabric/] [trunk/] [src/] [base/] [ic.v] - Diff between revs 18 and 19

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

Rev 18 Rev 19
Line 35... Line 35...
 
 
VERIFY (GROUP_MMX_ID.NUM > 0) ##Master MX does not have group for AXI IDs
VERIFY (GROUP_MMX_ID.NUM > 0) ##Master MX does not have group for AXI IDs
 
 
VERIFY(UNIQUE(GONCAT(GROUP_MMX_ID ,))) ##Master MX IDs are not unique
VERIFY(UNIQUE(GONCAT(GROUP_MMX_ID ,))) ##Master MX IDs are not unique
 
 
 
IF UNIQUE_ID VERIFY (UNIQUE(CONCAT(GONCAT(GROUP_MMX_ID ,) ,))) ##Masters IDs are not unique (Undefinig UNIQUE_ID will make IDs unique internally)
 
 
 
 
module  PREFIX_ic (PORTS);
module  PREFIX_ic (PORTS);
 
 
   input                                      clk;
   input                                      clk;
   input                                      reset;
   input                                      reset;
 
 
   port                                       MMX_GROUP_IC_AXI;
   port                                       MMX_GROUP_IC_AXI.PARAM(EXTRA_BITS 0);
   revport                                    SSX_GROUP_IC_AXI;
   revport                                    SSX_GROUP_IC_AXI.PARAM(EXTRA_BITS MSTR_BITS);
ENDITER SX
ENDITER SX
ITER SX ##use global iterator
ITER SX ##use global iterator
 
 
   wire [EXPR(SLV_BITS-1):0]                   MMX_AWSLV;
   wire [EXPR(SLV_BITS-1):0]                   MMX_AWSLV;
   wire [EXPR(SLV_BITS-1):0]                   MMX_ARSLV;
   wire [EXPR(SLV_BITS-1):0]                   MMX_ARSLV;
Line 55... Line 57...
   wire [EXPR(MSTR_BITS-1):0]                  SSX_ARMSTR;
   wire [EXPR(MSTR_BITS-1):0]                  SSX_ARMSTR;
   wire                                       SSX_AWIDOK;
   wire                                       SSX_AWIDOK;
   wire                                       SSX_ARIDOK;
   wire                                       SSX_ARIDOK;
 
 
 
 
   CREATE ic_addr.v def_ic.txt
IFDEF UNIQUE_ID
 
   wire [EXPR(MSTR_ID_BITS-1):0]              MMX_AWID_FULL;
 
   wire [EXPR(MSTR_ID_BITS-1):0]              MMX_ARID_FULL;
 
   wire [EXPR(MSTR_ID_BITS-1):0]              MMX_WID_FULL;
 
   wire [EXPR(MSTR_ID_BITS-1):0]              MMX_BID_FULL;
 
   wire [EXPR(MSTR_ID_BITS-1):0]              MMX_RID_FULL;
 
 
 
   assign                                     MMX_AWID_FULL = MMX_AWID;
 
   assign                                     MMX_WID_FULL  = MMX_WID;
 
   assign                                     MMX_ARID_FULL = MMX_ARID;
 
   assign                                     MMX_RID       = MMX_RID_FULL;
 
   assign                                     MMX_BID       = MMX_BID_FULL;
 
ELSE UNIQUE_ID
 
 
 
   wire [EXPR(MSTR_ID_BITS+MSTR_BITS-1):0]    MMX_AWID_FULL;
 
   wire [EXPR(MSTR_ID_BITS+MSTR_BITS-1):0]    MMX_WID_FULL;
 
   wire [EXPR(MSTR_ID_BITS+MSTR_BITS-1):0]    MMX_BID_FULL;
 
   wire [EXPR(MSTR_ID_BITS+MSTR_BITS-1):0]    MMX_ARID_FULL;
 
   wire [EXPR(MSTR_ID_BITS+MSTR_BITS-1):0]    MMX_RID_FULL;
 
 
 
   assign                                     MMX_AWID_FULL = {BIN(MX MSTR_BITS), MMX_AWID};
 
   assign                                     MMX_WID_FULL  = {BIN(MX MSTR_BITS), MMX_WID};
 
   assign                                     MMX_ARID_FULL = {BIN(MX MSTR_BITS), MMX_ARID};
 
 
 
   assign                                     MMX_RID[MSTR_ID_BITS-1:0] = MMX_RID_FULL;
 
   assign                                     MMX_BID[MSTR_ID_BITS-1:0] = MMX_BID_FULL;
 
ENDIF UNIQUE_ID
 
 
 
 
 
   CREATE ic_addr.v def_ic.txt DEFCMD(SWAP.GLOBAL EXTRA_BITS MSTR_BITS)
   PREFIX_ic_addr
   PREFIX_ic_addr
   PREFIX_ic_addr_rd (.clk(clk),
   PREFIX_ic_addr_rd (.clk(clk),
                      .reset(reset),
                      .reset(reset),
                      .MMX_ASLV(MMX_ARSLV),
                      .MMX_ASLV(MMX_ARSLV),
                      .MMX_AGROUP_IC_AXI_A(MMX_ARGROUP_IC_AXI_A),
                      .MMX_AID(MMX_ARID_FULL),
 
                      .MMX_AGROUP_IC_AXI_A.SON(CHANGE!=1)(MMX_ARGROUP_IC_AXI_A),
                      .SSX_AMSTR(SSX_ARMSTR),
                      .SSX_AMSTR(SSX_ARMSTR),
                      .SSX_AIDOK(SSX_ARIDOK),
                      .SSX_AIDOK(SSX_ARIDOK),
                      .SSX_AGROUP_IC_AXI_A(SSX_ARGROUP_IC_AXI_A),
                      .SSX_AGROUP_IC_AXI_A(SSX_ARGROUP_IC_AXI_A),
                      STOMP ,
                      STOMP ,
                      );
                      );
Line 73... Line 105...
   PREFIX_ic_addr
   PREFIX_ic_addr
   PREFIX_ic_addr_wr (
   PREFIX_ic_addr_wr (
                      .clk(clk),
                      .clk(clk),
                      .reset(reset),
                      .reset(reset),
                      .MMX_ASLV(MMX_AWSLV),
                      .MMX_ASLV(MMX_AWSLV),
                      .MMX_AGROUP_IC_AXI_A(MMX_AWGROUP_IC_AXI_A),
                      .MMX_AID(MMX_AWID_FULL),
 
                      .MMX_AGROUP_IC_AXI_A.SON(CHANGE!=1)(MMX_AWGROUP_IC_AXI_A),
                      .SSX_AMSTR(SSX_AWMSTR),
                      .SSX_AMSTR(SSX_AWMSTR),
                      .SSX_AIDOK(SSX_AWIDOK),
                      .SSX_AIDOK(SSX_AWIDOK),
                      .SSX_AGROUP_IC_AXI_A(SSX_AWGROUP_IC_AXI_A),
                      .SSX_AGROUP_IC_AXI_A(SSX_AWGROUP_IC_AXI_A),
                      STOMP ,
                      STOMP ,
                      );
                      );
 
 
 
 
   CREATE ic_resp.v def_ic.txt DEFCMD(SWAP CONST(RW) R)
   CREATE ic_resp.v def_ic.txt DEFCMD(SWAP CONST(RW) R) DEFCMD(SWAP.GLOBAL EXTRA_BITS MSTR_BITS)
   PREFIX_ic_resp
   PREFIX_ic_resp
   PREFIX_ic_rresp (
   PREFIX_ic_rresp (
                    .clk(clk),
                    .clk(clk),
                    .reset(reset),
                    .reset(reset),
                    .MMX_AGROUP_IC_AXI_CMD(MMX_ARGROUP_IC_AXI_CMD),
                    .MMX_AID(MMX_ARID_FULL),
                    .MMX_GROUP_IC_AXI_R(MMX_RGROUP_IC_AXI_R),
                    .MMX_ID(MMX_RID_FULL),
 
                    .MMX_AGROUP_IC_AXI_CMD.SON(CHANGE!=1)(MMX_ARGROUP_IC_AXI_CMD),
 
                    .MMX_GROUP_IC_AXI_R.SON(CHANGE!=1)(MMX_RGROUP_IC_AXI_R),
                    .SSX_GROUP_IC_AXI_R(SSX_RGROUP_IC_AXI_R),
                    .SSX_GROUP_IC_AXI_R(SSX_RGROUP_IC_AXI_R),
                    STOMP ,
                    STOMP ,
                    );
                    );
 
 
 
 
   CREATE ic_wdata.v def_ic.txt
   CREATE ic_wdata.v def_ic.txt DEFCMD(SWAP.GLOBAL EXTRA_BITS MSTR_BITS)
   PREFIX_ic_wdata
   PREFIX_ic_wdata
   PREFIX_ic_wdata (
   PREFIX_ic_wdata (
                    .clk(clk),
                    .clk(clk),
                    .reset(reset),
                    .reset(reset),
                    .MMX_AWGROUP_IC_AXI_CMD(MMX_AWGROUP_IC_AXI_CMD),
                    .MMX_AWID(MMX_AWID_FULL),
                    .MMX_WGROUP_IC_AXI_W(MMX_WGROUP_IC_AXI_W),
                    .MMX_WID(MMX_WID_FULL),
 
                    .MMX_AWGROUP_IC_AXI_CMD.SON(CHANGE!=1)(MMX_AWGROUP_IC_AXI_CMD),
 
                    .MMX_WGROUP_IC_AXI_W.SON(CHANGE!=1)(MMX_WGROUP_IC_AXI_W),
                    .SSX_WGROUP_IC_AXI_W(SSX_WGROUP_IC_AXI_W),
                    .SSX_WGROUP_IC_AXI_W(SSX_WGROUP_IC_AXI_W),
                    .SSX_AWVALID(SSX_AWVALID),
                    .SSX_AWVALID(SSX_AWVALID),
                    .SSX_AWREADY(SSX_AWREADY),
                    .SSX_AWREADY(SSX_AWREADY),
                    .SSX_AWMSTR(SSX_AWMSTR),
                    .SSX_AWMSTR(SSX_AWMSTR),
                    STOMP ,
                    STOMP ,
                    );
                    );
 
 
 
 
   CREATE ic_resp.v def_ic.txt DEFCMD(SWAP CONST(RW) W)
   CREATE ic_resp.v def_ic.txt DEFCMD(SWAP CONST(RW) W) DEFCMD(SWAP.GLOBAL EXTRA_BITS MSTR_BITS)
   PREFIX_ic_resp
   PREFIX_ic_resp
   PREFIX_ic_bresp (
   PREFIX_ic_bresp (
                    .clk(clk),
                    .clk(clk),
                    .reset(reset),
                    .reset(reset),
                    .MMX_AGROUP_IC_AXI_CMD(MMX_AWGROUP_IC_AXI_CMD),
                    .MMX_AID(MMX_AWID_FULL),
                    .MMX_GROUP_IC_AXI_B(MMX_BGROUP_IC_AXI_B),
                    .MMX_ID(MMX_BID_FULL),
 
                    .MMX_AGROUP_IC_AXI_CMD.SON(CHANGE!=1)(MMX_AWGROUP_IC_AXI_CMD),
 
                    .MMX_GROUP_IC_AXI_B.SON(CHANGE!=1)(MMX_BGROUP_IC_AXI_B),
                    .MMX_DATA(),
                    .MMX_DATA(),
                    .MMX_LAST(),
                    .MMX_LAST(),
                    .SSX_GROUP_IC_AXI_B(SSX_BGROUP_IC_AXI_B),
                    .SSX_GROUP_IC_AXI_B(SSX_BGROUP_IC_AXI_B),
                    .SSX_DATA({DATA_BITS{1'b0}}),
                    .SSX_DATA({DATA_BITS{1'b0}}),
                    .SSX_LAST(1'b1),
                    .SSX_LAST(1'b1),
Line 127... Line 166...
 
 
 
 
   IFDEF DEF_DECERR_SLV
   IFDEF DEF_DECERR_SLV
     wire            SSERR_GROUP_IC_AXI;
     wire            SSERR_GROUP_IC_AXI;
 
 
   CREATE ic_decerr.v def_ic.txt
   CREATE ic_decerr.v def_ic.txt DEFCMD(SWAP.GLOBAL EXTRA_BITS MSTR_BITS)
   PREFIX_ic_decerr
   PREFIX_ic_decerr
     PREFIX_ic_decerr (
     PREFIX_ic_decerr (
                       .clk(clk),
                       .clk(clk),
                       .reset(reset),
                       .reset(reset),
                       .AWIDOK(SSERR_AWIDOK),
                       .AWIDOK(SSERR_AWIDOK),

powered by: WebSVN 2.1.0

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