I'm running some experiments with the ICCAD04 benchmark set, and am seeing some overlap between macro blocks. Is there a configuration setting to ensure legal placements? I'm using JSON configurations adapted from the ISPD05 benchmark set (no additional processing with ntuplace3 is done). I had to edit the ICCAD04 Bookshelf files a bit to get everything to parse cleanly; the changes were all minor formatting issues.
....
[ERROR ] row 135 (2160, 2176), overlap node 12714 (1546, 2080, 1642, 2164) with node 5211 (1585, 2160, 1665, 2261) site (1585, 1665), gap 57
[INFO ] Legality check takes 0.807194 ms
[ERROR ] DREAMPlace - legality check failed in greedy legalization, return illegal results after greedy legalization.
[INFO ] DREAMPlace - legalization takes 0.026 seconds
[INFO ] DREAMPlace - iteration 458, wHPWL 1.956688E+06, time 0.166ms
[INFO ] DREAMPlace - Start ABCDPlace for refinement
[ERROR ] row 5 (80, 96), overlap node 12690 (1260, 80, 1356, 164) with node 12715 (1279, 0, 1375, 84) site (1279, 1375), gap 77
[ERROR ] row 8 (128, 144), overlap node 4886 (1595, 32, 1675, 133) with node 12635 (1648, 128, 1711, 256) site (1648, 1711), gap 27
.....
Here's the JSON configuration. Thanks for any help!
{
"aux_input" : "benchmarks/iccad04/ibm01/ibm01.aux",
"gpu" : 0,
"num_bins_x" : 512,
"num_bins_y" : 512,
"global_place_stages" : [
{"num_bins_x" : 512, "num_bins_y" : 512, "iteration" : 1000, "learning_rate" : 0.01, "wirelength" : "weighted_average", "optimizer" : "nesterov", "Llambda_density_weight_itera
tion" : 1, "Lsub_iteration" : 1}
],
"target_density" : 1.0,
"density_weight" : 8e-5,
"gamma" : 4.0,
"random_seed" : 1000,
"scale_factor" : 1.0,
"ignore_net_degree" : 100,
"enable_fillers" : 1,
"gp_noise_ratio" : 0.025,
"global_place_flag" : 1,
"legalize_flag" : 1,
"detailed_place_flag" : 1,
"detailed_place_engine" : "",
"detailed_place_command" : "",
"stop_overflow" : 0.07,
"dtype" : "float32",
"plot_flag" : 0,
"random_center_init_flag" : 1,
"gift_init_flag" : 0,
"sort_nets_by_degree" : 0,
"num_threads" : 8,
"deterministic_flag" : 1
}
I'm running some experiments with the ICCAD04 benchmark set, and am seeing some overlap between macro blocks. Is there a configuration setting to ensure legal placements? I'm using JSON configurations adapted from the ISPD05 benchmark set (no additional processing with ntuplace3 is done). I had to edit the ICCAD04 Bookshelf files a bit to get everything to parse cleanly; the changes were all minor formatting issues.
Here's the JSON configuration. Thanks for any help!
{ "aux_input" : "benchmarks/iccad04/ibm01/ibm01.aux", "gpu" : 0, "num_bins_x" : 512, "num_bins_y" : 512, "global_place_stages" : [ {"num_bins_x" : 512, "num_bins_y" : 512, "iteration" : 1000, "learning_rate" : 0.01, "wirelength" : "weighted_average", "optimizer" : "nesterov", "Llambda_density_weight_itera tion" : 1, "Lsub_iteration" : 1} ], "target_density" : 1.0, "density_weight" : 8e-5, "gamma" : 4.0, "random_seed" : 1000, "scale_factor" : 1.0, "ignore_net_degree" : 100, "enable_fillers" : 1, "gp_noise_ratio" : 0.025, "global_place_flag" : 1, "legalize_flag" : 1, "detailed_place_flag" : 1, "detailed_place_engine" : "", "detailed_place_command" : "", "stop_overflow" : 0.07, "dtype" : "float32", "plot_flag" : 0, "random_center_init_flag" : 1, "gift_init_flag" : 0, "sort_nets_by_degree" : 0, "num_threads" : 8, "deterministic_flag" : 1 }