Partial Wrappers...
Grady, Theresa, Dwayne, Francisco, Karim and Yervant,
While this e-mail is directly addressed to a smaller set of people,
everyone is on the CC list.
Our job is to look at Partial Wrappers. This means many things
based upon the "degree-of-partiality" (Oxford dictionary people
did not consult me about english). To begin with let us understand
the most important partial-wrapper implementation which is
the boundary register inside the core and everything else is
outside.
The information would look somewhat like the following .... text
afterwards will describe constructs and the information they carry
to support the tasks.
Signals {
// boundary definition
}
ScanStructures {
Length, ScanIn, ScanOut, Clk,
ScanEnable, ScanCells
}
Timing {
// some timing used by Macro
}
MacroDefs {
// operate the chain
}
Environment { CTL etm {
TestMode ExternalTest;
Internal {
// Datatypes of signals
// IsConnecteds
// ScanDataType
// Wrapper PinIDs
// DriveRequirements
}
PatternInformation {
p1{Purpose EstablishMode}
m1{Purpose, ScanChain}
}
External {
ConnectTo xxx;
}
}}
Explanation of constructs:
- ScanStructures: Defines the scan chains.
- Internal-DataType: defines the characteristics of the signal to
fall in categories such as ScanIn, ScanOut, ScanEnable, clocks.
- Internal-DataType-ActiveState or AssumedInitialState:
defines the stable or active values of the signals.
- Internal-ScanDataType Boundary: Identifies the boundary scan chains.
- Internal-IsConnected: Defines the broadside connection to
the wrapper cells.
- Internal-IsConnected-Wrapper IEEE1500 CellID: defines
the implementation of the cell behind the connection.
- Internal-Wrapper IEEE1500 PinID (UpdateWR, ShiftWR, CaptureWR,
and TransferWR) define the signals that perform the associated
operation with respect to any 1500 partial or complete
implementation inside.
- Internal-DriveRequirements: Defines the special timing flexibility
and relationships of the associated signals.
- PatternInformation-Macro: Defines the macro used to get values into
and out of the scan chain. This macro is also linked in to IsConnected to
represent the access for the connection.
- External-ConnectTo: defines the instructions to the integrator to
connect to the Instruction register, WIP terminals.
Note: Other syntax could be used to say that scan-chain need to be kept
seperate at the next level of integration. Not shown here.
TASKS TO INTEGRATE A CORE WITH A PARTIAL WRAPPER:
- Are there any boundary scan chains?
Look for the answer in d.
- What is the definition of the boundary scan chain?
Look for the answer in a.
- Is the boundary chain constructed with IEEE1500 cells?
Look for the answer in f on a signal by signal basis.
- Is there a Bypass register or Instruction Register? Since there
is no Wrapper IEEE1500 statement on the test mode the wrapper
is non-compliant or partial.
Look for answer with d.
- Since question 3 says that the wrapper cells are IEEE1500 cells are there
any and what are the special terminal to perform the operations of the
Wrapper chain?
Since there is a partial wrapper as answered in 4 I am expecting UpdateWR,
ShiftWR, CaptureWR and TransferWR to be there.
Look for the answer in g.
- Do I need to implement a WART externally? Assuming that the wart is used
to collapse multiple signals to a single signal.
Look for answer in g.
- Can I collapse the scan chains?
Not sure this is needed, but look for answer in Note.
- Can I collapse the many boundary signals to the WIP signals?
Look for answer in h.
I believe the above questions 1 to 8 would be needed to be answered to
complete the wrapping of a partial wrapper that is a boundary scan chain.
So collectively we need to discuss (e-mail) the following:
- Do we need to ask more questions to successfully integrate the partial
boundary scan chain?
- Is the information there to answer all the questions.
regards,
Rohit