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 2

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

Line No. Rev Author Line
1 2 eyalhoc
OUTFILE PREFIX_ic_wdata.v
2
 
3
ITER MX
4
ITER SX
5
 
6
module PREFIX_ic_wdata (PORTS);
7
 
8
   parameter                              STRB_BITS  = DATA_BITS/8;
9
 
10
   input                                      clk;
11
   input                                      reset;
12
 
13
   port                                       MMX_AWGROUP_IC_AXI_CMD;
14
   port                                       MMX_WGROUP_IC_AXI_W;
15
   revport                                    SSX_WGROUP_IC_AXI_W;
16
   input                                      SSX_AWVALID;
17
   input                                      SSX_AWREADY;
18
   input [MSTR_BITS-1:0]      SSX_AWMSTR;
19
 
20
 
21
   parameter                              WBUS_WIDTH = GONCAT(GROUP_IC_AXI_W.IN.WIDTH +);
22
 
23
 
24
   wire [WBUS_WIDTH-1:0]           SSX_WBUS;
25
 
26
   wire [WBUS_WIDTH-1:0]           MMX_WBUS;
27
 
28
   wire [SLV_BITS-1:0]             MMX_WSLV;
29
   wire                                       MMX_WOK;
30
 
31
   wire                                       SSX_MMX;
32
 
33
 
34
 
35
 
36
   CREATE ic_registry_wr.v def_ic.txt
37
   PREFIX_ic_registry_wr
38
     PREFIX_ic_registry_wr (
39
                            .clk(clk),
40
                            .reset(reset),
41
                            .MMX_AWSLV(MMX_AWSLV),
42
                            .MMX_AWID(MMX_AWID),
43
                            .MMX_AWVALID(MMX_AWVALID),
44
                            .MMX_AWREADY(MMX_AWREADY),
45
                            .MMX_WID(MMX_WID),
46
                            .MMX_WVALID(MMX_WVALID),
47
                            .MMX_WREADY(MMX_WREADY),
48
                            .MMX_WLAST(MMX_WLAST),
49
                            .MMX_WSLV(MMX_WSLV),
50
                            .MMX_WOK(MMX_WOK),
51
                        .SSX_AWVALID(SSX_AWVALID),
52
                        .SSX_AWREADY(SSX_AWREADY),
53
                            .SSX_AWMSTR(SSX_AWMSTR),
54
                        .SSX_WVALID(SSX_WVALID),
55
                        .SSX_WREADY(SSX_WREADY),
56
                        .SSX_WLAST(SSX_WLAST),
57
                            STOMP ,
58
                            );
59
 
60
 
61
 
62
   assign                               SSX_MMX  = (MMX_WSLV == 'dSX) & MMX_WOK & MMX_WVALID;
63
 
64
   assign                               MMX_WBUS = {GONCAT(MMX_WGROUP_IC_AXI_W.IN ,)};
65
 
66
   assign                               SSX_WBUS = CONCAT((MMX_WBUS & {WBUS_WIDTH{SSX_MMX}}) |);
67
 
68
   assign                               {GONCAT(SSX_WGROUP_IC_AXI_W.IN ,)} = SSX_WBUS;
69
 
70
LOOP MX
71
   assign                               MMX_WREADY =
72
                                        SSX_MMX ? SSX_WREADY :
73
                                        1'b0;
74
 
75
ENDLOOP MX
76
 
77
endmodule
78
 
79
 
80
 

powered by: WebSVN 2.1.0

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