@@ -60,6 +60,9 @@ struct F_CHIP_HIERARCHY
6060 = createMaster1X1 (lib2, " io_master" , 100 , 100 , " in" , " out" );
6161 dbInst* io_cell = dbInst::create (io_chip->getBlock (), io_master, " io_bump" );
6262 io_bump = dbChipBump::create (io_chip_region_r1, io_cell);
63+ io_master = createMaster1X1 (lib1, " io_master" , 100 , 100 , " in" , " out" );
64+ io_cell = dbInst::create (memory_chip->getBlock (), io_master, " io_bump" );
65+ dbChipBump::create (memory_chip_region_r1, io_cell);
6366 }
6467 void createChipInsts ()
6568 {
@@ -333,7 +336,7 @@ BOOST_FIXTURE_TEST_CASE(test_chip_bumps, F_CHIP_HIERARCHY)
333336 BOOST_TEST (io_chip_region_r1->getChipBumps ().size () == 1 );
334337 BOOST_TEST (*io_chip_region_r1->getChipBumps ().begin () == io_bump);
335338
336- BOOST_TEST (db->getChipBumpInsts ().size () == 1 );
339+ BOOST_TEST (db->getChipBumpInsts ().size () == 2 );
337340
338341 BOOST_TEST (io_inst->getRegions ().size () == 1 );
339342 auto io_inst_region_r1 = *io_inst->getRegions ().begin ();
@@ -351,19 +354,23 @@ BOOST_FIXTURE_TEST_CASE(test_chip_bumps, F_CHIP_HIERARCHY)
351354 BOOST_TEST (system_chip->getChipNets ().size () == 1 );
352355 BOOST_TEST (db->getChipNets ().size () == 1 );
353356 chip_net->addBumpInst (io_inst_region_r1_bump_inst, {io_inst});
357+ dbChipRegionInst* memory_inst_region_r1 = nullptr ;
358+ for (auto region : memory_inst->getRegions ()) {
359+ if (region->getChipRegion () == memory_chip_region_r1) {
360+ memory_inst_region_r1 = region;
361+ break ;
362+ }
363+ }
364+ BOOST_TEST (memory_inst_region_r1->getChipBumpInsts ().size () == 1 );
354365 auto memory_inst_region_r1_bump_inst
355- = (*(*memory_inst-> getRegions (). begin ()) ->getChipBumpInsts ().begin ());
366+ = (*memory_inst_region_r1 ->getChipBumpInsts ().begin ());
356367 chip_net->addBumpInst (memory_inst_region_r1_bump_inst, {memory_inst});
357368 BOOST_TEST (chip_net->getNumBumpInsts () == 2 );
358369 std::vector<dbChipInst*> path;
359370 BOOST_TEST (chip_net->getBumpInst (0 , path) == io_inst_region_r1_bump_inst);
360371 BOOST_TEST (path.size () == 1 );
361372 BOOST_TEST (path[0 ] == io_inst);
362-
363- dbMaster* io_master
364- = createMaster1X1 (lib1, " io_master" , 100 , 100 , " in" , " out" );
365- dbInst* io_cell
366- = dbInst::create (memory_chip->getBlock (), io_master, " io_bump" );
373+ dbInst* io_cell = memory_chip->getBlock ()->findInst (" io_bump" );
367374 try {
368375 dbChipBump::create (io_chip_region_r1, io_cell);
369376 BOOST_TEST (false );
0 commit comments