• 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. Blogs
  2. Analog/Custom Design
  3. Spectre Tech Tips: Introducing Spectre Analog Fault Ana…
Jianhe Guo
Jianhe Guo

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
onestep
fault analysis
DFA
timezero
opens
bridges
maxiters
custom faults
direct fault analysis
spectre_fsrpt
faultleadtime
tfa
spectre_ddmrpt
parametric faults
linear
transient fault analysis
detection matrix

Spectre Tech Tips: Introducing Spectre Analog Fault Analysis

26 May 2021 • 3 minute read

 Chip tests have become more demanding as defects tend to occur more often in scaled-down processes. These defects are modeled as faults and provided to the circuit simulator to perform fault analysis. As part of the Legato Reliability Solution, Spectre® Fault Analysis provides a transistor-level simulation capability that can be enabled in an analog test methodology to improve the test coverage by identifying the critical test patterns.  

As shown in the following flow chart, Spectre Fault Analysis enables you to estimate the fault coverage by generating a detection matrix. In functional safety applications, fault detection is tracked in both functional and diagnostic modules, but reported separately.

You can further optimize the test to improve the defect coverage based on the defect detection matrix or coverage rate.

The following are the main components of analog fault simulation in Spectre:

Fault List

Spectre Fault Analysis supports different faults, such as bridges, opens, custom faults, and parametric faults, which can all be grouped as fault blocks. A fault list may contain one or multiple fault blocks.

During fault analysis, the simulation requires a fault list that defines the type and location of faults. The fault list can be extracted from the schematic design, the layout design, or from the customized fault creation tools. In Spectre, faults can be generated with the info statement.

Fault Simulation

There are two general approaches to perform the fault analysis in Spectre.

  1. Direct Fault Analysis (DFA). In the direct flow, the faults are injected at the beginning of each analysis type, such as dc, transient, ac, and so on. This mode provides the most accurate results. However, when there are many faults, the simulation time becomes impractically long.


  2. Transient Fault Analysis (TFA). To address the challenge of a long simulation time, a new algorithm has been implemented in Transient Fault Analysis. In this simulation flow, the fault analysis is performed only at the fault times specified in the transient statement. Spectre starts a regular transient analysis until the fault time point is reached, and then switches to performing the fault simulation for all the faults one by one. When the fault simulation completes at the current fault time, the regular transient simulation is restored and continues to the next test time point.

    The figure below shows the different TFA methods available. You can choose one of the fault methods according to the trade-off between accuracy and performance.  The fault methods include timezero, faultleadtime, onestep, maxiters, and linear.

Fault Post-Processing

With the fault results for the signals specified in the save statement at the test time points saved in a table file, a binary script spectre_ddmrpt can be used to post-process the table file and generate the fault detection matrix report based on the given criteria.

You can also define the assert statements specific to the functional and/or diagnostic blocks to detect the violations during the fault simulation. A binary script spectre_fsrpt can be used to generate the functional safety report by post-processing the violation database.

Job Distribution

To improve the performance, the distributed mode is supported for both direct and transient fault analyses.

You can use the fork, lsf, or sge option to launch the child processes. The +mp=<number_of_processes> command-line option can be used to specify the number of child processes to be launched.

%bsub –R “(OSNAME==Linux)” “spectre +aps -mt +mp=3 fault.scs –outdir fullpath/out_mp/“

Related Resources

  • Spectre® Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide

You may also contact your Cadence support AE for guidance.

For more information on Cadence products and services, visit www.cadence.com.

Spectre Tech Tips

Spectre Tech Tips is a blog series aimed at exploring the capabilities and potential of Spectre®. In addition to providing insight into the useful features and enhancements in Spectre, this series broadcasts the voice of different bloggers and experts, who share their knowledge and experience on all things related to Spectre. Enter your email address in the Subscriptions box and click SUBSCRIBE NOW to receive notifications about our latest Spectre Tech Tips posts.


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

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

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