15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 44.2<br />

FIGURE 44.3<br />

Core Isolation<br />

Many different approaches (Fig. 44.2) can be used to isolate a core from other cores. One common<br />

approach is to use multiplexers at each I/O of the core. The multiplexors can be controlled by a test<br />

mode so that external vector source can be directly connected to the core I/O during test. This approach<br />

is very advantageous where the core doesn’t have any internal DFT structure and has only functional<br />

vectors which can be applied directly from an external source to the core I/O; however, this approach is<br />

disadvantageous when the number of core I/O exceeds that of the chip I/O and also impacts physical<br />

routing.<br />

In contrast, other approaches minimize the routing density by providing serial access to the core I/O.<br />

The serial access can be through dedicated scan registers at the core I/O or through shared registers,<br />

where sharing can happen between multiple cores. The scan register is called a wrapper or a collar. The<br />

scan registers isolate the core from all other cores and logic during test mode. The wrapper cell is built<br />

with a flip-flop and multiplexor that isolates each pin. It can be seen that the wrapper-based isolation<br />

has impact on the overall area of the core. Sharing existing register cells at core I/O helps minimize the<br />

area impact. Trade-offs exist with respect to core fault coverage and the core interconnect fault coverage,<br />

between shared wrapper and dedicated wrappers.<br />

Access to cores can also be accomplished using the concept of “transparency” through existing logic.<br />

In this case, the user leverages existing functionality of a logic block to gain access to the inputs of the<br />

core and similarly from the core outputs to the chip I/O through another logic block. Figure 44.3 shows<br />

an example of “transparency” in a logic block. Although this approach involves no hardware overhead,<br />

detection of transparency is not a simple automation process. In addition, the existence of transparency<br />

cannot be predicted a priori.<br />

© 2002 by CRC Press LLC<br />

wrapper (Collar)<br />

Scan Register<br />

Transparency<br />

X out := X in<br />

Core isolation techniques.<br />

An example for transparency.<br />

1149.1 Boundary Scan<br />

Direct<br />

core<br />

Demux<br />

A<br />

B<br />

Mux<br />

ALU<br />

X out := X in<br />

Transparency<br />

C = A + B<br />

= A if B = 0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!