nullJ750 Programming Day 5J750 Programming Day 5Characterization Sheet
Shmoo Plots
Measure and Adjust
Margins
Visual Basic for Test (VBT)
thehdw
theexec
Instruments and Pin Programming
Type Ahead Prompting
Object Browser
Interpose FunctionsnullThe purpose of characterizing a device is to determine the extremes at which the device will operate
Device characterization involves experimenting with the DUT, investigating its behavior under a variety of input conditions
Certain combinations of input parameters cause the DUT to fail a test, while other combinations can cause it to pass. Exploring these pass/fail regions can tell a lot about the manufacturing process and the appropriateness of the chosen test limits
Characterization can be performed from the Flow Table, as part of the regular testing process, or interactively while stopped at a breakpoint in the IG-XL debuggerDevice Characterizationnull"Characterization Setups" are defined on the Characterization sheet
Can change and update setup at run time in debug mode
Setups can vary any edge, level, period, or spec
Allows any number of tracking parameters per axis for Shmoo
Results can be output to a worksheet, file, or graphical plot (shmoo only)
Choice of “Binary Search” or “Linear Search” or “List of points” (shmoo only)
Results can be sent to Datalog as parametric type test
Can be applied to one pin or pin groups
Can select timeset to use during characterizationGeneral Capabilitiesnull1-D Shmoo: Vary one primary parameter or spec (and any number of tracking parameters or specs) over a range while recording Pass/Fail/Error and, if the test provides one, the measured Value for each point
2-D Shmoo: Vary two primary parameters or specs (and any number of tracking parameters or specs) over a range while recording Pass/Fail/Error and, if the test provides one, the measured Value for each point
3-D Shmoo: Vary three primary parameters or specs (and any number of tracking parameters or specs) over a range while recording Pass/Fail/Error and, if the test provides one, the measured Value for each point
Margin: Vary a primary parameter or spec over a range while recording Pass/Fail/Error information. This differs from 1-D Shmoo in that no tracking is permittedDevice Characterization ModesnullAdjust: Vary a hardware parameter or spec over a range until the transition point between Pass and Fail is located. Leave the tester in the "just passing“ state, and optionally set a spec to the final result. (A "backoff" value can also be applied to the result, to leave the test with a safety margin.) By means of the spec, the result can be propagated and "overlaid" onto subsequent test instances, so they can use the new Adjusted value
Measure: Measure one or more parameters. Measure uses the same method as Adjust, but restores the tester’s state when the measurement has been made, and does not set a spec with the result
Device Characterization ModesnullInvoke EditorCharacterization SheetnullChose Mode or ModesTest Method Retest or ReburstFrom -To LimitsType: spec level edge period Characterization EditornullInsert a Characterization sheet and define a setup for each Shmoo. Note that this step is optional. It is possible to create a setup interactively, at runtime
Set a breakpoint on the Flow Table at the test instance you want to characterize.
Start running the program in Debug mode.
When the postbody breakpoint is reached, invoke the Characterization Editor by pressing the Characterization button on the DataTool toolbar
Using the Characterization Editor, you can select a setup from the setups that have been defined on the Characterization sheet. Edit the selected setup as needed Change any of the range values, or you can add or delete an axisRunning a Shmoo InteractivelynullOnce the setup is complete, press Run
The Editor can have the resulting Shmoo displayed in the Shmoo Data Display window, which lets you interact with the data, querying individual points or performing re-shmoo of one or more points.
Note that Shmoo output can also be written to a worksheet in the job workbook or to an ASCII file
After a Shmoo terminates, the tester will be left in whatever state it was when the last Shmoo operation was performed. The PreBody for the next test template will reset all tester levels properlyRunning a Shmoo Interactivelynull3-D Shmoo SetupnullDouble click to ReShmoo any point
Zoom into a region
Detail point info shown at mouse’s loc3-D Shmoo PlotContext Barnull3-D Shmoo Plot – Site Mergenull3-D Shmoo Plot – Sheet OutputnullA Margin is similar to a 1D shmoo except that you cannot use any tracking parameters
In a group setup if one member is Margin then all other members have to Margin as well
Group Margins are executed in the order they appear on the Characterization Sheet
Unlike shmoo the only way to see the output of Margin is to direct the results to a worksheet or file
The output format resembles that of shmooMarginnullMargin SetupnullAn Adjust or Measure Setup are defined on the Characterization sheet
Flow Table characterizes an instance with the Adjust or Measure Setup
Setup results are applied to a spec for Adjust only
The Test Instances sheet specifies which setups are to be overlaid with the found value for adjust setups only
Measure resets the tester to original value whereas Adjust actually updates the tester with a new value based on the result and “backoff” combinationRuntime Measure and AdjustnullTest Instance OverlaynullPerforming the Adjust or MeasurenullA setup can contain more than one row and combination of modes in a setup
The way that a multi-row setup is executed depends on the combination of modes in the setup
In a Shmoo setup, all Shmoo rows - both the primary and tracking parameters are involved in each test execution
If a setup contains multiple Adjusts or Margins, each row is considered independent of the other rows and is executed separately in order
A Margin setup cannot contains rows of any other mode. In a setup that contains a Margin row, all other rows must also be Margin modeMulti-Row SetupsnullIf you include Adjusts or Measures in a Shmoo, the order of operations is as follows:
Apply the X, Y, and Z axis parameter values of the Shmoo
Perform any Adjusts, in the order they are defined in the setup. Propagate the results to specs, as defined
Perform any Measures, in the order they are defined in the setup
After Measures are performed, move to the next pointMulti-Row SetupsnullMulti-Row SetupsnullThe VBT tester model
A tester has two main components:
The hardware of the tester, further divided into “Instruments” & “Digital”
Tester executive functions
Two VB handles are used to access these components:
TheHdw
TheExecVisual Basic for Test (VBT)nullVBT Instrument HardwarenullGrab DPS #2 and set its voltage to 3.95 volts
TheHdw.DPS.Chan(2).ForceValue(dpsPrimaryVolts) = 3.95
Remove all programmed levels from the DUT
TheHdw.PinLevels.PowerDownVBT – Instrument Hardware – ExamplesnullVBT – Type Ahead PromptingnullVBT Digital HardwarenullRe-run the previously executed pattern
TheHdw.Digital.PatGen.Restart
Load pattern file ‘a.pat’
TheHdw.Digital.Patterns.Pat(“a.pat”).LoadVBT – Digital Hardware – ExamplesnullMost of the hardware objects offer two different ways to read or write the tester hardware:
By DUT pin
TheHdw.DPS.Pins("Vdd").ForceValue(dpsPrimaryVoltage) = 3.9
By channel
TheHdw.DPS.Chan(0).ForceValue(dpsAlternateVoltage) = 3.9
VBT – “By DUT Pin” vs “By Channel”nullVB’s “With” construct can simplify programming
With TheHdw.DPS.Pins(“Vdd”)
.ForceValue(dpsPrimaryVoltage) = 3.1
.CurrentLimit = .45
End WithVBT – “with” ConstructnullUse the Pins property to focus on the DUT pins to be worked with rather than the instruments to be used.
With TheHdw.Pins("db1")
.PinLevels.ModifyLevel(chDriveHi) = 3.0
.Timing.ReadEdgeTimingRam(time_PHLZ)
TheHdw.Digital.Timing.EdgeTime(chEdgeR0) = 6.5*ns
.Timing.WriteEdgeTimingRam (time_PHLZ)
End With
Note: Timing edges are read from hardware to Memory, modified in memory, then written back to the hardware. VBT – Top Level “Pins” Propertynull
TheExecVBT ExecutivenullGet the last test result for site 2
res = TheExec.Sites.Site(2).LastTestResult
Set the RunOptions dialog to DoAll tests mode
TheExec.RunOptions.DoAll = TrueVBT – Executive – ExamplesnullVBT – Integrated Online HelpnullMost customization needs can be satisfied with the use of interpose functions
They can be used to modify the behavior of a template without modifying the code
They can be used to make calls to the drivers, to get and set driver values
Arguments can be passed to an interpose function
It is recommended that you use interpose functions instead of creating customized templatesInterpose FunctionsnullSix types of Interpose Functions:
StartOfBodyF: Called as the first operation in the template body
PrePatF: Called before each pattern burst
PreTestF: Called before the test is executed or the measurement is made
PostTestF: Called after the test is executed or the measurement is made
PostPatF: Called after each pattern burst
EndOfBodyF: Called as the last operation in the template body
Note: All interpose functions are executed within the body portion of the test templateInterpose FunctionsnullThree elements to creating interpose functions
Instance Editor
Calling Convention
Adding Interpose Function ModulesCreating Interpose FunctionsnullInstance Editor and Interpose FunctionsnullThe calling convention for an interpose function is:
Public Function name(argc As Long, argv() As String) As Long
e.g Public Function SetFlag(argc As Long, argv() As String) As Long
Where argc is a Long indicating the number of arguments passed to the function
Where argv is an array of strings, one element for each argument passed
The function can use argc and argv to process the arguments
The Instance Editor permits the entry of a comma-delimited list of parameters for each interpose function
When the test instance calls the interpose function, the list is automatically translated into the argc, argv format, and is passed to the functionCalling Convention for Interpose FunctionsnullInterpose Functions are added to the test program workbook
Interpose functions must be located in the Modules component of the VBAProject project for the workbook
To invoke Visual Basic:
With the workbook open:
Hit “Alt+F11”
Using the Tool Bar:
Tools | Macro | Visual Basic Editor.Adding Interpose Functions ModulesnullIn the Project Explorer, select VBAProject (workbook.xls)Adding Interpose Functions ModulesnullUse the Insert | Module command to insert a new module. The new module will be inserted under Modules
You can rename the module in the Properties window
Create the interpose functions in this module using Visual Basic for TestCreate the interpose functions hereAdding Interpose Functions ModulesnullIn this example Program, we will demonstrate the use of an Interpose Function to set a cpu flag that when set will change the flow of a given patternWriting Interpose Functions – Example ProgramnullSelect the type of interpose function, and in the value column specify the name of the Interpose Function and if required, a comma-separated list of parameters. (Parameters not required in this example)Writing Interpose Functions – Example ProgramnullUse Visual Basic for Test to create the Interpose Function.
Type thehdw or theexec followed by a “.” to get the menu to pick the next parameter of the function. Continue to add parametersWriting Interpose Functions – Example ProgramnullWriting Interpose Functions – Example Program
本文档为【j750_basic_programming_day5】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。