blob: 8b143db0ffa49201e1b10369294471b641d63703 [file] [log] [blame]
Tim Edwardsb86fc842020-10-13 17:11:54 -04001/*
2 *-------------------------------------------------------------
3 *
4 * user_project_wrapper
5 *
6 * This wrapper enumerates all of the pins available to the
7 * user for the user project.
8 *
9 * An example user project is provided in this wrapper. The
10 * example should be removed and replaced with the actual
11 * user project.
12 *
13 *-------------------------------------------------------------
14 */
15
16module user_project_wrapper #(
17 parameter IO_PADS = 37,
18 parameter PWR_PADS = 4,
19 parameter BITS = 32
20)(
21 inout vdda1, // User area 1 3.3V supply
22 inout vdda2, // User area 2 3.3V supply
23 inout vssa1, // User area 1 analog ground
24 inout vssa2, // User area 2 analog ground
25 inout vccd1, // User area 1 1.8V supply
26 inout vccd2, // User area 2 1.8v supply
27 inout vssd1, // User area 1 digital ground
28 inout vssd2, // User area 2 digital ground
29
30 // Wishbone Slave ports (WB MI A)
31 input wb_clk_i,
32 input wb_rst_i,
33 input wbs_stb_i,
34 input wbs_cyc_i,
35 input wbs_we_i,
36 input [3:0] wbs_sel_i,
37 input [31:0] wbs_dat_i,
38 input [31:0] wbs_adr_i,
39 output wbs_ack_o,
40 output [31:0] wbs_dat_o,
41
42 // Logic Analyzer Signals
43 input [127:0] la_data_in,
44 output [127:0] la_data_out,
45 input [127:0] la_oen,
46
47 // IOs
48 input [IO_PADS-1:0] io_in,
49 output [IO_PADS-1:0] io_out,
50 output [IO_PADS-1:0] io_oeb,
51
52 // Independent clock (on independent integer divider)
53 input user_clock2
54);
55
56 /*--------------------------------------*/
57 /* User project is instantiated here */
58 /*--------------------------------------*/
59
60 user_proj_example #(
61 .IO_PADS(`MPRJ_IO_PADS),
62 .PWR_PADS(`MPRJ_PWR_PADS)
63 ) mprj (
64 .vdda1(vdda1), // User area 1 3.3V power
65 .vdda2(vdda2), // User area 2 3.3V power
66 .vssa1(vssa1), // User area 1 analog ground
67 .vssa2(vssa2), // User area 2 analog ground
68 .vccd1(vccd1), // User area 1 1.8V power
69 .vccd2(vccd2), // User area 2 1.8V power
70 .vssd1(vssd1), // User area 1 digital ground
71 .vssd2(vssd2), // User area 2 digital ground
72
73 // MGMT core clock and reset
74
75 .wb_clk_i(wb_clk_i),
76 .wb_rst_i(wb_rst_i),
77
78 // MGMT SoC Wishbone Slave
79
80 .wbs_cyc_i(wbs_cyc_i),
81 .wbs_stb_i(wbs_stb_i),
82 .wbs_we_i(wbs_we_i),
83 .wbs_sel_i(wbs_sel_i),
84 .wbs_adr_i(wbs_adr_i),
85 .wbs_dat_i(wbs_dat_i),
86 .wbs_ack_o(wbs_ack_o),
87 .wbs_dat_o(wbs_dat_o),
88
89 // Logic Analyzer
90
91 .la_data_in(la_data_in),
92 .la_data_out(la_data_out),
93 .la_oen (la_oen),
94
95 // IO Pads
96
97 .io_in (io_in),
98 .io_out(io_out),
99 .io_oeb(io_oeb)
100 );
101
102endmodule // user_project_wrapper