EDN Access

February 16, 1998


Add Testability NOW to Core-based Chips, OR Pay Later

Jim Lipman, Technical Editor

Designing chips with reusable cores lets you put lots of logic on a piece of silicon but also creates difficult chip-test problems. Knowing what design-for-test techniques and EDA tools to implement these techniques are available helps you over your system-on-a-chip test hurdles.

Adding testability to a chip is always important. When you design ICs around reusable embedded cores that someone else often designed, understanding the testability features in these cores becomes even more difficult. You may also need to supplement core testability to reach acceptable fault coverage. If you design chips with multiple cores, perhaps from a variety of sources, the task of adding full-chip testability features is critical to a successful design.

Knowing how to add testability to a complex core-based IC depends on your understanding the types of testability schemes designed into the various intellectual-property (IP) blocks on the chip. In addition, you need to know what tools are available to enhance core design-for-test (DFT) and to integrate core-testability strategies. You also have to understand how to integrate testability design into functional chip design.

What's in a name?

Core-based chip design is not new; designers have been using this approach for about 15 years. In the early 1980s, ASIC chips used blocks called "megafunctions," or "megacells," surrounded by custom-designed logic, to implement complex functions. These cores were predefined and preverified blocks of logic designed for a specific process and, often, a specific application.

Yesterday's megacells have evolved into today's cores, often made reusable by being defined as a netlist or piece of HDL code. Designers often refer to cores as "IP." However, "IP" is such a broad term that you're better off using the term "core" for describing reusable pieces of logic or analog functions used on chips.

Chip cores can be soft, hard, or firm. A soft core comes in the form of synthesizable Verilog or VHDL code or as a netlist of library cells. If the core is available in HDL format, you must synthesize the core to the gate level and then optimize its layout on a chip. A soft core is portable, meaning that you can implement it in a variety of processes and design it using various cell libraries. The trade-off for this portability and flexibility is unpredictability. The performance and size of a physically implemented soft core varies with the cell library, the chip process, and your skill in implementing the core.

You target a hard core for a specific process. Hard cores come as either physical layouts or as netlists of library elements along with placement-and-routing information. Although neither portable nor flexible, hard cores have well-known performance parameters. Designers usually define timing-critical cores, such as µPs and DSP engines, as hard cores.

Developers optimize firm cores for performance and area within a fixed number of processes. Core vendors often achieve this flexibility by making the core parameterizable, meaning that the core has features that can vary depending on the target process. A firm core is less flexible than a soft core but has more predictable performance and size. For core testability, you should consider only soft and hard cores, because firm cores are not in widespread use and are hybrids of the other two core types.

A number of techniques are available for adding DFT to digital cores. Analog blocks require different DFT methods and are not included in this discussion (see box "Testing embedded analog cores"). The most common digital-core DFT technique is scan design. This testability scheme modifies your design's flip-flops and latches to allow serial read-in and readout of a core's logic states in a scan-test mode. You can control and observe the core's flip-flops and latches by making them into serial-shift registers during test. Scan test lets you use EDA tools to automatically generate high-fault-coverage test vectors for the scan circuitry.

Scan test for cores can be full or partial. Full scan covers all flip-flops and latches and, because of its high fault coverage, finds use in chips in which time to market is critical. In contrast, partial scan lets you test only a portion of a core. Designers often use partial scan for high-speed cores. Partial scan provides lower fault coverage but has less impact on core and chip performance.

High fault coverage of a complex core means a longer testing process because this coverage requires you to serially load and read the scanned block. In addition, the scan circuitry adds silicon area, making your chip more expensive, and increases on-chip signal-transition times. Because of scan test's performance impact, some companies still omit some critical high-speed paths for a core with full-scan DFT implementation.

A variation of scan testability involves the use of parallel-scan access instead of a serial-scan chain to shorten testing. Parallel-scan chains are more complex to implement, use more area, are more difficult to route, and usually require either adding or multiplexing the on-chip I/O pins. Speeding testing by concurrently running multiple scan chains also has these drawbacks.

Most user-defined logic and large unstructured logic blocks use scan techniques for DFT compliance. Keep in mind that not all logic blocks can use scan testing. Cores with asynchronous logic, multiple clocks, or gated clocks may need other DFT techniques, such as BIST, to obtain a desired level of testability. Variations of scan test that you can use depend on the type of logic block you want to make testable (see box "Scan test's many faces"). Structured blocks, such as memories and datapaths, usually use BIST for testability.

BIST methodology uses built-in test circuitry in the logic block you want to test. The test-generation and -response logic lets  the block test itself. However, the presence of additional logic for testability, such as scan-logic circuitry, also adds silicon area. You may want to add extra test points within the block you want tested to increase fault coverage. In general, BIST has higher area overhead than does scan. However, BIST is the preferred technique for testing large blocks of embedded, structured logic and on-chip memories, such as RAMs and ROMs.

A variation of scan-path DFT is boundary scan. With a boundary-scan architecture, each I/O pin on the device you want to test has an added register and, sometimes, a special latch. The added circuitry allows you to scan in test patterns to input pins and then scan out output-pin states. A small amount of control logic and four connections outside the device you're testing provide control of stimulus input and scanned-data output.

04DF11Although designers developed boundary scan to isolate and test ICs on pc boards, they often use boundary scan to test cores embedded on chips. With boundary scan, you can access and test blocks with multiple scan, BIST, and multiplexer-isolation DFT schemes (Figure 1). The multiplexer-isolation technique lets you isolate and access the core. Most designers of core-based chips and vendors of chip-DFT tools use the IEEE 1149.1 boundary-scan standard.

Cores come in many "flavors," requiring you to handle each one somewhat differently when considering testability. Some core vendors supply the core as a black box with little or no information on the internal core logic. In this case, the vendor should also supply a test-vector set with a guaranteed level of fault coverage, which you need to integrate into the overall chip-test strategy. Similarly, legacy cores, which are blocks designers developed for an earlier design and are reusing for a current chip, also should have a complete test-vector suite. New cores require you to develop a DFT strategy and test-vector suites if you plan to use a scan-test methodology for these blocks.

Soft cores complicate testing more than hard-core DFT does. Ensure that the person who developed the core used no RTL constructs that could create test problems when you add testability using a testbench. If you add your own test, that test scheme may depend on the library the synthesis tool uses to generate the gate-level core description and on the synthesis tool itself. Make sure that you verify testability and fault coverage on the synthesized block before stitching it into the chip.

Core and ASIC vendors use different DFT techniques for different types of core products. Some combine DFT with other test-related design, such as emulation. LSI Logic's (Milpitas, CA) Tiny RISC product family employs enhanced JTAG (EJTAG), which combines JTAG with some in-circuit-emulation (ICE) features, including software breakpoints, single-stepping of code, and DMA support. The price you pay for this additional chip-debugging capability is four to 20 extra pins on the chip, with the number depending on the level of ICE capability you want.

04DF12ARM (Cambridge, UK) also includes ICE capability for its RISC cores along with the Advanced Microcontroller Bus Architecture (AMBA) test methodology. AMBA uses a test bus on a chip to isolate the ARM and peripheral cores, allowing you to more easily test each core separately. This test bus has a pipelined Advanced System Bus to connect the processor core, on-chip memory, and other high-bandwidth peripheral cores, as well as a separate Advanced Peripheral Bus for lower performance cores (Figure 2). Using the Advanced Peripheral Bus reduces loading on the Advanced System Bus and minimizes the performance impact of the added test circuitry.

When you develop a complete test strategy for core-based chips, consider different factors. The first part of total chip testing concerns using predefined core-level DFT and test generation or defining these elements to make each core testable. This approach can combine the efforts of core providers and chip designers. The second part of the complete-test approach concerns chip-level DFT and testability that you have to do yourself. A good source of information on testing embedded cores is the Virtual Socket Interface (VSI) Alliance (see box "VSI's role in core-based chip testability"). Your responsibilities for implementing chip testability are:

  • integrating your test to include blocks that have defined DFT strategies and test vectors,

  • defining techniques to implement DFT schemes for new logic blocks,

  • implementing component isolation during test to guarantee test of only one core at a time and to make sure that you don't drive other chip logic into an unsafe and potentially damaging state, and

  • debugging DFT logic that you add to a chip.

Most multicore chips have different DFT structures for different cores. For example, memory blocks almost always use BIST, whereas µP blocks usually use scan. When defining logic to interface the chip's blocks, you may combine scan, BIST, and multiplexer-isolation techniques. When designing chip-level DFT, you need a way to integrate each block's DFT structures and to connect these structures to simulators and testers outside the chip, usually through an IEEE 1149.1 boundary-scan interface. You can manually integrate these structures, a tedious and time-consuming operation, or use some available EDA tools (Table 1).

EDA tools for core-based chip DFT can be memory-DFT (always BIST) tools, logic-block-DFT (usually BIST) tools, and tools to integrate multicore-DFT techniques. Most test-synthesis tools support 1149.1 boundary scan, and a few synthesize the boundary-scan chain and test-access-port (TAP) controller for you as well.

Memory-BIST tools vary among vendors, depending on the types of memories the vendors support, the types of memory-test algorithms you can implement, and whether multiple memory blocks on a chip can share a controller.

04DF13Tools for multiple-logic-block and memory-core test integration include Duet Technologies' VisibleCores and Mentor Graphics' CTIntegrator. VisibleCores integrates TAP and core testing using a test-bus architecture for test isolation and multiple-block access on a chip. VisibleCores contains one or more of the following: test-data buses, a test-control bus, test-collar cells (interface logic surrounding each core for test access and test isolation), multiple-input shift registers (MISRs), and a test controller. The tool automatically creates variable-width test buses to provide access to test-collar cells at core-I/O ports and then combines component-level test patterns for chip-level testing (Figure 3). VisibleCores is compatible with IEEE 1149.1 boundary scan and uses a JTAG TAP controller. CTIntegrator assembles existing multicore-DFT methodologies into a unified, top-level test environment. These methodologies include BIST, full and partial scan, and boundary scan. CTIntegrator also gives you access to hard and soft test cores with precomputed test vectors, and it reports chip-level test coverage.

EDA companies are not the only vendors concerned with products for multiple-technique DFT designs. Artisan Components (Sunnyvale, CA) has developed a Universal Test Interface (UTI) that it has built into its 0.25-µm-process memory compilers. The UTI supports many DFT options, including serial BIST, scan, serial-memory test, and multiplexer isolation. LogicVision implements UTI in its memBIST-IC tool, eliminating some of the synthesized-BIST circuitry that you would normally need.

Taking another approach to simplifying the embedded-memory-test problem, the Self-Testable Memory Core (STMC) products from Virage Logic (Milpitas, CA), combine a memory compiler with BIST circuitry and diagnostic capabilities. Because Virage optimizes the BIST logic for a memory block, fault coverage is greater than 99%. In addition, the STMC requires less silicon overhead to support a memory's DFT features than would memory core and BIST from different sources. However, some third-party BIST-synthesis products let you synthesize a single controller for multiple memory blocks on a chip. This feature makes it unclear at what point the STMC's area-saving feature disappears for chips with many memory blocks.


References

  1. Ghosh, Indradeep, NK Jha, and S Dey, "A Low Overhead Design for Testability and Test Generation Technique for Core-Based Systems," 1997 International Test Conference Proceedings, Nov 3 to 5, 1997, pg 50.

  2. Pouya, Bahram, and SA Touba, "Modifying User-Defined Logic for Test Access to Embedded Cores," 1997 International Test Conference Proceedings, Nov 3 to 5, 1997, pg 60.

  3. Yervant, Zorian, "Test Requirements for Embedded Core-Based Systems and IEEE P1500," 1997 International Test Conference Proceedings, Nov 3 to 5, 1997, pg 191.

  4. Hemmady, Shankar, T Anderson, and Y Zorian, "Verification and Testing of Embedded Cores," Design SuperCon97: On-Chip System Design Conference Proceedings, Jan 21 to 23, 1997, pg S122-1.

  5. Bhatia, Sabdeep, T Gheewala, and P Varma, "A Unifying Methodology for Intellectual Property and Custom Logic Testing," 1996 International Test Conference Proceedings, Oct 20 to 25, 1996, pg 639.


Acknowledgments

Thanks to Chit Mallipeddi of Cadence (San Jose, CA) and Rudy Garcia of Schlumberger (San Jose, CA) for their helpful insight into core-test methodology and problem-solving.


04df1gla
  • A chip's test methodology is usually a mix of design-for-test (DFT) schemes, including scan and BIST.

  • DFT for embedded cores requires additional silicon to implement logic for accessing and testing the core.

  • Hard and soft cores require different DFT techniques and tools.

  • A full-chip-testability strategy involves a trade-off between test speed and ease of testability implementation, silicon overhead, logic-speed impact, and, frequently, pinout.

Testing embedded analog cores

Until recently, core-based design-for-test (DFT) and testability work has concentrated almost exclusively on digital chips. However, since full system-on-chip design has become a reality, DFT methodology must now include chips containing analog blocks, such as ADCs, DACs, and PLLs, as well as digital cores. You can add DFT structures and test mixed-signal chips using an analog test strategy along with digital testing, or you can test analog blocks with digital DFT structures and techniques.

The IEEE P1149.4 Mixed-Signal Test-Bus Working Group is defining the P1149.4 standard as an extension of the well-known 1149.1 boundary-scan standard to include on-chip analog structures (Reference A). P1149.4 will use a six-wire bus to measure analog signals. Four of the bus wires are the same as those used by the 1149.1 bus in its test-access port (TAP). The additional two wires form an analog stimulus-and-response bus, called the analog TAP (ATAP), which connects to analog test equipment. The IEEE expects to release the 1149.4 standard this year. For more information on the IEEE P1149.4 Mixed-Signal Test-Bus Working Group, check out its Web page at http://stdsbbs.ieee.org/groups/1149/4/index.html.

Recently, LogicVision introduced a way of testing embedded analog cores with small BIST blocks that you get as synthesizable Verilog or VHDL code. Putting these blocks on a mixed-signal chip gives you a way to digitally test analog cores, sometimes eliminating a need for analog test equipment. You use the first blocks available from LogicVision, adcBIST and pllBIST, for testing ADC and PLL functions, respectively. Each BIST cell takes about 1000 logic gates. The adcBIST and pllBIST blocks come in different configurations, allowing you to implement testing from simple parameter measurements up through comparison of measured results against predetermined pass/fail limits.

Another company selling analog and mixed-signal DFT and testability tools, OpMaxx, offers DesignMaxx for measuring analog circuit sensitivity to dc, ac, and transient simulation; FaultMaxx for analog fault-coverage analysis; and TestMaxx for generating analog tests and detecting hard and soft faults in analog circuits. OpMaxx describes an interesting BIST technique for analog and mixed-signal circuits that you may be able to use for your chips containing embedded mixed-signal cores (Reference B).


References

  1. Cron, Adam, "IEEE P1149.4--Almost a Standard," 1997 International Test Conference Proceedings, Nov 3 to 5, 1997, pg 174.

  2. Arabi, Karim, and B Kaminska, "Oscillation Built-In Self Test (OBIST) for Functional Structural Testing of Analog and Mixed-Signal Integrated Circuits," 1997 International Test Conference Proceedings, Nov 3 to 5, 1997, pg 768.

Scan test’s many faces

Bejoy Oomman, President, Genesys Testware

Scan design is a design-for-test (DFT) technique that provides a mechanism for loading and unloading state elements, including flip-flops and latches, in a digital circuit with arbitrary bit patterns. The technique lets automatic test-pattern-generation (ATPG) programs assume that you can control and observe state elements independent of functional logic. This assumption allows ATPG to quickly generate scan-based test patterns with high fault coverage. Scan techniques are full-scan, partial-scan, and optimized, based on the percentage of state elements in a design having scan capabilities (full scan, at 100%, being the highest).

You can use different test circuits to achieve the effect of loading and unloading state elements with arbitrary bit patterns. The simplest technique adds a multiplexer to each D flip-flop. You control the selector of the scan multiplexer of all flip-flops from a scan-enable pin, and the output of each flip-flop connects to the scan input of the multiplexer. By adding serial-scan input and output pins, the state elements act as a long shift register that you can load and unload by serial shifting with any bit pattern. This approach is a multiplexed D-flip-flop scan design. Another scan-design technique converts each D flip-flop to a dual-port D flip-flop by adding a test-data input and a test clock to the original D flip-flop. You connect the output of each D flip-flop to the test-data input of another flip-flop. When you add serial-scan-input and scan-output pins, the state elements act as a long shift register. This scan style is dual-port D-flip-flop scan design. Both multiplexed D-flip-flop and dual-port D flip-flop scan styles are optimized for D-flip-flop-based designs. IBM's Level Sensitive Scan Design (LSSD) addresses latch-based designs. With LSSD, you convert a latch to a dual-port latch. If you have no master-slave latches in the original design, you add a slave latch to facilitate shifting serial data to and from the design.

Multiplexed D-flip-flop scan is most common, with support from ASIC foundries, test-synthesis companies, and ATPG-tool vendors. This scan style has the lowest area overhead and is ideal for full-scan design. Dual-port D-flip-flop scan is ideal for optimized- and partial-scan design, because scan-shift operations use a separate test clock that does not disturb the state of nonscan state elements. In addition to the benefits of dual-port D-flip-flop scan, LSSD guarantees race-free shifting of bit patterns to and from the block being tested, because LSSD uses nonoverlapping clocks. However, LSSD also has the highest area overhead.

VSI’s role in core-based chip testability

The Virtual Socket Interface (VSI) Alliance, formed in late 1996, is an open consortium of more than 150 electronics companies encompassing intellectual-property (IP) providers, EDA companies, system-design companies, and semiconductor vendors. The Alliance's goal is to provide a common vision for the system-on-a-chip industry and to supply technical standards for designing core-based chips containing software or hardware IP, including cores, megacells, and system-level macros, from multiple sources. The Alliance is working to define industry standards to let you use IP blocks as virtual components (VCs). Among the VSI Alliance's goals are to provide recommended specifications for multicore-chip system-level evaluation, logic design, timing characterization, testing, and physical implementation.

Six VSI Alliance Development Working Groups (DWGs) are forming standards for VC implementation/verification, mixed-signal chips, on-chip buses, IP protection, manufacturing test, and system-level design. The test DWG addresses the following test-related issues:

  • VC test quality,
  • test access (accessing VCs from a chip's primary I/Os),
  • test isolation (isolating VCs from other chip logic),
  • testing on-chip interconnects between VCs,
  • shadow-logic test (testing VC logic from the VC I/Os),
  • test-program and test-logic integration, and
  • failure identification for individual VCs.

The VSI Alliance's test DWG will provide information, including test-data interchange specifications and guidelines for core designers and developers, for both core-based chip designers and core vendors. To find out more about the VSI Alliance, visit its Web site at www.vsi.org. VSI's test DWG also works closely with the IEEE Working Group on Standards for Embedded Core Test (IEEE P1500). You can find out more about P1500 on the Web at http://jesse.stanford.edu/~coretest/index.html.

Representative vendors of EDA tools for chip testability

When you contact any of the following manufacturers directly, please let them know you read about their products on EDN's Website.
Duet Technologies
San Jose, CA
1-408-432-9200
fax 1-408-432-0907
www.duettech.com
Genesys Testware
Fremont, CA
1-510-661-0791
fax 1-510-498-8734
www.genesystest.com
IBM
Endicott, NY
1-607-755-7911
fax 1-607-755-5608
LogicVision
San Jose, CA
1-408-453-0146
fax 1-408-467-1180
www.logicvision.com
Mentor Graphics
Wilsonville, OR
1-503-685-7000
fax 1-503-685-1202
www.mentorg.com
OpMaxx
Beaverton, OR
1-503-520-9200
fax 1-503-520-1636
www.opmaxx.com
SynTest Technologies
Sunnyvale, CA
1-408-720-9956
fax 1-408-720-9960
www.syntest.com
   

You can reach Technical Editor Jim Lipman at 1-510-606-1370, fax 1-510-606-1563, ednlipman@mcimail.com.

| EDN Access | Feedback | Table of Contents |


Copyright © 1997 EDN Magazine, EDN Access. EDN is a registered trademark of Reed Properties Inc, used under license. EDN is published by Cahners Publishing Company, a unit of Reed Elsevier Inc.