Você está na página 1de 1

IC Compiler Timing Correlation with PrimeTime

1. Set switches in IC Compiler to be compatible with PrimeTime settings


set case_analysis_with_logic_constants true
set dont_bind_unused_pins_to_logic_constant true
set disable_auto_time_borrow true
set timing_input_port_clock_shift_one_cycle false
set ignore_clock_input_delay_for_skew true
set timing_enable_multiple_clocks_per_reg true
set enable_recovery_removal_arcs true
set timing_use_enhanced_capacitance_modeling true
set high_fanout_net_threshold 0
set_clock_gating_check -setup 0 [all_clocks]
set_clock_gating_check -hold 0 [all_clocks]
set timing_input_port_default_clock true
set timing_edge_specific_source_latency true
set timing_enable_non_sequential_checks true
set timing_gclock_source_network_num_master_registers 10000000

2. Set switches in PrimeTime to be correlation-friendly


set timing_clock_gating_propagate_enable false
set timing_clock_source_driver_pin_use_driver_arc_compatibility false

3. For post-route designs, always turn on Arnoldi in IC Compiler because PrimeTime


uses Arnoldi by default when detailed parasitics information is available.

4. PrimeTime doesn’t support true bc_wc mode. As a result, you need to do two
separate PrimeTime runs, i.e. one for setup analysis with max libraries/operating
conditions and another for hold analysis with min libraries/operation conditions. If
you are using OCV in PrimeTime and doing two separate sessions, you have the
following options in IC Compiler:

Option #1:
Run IC Compiler in MCMM mode, with a scenario for min (hold) and another for max (setup),
with a single operating condition/library specified for each scenario. Be sure to enable OCV for
each scenario. This will give you the best correlation.

If you do not wish to run IC Compiler in MCMM mode with multiple scenarios, similar to PrimeTime,
you can do two separate IC Compiler runs, purely for timing analysis purposes only: one run for
setup analysis with maximum libraries/operating conditions and a second run for hold analysis with
minimum libraries/operation conditions, with OCV enabled in both runs.

Option #2:
Alternatively, you can run IC Compiler in a single scenario with min/max libraries in bc_wc mode.
Although PrimeTime has OCV enabled, enabling OCV in IC Compiler in this case will be too
pessimistic and will make correlation worse. If your libraries have pin cap ranges, then option #2 is
not recommended; run option #1 instead.

Important: When doing optimization in IC Compiler, OCV should be enabled only if you are
running MCMM, with a separate scenario for min (hold) and another for max (setup).

5. When timing_derate is set on the design, always do report_timing -derate to check if


derating is applied consistently between IC Compiler and PrimeTime.

6. If you see miscorrelation by directly comparing timing from extract_rc IC Compiler vs.
read_parasitics in PrimeTime, try to narrow down the problem by reading the same
parasitics file in IC Compiler.

Você também pode gostar