IEEE 1687 comparison with 1149.1-2013

Transcription

IEEE 1687 comparison with 1149.1-2013
About the presenter:
CJ Clark is the CEO of Intellitech Corp.
Prior: ITT Defense, Plantronics/Wilcom, Airex
IEEE Standards Medallion 2013 Award - Dec 2013
For vision, leadership and exceptional dedication in enabling
IEEE standards to lower costs for the electronics industry
IEEE 1149.1/JTAG Chairperson 1996-2001 & 2010-2013
IEEE P1149.10 High Speed JTAG chair
Very active member of P1838, P1687, P1149.6, etc
VTS 2012 Best Special Session Award - "IEEE P1149.1-2013…"
Co-inventor on 40+ US/foreign patents related to FPGA/JTAG
UNH CEPS Advisory Board Member (2000 - 2013 Emeritus )
Copyright © 2014 Intellitech Corp. All rights reserved.
1
Is every solution (or IEEE standard) going to be popular?
-Customer safety?
-Efficient?
ATW 2014
CJ Clark, Intellitech
2
Disclaimer:
Panel sessions are designed to create
Debate. The moderator instructs panelists
to take positions to help stimulate debate.
Any of the views here are not
necessarily that of CJ Clark or Intellitech
Corporation. Nothing should be implied.
3
1149.1 is IJTAG - always has been
- Access to on-chip IP via TAP (and via Tcl) has been around since 1990s
Not just about "Boundary Scan"
BOUNDARY REGISTER
INIT-DATA REGISTER
IEEE 1149.1-2013 now brings
Hierarchical descriptions of on-chip IP
Register Segmentation and
Power domain control
USB
DC
Input
0
1
ADC
AC/DC
1
0
Hierarchical operational language for
On-chip IP ("instruments")
DAC
User
Defined
Chain(s)
PLL
Swing
Access via TAP, system clocks, CE,VDD
Volt.
Mon
0
1
PRBS
Synergy with IEEE 1500 and IEEE 1801
- re-use popular IEEE 1500 structures
- TDRs can cross power domains
with SEGSEL and MUX control
CMMV
Logic
BIST
Protocol
On-chip
Reset via
TAP
SysReset
Local Instrument resets, assertions,
Custom mappings ( TSV-2-Register)
Unique
ECID
IR & Decode &
Muxing
IC1
TAP
Memory
BIST
Loopback
Pattern
Run
ForceError
PRBS
Generator
 Describe Interface to IP w/o TAP
 Description is "packaged" in compliant
IEEE 1149.1-2013 package file
 Describe just interface + mnemonics
 Machine readable
Attribute REGISTER_MNEMONICS of SERPRBS : package is
"OnGroup
(ON (1), OFF (0))," &
"PatGroup
( PRBS31(1), PRBS23 (2), PRBS7(3) );"
Attribute REGISTER_FIELDS of SERPRBS : package is
"PRBS [5] ( "&
"(Loopback
"(Pattern
"(Run
"(ForceError
[1]
[2]
[1]
[1]
IS
IS
IS
IS
(4) DEFAULT(OnGroup(ON))), " &
(3,2) DEFAULT(PatGroup(PRBS7)) ), " &
(1)
SAFE(OnGroup(OFF)) ), " &
(0)) DEFAULT(OnGroup(OFF)));"
PRBS - Pseudo-Random Bitstream Sequence
5
Loopback
Pattern
Run
ForceError
PRBS
Generator
Set data
Shift data
Procedural Description Language
- new vectorless re-targetable
language for describing IP operation
iWrite
iWrite
iWrite
iWrite
iApply
Loopback
Pattern
Run
ForceError
ON
PRBS23
ON
OFF
Format: <iWrite > <Register> <value or mnemonic>
6
PRBS
Generator
Package SERPRBS
iWrite Loopback ON
IO(48)
HSSI
Tool converts to:
PRBS
Generator
IO(47)
PRBS
Generator
Package SERPRBS
Package HSSI
iWrite HSSI.IO(48).Loopback 1
Package SERPRBS
Package HSSI
IC BSDL
Tool converts to:
iWrite U1.HSSI.IO(48).Loopback 1
7
Loopback
Pattern
Run
ForceError
PRBS
Generator
Tools read IP package file hierarchy
And integrate with top level IC
1149.1-2013 <info tag> specifically provided
for interactive operation of internal JTAG
registers
Any instance of any IP can be accessed
within the IC hierarchy
8
IEEE Std. 1149.1-2013 lowers industry costs by enabling
test re-use through all phases of the IC life-cycle
-
Specifies best practices for Infrastructure IP test interfaces
Specifies rules for describing IP operation
Enables one description to be used in all test stages
Enables defect correlation between system failures and IC ATE
Note: doesn’t require production IC test through TAP
Track Die via 1149.1-2013 Electronic Chip Identification
9
One 1149.1-2013 compliant IP gets leveraged across hundreds of engineers
One 1149.1-2013 compliant IC may have hundreds or thousands of IP
IP
Designer
IC
Designers
Closest
to source
OSAT = Out Sourced Assembly & Test
OSAT
Engineers
PCB
Designers
Test
Engineers
Furthest
Total Industry
Cost Savings
5 wire test
interface
11
IEEE 1149.1-2013 and IEEE 1500
IEEE 1149.1-2013 expands IEEE 1500 Wrapper Serial Ports - Segment 1500 wrapper serial ports across domains
- Attribute REGISTER_ASSOCIATION enables TSV -to-register mapping
- Supports BROADCAST to IEEE 1500 WSPs
DIE2
Reg_1500
DIE3
Reg_1500
core
SI
B
C U
C U
DIE4
Reg_1500
core
SO
SI
core
SO
SI
SO
WSC
WSC
WSC
Gating
Gating
Gating
C U
C U
C U Gate_WSP
TSV/uBump
“ready_to_scan”
WSC:
Shift_1500
A
Capture_1500
C
Update_1500
Reset*
TCK
Sel_WSP
C U
Gating
open
3
2
1
0
C U
WSC
core
SI
SO
Reg_1500S
1
SO
0
C U
SI
Start_1500
End_1500
DIE1
IEEE 1149.1-2013 and IEEE 1801
Standardizes Test Data Register segmentation implemented by IEEE 1801
power intent. Both standards now use Tcl as the standard language.
Standardizes the input and description of on-chip or off-chip power control
IEEE 1149.1-2013 discussed in P1838 Stacked Die
VDD_DIE2
N2 M3
M1
M2
U
TMS State
Bit
D
SET
Q
TCK
CLR
C/S C/S C/S
1
Ring
Enable Bit
En/Dis*
Q
1
0
0
EXTEST/PRELOAD
TCK
0
1
Q
CLR
D
SET
Q
STDO
TAPRESET
TMS
N1 N3
STDI
L2
TCK
L1
C/S C/S
SEGSEL
DOMCTRL
C/S
C/S
U
U
0
S2CTRL
S2
PWR
Controller
CHRESET
D2
VDD_DIE2
1
1
IR
0
IR/DR
Decode
FPP
Bypass
ECID
CORE
TAP
SO
REG_1500
SI
S1CTRL
S1
SEGSEL
TDI
0
TMS
CHRESET
TCK
U
1
D
C/S
SET
CLR
TDI
C/S C/S
Q
Q
U
DOMAIN_EXTERNAL
C/S C/S
DOMAIN
VCC_IO
U
CHRESET
SHIFT
VCC_IO
A4 A2 C1 C3
B2
C2
B1 B3
14
P1838 uses reset blocking concepts from 1149.1-2013 for TAPCONFIG register
- not describable in P1687 ICL
15
New Memories HBM and HMC both 1149.1-2013 compliant
16
Hyper Memory Cube - Memory Mapped Registers
- TAP access
- Described in 1149.1-2013 BSDL
17
IEEE P1149.6-201x
DC coupling, Vhyst, Vcm parameters in BSDL and PDL
attribute REGISTER_FIELDS of SerdesA : package is
"init_data[5] ( "&
-- TDI
"(SEL [1] IS (4) DEFAULT(ONOFF(OFF) RESETVAL(ONOFF(OFF)) ), "&
"(VCM [1] IS (3) DEFAULT(CMV(0V)) NOPI NOUPD ), "&
"(WEN [1] IS (2) DEFAULT(ONOFF(OFF) RESETVAL(ONOFF(OFF)) ), "&
"(SWING [2] IS (1 DOWNTO 0) DEFAULT(SWING(800mV)) NOPI NOUPD) "&
" )";
# get_VCM returns a voltage.
iProc get_VCM {} {
# Note: the true value of the current VCM is only present
# if SEL is set
set common [iGet -si -mnem VCM]
iApply
# match the strings here with the case of the mnemonics
if {$common == "0V"} {
return "0"
}
else if {$common == "500mV" } {
return "500"
}
else {
puts "The common-mode voltage has never been set\n"
return "ERROR"}}
18
CS*
RD/WR*
DATAOUT(16)
DATAIN(16)
ADDR(12)
Pre-wrapping Silicon Instrument™
- Enables more efficient PDL and scan operations
SRAM_BIST_CONTROLLER
C/S C/S C/S C/S
RESET*
RD/WR*
CS*
SysClock
DATAOUT(16)
DATAIN(16)
CPU Test
Mode[3]
CPU Test
Enable
ADDR(12)
SO2
TCK_2
UpdateDRState_2
CaptureDR_2
ShiftDR_2
Busy
Fail
SI2
Pass
Result
Data[16]
SO1
TCK_1
UpdateDRState_1
CaptureDR_1
ShiftDR_1
SI1
Result
Addr[12]
U
C/S C/S C/S C/S C/S
C/S C/S C/S
ClearResults
RESET*
Enable
C/S C/S C/S C/S C/S C/S
D
U
Mode[0]
C/S C/S C/S C/S C/S C/S
C/S
RESET*
Mode[1]
C/S C/S C/S C/S C/S C/S
Mode[2]
C/S C/S C/S C/S C/S C/S
MuxSel
U
https://verificationacademy.com/verification-horizons/march-2014-volume-10-issue-1
19
Instruments can be validated pre-silicon
- Fault coverage can be determined
- PDL correctness validated
20
1149.1-2013
iProc
Definition
P1687
iProc
Definition
Copyright © 2014 Intellitech Corp. All rights reserved.
21
Minimum Hardware Requirement:
a) A P1687 interface shall have at least one port function
Can customers specify an IEEE standard in a contract
that has few rules that are needed to achieve compliance?
22
Everything is compliant, even IP designed 20 years ago!
"Having a vendor deliver a P1687 compliant ICs or IP
is like a box of chocolates,
you never know what you're going to get."
- Forrest Gump
23
Some Comparisons of 1149.1-2013 and P1687
1149.1-20013
Yes
Yes
Yes
SEGSEL
Yes
Yes
Yes
Yes
6+user
Yes
Yes
P1687
Yes
Yes
Yes
SIB
No
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
Yes
No
No
No
No
Yes
Yes
No
No
Supports on-chip instruments via TAP
Supports Hierarchical descriptions
Variable scan chain lengths
Hierarchical scan chain segmentation
race free by design
Supports IEEE 1500, WIR and other Muxing
Supports broadcast
Addressable Instruments
Local Resets
PDL0/PDL1/Tcl
PDL0 - loop/if/then branching
for ATE vector generation
Support legacy devices (indirect addressing through
random user defined logic)
Plug and play IP
Supports I/O (Voltage etc) configuration
Supports power domains/ external power source
Supports Instrument assertions
checking/'constraints'
Supports TSV mapping
Instrument clock, power, reset requirements
for diagnostics
24
P1687 value proposition
Describe die TAP and I/O with 1149.1-2013 and P1149.6-201x BSDL and PDL
Describe ECID via BSDL and PDL
Describe stuff on right in a new language called ICL rather than BSDL
Is pin access to instruments a good thing?
- creates impediment for system level access
to on-chip IP via TAP, clocks, power and reset
26
• New HSTAP for SPI and Gigabit
SERDES
• HSTAP described in BSDL
attributes
• 1149.1-2013 PDL for init_setup
• PEDDA decodes/encodes
Packets from ATE
• Multiple instruments accessed
at the same time
• Multiple scan channels
• I/O wrap segmented
• (like 1149.1)
Reset*
BS_Mode[7:1]
- Pin activation to an instrument is
Going to be too slow and unsynch'd
P1 149.10_Enable
SO
SI
TCK
Ins truct[n:0]
P1149.10 High Speed JTAG
Reset’*
BS_Mode[7:1]’
SI /SO/CSUK _Boundary
System Clock
+
-
S
I
P
O
+
-
PISO
SIPO
40 bit
Sipo Clk
P
I
S
O
SI /SO /CSUK _ DEVICE_ ID
40 bit
SI/ SO/ CSUK _Bypass
Mux
And
Gating
Logic
SI/SO /CSUK _ECID
SI/SO/CSUK_ INIT_ DATA
Packet
Decode
/Encode
SI/SO/CSUK_ CLK_ Ctrl
Clock
Control
SI /SO /CSUK _ CH 1
Piso Clk
SI /SO /CSUK _ CH 2
PISO
SIPO
Mux
And
Gating
Logic
CSUK _Parallel
SI_PP [9:3]
SO_PP[9:3 ]
Packet Decoder /Encoder
with Distribution Matrix
27
Conclusion
IEEE 1149.1-2013 BSDL and PDL
- Needed for Configuration of I/O
- Needed for ECID
- Supports TDR segmentation across
power domains through domain control bit
- supports IEEE 1500 architectures and segments
1500 WSPs for power domains
IEEE 1149.1-2013 used by IEEE 1149.6-201x
IEEE 1149.1-2013 used by IEEE P1149.10-201x
Potentially used by P1838-201x
28