Upload
krish-gokul
View
25
Download
0
Embed Size (px)
DESCRIPTION
Boundary Testing
Citation preview
5/23/2018 2. P1500-Wrapper _creation
1/24
1
Automating P1500 Wrapper Creation for
System-on-Chip (SoC).
5/23/2018 2. P1500-Wrapper _creation
2/24
2
Abstract
One of the major efforts of System on Chip (SoC) design is
integrating the Intellectual Property (IP) and verifying thecorrectness of the design.
The purpose of this project is to create IEEE P1500 standardwrappers for any given Intellectual Property (IP) andautomating the wrapper creation .
Wrappers are the circuitry added around an embedded coreto facilitate test reuse and to interface between a test accessmechanism (TAM) and the embedded core.
5/23/2018 2. P1500-Wrapper _creation
3/24
Phases Of Project
Understanding Boundary Scan architecture
Developing a dummy module with Boundary Scanarchitecture
Understanding P1500 architecture
Learning Perl Scripting language
Automation of P1500 Wrapper Creation
5/23/2018 2. P1500-Wrapper _creation
4/24
SoC Test Problems
Mixing technology
Hierarchical cores
Different core providers
IP protection/Test reuse
Expensive and inefficient external ATE(Automatic Test
Equipment)
Long test application time
4
5/23/2018 2. P1500-Wrapper _creation
5/24
5
P1500 System Architecture
Standardizes the integration of IPs into SoC environment.
Mechanism for testing of core designs within SoC.
Provision of a wrapper on the boundary (I/O terminals) of each core.
A system chip complying with 1500 should contain the following hardwarecomponents
One standard test wrapper for each core
Signal sources and sinks for test pattern provision and reception
On-chip TAM (Test Access Mechanism) to connect the wrapper to the
source/sinks*(In addition to H/W component 1500 architecture uses a test-specific
language called Core Test Language(CTL) to communicate betweencore providers and core users.)
5/23/2018 2. P1500-Wrapper _creation
6/24
6
User-Defined Parallel TAM
TAM source
1500 Wrapper
Core 1
WIR
TAM-in TAM-out
1500 Wrapper
Core N
WIR
TAM-in TAM-out
TAM sink
Chip I/O Chip I/O.
WSO1 WSIN.
Wrapper Serial Controls (WSC)
Wrapper Serial Port
(WSP)
WSI1 WSON
System Chip
P1500 System Architecture
5/23/2018 2. P1500-Wrapper _creation
7/24
CORE
WBY
INPUTS OUTPUTS
WSI
WSO
WRCKWRSTN WRAPPER CONTROLSIGNALS
(ShiftWR,
UpdateWR,
CaptureWR)
WRAPPER
BOUNDARY
REGISTER(WBR)
WRAPPER
BOUNDARY
CELL(WBC)
(WRAPPER SERIAL INPUT)
(WRAPPER SERIAL OUTPUT)WIR
SelectWIR
P1500 Wrapper
5/23/2018 2. P1500-Wrapper _creation
8/24
8
Wrapper Components
Chip
Core
WSI
CaptureWR
WRCK
WSO
ShiftWR
I
O
UpdateWR
5/23/2018 2. P1500-Wrapper _creation
9/24
9
Wrapper Cell
Operational events supported by wrapper cell(Type1)CaptureWRShiftWR
UpdateWR
*(Type 2wrapper cell will not have update register)
5/23/2018 2. P1500-Wrapper _creation
10/24
10
CaptureWR
Chip
Core
WSI
CaptureWR
WRCK
WSO
ShiftWR= 0
UpdateWR
5/23/2018 2. P1500-Wrapper _creation
11/24
11
ShiftWR
Chip
Core
WSI
CaptureWR
WRCK
WSO
ShiftWR= 1
DATA0 1 0 11 0 1 0
0 1 0 1
1
0
0
01011
0
1
0
0
1
1
UpdateWR
5/23/2018 2. P1500-Wrapper _creation
12/24
12
UpdateWR
Chip
Core
WSI
CaptureWR
WRCK
WSO
ShiftWR
DATA0 0 0 0
0000
0
0
0
MuxSelect=1
UpdateWR
5/23/2018 2. P1500-Wrapper _creation
13/24
13
Mandatory Instruction
WS_BYPASS:when no operation of that core is required,
1 bit shift path between WSI and WSO,
WS_EXTEST: To test the interconnections betweencores,
Wx_INTEST:To test the correctness of core module,
5/23/2018 2. P1500-Wrapper _creation
14/24
Proposed Work
14
Core Core with wrapper
Boundary Cell
5/23/2018 2. P1500-Wrapper _creation
15/24
Core With P1500 Wrapper
15
5/23/2018 2. P1500-Wrapper _creation
16/24
P1500 Wrapper Module
16
5/23/2018 2. P1500-Wrapper _creation
17/24
Need of automation
Practical cores being used in an SoC will have many
numbers of pins. So to create a wrapper around a real
core will be tiring, cumbersome and time consuming Since there may be any number of cores present in SoC,
again creating wrappers for each core separately will be
time consuming and complex. And it will be difficult to meet
the time-to-market requirement .
With automation we can meet time to market demands.
17
5/23/2018 2. P1500-Wrapper _creation
18/24
Project Work
Automation is being done with help of Perl scripting.
Input files to the Perl script
Core module.v (Which will give information about input and output ports
of core)
Exclude(list of exclude pins)
Output files of script
Wrap.v(Wrapper module)
Top.v(Top module of core with wrapper ) Perl --
Working of wrapper is being tested through simulation. All mandatory
operations( Capture, Shift and Update) were happening properly
18
5/23/2018 2. P1500-Wrapper _creation
19/24
Test case 1
############# io.v ########
module io(a,b,c,d,e,m,n);
input [1:0]a,b;
input c;
output e;
output [1:0]d;
output m,n;
endmodule############ exclude #########
m;
n;
19
5/23/2018 2. P1500-Wrapper _creation
20/24
RTL Schematic for Test case1
20
5/23/2018 2. P1500-Wrapper _creation
21/24
Simulation Output for Test case 1
21
5/23/2018 2. P1500-Wrapper _creation
22/24
Result
Automation of wrapper creation is being tested for many
test cases for both the types of Wrapper boundary cell
types. As we know that P1500 architecture supports different
types of wrapper cell types. This wrapper generation
supports two types of wrapper boundary cells.
22
5/23/2018 2. P1500-Wrapper _creation
23/24
Limitations and Future enhancements
Does not support bidirectional pins.
Current script supports two types of wrapper cells
As part of future enhancement, the same script can bemodified so that it can be used for other types of cells to
create wrapper around the core.
23
5/23/2018 2. P1500-Wrapper _creation
24/24
24
Thank you