@@ -136,6 +136,12 @@ BOOST_FIXTURE_TEST_CASE(test_chip_creation, F_CHIP_HIERARCHY)
136136 BOOST_TEST (db->getChips ().size () == 4 );
137137 BOOST_TEST (db->findChip (" cpu_chip" ) == nullptr );
138138 BOOST_TEST (db->getChip () == nullptr );
139+ try {
140+ dbChipInst::create (system_chip, cpu_chip, " cpu_inst" );
141+ BOOST_TEST (false );
142+ } catch (const std::exception& e) {
143+ BOOST_TEST (true );
144+ }
139145}
140146
141147BOOST_FIXTURE_TEST_CASE (test_chip_hierarchy, F_CHIP_HIERARCHY)
@@ -170,6 +176,9 @@ BOOST_FIXTURE_TEST_CASE(test_chip_hierarchy, F_CHIP_HIERARCHY)
170176 BOOST_TEST (memory_inst->getParentChip () == system_chip);
171177 BOOST_TEST (io_inst->getParentChip () == system_chip);
172178 BOOST_TEST (cache_inst->getParentChip () == cpu_chip);
179+ BOOST_TEST (system_chip->findChipInst (" cpu_inst" ) == cpu_inst);
180+ BOOST_TEST (cpu_chip->findChipInst (" cache_inst" ) == cache_inst);
181+ BOOST_TEST (system_chip->findChipInst (" cache_inst" ) == nullptr );
173182
174183 // Verify master relationships
175184 BOOST_TEST (cpu_inst->getMasterChip () == cpu_chip);
@@ -222,7 +231,10 @@ BOOST_FIXTURE_TEST_CASE(test_chip_complex_destroy, F_CHIP_HIERARCHY)
222231 BOOST_TEST (db->getChipBumpInsts ().size () == 0 );
223232 BOOST_TEST (db->getChipRegionInsts ().size () == 0 );
224233 BOOST_TEST (system_chip->getChipInsts ().size () == 0 );
234+ BOOST_TEST (system_chip->findChipInst (" cpu_inst" ) == nullptr );
235+ BOOST_TEST (system_chip->findChipInst (" io_inst" ) == nullptr );
225236}
237+
226238BOOST_FIXTURE_TEST_CASE (test_chip_regions, F_CHIP_HIERARCHY)
227239{
228240 auto iterateChipRegions = [](dbChip* chip,
@@ -248,6 +260,20 @@ BOOST_FIXTURE_TEST_CASE(test_chip_regions, F_CHIP_HIERARCHY)
248260 BOOST_TEST (
249261 (memory_chip_region_r3->getSide () == dbChipRegion::Side::INTERNAL));
250262 BOOST_TEST (memory_chip_region_r3->getLayer () == nullptr );
263+ // Test dbChip::findChipRegion
264+ BOOST_TEST (memory_chip->findChipRegion (" R1" ) == memory_chip_region_r1);
265+ BOOST_TEST (memory_chip->findChipRegion (" R2" ) == memory_chip_region_r2);
266+ BOOST_TEST (memory_chip->findChipRegion (" R3" ) == memory_chip_region_r3);
267+ BOOST_TEST (memory_chip->findChipRegion (" R4" ) == nullptr );
268+ // Test dbChipInst::findChipRegionInst
269+ BOOST_TEST (memory_inst->findChipRegionInst (" R1" )->getChipRegion ()
270+ == memory_chip_region_r1);
271+ BOOST_TEST (memory_inst->findChipRegionInst (" R2" )->getChipRegion ()
272+ == memory_chip_region_r2);
273+ BOOST_TEST (memory_inst->findChipRegionInst (" R3" )->getChipRegion ()
274+ == memory_chip_region_r3);
275+ BOOST_TEST (memory_inst->findChipRegionInst (" R4" ) == nullptr );
276+
251277 iterateChipRegions (memory_chip, {" R1" , " R2" , " R3" });
252278 iterateChipRegionInsts (memory_inst, {" R1" , " R2" , " R3" });
253279 iterateChipRegions (io_chip, {" R1" });
0 commit comments