@@ -15,14 +15,22 @@ struct F_CHIP_HIERARCHY
1515 utl::Logger* logger = new utl::Logger ();
1616 db = dbDatabase::create ();
1717 db->setLogger (logger);
18-
18+ createLibsAndTechs ();
19+ createChips ();
20+ createChipRegions ();
21+ createChipInsts ();
22+ }
23+ void createLibsAndTechs ()
24+ {
1925 tech1 = dbTech::create (db, " tech1" );
2026 layer_l1 = dbTechLayer::create (tech1, " L1" , dbTechLayerType::MASTERSLICE);
2127 lib1 = dbLib::create (db, " lib1" , tech1, ' ,' );
2228 tech2 = dbTech::create (db, " tech2" );
2329 layer_M1 = dbTechLayer::create (tech2, " M1" , dbTechLayerType::MASTERSLICE);
2430 lib2 = dbLib::create (db, " lib2" , tech2, ' ,' );
25-
31+ }
32+ void createChips ()
33+ {
2634 system_chip = dbChip::create (db, " system_chip" , dbChip::ChipType::HIER);
2735 system_chip->setWidth (5000 );
2836 system_chip->setHeight (4000 );
@@ -35,8 +43,9 @@ struct F_CHIP_HIERARCHY
3543 // Create blocks
3644 dbBlock::create (memory_chip, " memory_block" , tech1);
3745 dbBlock::create (io_chip, " io_block" , tech2);
38-
39- // Create chip regions
46+ }
47+ void createChipRegions ()
48+ {
4049 memory_chip_region_r1 = dbChipRegion::create (
4150 memory_chip, " R1" , dbChipRegion::Side::FRONT, layer_l1);
4251 memory_chip_region_r2 = dbChipRegion::create (
@@ -45,8 +54,10 @@ struct F_CHIP_HIERARCHY
4554 memory_chip, " R3" , dbChipRegion::Side::INTERNAL, nullptr );
4655 io_chip_region_r1 = dbChipRegion::create (
4756 io_chip, " R1" , dbChipRegion::Side::FRONT, layer_M1);
48-
49- // Create chip instances in system
57+ dbChipRegion::create (cache_chip, " R1" , dbChipRegion::Side::BACK, nullptr );
58+ }
59+ void createChipInsts ()
60+ {
5061 cpu_inst = dbChipInst::create (system_chip, cpu_chip, " cpu_inst" );
5162 memory_inst = dbChipInst::create (system_chip, memory_chip, " memory_inst" );
5263 io_inst = dbChipInst::create (system_chip, io_chip, " io_inst" );
0 commit comments