• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Liberate - Constraint search failed

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 2304
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Liberate - Constraint search failed

iamKarthikBK
iamKarthikBK over 3 years ago

Greetings to the Cadence Technical Community!

I was trying to characterize a couple of sequential cells in Liberate when I came across this error.
I am using the -auto_index option and I've set the max_transition value to something really high (1e-05)

ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFRM1', r_pin:'RN', r_pin dir:'f', pin:'RN', pin dir:'f', type:'min_pulse_width fall_constraint' when: CK. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_23 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFRM1', r_pin:'RN', r_pin dir:'f', pin:'RN', pin dir:'f', type:'min_pulse_width fall_constraint' when: !CK. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_24 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFRM1', r_pin:'CK', r_pin dir:'f', pin:'CK', pin dir:'r', type:'min_pulse_width fall_constraint' when: (D * RN). This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_31 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFRM1', r_pin:'CK', r_pin dir:'r', pin:'CK', pin dir:'r', type:'min_pulse_width rise_constraint' when: (D * RN). This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_32 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFRM1', r_pin:'CK', r_pin dir:'f', pin:'CK', pin dir:'f', type:'min_pulse_width fall_constraint' when: (!D * RN). This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_33 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFRM1', r_pin:'CK', r_pin dir:'r', pin:'CK', pin dir:'f', type:'min_pulse_width rise_constraint' when: (!D * RN). This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_34 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFM1', r_pin:'CK', r_pin dir:'f', pin:'CK', pin dir:'r', type:'min_pulse_width fall_constraint' when: D. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_11 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFM1', r_pin:'CK', r_pin dir:'r', pin:'CK', pin dir:'r', type:'min_pulse_width rise_constraint' when: D. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_12 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFM1', r_pin:'CK', r_pin dir:'f', pin:'CK', pin dir:'f', type:'min_pulse_width fall_constraint' when: !D. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_13 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
ERROR (LIB-52): The constraint search failed to find a solution within the search range for arc of cell:'DFFM1', r_pin:'CK', r_pin dir:'r', pin:'CK', pin dir:'f', type:'min_pulse_width rise_constraint' when: !D. This cell will be marked as failed and the constraint data will be set to: 1.0 (see constraint_failed_value). To debug, save and review the simulation results for deck: mpw_14 using extsim_save_passed and extsim_save_failed. Possible causes include: 'constraint_delay_degrade' too large; 'constraint_delay_degrade_abstol' too large; 'constraint_check_final_state_threshold' too large; estimated search range too small (see constraint_search_bound). Modify the constraint parameters and rerun.
WARNING (LIB-422): (char_library): 2 cells failed during characterization. Review the .log file for previous Warnings and Errors that could explain the failures. Update the Tcl script and rerun.
ERROR: Process ID out of range.

What could be the reason? I am not setting any constraint_delay parameters.
Is it just the max_transition?

Thanks in advance!

  • Cancel
  • Guangjun Cao
    Guangjun Cao over 3 years ago

    As indicated by the messages, there are several possible reasons, which are not limited to the listed ones. You will have to save the passed/fialed decks  and use ski_enable=0. Run simulations in all subdirectories/iterations. The first 3-5 iterations are for boundary search, ie, you should see both pass/fail at the output among these iterations. The rest are for binary searches. 

    For debug runs, you can also use select_index  command to choose -style 1x1 or 2x2, which makes the debug easier. It could also be possible that the characterization only fails on some index combinations, eg, max of both indexes, or max of one and min of the other.

    If you could not find the reason following the log/message and my suggestions, you will have to contact customer support. 

    As to constraint_delay parameters, check your log file and find out the criteria for the failed in the constraint map section. For delay push out method, default threshold is 10%, which means a pass/fail threshold when output delay is pushed out (increased) by 10%. This is secondary check, if the boundary search is successful. If delay push out is used as the criteria, then the first 3-5 should have at least one case when the delay is 10% more than unconstrained (eg. A very wide signal in the case of mpw characterization).

    Good luck,

    Guagjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 3 years ago

    As indicated by the messages, there are several possible reasons, which are not limited to the listed ones. You will have to save the passed/fialed decks  and use ski_enable=0. Run simulations in all subdirectories/iterations. The first 3-5 iterations are for boundary search, ie, you should see both pass/fail at the output among these iterations. The rest are for binary searches. 

    For debug runs, you can also use select_index  command to choose -style 1x1 or 2x2, which makes the debug easier. It could also be possible that the characterization only fails on some index combinations, eg, max of both indexes, or max of one and min of the other.

    If you could not find the reason following the log/message and my suggestions, you will have to contact customer support. 

    As to constraint_delay parameters, check your log file and find out the criteria for the failed in the constraint map section. For delay push out method, default threshold is 10%, which means a pass/fail threshold when output delay is pushed out (increased) by 10%. This is secondary check, if the boundary search is successful. If delay push out is used as the criteria, then the first 3-5 should have at least one case when the delay is 10% more than unconstrained (eg. A very wide signal in the case of mpw characterization).

    Good luck,

    Guagjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 3 years ago

    Hi iamKarthikBK,

    Is the problem solved?

    Regards,

    Guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 3 years ago in reply to Guangjun Cao

    Hi Guangjun Cao,

    I was using -auto_index, and because of my max_transition, liberate was looking at a very large search space for the arc.
    This issue was resolved by reducing the max_transision to something more reasonable (an approximate), and the characterization passed.

    Thank you for your help!

    P.S. sorry, my reply was a draft here.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information