@@ -21,6 +21,8 @@ module cgra_test
2121
2222 MeshMultiCgraRTL__explicit MultiCGRA (.*);
2323
24+ int PASS;
25+
2426 initial
2527 begin
2628 $display ("\n TEST begin\n " );
@@ -1198,6 +1200,9 @@ typedef struct packed {
11981200
11991201 #3000
12001202
1203+ if (PASS) $display ("TEST PASSED." );
1204+ else $display ("TEST FAILED." );
1205+
12011206 $display ("#########cgra 0 tile 0 cnst mem#################" );
12021207 for (int i = 0 ; i < 512 ; i++ )
12031208 begin
@@ -1323,41 +1328,45 @@ typedef struct packed {
13231328 $display("%t: cgra0datamem wdata3 ready %d val %d", $time, MultiCGRA.cgra__0.data_mem.recv_wdata__rdy[3], MultiCGRA.cgra__0.data_mem.recv_wdata__val[3]);
13241329 */
13251330 // $display("%t: init_mem_done %d", $time, MultiCGRA.cgra__0.data_mem.init_mem_done);
1326- $display ("%t: cgra0datamem waddr0 ready %d val %d" , $time , MultiCGRA.cgra__0.data_mem.recv_waddr__rdy[0 ], MultiCGRA.cgra__0.data_mem.recv_waddr__val[0 ]);
1327- $display ("%t: cgra0datamem wdata0 ready %d val %d" , $time , MultiCGRA.cgra__0.data_mem.recv_wdata__rdy[0 ], MultiCGRA.cgra__0.data_mem.recv_wdata__val[0 ]);
1331+ // $display("%t: cgra0datamem waddr0 ready %d val %d", $time, MultiCGRA.cgra__0.data_mem.recv_waddr__rdy[0], MultiCGRA.cgra__0.data_mem.recv_waddr__val[0]);
1332+ // / $display("%t: cgra0datamem wdata0 ready %d val %d", $time, MultiCGRA.cgra__0.data_mem.recv_wdata__rdy[0], MultiCGRA.cgra__0.data_mem.recv_wdata__val[0]);
13281333 // $display("%t: cgra0rf0 wen %d", $time, MultiCGRA.cgra__0.data_mem.reg_file__wen[0][0]);
13291334 // $display("%t: cgra0rf1 wen %d", $time, MultiCGRA.cgra__0.data_mem.reg_file__wen[1][0]);
1330- $display ("%t: c0t1 ctrl mem 101 reg %d c0t1 ctrl mem 102 reg %d" , $time , MultiCGRA.cgra__0.tile__1.ctrl_mem.ctrl_count_per_iter_val, MultiCGRA.cgra__0.tile__1.ctrl_mem.total_ctrl_steps_val);
1335+ // / $display("%t: c0t1 ctrl mem 101 reg %d c0t1 ctrl mem 102 reg %d", $time, MultiCGRA.cgra__0.tile__1.ctrl_mem.ctrl_count_per_iter_val, MultiCGRA.cgra__0.tile__1.ctrl_mem.total_ctrl_steps_val);
13311336 // $display("%t: 102 val %d c_ac %d addr %d msg %d", $time,
13321337 // MultiCGRA.cgra__0.tile__1.ctrl_mem.recv_pkt_queue__send__val,
13331338 // MultiCGRA.cgra__0.tile__1.ctrl_mem.recv_pkt_queue__send__msg.ctrl_action,
13341339 // MultiCGRA.cgra__0.tile__1.ctrl_mem.recv_pkt_queue__send__msg.addr,
13351340 // MultiCGRA.cgra__0.tile__1.ctrl_mem.recv_pkt_queue__send__msg.data);
1336- $display ("!!!!!!!!!!!! %d" , recv_from_cpu_pkt__msg.payload.ctrl.fu_in[1 ]);
1337- $display ("!!!!!!!!!!!! %d %d %d %d" , send_to_cpu_pkt__val, send_to_cpu_pkt__msg.src, send_to_cpu_pkt__msg.dst, send_to_cpu_pkt__msg.payload.data.payload);
1341+ // / $display("!!!!!!!!!!!! %d", recv_from_cpu_pkt__msg.payload.ctrl.fu_in[1]);
1342+ // $display("!!!!!!!!!!!! %d %d %d %d", send_to_cpu_pkt__val, send_to_cpu_pkt__msg.src, send_to_cpu_pkt__msg.dst, send_to_cpu_pkt__msg.payload.data.payload);
13381343 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__1.send_data__val[0], MultiCGRA.cgra__0.tile__1.send_data__msg[0].payload);
13391344 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__5.send_data__val[0], MultiCGRA.cgra__0.tile__5.send_data__msg[0].payload);
13401345 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__1.send_data__val[1], MultiCGRA.cgra__0.tile__1.send_data__msg[1].payload);
1341- $display ("!!!!!!!!!!!. %d %d %d" , MultiCGRA.cgra__0.tile__5.send_data__val[1 ], MultiCGRA.cgra__0.tile__5.send_data__msg[1 ].payload, MultiCGRA.cgra__0.tile__5.send_data__msg[1 ].predicate);
1346+ // $display("!!!!!!!!!!!. %d %d %d", MultiCGRA.cgra__0.tile__5.send_data__val[1], MultiCGRA.cgra__0.tile__5.send_data__msg[1].payload, MultiCGRA.cgra__0.tile__5.send_data__msg[1].predicate);
13421347 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__1.send_data__val[2], MultiCGRA.cgra__0.tile__1.send_data__msg[2].payload);
13431348 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__5.send_data__val[2], MultiCGRA.cgra__0.tile__5.send_data__msg[2].payload);
13441349 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__1.send_data__val[3], MultiCGRA.cgra__0.tile__1.send_data__msg[3].payload);
13451350 // $display("!!!!!!!!!!!. %d %d", MultiCGRA.cgra__0.tile__5.send_data__val[3], MultiCGRA.cgra__0.tile__5.send_data__msg[3].payload);
1351+ if ( send_to_cpu_pkt__val && ('d2215 == send_to_cpu_pkt__msg.payload.data.payload) )
1352+ PASS = 1 ;
13461353 end
13471354
13481355 /*initial
13491356 begin
13501357 $dumpfile("./output.vcd");
13511358 $dumpvars (0, cgra_test);
1352- end
1359+ end*/
1360+ // Verilator fails on these $fsdb... functions - if pragmas do not work, add --bbox-sys to Verilator cmd.
1361+ `ifndef VERILATOR
13531362 initial
13541363 begin
1355- // Verilator fails on these $fsdb... functions.
13561364 $fsdbDumpfile("./output.fsdb" );
13571365 $fsdbDumpvars ("+all" , "cgra_test" );
13581366 $fsdbDumpMDA;
13591367 $fsdbDumpSVA;
1360- end*/
1368+ end
1369+ `endif
13611370
13621371
13631372endmodule
0 commit comments