From 363cbe7aea99400c25a6006bf5b28338cdadc611 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Fri, 6 Oct 2023 21:06:20 -0600 Subject: tb: implement ring test --- rtl/top/test_ring.sv | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 rtl/top/test_ring.sv (limited to 'rtl') diff --git a/rtl/top/test_ring.sv b/rtl/top/test_ring.sv new file mode 100644 index 0000000..0011853 --- /dev/null +++ b/rtl/top/test_ring.sv @@ -0,0 +1,122 @@ +`include "cache/defs.sv" + +module test_ring +( + input logic clk, + rst_n +); + + logic data_0_valid, data_1_valid, data_2_valid, data_3_valid, + data_0_ready, data_1_ready, data_2_ready, data_3_ready; + + ring_req data_0, data_1, data_2, data_3; + + cache_ring segment_0 + ( + .core_tag(), + .core_index(), + .data_rd(), + + .send(), + .send_read(), + .send_inval(), + .set_reply(), + + .in_data(data_3), + .in_data_ready(data_3_ready), + .in_data_valid(data_3_valid), + + .out_data(data_0), + .out_data_ready(data_0_ready), + .out_data_valid(data_0_valid), + + .in_hold(), + .in_hold_valid(), + .last_hop(), + .out_stall(), + + .* + ); + + cache_ring segment_1 + ( + .core_tag(), + .core_index(), + .data_rd(), + + .send(), + .send_read(), + .send_inval(), + .set_reply(), + + .in_data(data_0), + .in_data_ready(data_0_ready), + .in_data_valid(data_0_valid), + + .out_data(data_1), + .out_data_ready(data_1_ready), + .out_data_valid(data_1_valid), + + .in_hold(), + .in_hold_valid(), + .last_hop(), + .out_stall(), + + .* + ); + + cache_ring segment_2 + ( + .core_tag(), + .core_index(), + .data_rd(), + + .send(), + .send_read(), + .send_inval(), + .set_reply(), + + .in_data(data_1), + .in_data_ready(data_1_ready), + .in_data_valid(data_1_valid), + + .out_data(data_2), + .out_data_ready(data_2_ready), + .out_data_valid(data_2_valid), + + .in_hold(), + .in_hold_valid(), + .last_hop(), + .out_stall(), + + .* + ); + + cache_ring segment_3 + ( + .core_tag(), + .core_index(), + .data_rd(), + + .send(), + .send_read(), + .send_inval(), + .set_reply(), + + .in_data(data_2), + .in_data_ready(data_2_ready), + .in_data_valid(data_2_valid), + + .out_data(data_3), + .out_data_ready(data_3_ready), + .out_data_valid(data_3_valid), + + .in_hold(), + .in_hold_valid(), + .last_hop(), + .out_stall(), + + .* + ); + +endmodule -- cgit v1.2.3