| Contents | p. v |
| List of Figures | p. xiii |
| List of Tables | p. xv |
| Preface | p. xvii |
| Acknowledgements | p. xix |
| Foundations of STIL | p. 1 |
| Introduction | p. 1 |
| Organization of this Book | p. 2 |
| History | p. 3 |
| Foundation Efforts | p. 6 |
| Scope of STIL and Follow-On Efforts | p. 6 |
| Negotiating the Scope Limits | p. 7 |
| Format or Language? | p. 7 |
| Compression and the Binary Format Discussion | p. 8 |
| Evolving Standards | p. 9 |
| Parallel Standards | p. 10 |
| STIL Test | p. 13 |
| Test Stresses | p. 13 |
| ASIC Test | p. 14 |
| Microprocessor Test | p. 14 |
| Test Strategies | p. 15 |
| Fault Models | p. 16 |
| Functional and Structural Testing | p. 17 |
| Single Stuck-At Fault Model | p. 18 |
| Bridging Faults Model | p. 19 |
| I[subscript DDq] Testing | p. 20 |
| Delay Tests | p. 21 |
| Transition Fault Model | p. 22 |
| Path Delay Fault Model | p. 23 |
| Test Metrics | p. 23 |
| Fault Diagnosis | p. 24 |
| Test Behaviors | p. 24 |
| Signals | p. 24 |
| Stimulus and Response | p. 27 |
| Periodicity | p. 27 |
| Output Response Constraints | p. 28 |
| Test Induced Faults | p. 29 |
| Packaging Effects | p. 30 |
| Simultaneous Switching Outputs | p. 30 |
| Guardbanding | p. 30 |
| Other Applications of STIL | p. 31 |
| Signals | p. 33 |
| Signals | p. 33 |
| User Names Characteristics | p. 35 |
| Really Long User Names and Concatenation | p. 36 |
| Types of Signals | p. 38 |
| Signal Arrays | p. 39 |
| SignalGroups | p. 40 |
| SignalGroup Block Names | p. 43 |
| SignalGroup Evaluation and Name Resolution | p. 44 |
| Applications of SignalGroups | p. 46 |
| STIL Statement Constructs and Block Structure | p. 47 |
| Single Statements Construct | p. 48 |
| Block Statements Construct | p. 48 |
| Named Blocks | p. 48 |
| Reserving the Leading Keyword | p. 49 |
| Signals and SignalGroups Syntax | p. 50 |
| Signal and SignalGroup Attributes | p. 51 |
| The Test Attributes | p. 53 |
| Application of the Test Attributes | p. 53 |
| Propagation of the Test Attributes | p. 54 |
| Two Usage Models for the Test Attributes | p. 55 |
| WGL Signals | p. 56 |
| Timing | p. 59 |
| The Timing Block | p. 59 |
| Event Statements | p. 60 |
| States and Levels | p. 62 |
| ForceUnknown, 'N' | p. 62 |
| The Difference Between Compare and Expect States | p. 63 |
| The Relationship Between Drive and Compare States | p. 64 |
| Basic Time Expressions | p. 64 |
| Waveforms | p. 65 |
| Types of Waveforms | p. 66 |
| Waveform Styles | p. 67 |
| WaveformCharacters | p. 68 |
| Merging Common Waveforms | p. 69 |
| Event Ordering and Persistence | p. 71 |
| Maintaining Related Events | p. 73 |
| End-Strobe Relationships | p. 74 |
| Delayed Pulse or NRZ Waveforms | p. 76 |
| Special Events | p. 78 |
| Time-Zero Event | p. 78 |
| Tristate Events | p. 79 |
| The Rest of the Timing Block Syntax | p. 80 |
| Period Statement | p. 81 |
| Signal Reference Resolution in Timing | p. 81 |
| WGL Timing Constructs | p. 83 |
| Patterns | p. 85 |
| Fundamental Pattern Constructs | p. 85 |
| Statement Order Dependency | p. 86 |
| WaveformTable Reference Statement | p. 87 |
| Signal Assignment | p. 88 |
| Multiple Signal Assignment | p. 89 |
| Multiple Based Signal Assignment | p. 90 |
| Decimal Mapping | p. 93 |
| Default Attributes | p. 93 |
| WFC Expressions | p. 93 |
| Mixing Modifiers | p. 95 |
| Vectors | p. 96 |
| Conditions | p. 97 |
| Incremental Behavior | p. 98 |
| Loop Constructs | p. 100 |
| Loop Statement | p. 100 |
| MatchLoop | p. 101 |
| Other Loops | p. 102 |
| Labels | p. 102 |
| Stop and IDDQTestPoint | p. 104 |
| BreakPoint | p. 104 |
| WGL Pattern Constructs | p. 105 |
| Tying It All Together | p. 109 |
| Basic STIL Information Flow | p. 109 |
| The PatternBurst | p. 111 |
| Basic PatternBurst | p. 111 |
| Hierarchical PatternBursts | p. 112 |
| Environment/Context Statements in the PatternBurst | p. 113 |
| PatternBurst Organizations | p. 114 |
| The PatternExec | p. 116 |
| Additional STIL Constructs | p. 117 |
| STIL block | p. 117 |
| Header block | p. 118 |
| Annotations | p. 119 |
| Comments | p. 121 |
| STIL Block Order | p. 122 |
| WGL Constructs | p. 123 |
| Files and the Include Statement | p. 125 |
| Include Statement | p. 125 |
| Relative File Path Naming | p. 127 |
| Absolute File Path Naming | p. 127 |
| Using Logicals in the Path Name | p. 127 |
| The IfNeed Option | p. 128 |
| Additional File Constructs and Behaviors | p. 128 |
| Specifications | p. 131 |
| Device Operating Specifications | p. 131 |
| STIL Extensions to the Spec Variables | p. 133 |
| Spec and Category | p. 133 |
| Spec Variable Resolution | p. 136 |
| Based Expressions | p. 137 |
| Selector | p. 138 |
| Applying Spec Variables | p. 139 |
| More Spec Constructs | p. 140 |
| Explicit Spec Variable Type Referencing | p. 140 |
| The Spec Variable Meas Type | p. 140 |
| Relative Waveform Timing | p. 141 |
| Styles of Timing Representation | p. 142 |
| WGL Specification Constructs | p. 144 |
| Partitioning Timing | p. 145 |
| All-Waveforms-in-One-Table | p. 146 |
| One-Waveform-Per-Table | p. 147 |
| Happier Mediums | p. 149 |
| WaveformCharacter Conventions | p. 149 |
| Common Waveform Groups | p. 150 |
| Waveform Grouping/Merging | p. 151 |
| WGL Pattern Data and WaveformCharacters | p. 153 |
| Advanced Timing | p. 155 |
| Incremental Timing Definitions | p. 155 |
| Waveform Labels | p. 157 |
| Inherit Statements in the Timing Block | p. 158 |
| InheritWaveformTable timing_name.wft_name | p. 159 |
| InheritWaveform timing_name.wft_name.wave_label | p. 160 |
| InheritWaveform timing_name.wft_name.wave_label.wfc | p. 161 |
| Inherited Information Resolution | p. 162 |
| Inherited signal_reference Resolution | p. 163 |
| The Syntax Issue with Inherit Names and Concatenation | p. 164 |
| Inherit Strategies | p. 165 |
| InheritWaveformTable Examples | p. 166 |
| Inheriting Separated Time and State in Waveforms | p. 168 |
| SubWaveforms | p. 170 |
| Multiple Data Waveforms | p. 172 |
| Procedures and Macros | p. 177 |
| Structured Test Development | p. 177 |
| STIL Procedures | p. 179 |
| MacroDefs | p. 180 |
| Differences Between Procedures and Macros | p. 181 |
| Procedure and Macro Parameters | p. 186 |
| Single Parameter Application | p. 188 |
| Multiple Parameter Application | p. 190 |
| Calling Procedures and Macros | p. 192 |
| Parameter Passing By Name | p. 193 |
| Parameter Passing By Contents | p. 195 |
| Extra Parameters | p. 196 |
| Missing Parameters | p. 196 |
| Using Named Procedures / MacroDefs Blocks | p. 198 |
| WGL Procedures and Macros | p. 199 |
| STIL Scan | p. 201 |
| Scan Design | p. 201 |
| Scan Operation (Design) | p. 202 |
| Scan Process (Test) | p. 203 |
| Characteristics of a Scan Test | p. 204 |
| STIL Scan Constructs | p. 206 |
| The Shift Block | p. 206 |
| ScanIn and ScanOut Attributes | p. 208 |
| ScanStructures Block | p. 209 |
| ScanStructures PatternBurst Statement | p. 210 |
| ScanChain Pattern Statement | p. 210 |
| Scan Data Alignment ("Scan Padding") | p. 211 |
| More Considerations on Scan Constructs | p. 214 |
| Pre-shift and Post-Shift Scan Data Consumption | p. 214 |
| The STIL Shift Calculation | p. 215 |
| The STIL Scan Pad State | p. 216 |
| Scan Groups | p. 217 |
| An Example: Transition Testing | p. 218 |
| WGL Scan | p. 220 |
| STIL Levels | p. 223 |
| STIL Statement with Extensions | p. 223 |
| Static and Dynamic Levels | p. 224 |
| Static Levels | p. 225 |
| DCLevels Statements | p. 226 |
| States and Levels | p. 228 |
| Applying DCLevels in the Test | p. 228 |
| Inter-cycle Dynamic Levels | p. 229 |
| Interaction of DCLevels and DCSets in the PatternExec | p. 231 |
| Intra-cycle Dynamic Levels | p. 232 |
| DCSequence | p. 233 |
| Inherit Constructs | p. 234 |
| STIL Blocks and Data | p. 236 |
| More Pattern Constructs | p. 239 |
| Event-based Pattern Data | p. 239 |
| User Extensions | p. 243 |
| UserKeywords statement | p. 243 |
| Ambiguous Scenarios | p. 246 |
| UserFunctions | p. 247 |
| Additional Test Considerations | p. 249 |
| The Concept of Test Constraints | p. 249 |
| Name Mapping | p. 251 |
| Signal Names | p. 251 |
| Terminology | p. 255 |
| Bibliography | p. 259 |
| STIL Syntax Summary | p. 261 |
| Index | p. 287 |
| Table of Contents provided by Rittenhouse. All Rights Reserved. |