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_wdata.v] - Blame information for rev 23

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 23 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 7 eyalhoc
 
30 16 eyalhoc
 
31 2 eyalhoc
OUTFILE PREFIX_ic_wdata.v
32
 
33
ITER MX
34
ITER SX
35
 
36
module PREFIX_ic_wdata (PORTS);
37
 
38
   parameter                              STRB_BITS  = DATA_BITS/8;
39
 
40 20 eyalhoc
   input                                  clk;
41
   input                                  reset;
42 2 eyalhoc
 
43 20 eyalhoc
   port                                   MMX_AWGROUP_IC_AXI_CMD;
44
   port                                   MMX_WGROUP_IC_AXI_W;
45
   revport                                SSX_WGROUP_IC_AXI_W;
46
   input                                  SSX_AWVALID;
47
   input                                  SSX_AWREADY;
48
   input [MSTR_BITS-1:0]                  SSX_AWMSTR;
49 2 eyalhoc
 
50
 
51 20 eyalhoc
   parameter                              WBUS_WIDTH = GONCAT(GROUP_IC_AXI_W.IN.WIDTH +);
52 2 eyalhoc
 
53
 
54 20 eyalhoc
   wire [WBUS_WIDTH-1:0]                  SSX_WBUS;
55 2 eyalhoc
 
56 20 eyalhoc
   wire [WBUS_WIDTH-1:0]                  MMX_WBUS;
57 2 eyalhoc
 
58 20 eyalhoc
   wire [SLV_BITS-1:0]                    MMX_WSLV;
59
   wire                                   MMX_WOK;
60 2 eyalhoc
 
61 20 eyalhoc
   wire                                   SSX_MMX;
62 2 eyalhoc
 
63
 
64
 
65
 
66
   CREATE ic_registry_wr.v def_ic.txt
67
   PREFIX_ic_registry_wr
68
     PREFIX_ic_registry_wr (
69
                            .clk(clk),
70
                            .reset(reset),
71
                            .MMX_AWSLV(MMX_AWSLV),
72
                            .MMX_AWID(MMX_AWID),
73
                            .MMX_AWVALID(MMX_AWVALID),
74
                            .MMX_AWREADY(MMX_AWREADY),
75
                            .MMX_WID(MMX_WID),
76
                            .MMX_WVALID(MMX_WVALID),
77
                            .MMX_WREADY(MMX_WREADY),
78
                            .MMX_WLAST(MMX_WLAST),
79
                            .MMX_WSLV(MMX_WSLV),
80
                            .MMX_WOK(MMX_WOK),
81 20 eyalhoc
                            .SSX_AWVALID(SSX_AWVALID),
82
                            .SSX_AWREADY(SSX_AWREADY),
83 2 eyalhoc
                            .SSX_AWMSTR(SSX_AWMSTR),
84 20 eyalhoc
                            .SSX_WVALID(SSX_WVALID),
85
                            .SSX_WREADY(SSX_WREADY),
86
                            .SSX_WLAST(SSX_WLAST),
87 2 eyalhoc
                            STOMP ,
88
                            );
89
 
90
 
91
 
92
   assign                               SSX_MMX  = (MMX_WSLV == 'dSX) & MMX_WOK & MMX_WVALID;
93
 
94
   assign                               MMX_WBUS = {GONCAT(MMX_WGROUP_IC_AXI_W.IN ,)};
95
 
96
   assign                               SSX_WBUS = CONCAT((MMX_WBUS & {WBUS_WIDTH{SSX_MMX}}) |);
97
 
98
   assign                               {GONCAT(SSX_WGROUP_IC_AXI_W.IN ,)} = SSX_WBUS;
99
 
100
LOOP MX
101
   assign                               MMX_WREADY =
102
                                        SSX_MMX ? SSX_WREADY :
103
                                        1'b0;
104
 
105
ENDLOOP MX
106
 
107
endmodule
108
 
109
 
110
 

powered by: WebSVN 2.1.0

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