Fix for Etesian build under Cygwin/W8 (N. Shmizu)
This commit is contained in:
parent
f5020120bf
commit
2739d32bf8
|
@ -701,11 +701,12 @@ namespace Etesian {
|
||||||
if(placementUpdate <= LowerBound)
|
if(placementUpdate <= LowerBound)
|
||||||
_updatePlacement( _placementLB );
|
_updatePlacement( _placementLB );
|
||||||
|
|
||||||
// Create a legalizer and bipartition it until we have sufficient precision
|
// Create a legalizer and bipartition it until we have sufficient precision
|
||||||
auto legalizer = densityConf == ForceUniform ?
|
auto legalizer = densityConf == ForceUniform ?
|
||||||
region_distribution::uniform_density_distribution(_surface, _circuit, _placementLB)
|
region_distribution::uniform_density_distribution(_surface, _circuit, _placementLB)
|
||||||
: region_distribution::full_density_distribution(_surface, _circuit, _placementLB);
|
: region_distribution::full_density_distribution(_surface, _circuit, _placementLB);
|
||||||
for ( int quad_part=0 ; _circuit.cell_cnt() > 10 * (1 << (quad_part*2)) ; ++quad_part ) { // Until there is about 10 standard cells per region
|
// Until there is about 10 standard cells per region
|
||||||
|
for ( int quad_part=0 ; _circuit.cell_cnt() > (index_t)(10 * (1 << (quad_part*2))) ; ++quad_part ) {
|
||||||
legalizer.x_bipartition();
|
legalizer.x_bipartition();
|
||||||
legalizer.y_bipartition();
|
legalizer.y_bipartition();
|
||||||
legalizer.redo_line_partitions();
|
legalizer.redo_line_partitions();
|
||||||
|
@ -794,9 +795,9 @@ namespace Etesian {
|
||||||
stopMeasures();
|
stopMeasures();
|
||||||
printMeasures( "total" );
|
printMeasures( "total" );
|
||||||
cmess1 << ::Dots::asString
|
cmess1 << ::Dots::asString
|
||||||
(" - HPWL", DbU::getValueString(get_HPWL_wirelength(_circuit,_placementUB )*getPitch()) ) << endl;
|
( " - HPWL", DbU::getValueString( (DbU::Unit)get_HPWL_wirelength(_circuit,_placementUB )*getPitch() ) ) << endl;
|
||||||
cmess1 << ::Dots::asString
|
cmess1 << ::Dots::asString
|
||||||
(" - RMST", DbU::getValueString(get_RSMT_wirelength(_circuit,_placementUB )*getPitch()) ) << endl;
|
( " - RMST", DbU::getValueString( (DbU::Unit)get_RSMT_wirelength(_circuit,_placementUB )*getPitch() ) ) << endl;
|
||||||
|
|
||||||
_placed = false;
|
_placed = false;
|
||||||
#else
|
#else
|
||||||
|
@ -819,8 +820,8 @@ namespace Etesian {
|
||||||
elapsed << " dTime:" << setw(5) << (time(NULL) - startTime) << "s ";
|
elapsed << " dTime:" << setw(5) << (time(NULL) - startTime) << "s ";
|
||||||
|
|
||||||
cmess2 << label << elapsed.str()
|
cmess2 << label << elapsed.str()
|
||||||
<< " HPWL:" << coloquinte::gp::get_HPWL_wirelength ( _circuit, _placementUB )
|
<< " HPWL:" << coloquinte::gp::get_HPWL_wirelength( _circuit, _placementUB )
|
||||||
<< " RMST:" << coloquinte::gp::get_RSMT_wirelength ( _circuit, _placementUB )
|
<< " RMST:" << coloquinte::gp::get_RSMT_wirelength( _circuit, _placementUB )
|
||||||
<< "\n" << indent
|
<< "\n" << indent
|
||||||
<< " Linear Disrupt.:" << coloquinte::gp::get_mean_linear_disruption ( _circuit, _placementLB, _placementUB )
|
<< " Linear Disrupt.:" << coloquinte::gp::get_mean_linear_disruption ( _circuit, _placementLB, _placementUB )
|
||||||
<< " Quad Disrupt.:" << coloquinte::gp::get_mean_quadratic_disruption( _circuit, _placementLB, _placementUB )
|
<< " Quad Disrupt.:" << coloquinte::gp::get_mean_quadratic_disruption( _circuit, _placementLB, _placementUB )
|
||||||
|
|
Loading…
Reference in New Issue