Standard Cell Library Validation Methodology
Standard Cell Library Validation Methodology
net/publication/318467496
CITATION READS
1 3,566
13 authors, including:
All content following this page was uploaded by Bruno Canal on 17 July 2017.
Figure 2. LVS procedure: (a) cell layout, (b) extracted schematic, and
(c) targeted schematic
Finally, once DRC and LVS pass, the cell is thoroughly
characterized, i.e., it is stimulated in a simulation environment to
obtain electrical and timing information (e.g. rising and falling
transition times, output voltages, output currents and noise
margins). This information has to comply with the desired Fig 4. Benchmark for on silicon validation of combinational cells [6].
specifications, otherwise the cell must be redesigned.
Figure 4 depicts the benchmark architecture which is composed of
IV. STANDARD CELL DESIGN FLOW VALIDATION two main parts:
1) Combinational Blocks (CBs) (in blue) have two stages:
a. First Stage (FS): Distinct cells are arranged parallel to each
other implementing a function denoted as: f (In).
b. Second Stage (SS): Composed of a group of cells inverting the
FS logic function, represented as: f −1(f (In)).
2) Operation mode Blocks (in white): The combined function of
these modules allows selecting three test modes:
a. Synchronous: Tests the selected CB by analyzing the DFF
register contents which are incremented at every clock cycle
controlled by an external source
Figure 3. Cell library validation at IC design flow phase. b. Asynchronous: Automatically tests the selected CBs
Once the cell library design has been completed and fully performance by analyzing the DFF register contents, which is
characterized, the IC design flow is explored to check that any clocked when In and Out values are the same
sample benchmark can be sinthesized into a manufacturable c. Closed-loop oscillation Built-In Self-Test (OBIST): Helps
silicon layout. The cell library validation at the IC design flow determining timing information of specific cells by oscillating
phase is shown in Figure 3. Several different real benchmarks (1 a chosen path that propagates through the CBs.
to N) are carefully selected as test cases in the flow. They must
B) SEQUENTIAL CELLS VI. SILICON IC VALIDATION
An effective benchmark to validate sequential cells (FFs and Silicon validation tasks, usually called as bring-up, are the last
Latches) must include testing all possible inputs by stimulating step in the development of an IC. In contrast to pre-silicon
one at a time. One possible solution to achieve this goal is setting verification that tests the IC model in a virtual environment, post-
these cells in a ring oscillator configuration [8]. Figure 5 shows silicon validation occurs on the actual tangible IC prototype
the proposed benchmark (3 inverting FFs and 1 buffer) which is running slow and at-speed tests [8][9].
capable of stopping ring oscillation whenever a cell is faulty, or Silicon validation tasks basically falls into two categories:
not compliant with functional specifications. Also, it is effective manufacturing and characterization tests. The first allows
on determining maximum oscillation frequency for a specific determining if the tested sample was correctly built by controlling
sequential cell library. and observing gate-by-gate net-by-net using structural test
patterns. Once one good sample is found, characterization tests
must be applied to this sample in order to gather important timing
information about the manufactured device. In the latter test, test
patterns are manually defined according to synthesis results and
specifications. For both test types we employed a typical
validation setup shown in Figure 8.
Figure 5. Benchmark for sequential cells.
C) REAL CASE BENCHMARK
The third benchmark comprises of both combinational and
sequential cells in a real case study such that we can evaluate
whether the ASIC design flow embedding the target cell library
actually works. We have selected a 16-bit CPU core based on [7]
which has also been used to validated the ASIC flow in Section
IV. In the past years, this 16-bit CPU named Charrua has been Figure 8. Proposed post-silicon validation setup.
used for IC design training within the IC-Brazil professional
training program [1] and was initially created for teaching First, we separately analyze the design model and physical
Computer Architecture and programming at the University of Vale chip perspectives. From the design perspective, we use the sign-
do Itajaí [7]. The Charrua core described in [7], is placed in the off netlist of our benchmarks to generate test patterns. This task
top-level design together with two IP RAMs and an SPI bootloder may or may not account on an Automatic Test Pattern Generator
using the APB protocol bus, as shown in Figure 6. Moreover, it (ATPG). From the physical chip perspective, the chips will be
has 6 test pins, 5 operational pins, 4 bootloader pins and 16 I/O stimulated by the tester according to the test stimuli previously
pins for external communication and test purposes. generated and produce results that are collected by the tester. The
measured results are then compared to expected golden results.
For manufacturing tests, the expected results are computed during
pre-silicon verification by using simulation tools. Whereas for
characterization tests, the results are determined from the
specifications and synthesis reports. Also, a diagnosis task allows
analyzing faulty results and detect manufacturing errors or, for the
purpose of our work; to determine cell and routing layout bugs,
thus allowing cell library layout refinement.
Finally, we highlight that our benchmarks have internal pattern
generators, self-test mechanisms and easy access to test ports to
help us accurately evaluate the cell library without having to use
probe stations or expensive automatic test equipments.
VII. CASE STUDY AND RESULTS
Figure 6. Proposed Charrua benchmark top-level view. We designed two cell libraries versions in 0.6μm technology:
one standard (CTC06ST) and one small area version (CTC06LA).
In addition, we have implemented a shadow scan-chain to
Both libraries have 403 combinational cells and 26 sequential
evaluate and validate the benchmark. This means that, for each
ones. We have started the validation flow herein described but
FF, we added in parallel a scan FF (SFF) such that their outputs
there are still a long path to finish testing all samples in order to
are multiplexed. This strategy allows evaluating not only the
validate both cell libraries. In addition, our efforts account on a
combinational logic but also normal FFs, since Design-for-Test
group of 16 people executing design and validation tasks using
(DfT) synthesis usually replaces all normal FFs with SFF. This
Cadence tools. Results of each validation step are described in the
DfT strategy is depicted in Figure 7. If normal or scan FFs (but
following subsections.
not both) have layout bugs, then the design can still be evaluated.
A) GATE DESIGN VALIDATION RESULTS
We had difficulties in this initial stage as re-design was often
needed to meet DRC and LVS validation rules as well as sizing
constraints. Common mistakes stemmed from simple last-minute
modifications, which caused severe errors that were hard to detect.
After iterating through cell design refinment and characterizing it
each time, we were able to complete design and validation tasks
for each cell. This initial phase required approximately 2000 hs on
Figure 7. Design-for-test strategy. designing and 1000 hs on validation for both library versions.
B) STANDARD CELL DESIGN FLOW VALIDATION benchmarks using this library worked correctly, providing 7.5 to
12.5 MHz frequencies with a jitter that could not be correctly
We stressed the cell design flow by using different benchmarks:
measured. Recently, we have adjusted the LibTestLA and finished
128-bit AES encryption core, 128-bit AES fixed secret, different
the 16-bit CPU using the CTC06ST cell library version. Both
versions of a CPU core, the benchmarks in Section V, and several
sign-offs have been sent for manufacturing thanks to the Brazilian
small peripherals, like SPI modules. Initially, summing all errors multi-user project offered by CEITEC. Figure 10 shows their
of all benchmarks, we obtained more than 20,000 errors. These
corresponding 3x3 mm2 sign-off layouts.
problems were mainly notch errors that arouse from exporting a
.DEF file from Encounter to Virtuoso.
IP IP
RAM RAM
IP IP
(a) (b) RAM RAM
Figure 9. (a) Virtuoso and (b) Encounter .
(a) (b)
Figure 9 shows an example of notch error in Virtuoso (Fig. 9a)
Figure 10. (a) Charrua CPU (b) LibTestLA.
occurring at this validation stage. As it can be seen, double vias
had different definitions in the foundry technology .LEF file in
both tools. In Virtuoso they were slightly dislocated to the left VIII. CONCLUSIONS
(50nm) as well as the connection (0.5μm to the right). Note that We have presented a standard cell library validation approach
some layers cannot be seen by Encounter (Fig. 9b), so it does not which tackles validation at several different stages. The proposed
report these DRC errors, whereas in Virtuoso, many of errors like approach has the goal of delivering a trusted cell library to a
in the picture were spotted. The reported DRC errors were customer which will take for granted that using it he will be able
eliminated at the instant the library .LEF file used by Encounter to manufacture any design for the target foundry (as long a certain
was modified to match Virtuoso technology file. number of rules are respected). We explained these validation
steps starting from bottom-up, that is beginning from basic
C) BENCHMARK VALIDATION standard cell design to a real manufactured digital ASIC prototype
The combinational benchmark explained in Section V(A) was that accounts on the provided cell library. Also, the proposed
verified in logic and electrical simulations and validated on silicon benchmarks have shown to be very effective on detecting layout
using a mature 0.6μm technology provided by XFAB[11]. bugs that helped quickly correcting mistakes and arranging
Simulation results and real measurements have shown to be very another tapeout. Results have demonstrated that the proposed cell
similar, especially the maximum frequency (~7MHz) when all library validation approach is on the right track.
combinational blocks were stimulated together. The sequential
benchmark was also verified using logic and electrical simulations ACKNOWLEDGEMENTS
by combining several different FF ring oscillator configurations. Project partially founded by CNPQ (grant 305113/2014-3) in
Although results have not yet been published, they have shown to partnership with CEITEC S.A.
oscillate at 12MHz to 50MHz frequencies. Finally, the 16-bit
CPU core was throughly verified and stimulated, achieving a REFERENCES
performance of upto 20MHz clock frequency. Similarly to [12], [1] http://www.ci-brasil.gov.br/index.php/en/
an assembly code was evolved by an EA-based tool to maximize [2] Keshava, J., et al. Benchmark Circuits Improve the Quality of a StandardCell
verification coverage metrics (~85%). Moreover, we exploited Library, ASP-DAC Design Automation Conference, 1999,p.173-176.
and ATPG and a fault simulator to evaluate functional and scan- [3] Bo Liu et al. Sub-threshold Custom Standard Cell Library Validation, IEEE
chain test patterns coverages that provided more than 93% fault International Symposium on Quality Electronic Design, 2014.
coverage. [4] Agatstein, W. et. al, Validating an ASIC standard cell library, IEEE ASIC
Seminar and Exhibit, 1990, p12/6.1 - p12/6.5.
D) SILICON VALIDATION [5] A.P. Singh, N.S. Panwar, On Silicon Timing Validation of Digital Logic Gates
A Study of Two Generic Methods, IEEE International Conference on
In order to silicon-prove the combinational cells functions of Microelectronics, 2006, pp.424-427.
the CTC06ST and CTC06LA libraries, we generated 2 [6] R.P. Ribas, et al. Contributions to the evaluation of ensembles of
combinational benchmark described in Section V, one for each combinational logic gates, ed. Elsevier: Microelectronics Journal,
2011,pp.371-381.
library, namely LibTestST (25 samples) and LibTestLA (25
[7] http://bipide.com.br/
samples) respectively. The LibTestLA also embedded several FF
[8] Keshava, J., et al. Post-silicon Validation Challenges:How EDA and
ring-oscillator benchmarks, described in Section VB. Moreover, Academia Can Help, IEEE Design Automation Conference, 2010, pp.3-7.
the validation setup accounted on an Altera FPGA Cyclone III [9] Mitra, S., et al. Post-Silicon Validation Opportunities, Challenges and Recent
Terasic board implementing the automated tester for Advances, IEEE Design Automation Conference, 2010,pp.12-17.
manufacturing tests. We also resorted to a 250MHz Agilent [10] R Ribas et Al. Performance and Functional Test of Flip-Flops using Ring
Oscilloscope, a voltimeter and an ex-Agilent Logic Analyzer Oscillator Structure. IEEE,Design and Test Workshop (IDT), 2011, pp42 47.
16903A to perform characterization tests to acquire timing data. [11] M. De Carvalho et al., On-Silicon Validation of a Benchmark Generation
We performed manufacturing tests in the LibTestLA samples Methodology for Effectively Evaluating a Combinational Cell Library Design,
IEEE Latin American Test Symposium. 2016, pp.135-140.
and results showed some combinational cell layout bugs. All
[12] M. De Carvalho et al. An Enhanced Strategy for Functional Stress Pattern
samples presented the same errors that were detected exactly on Generation for System-on-Chip Reliability Characterization. IEEE
one CB block and on the comparator logic. Although the layout Microprocessor Test and Verification Workshop(MTV), 2010, pp29-34.
had bugs, most cells were working correctly and preliminary
characterization test results show that this small area cell library is
slower by around 20% in comparison to results shown in [11] and
is capable of reducing die area by 44%. Moreover, 3 sequential