Altera SDC and TimeQuest API User Manual

Page 143

Advertising
background image

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.

Advertising