Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault #6

Open
ybj-catherine opened this issue Nov 28, 2024 · 2 comments
Open

Segmentation fault #6

ybj-catherine opened this issue Nov 28, 2024 · 2 comments

Comments

@ybj-catherine
Copy link

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!

@ZhaojieTu
Copy link
Collaborator

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!

@ybj-catherine
Copy link
Author

thanks for your reply! I successfully generated the bookshelf format

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants