Sherlock Tutorial
Sherlock Tutorial
arkaprabha.sengupta@ansys.com
• In this tutorial, we will learn to analyze mechanical reliability risks of PCBs with
several components using ANSYS Sherlock
• We will analyze a PCB assembly comprising a six-layer board and hundreds of parts
as shown below
• The objective of this analysis is to ascertain that the PCB design meets the target
goal of less than 20% probability of failure in its service life of 10 years
Outline
1. Right-click Harmonic Event -> Delete Event to delete this load event
2. Repeat this for Random Event and Shock Event
3. Note that we can’t delete the last remaining Thermal Event. We will just
edit this event instead of deleting it
3
Life Cycle – Editing events (Thermal Cycle)
5 3
4 2
4
Life Cycle – Adding new events (Random vibe) 1
4
Life Cycle – Adding new events (Shock)
4
5
4
Parts list
1
1. Double-click “Parts List” under Inputs to
show the list of all components
2. Right-click Parts List and update the list
from Parts library as shown below
– Note the options selected in Update Parts window
2
Update Parts list from library
1
1. Double-click “Stackup” under Inputs to show the board
stackup details
– Note that the overall properties of the board stack is displayed at top
• Note, if you need to edit any layer information, you can
right-click any row and select “Edit Selected Layers” as
shown below
Layer viewer
1. Double-click “Layers” under Inputs to open the 2D layer viewer
2. Shown below are the top components and the corresponding solder mask layers that are visible. Also
the black circles shown inside blue rectangles are the mount points (fixed supports)
– Try checking/unchecking the various layers of the board, components and other mechanical assembly features, if any 1
– Also note the filter options at bottom which can be used to filter parts and features shown
– Several options to edit the PCB including components and mount points are available in this viewer. We will not discuss that here
3. Minimize the Layers viewer to return to Sherlock GUI
2
Running analysis tasks (Solder Fatigue)
1
1. Expand Analysis branch and see the various analysis types that
can be run in Sherlock
– Right-click Solder Fatigue -> Run Analysis Task and check the entries in the
properties dialog box
2. The thermal event defined in Phase 1 is already selected here,
but for multiple thermal event case, user can select which ones
to run
a) Note that Part validation is set to enabled by default before any
analysis
– Unless all part numbers are found in Part Library and properties are confirmed or
on the Approved Vendor List, this would fail. The analysis task still runs and gives
the warning message below. Part validation has no effect in your analysis results.
5 Summary
Running analysis tasks (Solder Fatigue)
• Other result details are explained below 1
1. Life prediction tab shows the overall life curve for the PCB indicative of
combined risk of all components
2. Table tab has the risk levels for each component in tabular form
• The first eight columns show some of the component inputs while last four are outputs
• Damage column has the damage fraction during the PCB service life i.e. 10 years in this
case
• TTF (Time To Fail) shows the characteristic life in years. You can also right-click any row Life prediction
and select “View Life Prediction” to view the life curve of that component 2 Inputs Outputs
• Cycles to Fail is the total number of thermal cycles the component can survive based
on the low cycle fatigue model
3. Time To Fail tab shows the histogram of the TTFs of the components
• Close the Results viewer and return to Sherlock GUI
3
Table of Component results
(top few shown)
Running analysis tasks (Natural Frequency)
1. Right-click Natural Freq -> Run Analysis Task and check the
entries in the properties dialog box 1
– Set the total number of natural frequencies in NF Result Count along with min
and max frequency
– Note that the PCB is fixed at the Mount Points discussed in earlier slides. Mount
Points provide the necessary boundary conditions and should always be set to
2
enabled in Mount Points tab
2. In PCB Modeling tab, check the following options
– Mesh Type can be only Bonded (Merged mesh could be chosen only if we change
the mesh engine to legacy mesh engine)
– PCB model can be changed from Uniform to Layered to capture effects of the
discrete layers in stackup. Other options are for trace mapping 4
3. In Part Modeling tab, check the Min. Part size and the Mesh Sizes
– Parts smaller than Min Part Size will not be included in analysis
– Note some other tabs below Part Modeling like Lead Modeling, Wire Bonds, Heat 3
Sinks and see that they are DISABLED in the analysis
4. “Save and Run” the analysis
Running analysis tasks (Natural Frequency)
6
Running analysis tasks (Random vibe)
1. Right-click Random vibe-> Run Analysis Task and check the entries in the
properties dialog box
2. Check the box next to RV-Z and click “Save and Run”
3. After it finishes, double-click random vibe to open results window
– Check the RV results under “Random Vibe” tab (in next slide)
– There are also Summary and Life Prediction tabs here as in the Solder Fatigue results
2
– Note the damage and TTF (years) columns in Random Vibe tab. The damage indicates
fraction of life used during the service life (>1 means than 100% damage during service life)
4. Right-click random vibe -> View 3D Results to open the 3D viewer
– Under Color Schemes section, you will find the RMS RV displacement and strain outputs
– Click the radio button next to “RV strain RMS” and hit “Refresh”
– 3D contour plot of selected output is displayed
– Play with Options to get desired plot 3
5. Save the results for analyses run so far for future reference (see last slide
for directions on saving results)
Random vibe results
3 Life prediction
4
3
Editing parts (BGA part)
5. The message box shown on the right appears and we will scope the
changes to part U10 only and click Save
5
Editing parts (QFJ leaded part)
4
Rerun Random Vibe Analysis
• We will rerun the random vibe analysis with the above part modifications
1. Right-click Random vibe-> Run Analysis Task and check that entries in
the properties dialog box are same as before
2. Go to Lead Modeling tab and change lead Modeling to ENABLED. Also
you can change the other entries as shown
– The balls and leads for the two parts we edited will now be included in the analysis
3. Run it and double-click random vibe to open results window after it
finishes 2
– Check the Life Prediction tab in RV results
– Note that the PCB life has shortened compared to last run. Open the “Random Vibe” tab
to see the offending parts
Life prediction
Table of Component results (top few shown) 3
Random Vibe Results
• Note that there is a new “Leads” tab that has been added to the random vibe results
4. Open Leads tab to see that there are quite a few solder balls in U10 at high risk
– When solder balls are included in the analysis, Sherlock gets the max strain directly from the ball instead of from
the board (Max Lead Strain column)
– Improved strain computation leads to higher risk in this case
5. Right-click random vibe -> View 3D Results to open the 3D viewer
– Choose RV strain RMS in Color Schemes and hit “Refresh” to view the 3D contour plot
– Note the board strain is slightly different here than the previous run without leads/balls
4 Lead results
RV Strain (RMS) over PSD spectrum
U3
U10
Saving results and generating report
3
4