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] - Blame information for rev 18

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 eyalhoc
<##//////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  Author: Eyal Hochberg                                      ////
4
////          eyal@provartec.com                                 ////
5
////                                                             ////
6
////  Downloaded from: http://www.opencores.org                  ////
7
/////////////////////////////////////////////////////////////////////
8
////                                                             ////
9
//// Copyright (C) 2010 Provartec LTD                            ////
10
//// www.provartec.com                                           ////
11
//// info@provartec.com                                          ////
12
////                                                             ////
13
//// This source file may be used and distributed without        ////
14
//// restriction provided that this copyright statement is not   ////
15
//// removed from the file and that any derivative work contains ////
16
//// the original copyright notice and the associated disclaimer.////
17
////                                                             ////
18
//// This source file is free software; you can redistribute it  ////
19
//// and/or modify it under the terms of the GNU Lesser General  ////
20
//// Public License as published by the Free Software Foundation.////
21
////                                                             ////
22
//// This source is distributed in the hope that it will be      ////
23
//// useful, but WITHOUT ANY WARRANTY; without even the implied  ////
24
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR     ////
25
//// PURPOSE.  See the GNU Lesser General Public License for more////
26
//// details. http://www.gnu.org/licenses/lgpl.html              ////
27
////                                                             ////
28
//////////////////////////////////////////////////////////////////##>
29
 
30 2 eyalhoc
OUTFILE PREFIX_ic.v
31 16 eyalhoc
INCLUDE def_ic.txt
32
 
33 2 eyalhoc
ITER MX
34
ITER SX SLAVE_NUM ##external slave ports don't include decerr slave
35
 
36 18 eyalhoc
VERIFY (GROUP_MMX_ID.NUM > 0) ##Master MX does not have group for AXI IDs
37 16 eyalhoc
 
38 18 eyalhoc
VERIFY(UNIQUE(GONCAT(GROUP_MMX_ID ,))) ##Master MX IDs are not unique
39
 
40
 
41 2 eyalhoc
module  PREFIX_ic (PORTS);
42
 
43
   input                                      clk;
44
   input                                      reset;
45
 
46
   port                                       MMX_GROUP_IC_AXI;
47
   revport                                    SSX_GROUP_IC_AXI;
48
ENDITER SX
49
ITER SX ##use global iterator
50
 
51
   wire [EXPR(SLV_BITS-1):0]                   MMX_AWSLV;
52
   wire [EXPR(SLV_BITS-1):0]                   MMX_ARSLV;
53
 
54
   wire [EXPR(MSTR_BITS-1):0]                  SSX_AWMSTR;
55
   wire [EXPR(MSTR_BITS-1):0]                  SSX_ARMSTR;
56
   wire                                       SSX_AWIDOK;
57
   wire                                       SSX_ARIDOK;
58
 
59
 
60
   CREATE ic_addr.v def_ic.txt
61
   PREFIX_ic_addr
62
   PREFIX_ic_addr_rd (.clk(clk),
63
                      .reset(reset),
64
                      .MMX_ASLV(MMX_ARSLV),
65
                      .MMX_AGROUP_IC_AXI_A(MMX_ARGROUP_IC_AXI_A),
66
                      .SSX_AMSTR(SSX_ARMSTR),
67
                      .SSX_AIDOK(SSX_ARIDOK),
68
                      .SSX_AGROUP_IC_AXI_A(SSX_ARGROUP_IC_AXI_A),
69
                      STOMP ,
70
                      );
71
 
72
 
73
   PREFIX_ic_addr
74
   PREFIX_ic_addr_wr (
75
                      .clk(clk),
76
                      .reset(reset),
77
                      .MMX_ASLV(MMX_AWSLV),
78
                      .MMX_AGROUP_IC_AXI_A(MMX_AWGROUP_IC_AXI_A),
79
                      .SSX_AMSTR(SSX_AWMSTR),
80
                      .SSX_AIDOK(SSX_AWIDOK),
81
                      .SSX_AGROUP_IC_AXI_A(SSX_AWGROUP_IC_AXI_A),
82
                      STOMP ,
83
                      );
84
 
85
 
86
   CREATE ic_resp.v def_ic.txt DEFCMD(SWAP CONST(RW) R)
87
   PREFIX_ic_resp
88
   PREFIX_ic_rresp (
89
                    .clk(clk),
90
                    .reset(reset),
91
                    .MMX_AGROUP_IC_AXI_CMD(MMX_ARGROUP_IC_AXI_CMD),
92
                    .MMX_GROUP_IC_AXI_R(MMX_RGROUP_IC_AXI_R),
93
                    .SSX_GROUP_IC_AXI_R(SSX_RGROUP_IC_AXI_R),
94
                    STOMP ,
95
                    );
96
 
97
 
98
   CREATE ic_wdata.v def_ic.txt
99
   PREFIX_ic_wdata
100
   PREFIX_ic_wdata (
101
                    .clk(clk),
102
                    .reset(reset),
103
                    .MMX_AWGROUP_IC_AXI_CMD(MMX_AWGROUP_IC_AXI_CMD),
104
                    .MMX_WGROUP_IC_AXI_W(MMX_WGROUP_IC_AXI_W),
105
                    .SSX_WGROUP_IC_AXI_W(SSX_WGROUP_IC_AXI_W),
106 16 eyalhoc
                    .SSX_AWVALID(SSX_AWVALID),
107
                    .SSX_AWREADY(SSX_AWREADY),
108 2 eyalhoc
                    .SSX_AWMSTR(SSX_AWMSTR),
109
                    STOMP ,
110
                    );
111
 
112
 
113
   CREATE ic_resp.v def_ic.txt DEFCMD(SWAP CONST(RW) W)
114
   PREFIX_ic_resp
115
   PREFIX_ic_bresp (
116
                    .clk(clk),
117
                    .reset(reset),
118
                    .MMX_AGROUP_IC_AXI_CMD(MMX_AWGROUP_IC_AXI_CMD),
119
                    .MMX_GROUP_IC_AXI_B(MMX_BGROUP_IC_AXI_B),
120
                    .MMX_DATA(),
121
                    .MMX_LAST(),
122
                    .SSX_GROUP_IC_AXI_B(SSX_BGROUP_IC_AXI_B),
123
                    .SSX_DATA({DATA_BITS{1'b0}}),
124
                    .SSX_LAST(1'b1),
125
                    STOMP ,
126
                    );
127
 
128
 
129
   IFDEF DEF_DECERR_SLV
130
     wire            SSERR_GROUP_IC_AXI;
131
 
132
   CREATE ic_decerr.v def_ic.txt
133
   PREFIX_ic_decerr
134
     PREFIX_ic_decerr (
135
                       .clk(clk),
136
                       .reset(reset),
137
                       .AWIDOK(SSERR_AWIDOK),
138
                       .ARIDOK(SSERR_ARIDOK),
139
                       .GROUP_IC_AXI(SSERR_GROUP_IC_AXI),
140
                       STOMP ,
141
                       );
142
   ENDIF DEF_DECERR_SLV
143
 
144
 
145
     endmodule
146
 
147
 
148
 

powered by: WebSVN 2.1.0

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