Encounter Test Lab VLSI ASIC
Encounter Test Lab VLSI ASIC
The following labs assume that paths to Encounter Test software have been
added to your environment path.
First off, lets make sure you are pointing to the software and know how to
bring it up in different modes.
- Typing in which et should point to the local install of the code. If this is
not the case, the following labs will not work.
- You also need to make sure that you are pointing to the IUS version of
ncverilog for later labs. Type in which ncverilog and make sure it does
not point to the encounter test area.
How to bring up and execute Encounter Test:
- To bring up the ET GUI directly type:
et gui & or simply et &
- To bring up the ET environment in command-line mode type:
et f c
The c puts you into the ET command line.
The f command tells the interpreter to not execute the users .cshrc
in a csh environment.
- To bring up the ET tchl environment type:
et tcl
- You can force the tool to use 32/64 bit machine code by using the -32 and 64 switches.
- You can also send an Encounter Test command to the command line
environment and still stay in your normal command shell by typing:
et e et_command
For example et e build_model ....
This is great for shell scripting.
- To see a list of all options for a specific command type:
et et_command H
This help switch brings up a man page of all the available switches for
this command.
et et_command h brings up a subset of the more commonly used
switches for this command.
- To bring up the new Cadence Help systems (cdnshelp), just type in the
following command:
<your_et_install_path>/tools/cdnshelp/bin/cdnshelp
Steps:
Learn how to use the GUI/Pull down menus to process a basic design.
Learn the basic Encounter Test flow. (build_model, build_testmode and
verify_test_structures)
Build Fault Model This step takes the model created in the previous step
and applies a fault model to the circuit by placing faults on the appropriate
nodes.
o Verification -> Build Models -> Fault Model
o Radio buttons allow you to turn on/off Dynamic Faults. If
selected the tool will apply the static and dynamic fault model to
the circuit. For this lab it doesnt make a difference.
o You can also tell the tool to apply faults at the Cell boundaries.
For this lab you should select Fault Cell Boundary only.
o Click Run
o The log file contains information about the number of faults.
How many Static Faults are there in the entire design?
Next we want to build the test view of our circuit. We need to tell the
tool what the different test pins are and their associated functions. For this
circuit we have the following test pins.
o Information
16 Scan Ins : DLX_CHIPTOP_DATA[15:0]
16 Scan Outs : DLX_CHIPTOP_DATA[31:16]
Scan Enables :
DLX_CHIPTOP_SE (Active high asserted)
DLX_CHIPTOP_RESET2 (Active low asserted)
o You can treat a reset as a scan enable to test
more faults on the reset line.
o This means during shift it will be set to its
deasserted value but can change during
capture if the tool desires.
Test Enables : (Tied to 1)
DLX_CHIPTOP_TEST_ENABLE
DLX_CHIPTOP_TCK
Test Enables: (Tied to 0)
DLX_CHIPTOP_TDI
DLX_CHIPTOP_TMS
DLX_CHIPTOP_TRST
Clocks used for Shift and Capture :
DLX_CHIPTOP_TEST_CLOCK (Off state is 0)
DLX_CHIPTOP_SYS_CLK (Off state is 0)
Clocks used only for Capture :
Please attempt to create this file first before looking at the working one.
Then compare your assign file to the file DLX.working_assignfile.
o Did the polarity on the test_functions match?
o Was your syntax correct?
o What does + in +TI mean versus +ES?
Build TestMode (Creates a test view of your circuit based on the pin
assignments set in the assignfile)
o Verification -> Build Models -> Test Mode
o Test mode name : FULLSCAN
This is a default mode for an ATPG SI to SO configuration
There can be multiple testmodes per design
o Input pin assignment file : <your_assignfile>
o Click Run
o Look for any Severe Warning messages or syntax errors
o How many Static faults are active in this mode?
o Is this value different from the results in build_faultmodel? If so,
Why?
Do we have valid scan chains?
o Before we run full design-rule checking, we can see if our
testmode is set up properly and whether we have contiguous chains
from SI to SO
o Report -> Test Structures...
This tells the tool to trace the scan chains from SO
backwards and SI forwards
Select testmode FULLSCAN in form and click Run
o How many Controllable chains do we have?
o How many Observable chains do we have?
o A good chain in the report file would look like this:
Controllable Scan Chain 1
Load Pin Index / Pin Name 43 / DLX_CHIPTOP_DATA[0]
Bit Length
85
Scan Section Sequence
Scan_Section_Sequence
Observable Register 1
Unload Pin Index / Pin Name 50 / DLX_CHIPTOP_DATA[16]
Bit Length
85 Unload pin in phase with Load Pin
Scan Section Sequence
Scan_Section_Sequence
Not proven flushable
o Note that the Bit Lengths of the Controllable and Observable trace
are of identical length. This means the tool traced backwards and
forwards the same equal length from SI to SO and SO to SI.
o A bad chain might look like this:
Controllable Scan Chain 1
Load Pin Index / Pin Name 43 / DLX_CHIPTOP_DATA[0]
Bit Length
42
Scan Section Sequence
Scan_Section_Sequence
...line spacing between them...
Observable Register 1
Unload Pin Index / Pin Name 50 / DLX_CHIPTOP_DATA[16]
Bit Length
12 Unload pin in phase with Load Pin
Scan Section Sequence
Scan_Section_Sequence
Not proven flushable
o Note the Bit Lengths are different. When the log file prints out
they will also not be listed together. This is because the tool does
not know they are supposed to belong to the same scan chain. This
will be more evident in LAB2 when we have broken chains.
o Just as a note for future reference. When you get into compression
structures the format is a bit different. You will have multiple
Control Reg points feeding to multiple Observer Reg points.
o If so, how can you get a listing of all the floating/non-scan flops?
(hint report_test_structures ...go ahead and try it)
You have now taken your circuit through the build and verify process. It
is now ready for vector generation.
Go ahead and close down the GUI by clicking the X in the upper righthand side of the GUI or by selecting File -> Exit...
Steps: