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

Subversion Repositories ahb_master

[/] [ahb_master/] [trunk/] [src/] [base/] [ic_wdata.v] - Blame information for rev 2

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

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

powered by: WebSVN 2.1.0

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