circuit design for testing standard cell libraries design for testing standard cell libraries ......

4
Circuit Design for Testing Standard Cell Libraries Renato P. Ribas 1,2 , Vinicius Callegaro 2 , Marcelo Lubaszewski 2 , André Ivanov 1 , André I. Reis 2 1 ECE / University of British Columbia 2356 Main Mall Vancouver, BC, V6T 1Z4, Canada 2 Federal University of Rio Grande do Sul Av. Bento Gonçalves, 9500 Porto Alegre, RS, 91501-970, Brazil Email: [email protected] ABSTRACT This work presents the design methodology and the architecture of simple, efficient and easy-to-use test circuits for evaluating and validating any set of library cells (combinational and sequential logic gates), both in the design environment and for on silicon prototyping. Evaluation and validation are accomplished considering functionality, performance, power consumption and impact in operation of nanometer aging effects. Simulation results demonstrate the behavior of the proposed design and the many facilities it provides. Categories and Subject Descriptors B.8.2 [Logic Design]: Reliability and Testing – built-in tests, error-checking, test generation, testability. General Terms Design, Verification. Keywords Standard cell library, digital circuit, logic gates, self-timed, self- checking, functional test, delay test, aging evaluation. 1. INTRODUCTION The cell-based approach is definitely the most applied strategy to ASIC design nowadays. This top-down integrated circuit (IC) design methodology considers the reuse of library cells to build more complex digital circuits. In standard cells IC flow, as the technology mapping task is based on pre-characterized data from pre-designed logic gates, the ASIC design space and efficiency turns to be bounded by the profile of the library targeted. The availability of distinct logic functions, including different cell drive strength options, potentially increases the possibilities for design quality improvement. The composition of libraries may vary according to the designer requirements and application constraints. Some approaches advocate the use of reduced set of cells [1], while others consider larger libraries in order to bring more design flexibility [2]. In anyway, at any library based approach, the complete electrical characterization of logic gates is required before applying them in the IC design flow. Such characterization shall be accurately performed by considering different signal input slopes, output capacitive loads and design corners (temperature, power supply and process parameters variation), for both timing (delay propagation and output transition) and power dissipation (static and dynamic components). Electrical characteristics, together with cell area, are essential for the circuit mapping procedure, static timing analysis (STA) and power consumption estimation. These data are usually provided by automatic library generators and characterization tools, being available in standard formats like Liberty, LEF/DEF and GDSII files, since such a kind of information is provided in a per cell basis. Hence, the target library must be carefully verified and validated in the EDA environment (models data and description files) as well as on silicon [3][4]. In standard cell libraries, three groups of logic gates co-exist: (1) inverters/buffers; (2) combinational cells and (3) storage elements (latches and flip-flops). Mainly due to the large number of different logic functions and driving strength options needed in typical designs, the largest of the three aforementioned groups is the set of combinational logic gates. The handcraft creation of libraries demands skilled designers and long development time, even when simply dealing with technology migration for the same set of cells. In practice, the high engineering costs of such tasks imposes a limitation on the quantity of gates available in libraries. Furthermore, it is worth to mention that current mapping engines do not manage efficiently huge libraries due to the large amount of data concerned. In this work, a design methodology to automatically produce test circuits is presented for complete functional and electrical validation of any kind of set of gates. It presents straightforward operating and monitoring procedures, being suitable to evaluate libraries at EDA level as well as at on silicon level. At EDA level, the proposed methodology is useful to validate the library files in the design environment, checking the accuracy of electrical data, i.e., delay and power cell models, and the correlation to STA and power prediction, respectively. The resulting circuit can also act as benchmarking to compare different layout templates and transistor topologies for the same set of cells. At on silicon prove, the main goal is to provide a solution with limited number of I/O pads and minimum use of ATE (automatic test equipment) tools, reducing significantly the test engineering costs. Additionally, the test circuits are useful as a monitoring scheme to evaluate the impact in design of emerging nanometer aging mechanisms, by exploiting the intermittent circuit execution through the self-timed operating mode. In Section 2 is discussed the general purpose of this work. Combinational gates are treated in Section 3. A CAD tool has been developed to generate automaticaly the functional blocks according to the set of combinational cells available in a target library. Section 4 describes the test circuits for sequential cells (latches and flip-flops). Some experimental results are shown in Section 5. The conclusions are outlined in Section 6.

Upload: dokhanh

Post on 13-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Circuit Design for Testing Standard Cell Libraries

Renato P. Ribas1,2, Vinicius Callegaro

2, Marcelo Lubaszewski

2, André Ivanov

1, André I. Reis

2

1ECE / University of British Columbia

2356 Main Mall

Vancouver, BC, V6T 1Z4, Canada

2Federal University of Rio Grande do Sul

Av. Bento Gonçalves, 9500

Porto Alegre, RS, 91501-970, Brazil

Email: [email protected]

ABSTRACT

This work presents the design methodology and the architecture

of simple, efficient and easy-to-use test circuits for evaluating and

validating any set of library cells (combinational and sequential

logic gates), both in the design environment and for on silicon

prototyping. Evaluation and validation are accomplished

considering functionality, performance, power consumption and

impact in operation of nanometer aging effects. Simulation results

demonstrate the behavior of the proposed design and the many

facilities it provides.

Categories and Subject Descriptors

B.8.2 [Logic Design]: Reliability and Testing – built-in tests,

error-checking, test generation, testability.

General Terms

Design, Verification.

Keywords

Standard cell library, digital circuit, logic gates, self-timed, self-

checking, functional test, delay test, aging evaluation.

1. INTRODUCTION The cell-based approach is definitely the most applied strategy to

ASIC design nowadays. This top-down integrated circuit (IC)

design methodology considers the reuse of library cells to build

more complex digital circuits. In standard cells IC flow, as the

technology mapping task is based on pre-characterized data from

pre-designed logic gates, the ASIC design space and efficiency

turns to be bounded by the profile of the library targeted.

The availability of distinct logic functions, including different cell

drive strength options, potentially increases the possibilities for

design quality improvement. The composition of libraries may

vary according to the designer requirements and application

constraints. Some approaches advocate the use of reduced set of

cells [1], while others consider larger libraries in order to bring

more design flexibility [2].

In anyway, at any library based approach, the complete electrical

characterization of logic gates is required before applying them in

the IC design flow. Such characterization shall be accurately

performed by considering different signal input slopes, output

capacitive loads and design corners (temperature, power supply

and process parameters variation), for both timing (delay

propagation and output transition) and power dissipation (static

and dynamic components). Electrical characteristics, together with

cell area, are essential for the circuit mapping procedure, static

timing analysis (STA) and power consumption estimation. These

data are usually provided by automatic library generators and

characterization tools, being available in standard formats like

Liberty, LEF/DEF and GDSII files, since such a kind of

information is provided in a per cell basis. Hence, the target

library must be carefully verified and validated in the EDA

environment (models data and description files) as well as on

silicon [3][4].

In standard cell libraries, three groups of logic gates co-exist: (1)

inverters/buffers; (2) combinational cells and (3) storage elements

(latches and flip-flops). Mainly due to the large number of

different logic functions and driving strength options needed in

typical designs, the largest of the three aforementioned groups is

the set of combinational logic gates. The handcraft creation of

libraries demands skilled designers and long development time,

even when simply dealing with technology migration for the same

set of cells. In practice, the high engineering costs of such tasks

imposes a limitation on the quantity of gates available in libraries.

Furthermore, it is worth to mention that current mapping engines

do not manage efficiently huge libraries due to the large amount

of data concerned.

In this work, a design methodology to automatically produce test

circuits is presented for complete functional and electrical

validation of any kind of set of gates. It presents straightforward

operating and monitoring procedures, being suitable to evaluate

libraries at EDA level as well as at on silicon level. At EDA level,

the proposed methodology is useful to validate the library files in

the design environment, checking the accuracy of electrical data,

i.e., delay and power cell models, and the correlation to STA and

power prediction, respectively. The resulting circuit can also act

as benchmarking to compare different layout templates and

transistor topologies for the same set of cells. At on silicon prove,

the main goal is to provide a solution with limited number of I/O

pads and minimum use of ATE (automatic test equipment) tools,

reducing significantly the test engineering costs. Additionally, the

test circuits are useful as a monitoring scheme to evaluate the

impact in design of emerging nanometer aging mechanisms, by

exploiting the intermittent circuit execution through the self-timed

operating mode.

In Section 2 is discussed the general purpose of this work.

Combinational gates are treated in Section 3. A CAD tool has

been developed to generate automaticaly the functional blocks

according to the set of combinational cells available in a target

library. Section 4 describes the test circuits for sequential cells

(latches and flip-flops). Some experimental results are shown in

Section 5. The conclusions are outlined in Section 6.

2. PRELIMINARIES First of all, the first group of gates composed by inverters and

buffers is easily tested in all different aspects (functionality, delay

propagation and power dissipation) through standard ring

oscillators, due to the existence of a single input signal.

In the case of combinational multi-input gates, all possible input

vectors should be stimulated and verified. The most

straightforward way that can be thought to design a test circuit for

an ensemble of logic cells consists in instantiating all gates in

parallel arrangement, using shared primary inputs (for test

controllability) while individual output signals may be

multiplexed in order to reduce the quantity of I/O pads, without

loosing test observability. Such a strategy can obviously provide

full functional validation of each logic gate under test. However,

timing information is quite difficult to be obtained through a

circuit presenting only one level of logic depth. Additionally, the

multiplexers at the output, the input buffering to compensate the

high capacitance on input nodes, and the packaging parasitic

elements make this approach impractical to extract timing values.

When addressing sequential cells (latches and flip-flops), besides

the input state, the stored data can become the most critical

challenge for such library evaluation and validation.

Another challenge for library validation is the reliability test

(DFM failures and aging effects), usually based on the continuous

application of input stimuli and output signals monitoring. Such

procedure increases significantly the cost of ATE.

An approach that can make these tests viable without additional

ATE is strongly desirable. One possibility would be to design an

application circuit whose functionality could be easily verified.

Tape-outs of benchmark circuits (open cores) for verification and

validation of standard cell libraries is a common applied strategy.

However, it is importante to notice that the instantiation at least

once of all cells available in the library under test is rarely attained

during the circuit mapping. Furthermore, even if a mapped circuit

had presented at least one instantiation of every cell, full

functional stimuli of each of them cannot be guaranteed.

The general structure of the test circuits proposed for evaluation

and validation of cell libraries is illustrated in Fig. 1, and the aims

can be summarized as follows:

• fully functional behavior verification by stimuling all

possible static states and transitions;

• validation of cell delay and power models, and data used in

the library description;

• simple test circuit for validation of library files required in

the design environment;

• simple test circuit for on-silicon validation of cell libraries

(minimum use of ATE);

• continuous test circuit execution for aging analysis.

Moreover, there are two different operation modes of these

circuits:

a) Asynchronous (self-timed) circuit operation

• minimum ATE intervention (no input stimuli during the test

execution)

• self-checking circuit run (auto-stopping due to functional

error)

• performance analysis (correlation of on-silicon

measurements and electrical simulations)

• aging evaluation (continuous circuit running and speed

monitoring)

b) Synchronous (clocked) circuit operation

• use of extenal clock signal;

• step-by-step execution for steady state analysis (leakage and

long term data retention);

• power consumption analysis related to the circuit operation

frequency;

• diagnosis mode in case of functional error.

Figure 1. General model of the proposed test circuits.

3. COMBINATIONAL CELLS The combinational blocks, depicted in Fig. 2, are the key elements

of the test circuit effectiveness. They are built in a way to

guarantee the application of complete functional stimuli on the

ensemble of logic gates to be verified.

Figure 2. Example of a 3-input combinational block.

In the first stage, a subset of cells under test is placed in parallel

arrangement, composing a single logic depth circuit. The primary

block inputs (‘IN’) are directly connected to (and shared by) the

inputs of these cells (‘Ci’). The output data of such stage, here

identified as ‘W’ vector, is resulted from the functional behavior

of the instantiated cells. The second stage, in turn, receives the

intermediate code ‘W’ and produces the block output data ‘Out’.

The ‘Out’ vector is made equivalent to the ‘IN’ one, i.e., IN≡Out.

It is done by synthesizing a multi-level circuit considering such

specification and the information from ‘W’ vector.

Based on the characteristics of the combinational blocks,

described above, the test circuit architecture is proposed, as

depicted in Fig. 3.

The combinational blocks are cascaded expecting the data at the

beginning of the chain ‘In(n..1)’ is reproduced at the end of that in

‘Out(n..1)’ nodes, whether no functional error occurs in the cells

under test. To provide a sequence of test vectors with minimum

external intervention, the signals at the end of the combinational

chain are reconnected to the beginning of it in a ring

configuration. Multiplexers are placed in the combinational chain

avoiding blocks in the logical path when desired. Register barriers

(D-type flip-flops – ‘DFF’) are introduced into the feedback path

to avoid racing. The adder block is also included in the ring to

perform data variation. It provides ‘modulo K’ increment,

enabling more than just modulo-1 counting. It permits a wide

range of different signal transitions, being very useful to check

different charging and discharging voltage conditions at intra- and

inter-cell nodes. The basic architecture still includes a comparator

(‘=’) and additional multiplexers (‘MUX’) to configure different

operating modes, and consequently different data evaluation

conditions. The four distinct circuit operating modes are (1)

synchronous one, (2) self-timed execution, (3) single bit closed

loop, and (4) diagnosis mode.

Figure 3. Block diagram of the test circuit architecture.

4. SEQUENTIAL CELLS In relation to the test of latches and flip-flops, prior works in the

literature have focused mainly on speed performance,

metastability and noise analysis. However, in terms of standard

cell library validation, the primary issue is the correct

functionality of the cells.

In Fig. 4 is illustrated an example of the test circuit proposed for a

D-latch cell with set and reset asynchronous signals. This circuit

represents a particular shift-register with twelve latches whose

enable signal polarity alternates at every couple of latches. The

enable of all latches is controlled by the same signal Ei. Moreover,

besides a general reset to initialize the entire chain, some stages

(L01, L03, L06, L10 and L11) also have their set and reset pins

activated by the specific signals Si and Ri, respectively. The

functionality of this particular shift-register is illustrated in Table

I, according to the input stimuli (Si, Ri and Ei) indicated in this

table. The ‘IC’ column represents the initial condition of the

circuit (general reset action).

Figure 4. Test circuit for functional verification of D-latch.

In terms of functional test coverage, two different situations may

be analyzed: (1) the steady state values, and (2) the expected

output transitions according to a signal transition in a single input.

The proposed circuit provides the verification of all these possible

static and transition situations. The steady states, described in Fig.

4, appear in different cell instantiations at different moments

during the shift-register operation. Table II(a) indicates when and

where each steady state occurs, being the columns Tn and L the

time step (as indicated in Table I) and the latch instantiation (as

depicted in Fig. 4), respectively. Notice that the situation when

both set and reset signals are activated has not been considered, as

indicated in the last row in Table II(a). The possible output signal

transitions are also identified in different instantiations at different

moments, as shown in Table II(b). If one of these transitions fail,

then the functional behavior of the shift-register, as described in

Table I, is no more valid. In terms of unexpected output

transitions that can occur due a latch cell failure, the number of

possibilities is quite large and the proposed circuit is able to verify

around 50% of these ones.

Table I. Behavior description of the test circuit in Fig. 4.

Tn IC Si Ri Ei Q01 Q02 Q03 Q04 Q05 Q06 Q07 Q08 Q09 Q10 Q11 Q12

00 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

01 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1

02 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1

03 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1

04 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

05 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1

06 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0

07 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0

08 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0

09 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0

10 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0

11 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0

12 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

Table II. Test coverage of D-latch with asynchronous set and reset: (a) steady states; (b) possible output transitions.

(a) (b)

Tn L S R E D Q

4 6 0 0 0 0 0

2 6 0 0 0 0 1

3 3 0 0 0 1 0

2 1 0 0 0 1 1

2 3 0 0 1 0 0

1 3 0 0 1 1 1

1 6 1 0 0 0 1

1 1 1 0 0 1 1

1 3 1 0 1 0 1

1 11 1 0 1 1 1

7 1 0 1 0 0 0

7 6 0 1 0 1 0

7 11 0 1 1 0 0

7 3 0 1 1 1 0

na - 1 1 x x (?)

T L S R E D Q-1 Q

1 6 ↑ 0 0 0 0 ↑

1 1 ↑ 0 0 1 0 ↑

1 3 ↑ 0 1 0 0 ↑

2 3 ↓ 0 1 0 1 ↓

7 1 0 ↑ 0 0 1 ↓

7 6 0 ↑ 0 1 1 ↓

7 3 0 ↑ 1 1 1 ↓

8 3 0 ↓ 1 1 0 ↑

3 6 0 0 ↑ 0 1 ↓

4 3 0 0 ↑ 1 0 ↑

2 4 0 0 1 ↑ 0 ↑

3 4 0 0 1 ↓ 1 ↓

- - ↑ 0 1 1 0 na

- - 0 ↑ 1 0 1 na

The input signals (Si, Ri and Ei) of the test circuit are generated

according to the output data [Q01,Q02,..,Q12], by a specific logic

block. For instance, the Si signal goes high when the output data

is equal to [111111110000], as occur in time Tn = 06 in Table I. A

similar procedure is done for inputs Ri and Ei, according to the

expected behavior described in Table I. These signals can be

synchronized by an external clock by using a flip-flop barrier at

each one. As a result, only two external signals are required to

stimulate the test circuit, they are the external clock and the

general reset signal for initialization. The correct circuit operation

can be verified by just monitoring the internal signals Si, Ri and

Ei. The circuit monitoring can be simplified by exploiting a self-

timed architecture approach. The handshake control of this self-

timed circuit is done naturally by the logic block that provides the

signals Si, Ri and Ei. This means that the circuit operation

switches from the synchronous mode to the self-timed operation

by just avoiding the flip-flop barriers mentioned before. This is a

useful feature that provides a self-timed and self-checking circuit

primarily for pass/fail test, but also for delay test and continuous

operation for aging degradation evaluation and power supply

variation analysis. Any circuit error stops automatically the self-

timed computation.

Other test structures, similar to this one shown in Fig. 4, are being

investigated for both latches and flip-flops testing. The main goal

is to simplify the functional block containing the DUTs without

penalizing significantly the control block, as depicted in Fig. 1.

5. EXPERIMENTAL RESULTS In relation to the combinational cells test circuit, a specific CAD

tool, illustrated in Fig. 5, were developed to generate

automatically all functional blocks according to the structure

shown in Fig. 2.

Figure 5. Specific CAD tool for test circuit generation.

Some results obtained considering set of combinational cells from

different libraries can be seen in [5]. Depending on the

complexity of the target ASIC, the I/O pin overhead may prove

unaffordable for certification at the chip level. In this case,

considering its little silicon overhead, the test circuit could be

thought as a “certification” vehicle at the wafer-level and be used

to validate sets of neighbouring ASICs, as illustrated in Fig. 6. In

Fig. 7 can be seen the chip layout of an example of “certification

circuit”.

Figure 6. “Certification circuit” prototyped in the same die of

the target ASIC.

Figure 7. Layout of a test chip for combinational cells.

6. CONCLUSIONS This work presented the design of self-timed and self-checking

circuits primarily for pass/fail test of standard cell libraries. This

means that, if the circuit is functioning correctly, then the cells

under test can be considered to be fully functional. Any error and

unexpected transition should automatically stop the circuit

execution. It requires minimum interference of external circuit

stimuli (input test vectors generation) due to the self-timed

property. Moreover, the self-timed operation allows the

monitoring of aging effects through as well as evaluating the

impact of power supply variation and delay test, for instance. The

next task of this work is to send the proposed cell library test

circuits for silicon prototyping.

7. ACKNOWLEDGMENTS Research partially funded by Nangate Inc. under a

Nangate/UFRGS research agreement, by CAPES and CNPq

Brazilian funding agencies. The authors acknowledge UBC and

NSERC.

8. REFERENCES [1] A. Ricci, I. De Munari and P. Ciampolini, “An evolutionary

approach for standard-cell library reduction,” Proc. of ACM

Great Lakes Symposium on VLSI (GLSVLSI), pp.305-10,

2007.

[2] B. Guan and C. Sechen, “Large standard cell libraries and

their impact on layout area and circuit performance,” Proc.

of Int. Conf. on Computer Design (ICCD), pp. 378, 1996.

[3] W. Agatstein, K. McFaul, and P. Themins, “Validating an

ASIC standard cell library,” Proc. of IEEE ASIC Seminar

and Exhibit, pp.12/(6.1-6.5), 1990.

[4] J. Xu, R. Kundu, and F. J. Ferguson, “A systematic DFT

procedure for library cells,” Proc. of IEEE VLSI Test Symp.

(VTS), pp.460-66, 1999.

[5] R. P. Ribas, S. Bavaresco, N. Schuch, V. Callegaro, M.

Lubaszewski, and A. I. Reis, “Contributions to the evaluation

of ensembles of combinational logic gates,” Microelectronics

Journal, vol. 42, no. 2, Feb. 2011, pp.371-81.