Download Scan and ATPG Process Guide - Posedge Inc., FileExchange
Transcript
Generating Test Patterns Setting Up Design and Tool Behavior Setting the Test Cycle Width When you set the test cycle width, you specify the number of timeframes needed per test cycle. The larger the number you enter for timeframes, the better the resolution you have when adding pin constraints. The smaller the number of timeframes you specify per cycle, the better the performance FlexTest has during ATPG. By default, FlexTest assumes a test cycle of one timeframe. However, typically you will need to set the test cycle to two timeframes. And if you define a clock using the Add Clocks command, you must specify at least two timeframes. In a typical test cycle, the first timeframe is when the data inputs change (forced and measured) and the second timeframe is when the clock changes. If you have multi-phased clocks, or want certain data pins to change when the clock is active, you should set three or more timeframes per test cycle. At least one input or set of inputs should change in a given timeframe. If not, the timeframe is unnecessary. Unnecessary timeframes adversely affect FlexTest performance. When you attempt to exit Setup mode, FlexTest checks for unnecessary timeframes, just prior to design flattening. If the check fails, FlexTest issues an error message and remains in Setup mode. To set the number of timeframes in a test cycle, you use the Set Test Cycle command. This command’s usage is as follows: SET TEst Cycle integer Or, if you are using the graphical user interface, you can select the SET TEST CYCLE palette menu item or the Setup > Test Cycle... pulldown menu item. Defining the Cycle Behavior of Primary Inputs As discussed previously, testers are naturally cyclic and the test patterns FlexTest generates are also cyclic. Events occur repeatedly, or in cycles. Cycles further divide into timeframes. Clocks exhibit cyclic behavior and you must define this behavior in terms of the test cycle. Thus, after setting the test cycle width, you need to define the cyclic behavior of the circuit’s primary inputs. There are three components to describing the cyclic behavior of signals. A pulse signal contains a period (that is equal to or a multiple of test cycles), an offset time, and a pulse width. Constraining a pin lets you define when its signal can change in relation to the defined test cycle. To add pin constraints to a specific pin, you use the Add Pin Constraints command. This command’s usage is as follows: ADD PIn Constraints primary_input_pin... constraint_format The only way to define a constant value signal is by using the constant constraint formats. And for a signal with a hold value, the definition includes a period and an offset time. There are eleven constraint formats from which to chose. The constraint values (or waveform types) further divide into the three waveform groups used in all automatic test equipment: Scan and ATPG Process Guide, V8.2004_2 April 2004 6-31