summaryrefslogtreecommitdiff
path: root/rtl/top
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-10-06 21:06:20 -0600
committerAlejandro Soto <alejandro@34project.org>2023-10-06 21:06:20 -0600
commit363cbe7aea99400c25a6006bf5b28338cdadc611 (patch)
tree00dafef54a2d0b51f704134022dc1c7698756727 /rtl/top
parentf786c0f2f6f00cab2203de4a672801ca9c179415 (diff)
tb: implement ring test
Diffstat (limited to 'rtl/top')
-rw-r--r--rtl/top/test_ring.sv122
1 files changed, 122 insertions, 0 deletions
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