Open ybj-catherine opened 4 days ago
Dear Authors, There is a "Segmentation fault" when using lefdef2bookshelf.py:
(DreamPlace) [user@head2 install]$ python lefdef2bookshelf.py test/openroad/ariane136.json
Processed file saved as benchmarks/openroad/ariane136/def/2_floorplan.def [INFO ] DREAMPlace - parameters = {'aux_input': '', 'lef_input': 'benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef', 'def_input': 'benchmarks/openroad/ariane136/def/2_floorplan.def', 'verilog_input': 'benchmarks/openroad/ariane136/rtl/macros.v', 'gpu': 1, 'num_bins_x': 0, 'num_bins_y': 0, 'global_place_stages': [OrderedDict([('num_bins_x', 0), ('num_bins_y', 0), ('iteration', 1000), ('learning_rate', 0.01), ('wirelength', 'weighted_average'), ('optimizer', 'nesterov'), ('Llambda_density_weight_iteration', 1), ('Lsub_iteration', 1)])], 'target_density': 0.8, 'density_weight': 8e-05, 'random_seed': 1000, 'result_dir': 'results', 'scale_factor': 0.0, 'shift_factor': [0.0, 0.0], 'ignore_net_degree': 100, 'gp_noise_ratio': 0.025, 'enable_fillers': 1, 'global_place_flag': 1, 'legalize_flag': 1, 'abacus_legalize_flag': 1, 'detailed_place_flag': 0, 'stop_overflow': 0.1, 'dtype': 'float32', 'detailed_place_engine': '', 'detailed_place_command': '-nolegal -nodetail', 'plot_flag': 0, 'RePlAce_ref_hpwl': 350000, 'RePlAce_LOWER_PCOF': 0.95, 'RePlAce_UPPER_PCOF': 1.05, 'gamma': 4.0, 'RePlAce_skip_energy_flag': 0, 'random_center_init_flag': 1, 'sort_nets_by_degree': 0, 'num_threads': 8, 'dump_global_place_solution_flag': 0, 'dump_legalize_solution_flag': 0, 'routability_opt_flag': 0, 'route_num_bins_x': 512, 'route_num_bins_y': 512, 'node_area_adjust_overflow': 0.15, 'max_num_area_adjust': 3, 'adjust_nctugr_area_flag': 0, 'adjust_rudy_area_flag': 1, 'adjust_pin_area_flag': 1, 'area_adjust_stop_ratio': 0.01, 'route_area_adjust_stop_ratio': 0.01, 'pin_area_adjust_stop_ratio': 0.05, 'unit_horizontal_capacity': 1.5625, 'unit_vertical_capacity': 1.45, 'unit_pin_capacity': 0.058, 'max_route_opt_adjust_rate': 2.0, 'route_opt_adjust_exponent': 2.0, 'pin_stretch_ratio': 1.414213562, 'max_pin_opt_adjust_rate': 1.5, 'deterministic_flag': 0, 'timing_opt_flag': 0, 'early_lib_input': '', 'late_lib_input': '', 'lib_input': 'benchmarks/openroad/ariane136/lib/fakeram45_256x16.lib', 'sdc_input': '', 'wire_resistance_per_micron': 0, 'wire_capacitance_per_micron': 0, 'net_weighting_scheme': 'lilith', 'momentum_decay_factor': 0.5, 'enable_net_weighting': 1, 'max_net_weight': 'inf', 'use_bb': 0, 'macro_place_flag': 0, 'two_stage_density_scaler': 1000, 'macro_halo_x': 0, 'macro_halo_y': 0, 'design_name': 'ariane136'} [INFO ] lef_input = benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef [INFO ] def_input = benchmarks/openroad/ariane136/def/2_floorplan.def [INFO ] verilog_input = benchmarks/openroad/ariane136/rtl/macros.v [INFO ] bookshelf_aux_input = [INFO ] bookshelf_pl_input = [INFO ] def_size_input = [INFO ] def_output = 2_floorplan-out.def [INFO ] rpt_output = [INFO ] target_util = 0 [INFO ] max_displace = 0 [INFO ] bin size = (10, 10) #rows [INFO ] sbin size = (5, 5) #rows [INFO ] bin_space_threshold = 0.2 [INFO ] abu = 2,10 5,5 10,2 20,1 [INFO ] def_ignore_cells = [INFO ] macro_obs_aware_layers = [INFO ] enable_place = true [INFO ] enable_legalize = true [INFO ] evaluate_overlap = false [INFO ] move_multi_row_cell = true [INFO ] align_power_line = true [INFO ] cluster_cell = false [INFO ] sort_nets_by_degree = false [INFO ] file_format = DEF [INFO ] max_iters = 6 [INFO ] reading benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef [INFO ] reading benchmarks/openroad/ariane136/def/2_floorplan.def [INFO ] detect 5496 rows, 159606 components, 495 IO pins, 175303 nets, 0 blockages Segmentation fault
and my ariane136.json is:
{ "lef_input" : "benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef", "def_input" : "benchmarks/openroad/ariane136/def/2_floorplan.def", "verilog_input" : "benchmarks/openroad/ariane136/rtl/macros.v", "lib_input": "benchmarks/openroad/ariane136/lib/fakeram45_256x16.lib" }
I've used the latest version of DREAMPlace, and it seems like the error comes from when reading "benchmarks/openroad/ariane136/def/2_floorplan.def".
Is there any clues to solve this problem? Thank you!
Hello,
Thank you for raising the issue. The problem you're encountering is due to missing complete LEF and LIB file entries in the JSON file.
The correct lef_input
in the JSON should be:
["lef/NangateOpenCellLibrary.tech.lef", "lef/NangateOpenCellLibrary.macro.lef", "lef/fakeram45_256x16.lef"]
Similarly, the lib_input
should be:
["NangateOpenCellLibrary_typical.lib", "fakeram45_256x16.lib"]
Please note that the files fakeram45_256x16.lef
and fakeram45_256x16.lib
are specific to this particular case. Additionally, you still need the global LEF and LIB files for the setup.
I hope this helps resolve your issue. Let me know if you have any further questions!
thanks for your reply! I successfully generated the bookshelf format
Dear Authors, There is a "Segmentation fault" when using lefdef2bookshelf.py:
(DreamPlace) [user@head2 install]$ python lefdef2bookshelf.py test/openroad/ariane136.json
Processed file saved as benchmarks/openroad/ariane136/def/2_floorplan.def [INFO ] DREAMPlace - parameters = {'aux_input': '', 'lef_input': 'benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef', 'def_input': 'benchmarks/openroad/ariane136/def/2_floorplan.def', 'verilog_input': 'benchmarks/openroad/ariane136/rtl/macros.v', 'gpu': 1, 'num_bins_x': 0, 'num_bins_y': 0, 'global_place_stages': [OrderedDict([('num_bins_x', 0), ('num_bins_y', 0), ('iteration', 1000), ('learning_rate', 0.01), ('wirelength', 'weighted_average'), ('optimizer', 'nesterov'), ('Llambda_density_weight_iteration', 1), ('Lsub_iteration', 1)])], 'target_density': 0.8, 'density_weight': 8e-05, 'random_seed': 1000, 'result_dir': 'results', 'scale_factor': 0.0, 'shift_factor': [0.0, 0.0], 'ignore_net_degree': 100, 'gp_noise_ratio': 0.025, 'enable_fillers': 1, 'global_place_flag': 1, 'legalize_flag': 1, 'abacus_legalize_flag': 1, 'detailed_place_flag': 0, 'stop_overflow': 0.1, 'dtype': 'float32', 'detailed_place_engine': '', 'detailed_place_command': '-nolegal -nodetail', 'plot_flag': 0, 'RePlAce_ref_hpwl': 350000, 'RePlAce_LOWER_PCOF': 0.95, 'RePlAce_UPPER_PCOF': 1.05, 'gamma': 4.0, 'RePlAce_skip_energy_flag': 0, 'random_center_init_flag': 1, 'sort_nets_by_degree': 0, 'num_threads': 8, 'dump_global_place_solution_flag': 0, 'dump_legalize_solution_flag': 0, 'routability_opt_flag': 0, 'route_num_bins_x': 512, 'route_num_bins_y': 512, 'node_area_adjust_overflow': 0.15, 'max_num_area_adjust': 3, 'adjust_nctugr_area_flag': 0, 'adjust_rudy_area_flag': 1, 'adjust_pin_area_flag': 1, 'area_adjust_stop_ratio': 0.01, 'route_area_adjust_stop_ratio': 0.01, 'pin_area_adjust_stop_ratio': 0.05, 'unit_horizontal_capacity': 1.5625, 'unit_vertical_capacity': 1.45, 'unit_pin_capacity': 0.058, 'max_route_opt_adjust_rate': 2.0, 'route_opt_adjust_exponent': 2.0, 'pin_stretch_ratio': 1.414213562, 'max_pin_opt_adjust_rate': 1.5, 'deterministic_flag': 0, 'timing_opt_flag': 0, 'early_lib_input': '', 'late_lib_input': '', 'lib_input': 'benchmarks/openroad/ariane136/lib/fakeram45_256x16.lib', 'sdc_input': '', 'wire_resistance_per_micron': 0, 'wire_capacitance_per_micron': 0, 'net_weighting_scheme': 'lilith', 'momentum_decay_factor': 0.5, 'enable_net_weighting': 1, 'max_net_weight': 'inf', 'use_bb': 0, 'macro_place_flag': 0, 'two_stage_density_scaler': 1000, 'macro_halo_x': 0, 'macro_halo_y': 0, 'design_name': 'ariane136'} [INFO ] lef_input = benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef [INFO ] def_input = benchmarks/openroad/ariane136/def/2_floorplan.def [INFO ] verilog_input = benchmarks/openroad/ariane136/rtl/macros.v [INFO ] bookshelf_aux_input = [INFO ] bookshelf_pl_input = [INFO ] def_size_input = [INFO ] def_output = 2_floorplan-out.def [INFO ] rpt_output = [INFO ] target_util = 0 [INFO ] max_displace = 0 [INFO ] bin size = (10, 10) #rows [INFO ] sbin size = (5, 5) #rows [INFO ] bin_space_threshold = 0.2 [INFO ] abu = 2,10 5,5 10,2 20,1 [INFO ] def_ignore_cells = [INFO ] macro_obs_aware_layers = [INFO ] enable_place = true [INFO ] enable_legalize = true [INFO ] evaluate_overlap = false [INFO ] move_multi_row_cell = true [INFO ] align_power_line = true [INFO ] cluster_cell = false [INFO ] sort_nets_by_degree = false [INFO ] file_format = DEF [INFO ] max_iters = 6 [INFO ] reading benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef [INFO ] reading benchmarks/openroad/ariane136/def/2_floorplan.def [INFO ] detect 5496 rows, 159606 components, 495 IO pins, 175303 nets, 0 blockages Segmentation fault
and my ariane136.json is:
{ "lef_input" : "benchmarks/openroad/ariane136/lef/fakeram45_256x16.lef", "def_input" : "benchmarks/openroad/ariane136/def/2_floorplan.def", "verilog_input" : "benchmarks/openroad/ariane136/rtl/macros.v", "lib_input": "benchmarks/openroad/ariane136/lib/fakeram45_256x16.lib" }
I've used the latest version of DREAMPlace, and it seems like the error comes from when reading "benchmarks/openroad/ariane136/def/2_floorplan.def".
Is there any clues to solve this problem? Thank you!