@@ -477,16 +477,17 @@ void verify_grid(pugi::xml_node parent, const pugiutil::loc_data & loc_data, con
477
477
478
478
if (grid_tile.type ->index != get_attribute (grid_node, " block_type_id" , loc_data).as_float (0 )) {
479
479
vpr_throw (VPR_ERROR_OTHER, __FILE__, __LINE__,
480
- " Architecture file does not match RR graph's block_type_id" );
480
+ " Architecture file does not match RR graph's block_type_id at (%d, %d): arch used ID %d, RR graph used ID %d." , x, y,
481
+ (grid_tile.type ->index ), (int )get_attribute (grid_node, " block_type_id" , loc_data).as_float (0 ));
481
482
}
482
483
if (grid_tile.width_offset != get_attribute (grid_node, " width_offset" , loc_data).as_float (0 )) {
483
484
vpr_throw (VPR_ERROR_OTHER, __FILE__, __LINE__,
484
- " Architecture file does not match RR graph's width_offset" );
485
+ " Architecture file does not match RR graph's width_offset at (%d, %d) " , x, y );
485
486
}
486
487
487
488
if (grid_tile.height_offset != get_attribute (grid_node, " height_offset" , loc_data).as_float (0 )) {
488
489
vpr_throw (VPR_ERROR_OTHER, __FILE__, __LINE__,
489
- " Architecture file does not match RR graph's height_offset" );
490
+ " Architecture file does not match RR graph's height_offset at (%d, %d) " , x, y );
490
491
}
491
492
grid_node = grid_node.next_sibling (grid_node.name ());
492
493
}
@@ -508,7 +509,7 @@ void verify_blocks(pugi::xml_node parent, const pugiutil::loc_data & loc_data) {
508
509
509
510
if (strcmp (block_info.name , name) != 0 ) {
510
511
vpr_throw (VPR_ERROR_OTHER, __FILE__, __LINE__,
511
- " Architecture file does not match RR graph's block name" );
512
+ " Architecture file does not match RR graph's block name: arch uses name %s, RR graph uses name %s " , block_info. name , name );
512
513
}
513
514
514
515
if (block_info.width != get_attribute (Block, " width" , loc_data).as_float (0 )) {
@@ -577,7 +578,7 @@ void verify_segments(pugi::xml_node parent, const pugiutil::loc_data & loc_data,
577
578
const char * name = get_attribute (Segment, " name" , loc_data).as_string ();
578
579
if (strcmp (segment_inf[segNum].name , name) != 0 ) {
579
580
vpr_throw (VPR_ERROR_OTHER, __FILE__, __LINE__,
580
- " Architecture file does not match RR graph's segment name" );
581
+ " Architecture file does not match RR graph's segment name: arch uses %s, RR graph uses %s " , segment_inf[segNum]. name , name );
581
582
}
582
583
583
584
subnode = get_single_child (parent, " timing" , loc_data, OPTIONAL);
0 commit comments