Overview of The Ieee p1500 Standard
Overview of The Ieee p1500 Standard
',
Francisco DaSilva Yervant Zorian 2, Lee Whetsel 3, Karim Arabi 4, Rohit Kapur
1
Synopsys, Inc. Mountain View, CA. USA Francisco.DaSilva@,synopsys.com
Virage Logic. Fremont, CA. USA zorian@Jviranelop;ic.com
Texas Instruments. Dallas, TX. USA [email protected]
4
PMC Sierra. Burnaby, BC. Canada Karim ArabiOpmc-sierra.com
5
Synopsys, Inc. Mountain View, CA USA Rohit.Kapur@,synopsys.com
Paper 38.1
990
The fourth field indicates by its presence or absence, the
presence or absence of an observe-only characteristic. It is
composed of an under-bar followed by an 0. Its regex
format is /-O/.
The final field indicates by its presence or absence, the
presence or absence of safe data support in non-hazardous
mode. It is composed of an under-score followed by a G
(Guarded data). Its regex format is / -G/.
storage
elements
The following two examples are provided to demonstrate Figure 4: A WCSDn-CII-UD wrapper cell
the flexibility built into PI500 wrapper cells. Figye 3
depicts the simplest P 1500 wrapper cell structure
containing a single storage element (represented with the Figure 5 shows other flexibility characteristic of a PI500
circle). The letters inside the circle describe WBR events wrapper cell. The cell in this figure selectively captures
that affect the storage element. The storage element data from CFI, or CFO (to provide testability on the CFO
shown in the below figure responds to the shift (S) and terminal). In addition, this cell has provision for safe data
capture (C) events. In addition, the register is shared with output to prevent corruption of external logic data.
functional logic (F). The wrapper cell pin names are:
CTI: Cell Test Input
--
0
-
CTO: Cell Test Output
CFI: Cell Functional Input
CFI
-
- b
Safe CFO
CFO: Cell Functional Output Valu?
CTO
CFI CFO
Figure 5: A WC-SD1-CBI-UD-G wrapper cell
The example in Figure 4 is a more complex case featuring 2.2.3.1 Serial configuration of the
the optional Transfer and Update events along with
multiple shift-path storage elements.
WBR
The serial configuration of the WBR is mandated by the
P1500 standard. Through this configuration, the WBR is
Paper 38.1
991
accessed via a unique set of Test Input (TI) and Test CDRs, as depicted in Figure 6 . In addition, the state of the
Output (TO) signals. WSP set of terminals is used to determine selection of the
currently active data register.
I I
TI TO
WSI ‘
CLK .
W - stands for wrapper and is a prefix to all standard
1500 instructions
ParalleYSeriaYHybrid - an “S” denotes a serial mode
instruction. A “I”’ represents a parallel mode instruction.
An “H’ stands for a hybrid instruction. Note that a
standard parallel instruction (e.g. WP-EXTEST) must
2.3 The Wrapper Instruction have the WBY between WSI and WSO - although this is
not a hybrid instruction. An instruction by which any
Register register other than WBY is configured between WSI and
The wrapper instruction register configures the P1500 WSO and which also uses the parallel port, is classified as
wrapper into a certain mode of operation determined by a hybrid instruction.
an instruction shifted into the WIR via the WSP set of Mode - “Mode” is a shortened description of the
terminals. The WIR circuitry decodes loaded instructions instruction mode, such as Bypass, Preload, Clamp, Safe,
and provides individual controls to the WBR, WBY or Intest, Extest or User (for user-defined instructions).
Paper 38.1
992
Configuration - “Configuration” describes the wrapper
configuration of a particular instruction. Possible
configurations are SCAN to denote that internal core scan
chain(s) participate in the test, RING to denote that only
the WBR participate in the test (at the exclusion of any
internal core chains), User for a user defined
configuration not covered in the above configurations.
For instance, during the serial instructions
WS-INTEST-SCAN and WS-lNTEST-RING, SCAN
denotes that internal scan chains are included in the single
scan chain between WSI and WSO. RING indicates that
only the wrapper chain is between the WSI and WSO.
The IEEE P 1500 standard requires the following
instructions:
0 WS-Bypass
WS-Extest Figure 8: Wrapper configuration during the
WS-Intest-Scan instruction
0 One Serial, Parallel or Hybrid Intest instruction
The following figures depict the wrapper configuration
during mandatory P1500 instructions. Figure 9 shows the P1500 wrapper configured following
the load and update of the WS-Extest instruction. In this
Figure 7 depicts the P1500 wrapper configuration configuration, data flows from WSI to WSO through the
following the load and update of the WS-Bypass WBR (which interacts with the external logic being
instruction into the WIR. In this, configuration the data tested).
path flows from WSI to WSO through the bypass register.
Miss
\
WS-Extest
4 \
WSP Data Path
Is highlighted
Figure 9: Wrapper configuration during the
WS-Extest instruction
Figure 7: Wrapper configuration during the
WSBypass instruction
In Figure 8 the P1500 wrapper is configured as a result of
the WS-Intest-Scan instruction being active in the WIR. 2.4 The Wrapper Bypass Register
In this configuration, data flows from WSI to WSO via WBV3
the WBR and the core (internal scan and functional I/Os).
The WBY is a mandatory register selected by the WIR in
response the WS-BYPASS instruction. This data register
is then connected between the WSI and WSO terminals of
the WSP and can be shifted using protocol applied to the
signals of the WSC terminals. This register is the default
Paper 38.1
993
wrapper data Register and is selected when no other
wrapper data register is selected. While the WBY
preferably contains a single register to facilitate
abbreviation of the scan path length through a wrapper, it
may contain additional registers. The WBY does not
have an update stage.
1 MacroDefs {
1 Environment (Env-name) { 2 setup-intest {
2 CTL (CTL-name){ 3 W defaultWFT;
3 External { 4 V { WRSTN=O; }
4 (sigref-expr { 5 V { WSP[ 0. .5] = 110100; 1
5 (connectTo { 6 Shift { V {
6 Wrapper /IEEE1500/ 7 i-wir=' instruction[ 0. .3] ;
7 (CellID cell-enum I PinID 8 WRCK=P;} }
8 user-def ined); 9 V { si-wir=X; WRCK=O; ShiftWR=O;
9 1 )* 10 UpdateWR=l;}
10 I)+ 11 V { WRCK=P;}
11 1 12 V { WRCK = 0; SelectWIR=O;
12 1 UpdateWR =O;}
13 1 13 1
14 cell-enum = 1 4 Environment {
15 / (WC-S[ DE7 \ d+ C-C ([ IOBI IOU] ) I 15 CTL {
16 N)? (-v[ DFI ) ? (-GI?) I 16 PatternInformation {
I7 (User USER-DEFINED) / 17 Macro setup-intest {
18 Purpose Instruction
19 1
The above CTL description shows P1500-specific CTL 20 }
keywords used to identify P 1500 hardware components. 21 1
The fEst one on line 6 notes the existence of a P1500 22 1
wrapper. The following line (7) identifies the P1500
wrapper cell associated with a particular core pin
Paper 38.1
995
The above CTL code contains two sections, a macro 4.2 Wrapped Compliance
definition section (lines 1 to 13) and an environment
section (lines 14 to 22). The purpose of the above setup The P 1500-wrapped compliance level requirements must
macro is to load the Intest instruction into the WIR. This be met in order to achieve test reuse. The information
is done by first putting the P1500 logic into wrapper- model for a wrapped-compliant core provides all data
enabled mode (line 4), and then constraining Wrapper required by core integrators to successfully integrate the
Serial Port terminals (line 5) to allow shifting into the core and map test patterns to the top-level of the device.
WIR. The actual shifting of the WIR occurs in lines 6 Wrapped compliance is achievable by the core provider or
through 8, followed by the update of the instruction with the core user. Core users can achieve wrapped compliance
lines 9 through 11 (with UpdateWR active). The from unwrapped-compliant cores or directly from non-
environment section of the CTL code puts the above setup compliant cores.
macro in to the context of the overall test. In this
particular example, the “Purpose” (line 18) indicates that
the above macro is to be applied to the “Instruction” 5 Limitations
register. The P1500 standard does not provide support for bi-
directional wrapper cells, since the use of bi-directional
The above examples are meant for describing how P1500
terminals is discouraged under design reuse guidelines.
specific information is provided in CTL to allow test
reuse automation at the SoC level. The Pl500 standard
requires that CTL is provided with P1500 cores as a
condition for claiming P1500 compliance. 6 Discussion
While P1500 does not provide direct support for bi-
directional terminal wrapping, users of the standard can
4 IEEE 1500 Compliance provide wrapper cells on the individual signals
composing the bi-directional terminal. In the case where
Cores can be provided and used by third-party companies
the bi-directional terminal exists at the core level,
and because of this it may not always be possible for the
wrapper cells for the input, enable and output signals of
core-provider to optimally select certain P1500
the bi-directional can be provided inside the core being
components such as the type of wrapper cell to be used to
wrapped.
wrap the core, since, this selection could be TAM
dependent and therefore chip-dependent. For this reason,
the P1500 standard allows cores to exist in both
unwrapped and wrapped forms and has defined
7 Conclusions
unwrapped PI 500 compliance requirements as well as The presented IEEE P 1500 standard overview provides a
wrapped P1500 compliance requirements. Both solution to test reuse challenges by defining core-level
compliance levels require provision of the core design-for-test-reuse requirements. These requirements
information in CTL, by using CTL specific keywords are a combination of hardware rules and information
identified by the P1500 standard in order to achieve CTL model requirements that allow for automated Plug-and-
interoperability. The type of P1500 compliance achieved Play test integration at the SoC level.
by a particular core is expected to be provided in the
accompanying CTL code.
4. I Unwrapped Compliance
The P1500-unwrapped compliance level is an
intermediate level defined to ensure that appropriate test
information is provided to the core user. A P1500-
unwrapped compliant core information model enables
automatic P 1500 wrapper generation. For unwrapped-
compliant cores, the core user is expected to complete
compliance by meeting wrapped compliance
requirements, without having to modify the original
(unwrapped) core.
Paper 38.1
996
[8] Rohit Kapur, Maurice, Lousberg, Tony Taylor, Brion
Keller, Paul Reuter, Douglas Kay, “CTL the Language for
Acknowledgements Describing Core-Based Test,” in Proceedings of the
International Test Conference, 2001, pages 131-139.
At the time this document was written the following
people were P1500 task force contributors: [9] Michael Keating, Pierre Bricaud, Reuse
Methodology Manual for System-on-a-Chip Designs,
Alan Hales, Brion Keller, Bulent Dervisoglu, Douglas
Kluwer Academic Publishers, Nonvell, Massachusetts.
Kay, Erik Jan Marinissen, Fidel Muradali, Francisco da
Silva, Grady Giles, Jason Doege, Jim Monzel, Jon Udell, [ 101 Erik Jan Marinissen and Maurice Lousberg, Macro
Karim Arabi, Lee Whetsel, Luis Basto, Mike Collins, Test: A Liberal Test Approach for Embedded Reusable
Mike Mateja, Mike Ricchetti, Paul Soong, Rohit Kapur, Cores, in Digest of Papers of IEEE International
Saman Adham, Teresa McLaurin, Tom Waayers, Vivek Workshop on Testing Embedded Core Based Systems
Chickermane, Wu-Tung Cheng, Yervant Zorian (TECS), 1997, pages 1.2-1.9.
[ l l ] V. Iyengar, K. Chakrabarty, and E.J. Marinissen,
References “CO-Optimization of Test Wrapper and Test Access
[ 11 Semiconductor Industry Association (SIA), Architecture for Embedded Cores,” Journal of Electronic
International Roadmap for Semiconductors (ITRS), 200 1 Testing: Theory and Applications, vol. 18, no. 2, pp. 213-
230, April 2002.
[2] IEEE P1500 Web Site,
http://grouper.ieee.orrz/aroups/l5OO/ [12] E.J. Marinissen and Y. Zorian, “Challenges in
Testing Core-Based System ICs,” IEEE Communications
[3] Erik Jan Marinissen, Yervant Zorian, Rohit Kapur,
Magazine, vol. 37, no. 6, pp. 104-109, June 1999.
Tony Taylor, and Lee Whetsel, Towards a Standard for
Embedded Core Test: An Example, in Proceedings IEEE [I31 M. Sugihara, H. Date, and H. Yasuura, “A Novel
International Test Conference (ITC), 1999, pages 616- Test Methodology for Core-Based System LSIs and a
627. Testing Time Minimization Problem,” in Proceedings
IEEE International Test Conference (ITC), Washington,
[4] Erik Jan Marinissen, Rohit Kapur and Yervant Zorian,
On Using IEEE PI500 SECT for Test Plug-n-Play, in DC, Oct. 1998, pp. 465472.
Proceedings of the International Test Conference (ITC), [14] L. Whetsel and M. Ricchetti, “Tapping into IEEE
2000, pages 770-777. PI500 Domains,” in Digest of Papers of IEEE
International Workshop on Testing Embedded Core-
[SI Yervant Zorian and Erik Jan Marinissen, System Chip
Test: How will it impact your design, Embedded Tutorial Based Systems (TECS), Marina del Rey, CA, May 2001,
8.1 at ACMJIEEE Design Automation Conference (DAC) pp. 3.2-1-7.
2000 [15] L. Whetsel, “An IEEE 1149.1 Based Test Access
[6] CTL Web Site, http://grouper.ieee.org/groups/ctl/ Architecture For ICs With Embedded Cores”, IEEE
International Test Conference 1997, pp. 69-78.
[7] IEEE Computer Society, IEEE Standard Test Interface
[ 161 L. Whetsel, “Addressable Test Ports - An Approach
Language (STIL) for Digital Test Vector Data Language
to Testing Embedded Cores”, IEEE International Test
Manual IEEE Std. 1450.0-1999. IEEE New York,
Conference 1999, pp. 1055-1064
September 1999.
Paper 38.1
997