@@ -1923,8 +1923,8 @@ void lefinReader::setDBUPerMicron(int dbu)
19231923 " the database units per micron ({}) of the current database." ,
19241924 dbu,
19251925 _db->getDbuPerMicron ());
1926- return ;
1927- } else if (_db->getDbuPerMicron () % dbu != 0 ) {
1926+ }
1927+ if (_db->getDbuPerMicron () % dbu != 0 ) {
19281928 ++_errors;
19291929 _logger->warn (utl::ODB,
19301930 402 ,
@@ -1933,10 +1933,8 @@ void lefinReader::setDBUPerMicron(int dbu)
19331933 " the current database." ,
19341934 dbu,
19351935 _db->getDbuPerMicron ());
1936- return ;
1937- } else {
1938- dbu = _db->getDbuPerMicron ();
19391936 }
1937+ dbu = _db->getDbuPerMicron ();
19401938 }
19411939 _dist_factor = dbu;
19421940 _dbu_per_micron = dbu;
@@ -2403,7 +2401,9 @@ dbTech* lefinReader::createTech(const char* name, const char* lef_file)
24032401 _logger->error (
24042402 utl::ODB, 288 , " LEF data from {} is discarded due to errors" , lef_file);
24052403 }
2406-
2404+ if (_db->getDbuPerMicron () == 0 ) {
2405+ _db->setDbuPerMicron (_dbu_per_micron);
2406+ }
24072407 _db->triggerPostReadLef (_tech, nullptr );
24082408
24092409 return _tech;
@@ -2439,7 +2439,9 @@ dbLib* lefinReader::createLib(dbTech* tech,
24392439 _logger->error (
24402440 utl::ODB, 292 , " LEF data from {} is discarded due to errors" , lef_file);
24412441 }
2442-
2442+ if (_db->getDbuPerMicron () == 0 ) {
2443+ _db->setDbuPerMicron (_dbu_per_micron);
2444+ }
24432445 _db->triggerPostReadLef (_tech, _lib);
24442446 return _lib;
24452447}
@@ -2483,7 +2485,9 @@ dbLib* lefinReader::createTechAndLib(const char* tech_name,
24832485 if (rules.orderReversed ()) {
24842486 rules.reverse ();
24852487 }
2486-
2488+ if (_db->getDbuPerMicron () == 0 ) {
2489+ _db->setDbuPerMicron (_dbu_per_micron);
2490+ }
24872491 _db->triggerPostReadLef (_tech, _lib);
24882492
24892493 return _lib;
0 commit comments