Altera SDC and TimeQuest API User Manual
Page 143

Chapter 2: SDC and TimeQuest API Package and Commands
2–133
sta
© December 2009
Altera Corporation
SDC and TimeQuest API Reference Manual
Settings
To get a list of possible synchronization chains, set "Synchronizer Identification" to AUTO in the 
TimeQuest Timing Analyzer Page in the Settings dialog box. This will set the "Synchronizer Identification" 
QSF assignment in your QSF file. TimeQuest will use timing constraints to automatically detect 
synchronization chains in the design. Metastability analysis checks for signal transfers between circuitry in 
unrelated or asynchronous clock domains, so clock domains must be related correctly with the timing 
constraints.
Set the maximum number of registers to consider as part of one synchronization chain, via the 
"Synchronization Register Chain Length" setting under Analysis and Synthesis Page in the Settings dialog 
box. The default length is 2. All the registers in a chain (up to this length) will be protected from 
optimizations that can decrease MTBF.
Note that if you change the "Synchronizer Identification" setting, you should rerun the Fitter, as this setting 
can impact some optimization algorithms.
Report Panels
The MTBF Summary report provides the estimated mean time between failure for the design. This is an 
estimate for the overall robustness of the design in terms of metastability, and it is computed from all 
available synchronization chain MTBFs present in the design.
The MTBF metric of automatically identified synchronization chains is not computed. To compute the 
MTBF of a synchronization chain, set "Synchronizer Identification" to "Forced If Asynchronous" or 
"Forced" for all registers of the synchronization chain. By explicitly specifying that this synchronization 
chain is valid, this chain will then be optimized during the Fitter, and its MTBF will be computed. Its 
MTBF will then be included in the computation of the design MTBF.
The Synchronizer Summary table lists all the synchronization chains found in your design. It is possible 
that the analysis performed might erroneously interpret certain structures, such as shift registers, as 
synchronization chains. If some synchronization chains are misidentified and you wish to remove them 
from the report, you can turn off analysis of these paths by making node-based assignments via the 
Assignment Editor, set "Synchronizer Identification" to "Off" for the first register in these synchronization 
chains. Conversely, if there are synchronization chains in your design that were not detected, you can set 
"Synchronizer Identification" assignment to "Forced If Asynchronous" for all registers in this chain 
through the Assignment Editor, and this chain will be reported if it meets the criteria for being a 
synchronization chain. This can often occur if there is logic present between the registers of the 
synchronization chain. In the automatic mode of synchronizer identification, these structures are not 
considered to be synchronizers. If you want to force a register to be identified as the head of a 
synchronizer, set the "Synchronizer Identification" assignment to "Forced" to the register, and it will always 
be identified as the first of a synchronization chain. This setting should not be applied to the entire design, 
since this will identify every register in the design as a synchronizer.
The MTBF estimates assume the data being synchronized is switching at a toggle rate of 12.5% of the 
source clock frequency. That is, the estimates assume that the arriving data signal switches once every 8 
source clock cycles. If multiple clocks apply, the highest frequency is used.If no source clocks can be 
determined, then the data rate is taken as 12.5% of the synchronization clock frequency.
If you know the approximate rate at which the data changes, and would like to obtain a more accurate 
MTBF, use the "Synchronizer Toggle Rate" assignment in the Assignment Editor. Set the data toggle rate, 
in number of transitions per second, on the first register of a synchronization chain. TimeQuest will then 
take the specified rate into account when computing the MTBF of that particular chain. You can also apply 
this assignment to an entity or the entire design. Since a "Synchronizer Toggle Rate" assignment of 0 
indicates that the data signal never toggles, the affected synchronization chain will not be reported since it 
does not affect the relibility of the design.
