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

Subversion Repositories robust_axi2apb

[/] [robust_axi2apb/] [trunk/] [src/] [base/] [axi2apb.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
INCLUDE def_axi2apb.txt
2
  OUTFILE PREFIX_axi2apb.v
3
 
4
    ITER SX
5
      module  PREFIX_axi2apb (PORTS);
6
 
7
   input              clk;
8
   input              reset;
9
 
10
   port               GROUP_APB_AXI;
11
 
12
   //apb slaves
13
   output             penable;
14
   output             pwrite;
15
   output [ADDR_BITS-1:0] paddr;
16
   output [31:0]          pwdata;
17
 
18
   output                 pselSX;
19
 
20
   input [31:0]           prdataSX;
21
 
22
   input                  preadySX;
23
 
24
   input                  pslverrSX;
25
 
26
 
27
 
28
   wire                   GROUP_APB3;
29
 
30
   //outputs of cmd
31
   wire                   cmd_empty;
32
   wire                   cmd_read;
33
   wire [ID_BITS-1:0]     cmd_id;
34
   wire [ADDR_BITS-1:0]   cmd_addr;
35
   wire                   cmd_err;
36
 
37
   //outputs of rd / wr
38
   wire                   finish_wr;
39
   wire                   finish_rd;
40
 
41
 
42
   assign                 paddr  = cmd_addr;
43
   assign                 pwdata = WDATA;
44
 
45
 
46
   CREATE axi2apb_cmd.v
47
     PREFIX_axi2apb_cmd PREFIX_axi2apb_cmd(
48
                                           .clk(clk),
49
                                           .reset(reset),
50
                                           .AWGROUP_APB_AXI_A(AWGROUP_APB_AXI_A),
51
                                           .ARGROUP_APB_AXI_A(ARGROUP_APB_AXI_A),
52
                                           .finish_wr(finish_wr),
53
                                           .finish_rd(finish_rd),
54
                                           .cmd_empty(cmd_empty),
55
                                           .cmd_read(cmd_read),
56
                                           .cmd_id(cmd_id),
57
                                           .cmd_addr(cmd_addr),
58
                                           .cmd_err(cmd_err)
59
                                           );
60
 
61
 
62
   CREATE axi2apb_rd.v
63
     PREFIX_axi2apb_rd PREFIX_axi2apb_rd(
64
                                         .clk(clk),
65
                                         .reset(reset),
66
                                         .GROUP_APB3(GROUP_APB3),
67
                                         .cmd_err(cmd_err),
68
                                         .cmd_id(cmd_id),
69
                                         .finish_rd(finish_rd),
70
                                         .RGROUP_APB_AXI_R(RGROUP_APB_AXI_R),
71
                                         STOMP ,
72
                                         );
73
 
74
   CREATE axi2apb_wr.v
75
     PREFIX_axi2apb_wr PREFIX_axi2apb_wr(
76
                                         .clk(clk),
77
                                         .reset(reset),
78
                                         .GROUP_APB3(GROUP_APB3),
79
                                         .cmd_err(cmd_err),
80
                                         .cmd_id(cmd_id),
81
                                         .finish_wr(finish_wr),
82
                                         .WGROUP_APB_AXI_W(WGROUP_APB_AXI_W),
83
                                         .BGROUP_APB_AXI_B(BGROUP_APB_AXI_B),
84
                                         STOMP ,
85
                                         );
86
 
87
   CREATE axi2apb_mux.v
88
     PREFIX_axi2apb_mux PREFIX_axi2apb_mux(
89
                                           .clk(clk),
90
                                           .reset(reset),
91
                                           .cmd_addr(cmd_addr),
92
                                           .psel(psel),
93
                                           .prdata(prdata),
94
                                           .pready(pready),
95
                                           .pslverr(pslverr),
96
                                           .pselSX(pselSX),
97
                                           .preadySX(preadySX),
98
                                           .pslverrSX(pslverrSX),
99
                                           .prdataSX(prdataSX),
100
                                           STOMP ,
101
                                           );
102
 
103
 
104
   CREATE axi2apb_ctrl.v
105
     PREFIX_axi2apb_ctrl PREFIX_axi2apb_ctrl(
106
                                             .clk(clk),
107
                                             .reset(reset),
108
                                             .finish_wr(finish_wr),
109
                                             .finish_rd(finish_rd),
110
                                             .cmd_empty(cmd_empty),
111
                                             .cmd_read(cmd_read),
112
                                             .WVALID(WVALID),
113
                                             .psel(psel),
114
                                             .penable(penable),
115
                                             .pwrite(pwrite),
116
                                             .pready(pready)
117
                                             );
118
 
119
 
120
endmodule
121
 
122
 

powered by: WebSVN 2.1.0

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