15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FIGURE 46.9<br />

FIGURE 46.10<br />

behavioral level. Furthermore, the testable description can be synthesized using several libraries and<br />

tools. The testable design is consequently more portable.<br />

Moreover, when a scan chain is inserted at the<br />

high level of the DUT, the added logic used for the test is globally compiled and optimized during the<br />

synthesis process, which reduces the area overhead.<br />

Fig. 46.9 shows the classical approach of scan insertion. Fig. 46.10 shows how scan can be inserted<br />

before the synthesis is performed.<br />

To insert a scan register at a behavioral level (high-level scan), memory elements of the DUT need to<br />

be known. In fact, the scan insertion process is made up of two basic steps. First, memory elements are<br />

located. Then, the behavioral description of the design is modified in order to describe the behavior of<br />

the scan register.<br />

Such a new scan insertion approach necessitates the development of the related tools. Hiscan (highlevel<br />

scan) is a tool that allows scan insertion at the B-VHDL level. Given a synthesizable B-VHDL<br />

description, Hiscan generates a VIF (VHDL intermediate format) file, which contains necessary information<br />

of objects (signals and variables). Hiscan uses the VIF file to locate objects that correspond to<br />

memory elements once the synthesis is accomplished. Before constructing a B-VHDL scan chain, Hiscan<br />

considers constraints which can be used in the selection of the detected memory elements. Typically,<br />

constraints are related to testability measures at the B-VHDL level or ATPG-based constraints or both.<br />

During the last step, Hiscan generates a B-VHDL scannable description, which is ready for synthesis.<br />

Given several examples of benchmarks, such a high-level scan insertion approach was shown efficient<br />

since the cost of inserting a scan design is significantly reduced when compared to classical scan techniques<br />

that operate at a low-level design. Please refer to [10] for more details.<br />

© 2002 by CRC Press LLC<br />

Low-level scan.<br />

High level description<br />

High-level scan.<br />

Low level description<br />

Synthesis tool<br />

scan_out<br />

Z< = A3;<br />

A3< = scan_in ;<br />

when others =><br />

if CK =’1’ ’ and CK’event then<br />

A3 < = A1or A2;<br />

Z< = A1and A3;<br />

end if;<br />

end case;<br />

end process;<br />

High level description<br />

Scan insertion<br />

tool<br />

Low level description<br />

process (CK)<br />

begin<br />

if CK=’1’and CK’event then<br />

A3

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

Saved successfully!

Ooh no, something went wrong!