1//
2// Copyright 2011 Ettus Research LLC
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program.  If not, see <http://www.gnu.org/licenses/>.
16//
17
18
19module buffer_pool_tb();
20
21   wire wb_clk_i;
22   wire wb_rst_i;
23   wire wb_we_i;
24   wire wb_stb_i;
25   wire [15:0] wb_adr_i;
26   wire [31:0] wb_dat_i;
27   wire [31:0] wb_dat_o;
28   wire wb_ack_o;
29   wire wb_err_o;
30   wire wb_rty_o;
31
32   wire stream_clk, stream_rst;
33
34   wire set_stb;
35   wire [7:0] set_addr;
36   wire [31:0] set_data;
37
38   wire [31:0] wr0_data, wr1_data, wr2_data, wr3_data;
39   wire [31:0] rd0_data, rd1_data, rd2_data, rd3_data;
40   wire [3:0]  wr0_flags, wr1_flags, wr2_flags, wr3_flags;
41   wire [3:0]  rd0_flags, rd1_flags, rd2_flags, rd3_flags;
42   wire        wr0_ready, wr1_ready, wr2_ready, wr3_ready;
43   wire        rd0_ready, rd1_ready, rd2_ready, rd3_ready;
44   wire        wr0_write, wr1_write, wr2_write, wr3_write;
45   wire        rd0_read, rd1_read, rd2_read, rd3_read;
46
47   buffer_pool dut
48     (.wb_clk_i(wb_clk_i),
49      .wb_rst_i(wb_rst_i),
50      .wb_we_i(wb_we_i),
51      .wb_stb_i(wb_stb_i),
52      .wb_adr_i(wb_adr_i),
53      .wb_dat_i(wb_dat_i),
54      .wb_dat_o(wb_dat_o),
55      .wb_ack_o(wb_ack_o),
56      .wb_err_o(wb_err_o),
57      .wb_rty_o(wb_rty_o),
58
59      .stream_clk(stream_clk),
60      .stream_rst(stream_rst),
61
62      .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
63
64      .wr0_data_i(wr0_data), .wr0_write_i(wr0_write), .wr0_flags_i(wr0_flags), .wr0_ready_o(wr0_ready),
65      .wr1_data_i(wr1_data), .wr1_write_i(wr1_write), .wr1_flags_i(wr1_flags), .wr1_ready_o(wr1_ready),
66      .wr2_data_i(wr2_data), .wr2_write_i(wr2_write), .wr2_flags_i(wr2_flags), .wr2_ready_o(wr2_ready),
67      .wr3_data_i(wr3_data), .wr3_write_i(wr3_write), .wr3_flags_i(wr3_flags), .wr3_ready_o(wr3_ready),
68
69      .rd0_data_o(rd0_data), .rd0_read_i(rd0_read), .rd0_flags_o(rd0_flags), .rd0_ready_o(rd0_ready),
70      .rd1_data_o(rd1_data), .rd1_read_i(rd1_read), .rd1_flags_o(rd1_flags), .rd1_ready_o(rd1_ready),
71      .rd2_data_o(rd2_data), .rd2_read_i(rd2_read), .rd2_flags_o(rd2_flags), .rd2_ready_o(rd2_ready),
72      .rd3_data_o(rd3_data), .rd3_read_i(rd3_read), .rd3_flags_o(rd3_flags), .rd3_ready_o(rd3_ready)
73      );
74
75endmodule // buffer_pool_tb
76