71
Intel Technology Journal Q1, 1999 Preface Lin Chao Editor Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current CAD tools, the tools used to design Intel's microprocessors. In the early 1960s, the process of designing the first integrated circuit was entirely manual. As one might guess, this was very expensive, laborious, and error-prone. However, in the 1970's, software CAD tools came to the rescue and became an integral part of the design of complex microprocessors produced by Intel. These complex CAD tools are the focus of this issue. The first paper describes the architectural direction of Nike, Intel's next generation CAD tool suite, which supports code sharing to improve development efficiency, tool quality, and maintainability. As microprocessors approach deep sub-micron dimensions, the impact of physical design must be considered early in the circuit design phase to prevent costly re-designs. The second paper discusses Intel's FUB Circuit Design Environment combining circuit design with physical layout planning. Datapath design (from RTL to layout) can take more than 60% of a project's human resources. In the third paper, a new design workflow is proposed along with a set of tools that will further automate the design process. The hope is that this proposed workflow will spur both academia and industry to tackle the problem of more automated datapath design tools. The fourth paper looks at the challenge Intel faces in making tools run on UNIX* and Windows NT* operating systems running on Intel and non-Intel architecture platforms. Tools and methods for formal verification at gate-level description are also discussed in the fifth paper. An example of formal functional verification of gate-level floating-point designs against IEEE-level specifications is presented. Structural and functional testing tradeoffs are described in the final paper. Again we feel that there are opportunities for the industry to provide more robust and scalable solutions for defect-based testing. Copyright © Intel Corporation 1999. This publication was downloaded from http://www.intel.com/. Legal notices at http://www.intel.com/sites/corporate/tradmarx.htm

Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1, 1999

Preface Lin Chao Editor Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current CAD tools, the tools used to design Intel's microprocessors. In the early 1960s, the process of designing the first integrated circuit was entirely manual. As one might guess, this was very expensive, laborious, and error-prone. However, in the 1970's, software CAD tools came to the rescue and became an integral part of the design of complex microprocessors produced by Intel. These complex CAD tools are the focus of this issue. The first paper describes the architectural direction of Nike, Intel's next generation CAD tool suite, which supports code sharing to improve development efficiency, tool quality, and maintainability. As microprocessors approach deep sub-micron dimensions, the impact of physical design must be considered early in the circuit design phase to prevent costly re-designs. The second paper discusses Intel's FUB Circuit Design Environment combining circuit design with physical layout planning. Datapath design (from RTL to layout) can take more than 60% of a project's human resources. In the third paper, a new design workflow is proposed along with a set of tools that will further automate the design process. The hope is that this proposed workflow will spur both academia and industry to tackle the problem of more automated datapath design tools. The fourth paper looks at the challenge Intel faces in making tools run on UNIX* and Windows NT* operating systems running on Intel and non-Intel architecture platforms. Tools and methods for formal verification at gate-level description are also discussed in the fifth paper. An example of formal functional verification of gate-level floating-point designs against IEEE-level specifications is presented. Structural and functional testing tradeoffs are described in the final paper. Again we feel that there are opportunities for the industry to provide more robust and scalable solutions for defect-based testing.

Copyright © Intel Corporation 1999. This publication was downloaded from http://www.intel.com/. Legal notices at http://www.intel.com/sites/corporate/tradmarx.htm

Page 2: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Designing for Success

By Greg Spirakis, General Manager, Design Technology

Intel Corp.

At Intel, we deliver state-of-the-art microprocessors for every segment of the computer market. Our long history of innovation in Design Technology has enabled us to design, validate, and test each and every generation of these leading-edge microprocessors. This ability is among Intel's key competencies. It takes more than 100 software tools to design, validate, and test our microprocessors. These tools are either developed internally or procured from external vendors.

A major challenge ahead of us is the productivity gap identified by Sematech: the complexity of devices is increasing at more than double the rate of industry's ability to build them. This gap between process/manufacturing capabilities and design/test capabilities in the semiconductor industry continues to widen.

To address this gap, we challenged our Design Technology Division to address productivity as one of its major issues. Our target is to do twice as many products, in the same time-space, with the same size teams that we currently have. To this end, we developed the concept of providing a total solution to our engineering community that integrates internal and external tools, methods, and capabilities. For the next-generation products, this combination of technology, tools, and methodology is internally known as the Nike generation (preceeded by Athena, Zeus, and Cronus).

On the technical front, we are building an infrastructure that will keep our engineers productive while using multiple operating system environments such as Windows NT* and UNIX* on Intel 32-bit and future 64-bit hardware platforms. We also recognized the need to emphasize reuse in software engineering, architecture, and modeling, and therefore we developed a platform that allows developers across continents to share and integrate their solutions with as little overhead as possible.

For specific solutions such as reusing verification tools, designing datapaths, circuit design tools, and test strategy and tools, we defined productivity goals that will help us overcome the productivity gap mentioned earlier. Each tool has a specific productivity target that either reduces design time for the same problem or solves a more complex problem in the same amount of time.

In today's world of faster, smaller, and cheaper, our tools must meet the requirements of our next-generation microprocessors. In our Design Technology Division, as we move into the future, we will continue to develop the technologies that will provide Intel with a key competitive advantage over the next decade.

Copyright © Intel Corporation 1999. This publication was downloaded from http://www.intel.com/.

Designing for Success 1

Page 3: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1, 1999

Legal notices at http://www.intel.com/sites/corporate/tradmarx.htm

Designing for Success 2

Page 4: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Nike�s Software Architecture and Infrastructure:Enabling Integrated Solutions for Gigahertz Designs

V. Nagbhushan, Nike Development, DT, Intel Corp.Yehuda Shiran, Nike Development, DT, Intel Corp.

Satish Venkatesan, Nike Development, DT, Intel Corp.Tamar Yehoshua, Nike Development, DT, Intel Corp.

Index words: architecture, data model, software infrastructure

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 1

AbstractThis paper describes how Nike�s innovative architec-ture addresses the expanding requirements of Intel�snext-generation processor designs while enabling a de-sign environment that is more productive than one builtwith the previous tool generation.

This paper shows how software architecture and datamodeling techniques are used as core attributes of aCAD tool suite. We discuss the issues that have influ-enced Nike�s architectural direction, such as technol-ogy trends, processor architecture trends, and comput-ing platform trends. We identify some of the majordrawbacks of existing tool suites and show how Nikearchitecture addresses these. Lastly, we describe howwe developed a software infrastructure in order to sup-port and facilitate the code sharing necessary to imple-ment the designed architecture. The standard softwaredevelopment environment is described, including thetools and methodologies that are uniformly deployed toall Nike developers.

IntroductionDesign and Test Technology (DT) is the supplier ofCAD/CAE solutions for Intel�s lead processor designprojects. The Nike department within DT is charteredto provide the future generation CAD tool suite for usewell into the next millennium. The first release of theNike tool suite is scheduled for Q3, 1999.

Nike architecture was influenced by several externaland internal vectors. The primary external vectors wereindustry technology trends, processor design trends, andIntel�s design roadmap and computing platform trends.The primary internal vectors were the need to improvedevelopment efficiency, tool quality and maintainability,and to ensure adequate extendibility.

External VectorsIndustry technology trends predict a continuation of fea-ture size reduction resulting in an exponential increasein chip transistor counts and a significant increase infrequency. Chips in the next decade could have up-wards of 100 million transistors and run at frequencieswell beyond 10GHz. As feature sizes decrease, ag-gressive circuit styles are also becoming the norm. Thisimplies that second order effects, such as noise andinductance, become key factors in design decisions. Inorder to make these decisions effectively and efficiently,designers need increased visibility into data from mul-tiple domains, such as circuit and layout.

Analysis of microprocessor architecture trends [1] andthe Intel design roadmap show the emergence of highlyintegrated chips and ever decreasing time to market.This combination necessitates a design environment thatwill enable significant improvements in designer pro-ductivity.

A major change in the computing environment has beenthe emergence of Windows NT ∗ on Intel architec-ture (IA) as a sophisticated, inexpensive, and powerfulplatform. In comparison to the existing UNIX* envi-ronment commonly used for CAD, the Windows* envi-ronment provides a more consistent user interface (UI)as well as a rich set of office applications. The chal-lenge for the developers of new CAD tool suites is tointegrate the office environment with the CAD toolsand use the Windows environment to provide a moreproductive system for the user.

∗ All other trademarks are the property of their respectiveowners.

Page 5: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 2

Internal VectorsAs the coverage of the tool suite and the overall soft-ware size increases, improving software efficiencybecomes very important. Software efficiency can bebroadly categorized along two lines:

• Extensibility and maintainability of CAD tools.Even though individual tools might change, the corearchitecture of a tool suite persists for a very longtime. For example, the previous CAD architec-ture at Intel spanned a decade. Given the dy-namic nature of VLSI technology, it is impossibleto predict accurately for the next decade. Hence,Nike architecture should be easily extendible andefficiently maintainable. For example, we need tobuild in enough headroom so that new manufac-turing process features can be incorporated with-out massive system-wide code changes. Simi-larly, tools must be customizable to allow majorchanges in design methodology.

• Tool quality and development efficiency. Inorder to reduce the number of iterations in thedesign and implementation of complex software,there needs to be a well defined software devel-opment methodology where developers have de-tailed specifications and implementation plans up-front. In addition, quality needs to be built into thetools in order to avoid numerous cycles to fix de-fects.

In the next section we describe the Nike software ar-chitecture, goals, and principles. We then present adata-modeling methodology and architecture that arekey enablers for achieving Nike architectural objec-tives. In the subsequent section, we describe a soft-ware infrastructure that supports and facilitates effi-cient development of Nike CAD tools.

Nike Software ArchitectureThis section describes a novel software architecturepioneered by Nike. We examine the drawbacks ofexisting CAD architectures. We then present LaMA,a layered modular architecture, followed by a set ofarchitectural principles that drive the design and de-velopment of Nike.

Drawbacks of Existing ArchitecturesAfter studying existing CAD architectures, we foundthat they have several deficiencies. The following is abrief overview of the salient root causes of these defi-ciencies and the symptoms that they exhibit:

• Non-modular. Software was not written in amodular fashion. This often led to local imple-mentations of similar or even identical functional-ity, resulting in inconsistent behavior. Users hadto reconcile inconsistencies such as different tim-

ing or RC modules in various tools. It also madereuse difficult and severely impacted developmentefficiency. One of the causes of non-modularitywas the existence of several data models; for ex-ample, multiple data representations for layout.

• Difficult data exchange across domains. Mul-tiple data models in various domains were incon-sistent in terminology, interfaces, and implementa-tion. This made it difficult to provide a unifiedmechanism to map entities across the domains.Such mapping, when necessary, was done in anad-hoc fashion that often resulted in loss of data,and consequently, productivity.

• Ad hoc persistence mechanisms. Typically,ASCII files were used to store data persistently.However, there was inadequate use of industrystandard formats, often leading to a proliferationof files, multiple readers/writers, and semantic mis-matches between formats representing the samedata. ASCII files are also not performance ori-ented, have fundamental capacity limitations, areintolerant of new software releases, and make itvery difficult to implement incremental input/out-put.

• Inconsistent look and feel. Users need to famil-iarize themselves with different interfaces to per-form similar actions. This results in a high learningcurve as well as loss of productivity.

Layered Modular Architecture (LaMA)Nike is pioneering Layered Modular Architecture(LaMA), a hierarchical decomposition of a complextool suite consisting of over a hundred tools with atotal code size exceeding a million lines of code. Fig-ure 1 shows the basic LaMA pyramid.

Figure 1: Layered modular architecture

In this model, the overall tool suite consists of severalsub-systems; each sub-system is targeted at a par-ticular user flow. A sub-system is comprised of sev-

Page 6: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 3

eral capabilities each of which represents a user-vis-ible functionality. A capability is implemented by oneor more software modules, which are in turn made upof several atoms. The modules and atoms are de-signed with well-defined interfaces to facilitate reuseby several capabilities.

Figure 2: Example of LaMA sub-system

Figure 2 shows an example sub-system and its de-composition. Users may interact with these sub-sys-tems through a visual cockpit, which enables simulta-neous interaction with multiple domains such as circuitand layout. This reduces the number of design itera-tions caused by downstream surprises. The modulararchitecture enables a software developer to reuse themodules and atoms, and the cockpit integrator to re-use the capabilities to the maximum extent.

Software Architecture PrinciplesThe ultimate objective of Nike software architectureis to enable efficient development of the CAD soft-ware that can meet or beat the high-level specifica-tions set forth for the system. In order to drive thisobjective, we formulated a set of architectural prin-ciples. They were kept general enough so as to applyto all areas of the Nike tool suite; functional and area-dependent factors (e.g., principles that may apply onlyto timing tools) are not covered here. These mainarchitectural principles are briefly explained below:

• Provide integrated tool suites (or cockpits) thatenable users to execute a flow or perform similaroperations. The primary goal is to improve userproductivity.

• Software components should have a modulardesign and should be implemented using com-mon, unified services. Each component shouldhave a well documented interface, and similar func-tional components across the entire Nike tool suiteshould be implemented as common services. For

example, there should only be one RC estimatorfor a given input abstraction, accuracy, and run-time. This can significantly improve reuse, quality,development efficiency and end-user consistency.

• The Nike system should present a common lookand feel. The look (visual appearance) of UIobjects that perform similar operations should besimilar. The feel (behavior) of similar operationsand data objects should be similar. The goal is toimprove the predictability of the system, and con-sequently, the productivity of the user.

• Tools should support incremental processing,that is, they should be able to handle small deltachanges to the input by incremental processing,and produce results that exhibit small delta changes.

• The Nike system should be extensible. Both, in-dividual capabilities, as well as the entire tool suiteshould allow a user to easily extend its functional-ity.

• The Nike system should support plug and playwith external tools.

A subsequent section describes a data modeling meth-odology and architecture that embodies these prin-ciples and enables us to achieve the architectural ob-jectives. While a detailed description of the entire Nikearchitecture is beyond the scope of this paper, thefollowing section describes the Nike layout architec-ture and how it meets the goals stated above.

Nike Layout Software Architecture

Figure 3: Nike layout architecture

Figure 3 shows a layered view of the Nike layout soft-ware architecture where most of the software mod-ules have been partitioned into four layers: data model,engines, capabilities, and UI. A software module can,in general, access any module in a layer below it, ei-ther directly or indirectly (e.g., the full chip module

Page 7: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 4

can make calls to any of the engines or data modules).Each module has a well defined procedural interface(API), which can be accessed by other modules.

The data model (DM) layer is the foundation of thearchitecture and consists of the software that modelsCAD data in memory and its interfaces. All the mod-ules access CAD data by making calls to the DM APIs.The engines layer comprises mostly algorithmic mod-ules (such as design rule checkers) that perform analysisand synthesis operations on the data. Modules in thecapabilities layer address requirements of a subset ofthe domain (e.g., full-chip module). The user inter-face (UI) layer, drawn vertically, represents the userinterface presented by all the other modules. The I/Omodule below the DM layer is a specialized engine toprovide file input/output and persistence services. Itaccesses a slightly lower-level DM interface (com-pared to other engines) to enable fast I/O. The fol-lowing paragraphs provide details about each layer:

• The data model layer serves as the in-memoryrepository for all the primary, non-derivable datain the system. In the case of layout, it is called theunified data model (UDM) and contains data (suchas cells, wires, nets, transistors, etc.) and func-tions to access and modify the data. The data ismodeled as a hierarchical class system, which isdescribed in the next section. The API to this layerguarantees consistency of the data structures andsemantics.

• The engines layer is comprised of software mod-ules with well defined functionality. Algorithmicengines (such as RC estimation and extraction,placement, global and detailed routing (GR, DR),compaction, netlisters) and core editing engines(wire editing, move, etc.) fall into this layer. Allthe engines work off data from the DM layer, butmay create temporary, derived data for efficiency.For example, the DRC engine works off scan-linedata that is derived from the DM data. The de-rived application data may be saved along withthe primary UDM data by the persistence mecha-nism to enable incremental processing.

• The capabilities layer is mainly comprised of envi-ronments that address the traditional sub-domainssuch as full-chip layout, block layout (for randomlogic and datapath) and leaf cell. Each of theseprovides functionality and customization appro-priate to that capability. Each capability can ei-ther directly expose an engine functionality to theuser (through the UI layer) or hide or modify it.

• The user interface (UI) layer provides user visibil-ity into functionality and data. It is comprisedmainly of a graphical user interface (GUI) and ex-tension system. The capabilities and some en-

gines instantiate GUI items at run-time to interactwith the user. Engines such as DRC provide theirown GUI to customize rules and display and scanerrors. This enables them to be completely self-contained and reusable. The extension system en-ables customization by allowing easy access to dataand functionality. The data model, engine and ca-pability modules, provide access through a Tcl in-terpreter and through Windows* automation in-terfaces. GUI customization is enabled byVisualBasic* for Applications (VBA) on WindowsNT*.

All the capabilities shown in Figure 3 are provided tothe user in an integrated framework called the NikeIntegrated Layout Environment (NILE).

The layered architecture ensures that there are no loopsin the module dependency graph. Each module has awell defined API to maximize reusability; for example,the engines are reused by several capabilities. Thisre-usability has enabled us to develop new capabili-ties very quickly.

We have invested significant effort to ensure that eachfunction is implemented by only one software module.For example, there is only one RC estimation module.If implementation of multiple modules began simulta-neously, they were merged after the requirements ma-tured.

The common GUI layer guaranteed a common look(e.g., native NT-looking widgets, docking windows,common list, and tree viewers, etc.). The I/O moduleis the single entry and exit channel for all design data.This has enabled us to minimize semantic mismatches.

Data ModelingFrom a data modeling perspective, the processor de-sign cycle can be divided into three phases: logic, cir-cuit, and layout. Each phase successively refines thelevel of abstraction by adding details.

The design cycle involves many iterations, both withina phase as well as between phases. At each phase, anew representation is created, analyzed, and iterativelyimproved to meet system requirements. One objec-tive of CAD tools is to minimize the time for each it-eration and to minimize the total number of iterationsto reduce time-to-market.

Figure 4 illustrates classic and modern design para-digms. In the classic paradigm, design phases are se-quential in nature with the underlying assumption thatoptimal implementation of each phase results in anoptimal realization of the next. In the modern designparadigm to be supported by Nike, all design phasesproceed in parallel. Within each design phase, infor-

Page 8: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 5

mation is required from the other two. This necessi-tates ease of interaction between design tools at dif-ferent design phases.

Figure 4: Design paradigms

Motivation

In terms of direct end-user benefit, data models areprimarily driven by the productivity vector. This im-plies that data models should facilitate smoother auto-mation/integration between different design tools withsimpler work flows for certain tasks, and they shouldprovide users with better capabilities to make tradeoffs/optimizations across design domains as well as be-tween tools within the same domain.

These high-level requirements can be mapped into thefollowing Nike system architecture goals:

• Enable a flexible configuration that facilitates a plug-and-play system architecture; different combina-tions of software components should be usablecooperatively. This is significant because systemrequirements will continue to evolve over the nextseveral years.

• Achieve semantic consistency in data representa-tion across layout, circuit, and logic domains. Thiswill facilitates correct data transformations andexchange between tools in different domains.

• Promote reuse of common software components.

• Insulate individual CAD capabilities from persis-tent storage issues. This enables ease in changesto a storage mechanism as well as allowing mul-tiple forms to exist transparently.

There is a trend in the EDA industry towards deliver-

ing a suite of inter-operable components rather thanpoint tools. The next section presents a data modelarchitecture that is helping us cope with this trend.

Data Model Architecture

As described above, the entire processor design cyclemay be viewed as transformations between represen-tations. At each representation, multiple CAD toolsact as producers and consumers. A layout editor is anexample of a design producer; simulators and designverification tools are examples of consumers. Dataflow between producers and consumers typically tran-scends domain boundaries. For example, a layoutrouting tool may require information from a circuit tim-ing engine; the timing engine in turn requires informa-tion from a layout parasitics calculator. Data model-ing for the CAD domain is complicated by the diver-sity of design producers, consumers, and theirsingularities. This diversity also implies that differentdesign tools need to view different aspects of a de-sign. These considerations necessitate a modelingframework that can accommodate an assortment ofdata types and also be extensible to facilitate inclusionof new types. Our solution is to provide a frameworkthat allows multiple levels of data models, related byspecialization/generalization relationships, each tailoredto the specific needs of applications. This facilitatesinteroperability and reuse of existing models. Seman-tic mappings between models promote ease of infor-mationexchange. Figure 5 illustrates this modeling frame-work.

Figure 5: Data model framework

At the root of the framework is a unified core datamodel (UCM) that serves as the common vector be-tween logic, circuit, and layout domains. It defines a

Page 9: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 6

set of design entities that have consistent semanticsacross domains. These entities are primarily concernedwith representing the hierarchy and connectivity1 of adesign, along with an interface to manipulate it. Do-main models extend UCM with domain specific infor-mation. For example, the layout data model wouldadd geometrical information. CAD applications canoperate directly on UCM, a domain model, or an ap-plication view. An application view is either an exten-sion of a data model with application-specific entities,or a suitably adapted perspective of the information ina data model. In all of the domain models and appli-cation views, UCM continues to be the commonbaseline. Having unified domain models allows thereuse of engines and minimizes I/O overhead. Thereduction of the number of data models also facilitatesthe development of centralized cross-domain mappingservices.

Figure 6 illustrates a usage scenario where UCM servesas a basis for enabling data-driven interactions be-tween capabilities in the circuit and layout domains.Semantic mappings between data in the layout plan-ner and circuit design environment are accomplishedusing a Mapper module. The Mapper has the abilityto map from a design object in one domain to a corre-sponding design object in another domain; the map-ping is performed at the granularity of UCM entities.

Figure 6: Sample usage scenario

Since the amount of time spent by each CAD tool onits task can be significant, it is also essential for inter-actions between tools to be incremental in nature. Adesigner must be able to operate on data in one do-main and interactively see the effect of the change in

another domain. As a concrete example, a designercan modify block placement in the layout planner andget interactive feedback on the effect of the new routeon circuit timing. Although, data models alone cannotprovide incremental interactions, they facilitate the de-velopment of modules and methodologies that can.

In summary, two key architectural goals have beenaddressed:

1. Facilitate interactive interactions across CAD toolboundaries.

2. Enable incremental iterations through the designcycle.

In the next section, we describe the software buildingblocks necessary to realize our vision of a modulararchitecture. We itemize the software tools and meth-odologies we implemented in Nike.

Software Infrastructure

Nike�s architecture requires a strong focus onsoftware quality. A common data model and a highlevel of module reuse introduce dependenciesbetween projects that can magnify any softwaredefects. Development at three sites adds additionalcomplexity. To support high-quality development,Nike has defined and implemented a standardsoftware development environment, including toolsand methodologies, that are uniformly deployed toall Nike developers.Standard Development EnvironmentThe initial step was to itemize the software develop-ment tools being used across the department and setthe Software Development Environment (SDE) Planof Record (POR). The SDE POR lists all of the de-velopment tools and their versions that should be in-stalled for each developer. This step is critical to en-sure that all code libraries will be compatible and thatcommon methodologies can be implemented.

Configuration ManagementOur first priority was to choose a source code man-agement tool for all sites and to define a common meth-odology for usage of the tool. A working group con-sisting of members from each site assessed best-in-class configuration management tools. After an evalu-ation and pilot usage, we agreed to purchase Rational�sClearcase ∗. Within several months, the tool and acommon usage methodology were deployed to all thedevelopers in the department.

The methodology defines everything from directory

∗ All other trademarks are the property of their respectiveowners.

1 Since a chip is very complex, it is natural to decom-pose it into smaller components. Each component issuccessively decomposed into smaller, more manage-able components, thus creating a hierarchy of com-ponents. The connections between these componentsare referred to as design connectivity.

Page 10: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 7

structure for the code and libraries to tagging of ver-sions and naming conventions for branches. The re-sult is that all Nike developers are now using the iden-tical setup so that developers from one group can easilynavigate the source code from another group. In ad-dition to the above features, when using the configura-tion management system�s branch-and-merge capa-bility, developers can create and maintain multiple vari-ants of their software concurrently. This allows themto easily move from the latest nightly build to a previ-ous release and vice-versa.

In order to facilitate a high level of code sharing acrossthe sites, we implemented an additional component ofthe configuration management tool that enables cross-site sharing of code repositories, namely Rational�sMultisite*. After a developer has revised code andchecked it in at one site, these changes are synchedup at the remote site at intervals of 15 minutes. Thereplication is transparent to the user. This means thatdevelopers can access all modules in real time, whetherthey are being developed locally or remotely. A de-veloper in Haifa cannot tell the difference between amodule developed in Haifa and one developed in SantaClara. Developers can share modules on the spotand debug integration problems over the phone. Theycan iterate this process easily and efficiently, as if theyare sitting in the same building. The capability of in-stant code sharing is key to the tight integration be-tween our performance verification tools and physicaldesign tools, and to enabling the module sharing andreuse detailed earlier.

Figure 7: Software development cycle

Software Development CycleAnother important component of the software infra-structure is the software development cycle. As shownin Figure 7, we defined an iterative software develop-ment process based on Design, Iterate, and Test (DIT)

cycles. Each project breaks their development intosmall tasks whose DIT cycle is supposed to last nolonger than 12 weeks. DIT cycles are designed toenable frequent synchronization points for validation.Once a quarter, we have a synchronization point whereall the tools and modules synchronize to the same ver-sion of all libraries across all sites. This is critical inorder to enable the modular architecture to work. Thecomponent sharing creates a large number of depen-dencies that we need to manage; the frequent syn-chronization points minimize the number of versionsthat need to be supported for each library.

As the common modules mature and stabilize, we havedetailed a plan to move to weekly synchronization ofthe Nike libraries and eventually daily. Initially, therewere too many frequent changes to the interfaces ofthe common modules to sync up more than once aquarter. In order to monitor the stability of the mod-ules, we are tracking defects in the code through abug-tracking system. After each synchronization point,bugs found in the libraries are reported internally andtracked in this system.

As part of the design phase, we require all Nike toolsto write a Market Requirements Document, ProductProposal, External Product Spec, Internal ProductSpec (when relevant) and a Test Plan. Each docu-ment in the design phase is approved by key custom-ers, the system architects, and the software architects.Templates for all the documents are available for de-velopers to help guide them through the process. Inaddition, we view prototype development as an im-portant tool for gathering requirements and customerfeedback and assessing new technologies. Prototypingmay take place at any stage in the development cycle.

In order to achieve high quality in the code and de-sign, we have implemented design reviews and codeinspections across the organization. All critical codemust be inspected, and authors are required to ad-dress major defects before an inspection is closed.

ValidationIn the area of software testing, Nike is going for abreakthrough in both quality and productivity. Afterevaluating several test management systems from ex-ternal vendors, we decided they did not meet our spe-cific needs. Instead we chose to develop and deployOlympus, an internally developed test managementtool. Currently the first phase of development onOlympus is complete, and we are piloting the tool ineach site. For improved productivity, Olympus pre-

Page 11: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 8

sents the developer with a sophisticated front endthrough which he or she can complete test writing,regression building, golden results updating, and out-put analysis. Olympus integrates a user-friendly frontend through which the developer creates and runs testsand regression on top of a back end that stores testdata in an SQL database. Since all test data is cen-trally located in a database, multiple groups, acrossboth sites, can share test data. Additionally, the de-tails of the test are stored in the database and can beused for test planning even before the tests are com-pleted. The database also adds an important dimen-sion to our software development environment. Nike�stesting is observable. Program management can querythe database and find out how many tests have beencreated in the past month, how many have passed suc-cessfully, and how many are still not ready for regres-sion.

ConclusionIn Nike, a major thrust of our development has beencentered on defining a robust and modular architec-ture. The architecture is still evolving as developmentprogresses. Our challenge is to sustain the architec-tural principles over the lifetime of the tool suite.

To date, we have invested significant effort in the defi-nition phases of the data model and the infrastructure.We have observed that there is an overhead associ-ated with software specification and definition due tothe complexity of module sharing. However, we havealso seen a significant reduction in the cost of imple-mentation and integration. We perceive that this ben-efit will be even greater in the future once the founda-tion is complete and fully deployed.

Along with the benefits of a common data model, thereare some associated risks. If the data model is notwell managed, there is a potential for the data size togrow too large and complex. There is also a risk oforganizational boundaries inhibiting development ofshared modules if the sharing is not encouraged bymanagement.

The changing design paradigm and constant evolutionof technology brings forth a new set of challenges. Adata model driven architecture takes us a step closerto a utopian �integrated, interactive, and incremental�system.

AcknowledgmentsWe thank the members of the Nike Product Engineer-ing teams in Santa Clara and Haifa who have designedand implemented the software infrastructure as de-scribed here: Mark Ball, Shiri Cohen, NinaGalperovich, Miriam Kreisler, Ed Langlois, NeelaMajumder, and John Ramirez. We also thank mem-bers of Nike Globals and Nike FCDE teams who were

an integral part of defining and implementing the Nikedata model architecture: Sridhar Boinapally, VancoBurzevski, Yi-Hung Chee, Gil Kleinfeld, Zoya Korovin,Ronen Moldovan, Ran Ron, and Eric Tse. We thankthe members of the Nike Architecture Board for play-ing a vital role in defining and consolidating the soft-ware architecture: Doug Braun, Yi-Hung Chee,Ganapathy Kumar, Mosur Mohan, and Siang-ChunThe.

We thank the members of the Nike Product Engineer-ing teams in Santa Clara and Haifa who have designedand implemented the software infrastructure as de-scribed here: Mark Ball, Shiri Cohen, NinaGalperovich, Miriam Kreisler, Ed Langlois, NeelaMajumder, and John Ramirez. We also thank mem-bers of Nike Globals and Nike FCDE teams who werean integral part of defining and implementing the Nikedata model architecture: Sridhar Boinapally, VancoBurzevski, Yi-Hung Chee, Gil Kleinfeld, Zoya Korovin,Ronen Moldovan, Ran Ron, and Eric Tse. We thankthe members of the Nike Architecture Board for play-ing a vital role in defining and consolidating the soft-ware architecture: Doug Braun, Yi-Hung Chee,Ganapathy Kumar, Mosur Mohan, and Siang-ChunThe.

References[1] Semiconductor Industry Association, National

Technology Roadmap for Semiconductors,1997.

Authors� BiographiesVeerapaneni Nagbhushan is currently a Nike softwarearchitect. Prior to that, he worked on several CADtools at Intel. He holds a BE in electrical engineeringfrom Birla Institute of Technology and Science and aM.S. in computer engineering from Syracuse Univer-sity. Nagbhushan has been with Intel since 1987. Hise-mail is [email protected].

Yehuda Shiran is Nike Product Engineering Managerand Program Manager in Haifa. He holds a BSMEand an MSME from the Technion in Haifa, a Ph.DMEand an MSEE from Stanford, and an MBA from HaifaUniversity. Yehuda has been with Intel since 1991.He previously worked in various Silicon Valley CADdevelopment companies. His current interests includesoftware development management infrastructure andsoftware development discipline. His e-mail [email protected].

Satish Venkatesan is a senior CAD engineer in SantaClara. He holds a doctorate in computer engineeringfrom the University of Cincinnati and a BE in electricalengineering from the University of Roorkee. Satishhas been with Intel since 1996. His e-mail [email protected]

Page 12: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Tamar Yehoshua is currently managing the Nike Prod-uct Engineering team in Santa Clara and the PowerCADteam that provides CAD tools for low-power design.She holds a BA in applied mathematics from the Uni-versity of Pennsylvania and an MS in computer sci-ence from the Hebrew University in Jerusalem. Tamarjoined Intel�s Design Technology group in 1993 whereshe has worked in CAD tool development and hasheld management roles. Prior to joining Intel, Tamarworked at the Institute for the Learning Sciences atNorthwestern University. Her e-mail [email protected].

Intel Technology Journal Q1�99

Nike�s Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs 9

Page 13: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Circuit Design Environment and Layout Planning 1

Circuit Design Environment and Layout Planning

Bharat Krishna, NIKE-SC/Design Technology, Intel Corp.Gil Kleinfeld, NIKE-HF/Design Technology, Intel Corp.

Index words: circuit design, layout planning

Abstract

Circuit design in deep sub-micron technologies requiresthat designers deal with numerous data, constraints,analysis, synthesis, and optimization tools. Although syn-thesis tools are widely used at Intel, new circuit tech-nologies are evolving and are often not well supportedby existing synthesis tools. Deep sub-micron technol-ogy requires that the impact of physical design be con-sidered early in the circuit design phase to prevent costlycircuit, layout, and sometimes, logic re-design. A com-mon source of these re-designs is inaccurate assump-tions about the layout aspects of the target design. Thus,early layout planning and accurate parasitics estimationmust be done by circuit designers.

Intel�s FUB Circuit Design Environment (FCDE) is anintegrated, interactive, and incremental circuit designenvironment that incorporates multiple tools, data, con-straints, and analysis tools. FCDE integrates all circuitdesign tools including circuit simulation, layout planning,parasitics estimation, timing analysis, circuit optimizers.Circuit design tools exchange data via a common datamodel (Unified Core Model). FCDE tools expose theirfunctionality to each other by standard tool drivers thatallow integration of in-house design tools as well as ven-dor design tools. FCDE was designed and implementedon the Windows NT ∗ operating system, and uses na-tive Windows* technologies such as Microsoft∗ Com-ponent Object Model (COM), Visual Basic∗ and Vi-sual Basic for Applications∗ (VBA). This paper de-scribes Intel�s circuit design environment and its com-ponents, with special emphasis on the layout planner,and its role in circuit design flows.

Results from a recent microprocessor design projectsupport the need for layout planning by showing thatthe amount of re-design and re-work required for blocksis reduced when early layout planning is carried out.

Introduction

Traditional custom integrated circuit design methodol-ogy can be depicted as a waterfall model, where a stage(e.g., logic design) is completed and the results passedon to the next stage (e.g., circuit design). Results ateach stage are evaluated without any consideration oftheir effect on later stages. For example, interconnectloading is assumed during circuit design for technologymapping. This assumption is likely to be invalidatedduring the layout design phase. Thus, the final layout isanalyzed to verify functionality. If there are problems,then the layout is re-designed in an attempt to correctthem. If the redesigned layout fails to correct the prob-lems, then a re-design at one of the previous stages inthe flow is attempted. This flow (shown in Figure 1) isvery time consuming and expensive due to the follow-ing reasons.

Figure 1: Traditional custom IC design flow

• Many file formats. The design flow uses manyEDA tools. The tools may come from differentcompanies. Even though some standard file for-mats (such as GDSII) have been accepted, there

∗ All other trademarks are the property of their respectiveowners.

Page 14: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 2

are still many different file formats that contain dataat different stages and many converters are neededto enable a complete tool suite. The existence offiles as a means of data exchange also inhibits in-teractive design. The hundreds of files generatedcause data storage problems, and maintaining dataconsistency during the design cycle becomes anissue.

• Unnecessary task partitioning. Different toolshave inconsistent user interfaces and may be usedby different engineers. This requires that the flowbe partitioned between many engineers, each ofwhom focuses on local optimizations. Local opti-mizations usually inhibit overall design optimiza-tion as changes involve many engineers and cantake several days.

• Forces early binding. Early bindings are deci-sions that are made at one stage that become hardinputs to the next stage. It is very difficult to changethese input constraints later on in the flow, andthey therefore inhibit optimizations at later stages.

• Long iterations. Since many tools are involved ina typical design flow, it takes too much time toiterate a flow. Many different engineers would berequired to run their tools in the required order.This latency also inhibits the engineers� productiv-ity. A design is reloaded many times into differenttools, which significantly slows progress.

A New MethodologyA new design flow (shown in Figure 2) provides aninteractive design environment. It enables overlap-ping of design stages so that the effects produced inlater stages of the design can be easily considered inearlier stages. The overlap is enabled by providingeasy access to multiple tools and by using a commondata model across multiple domains. Since the sys-tem is developed as a native Windows NT* applica-tion, we make use of COM technology. All tools haveActiveX ∗ interfaces such that one tool can invoke an-other tool. This is very much like the functionality avail-able with many of the Windows tools where, for ex-ample, an Excel∗ spreadsheet can be created within aWord∗ document. This obviates the need for designsto exit a tool after saving its data, then to start anothertool with previous data to analyze what-if scenarios.Since all the tools are required to understand a com-mon data model, a tool can manipulate the design data,

and any changes are available to another applicationto perform analysis or synthesis. This proposed meth-odology increases the complexity of tool developmentand necessitates the linking of internal data represen-tations. However, the benefits of the new approachto the designer outweigh its cost by providing an in-stantaneous what-if glimpse across the traditional toolboundaries.

Figure 2: New design flow

The rest of this paper focuses on the interaction be-tween the circuit design and layout design stages. Wechoose circuit and layout to illustrate the design stageoverlap concept, and these can be similarly extendedto other design domains. A workflow diagram illus-trating the integrated design environment with thesefunctionalities is shown in Figure 3. We describe indetail the functionality of the layout planner and showthe advantages of the proposed system on the speedpath optimization flow.

Layout PlannerLayout planning of datapath blocks has become veryimportant due to the increasing complexity of thedatapath and the tighter delay bounds imposed on criti-cal signals. This is further emphasized by the increas-ing impact of interconnect delay on overall path de-lays. The layout planner provides functionality to esti-mate area and interconnect parasitics. This also al-lows the user to accomplish some layout tasks earlier,such as global routing, congestion analysis, track plan-ning, etc., which later reduce the layout design effortsignificantly.∗ All other trademarks are the property of their respective

owners.

Page 15: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 3

The layout planner is a very important component ofthe circuit design environment. It has become neces-sary to incorporate accurate layout information (e.g.,interconnect delays) during the circuit design stage inorder to reduce design iterations. These iterations arenecessary when the final layout does not satisfy all theassumptions made during the circuit design phase.Generally, circuit and layout design are done by dif-ferent designers, and contemporary tools inadequatelycapture the design assumptions in the existing file for-mats. Layout planning of blocks is used to obtain earlyestimates for block area and timing of critical signals.The layout-based estimates are used during the circuitdesign stage to carry out more accurate circuit simula-tions and to design the datapath circuit schematics.The same layout plan is later used to drive the layoutsynthesis process. The layout planning methodologyis designed with the following goals:

• be fast and highly interactive

• provide reasonable estimates for area and inter-connects

• drive layout synthesis with a place and route plan

• enable what-if analysis and provide tradeoffs be-tween accuracy and tool performance

The layout planning flow is developed from experi-ence with prototypes used in some recent micropro-cessor design projects. Early layout planning providesa user with a means to estimate the layout area of adatapath block and the associated interconnectparasitics, which are used to perform quick perfor-mance verification analysis. The information obtainedis then used to complete the design. The layout plan-ning flow provides various trade-off points so that thecircuit designer can get better estimates on intercon-nect design at the cost of tool performance. The user

Figure 3: Workflow diagram circuit and layout interaction

Page 16: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 4

can estimate interconnect parasitics derived from mini-mum spanning trees for rough estimates and actual glo-bal routes for more accurate estimates.

FunctionalityThe inputs to the layout planning tool are design con-straints, user-defined placement hints, and the netlist(which may be incomplete). The tool provides a meansto visually see and edit the placement and change thenetlist. The netlist is modified if a cell used in the blockis changed because of higher drive strength require-ments, or any other interconnect optimization need.The key functions performed in the layout planningstage for interconnect optimization are as follows:

• cell area estimation and interface design

• placement of cells (as part of vectors)

• identification of vectors and rows

• global routing and congestion analysis

• parasitic estimation and timing analysis

Placement ModelingA key feature of the datapath layout planning is thetype of layout modeling that is used. Due to multipleinstantiations of logic cells, common in datapath blocks,layout editing provides a means to edit groups of in-stances in one command. The multiple instances of acell are grouped into entities known as vectors, thecontents of a stage in circuit design are placed in arow, and the contents of a bit-slice form a column.Thus, the complete layout plan is modeled as a matrix.The tool then provides commands to move, delete,create vectors, rows, matrices, etc. This kind of mod-eling aids in ensuring regularity in the placement of cellsin the layout plan.

Interconnect Estimation and OptimizationDuring layout planning the design engineers need toestimate the interconnect delays so that better datacan be input to the circuit simulation stage. The inter-connect length can be estimated by generating theSteiner tree [1, 2]. This estimation generates optimis-tic net lengths, as trees are generated for one net attime, and no consideration is given to obstructions orcongestion due to other nets. For this reason, net lengthestimation also has a quick runtime.

Better net length estimates are generated by doing glo-bal routing. Global routing accounts for obstructionsas well as congestion. It also considers physical netspecifications (width, spacing). This option for netlength estimation is slower than the Steiner estimation.

For clock and other critical nets, some other tree esti-mation algorithm such as A-Tree [3] may also be used.

The layout planning tool provides these choices asruntime configurable user options.

Track Share AnalysisAfter a reasonable placement has been determined,the user is able to estimate interconnect parasitics. Thelocation of the interface ports of the cell can also beplanned to enable better routing [4, 5]. A typical rout-ing, shown in Figure 4a can be improved with cell in-terface ports planning as shown in Figure 4b. Theinterface planning can be carried out using Track ShareAnalysis (TSA) or global routing. Based on the re-sults of global routing or TSA, the interface terminalsof the cells are placed at appropriate locations. Thenet length estimation process was successfully used ina recent project. By providing additional planningcapabilities, we have given the designer full control oftop-down as well as bottom-up aspects of datapathblock layout design.

Figure 4: Cell interface planningVisualizationThe interactive graphical user environment providesother features. The user can plan for routing spaceand analyze routing congestion information that is de-rived from global routing. Based on the congestionanalysis, the user can manually adjust the placementand plan out for area. The tool provides net visualiza-tion and editing functionality to interactively optimizethe interconnect delay.

FCDE provides path viewing and debugging capabili-ties and includes the following viewers:

1. Paths list viewer. This is a list of all paths, includ-ing path properties (start point, end-point, mar-gin, and more). The path list has links to a de-tailed path viewer, a schematic editor, and a lay-out planner.

Page 17: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 5

2. Path detailed viewer/tracer. This viewer servesas the main debugging aid for speed-path analysisand optimization.

Incremental DesignThe layout planning stage involves a lot of what-if analy-sis work. For example, the user may want to changethe placement of a few instances and see how the areaor timing on those affected nets has changed. To aidthe user, the layout planner provides for incrementaldesign. In this mode, the tool detects what nets havechanged, and re-computes the desired properties forthe affected nets only. The tool is also able to displaythe delta changes (difference between the property�sold value and the new value). This allows the user tosee immediately if the changes made are having posi-tive or negative effects. Another advantage of incre-mental design is the efficient runtime, which is veryimportant for an interactive design tool.

Cell Area EstimationAs layout planning happens before any real layout iscreated, an important requirement of the layout plan-ner is to be able to estimate cell area from the netlist ofthe cell. The cell area estimator can provide variouschoices for estimation. We have estimated cell area intwo ways and are experimenting with others.

The first method is to use a statistically derived equa-tion for estimating cell area. The function�s param-eters include the number of devices, number of p-de-vices, number of n-devices, and the number of I/Oports. The second method is to use historical data. Inthis method, a table is created for various commontypes of cells, and the area of a cell is obtained bymatching it against an entry in the table.

Other methods that we are experimenting with includethe modification of the core engine of a cell synthesistool. This method is expected to provide the mostaccurate estimates, but it is also expected to have thelongest runtime.

Parasitic EstimationInterconnect parasitic (resistance and capacitance) es-timation is required since this information translatesdirectly into delay information that can be used duringcircuit simulation. The parasitic estimation tool is de-signed to provide various run-time configurable op-tions. These options allow the user to make tradeoffsbetween runtime and accuracy of the estimates.

Timing AnalysisIn order to enable interactive design, a quick timinganalysis engine is integrated into the layout planner.The quick engine yields rough timing analysis, but pro-vides reasonable information on changes that occurwhen the layout plan is modified. Since the timinganalysis data (slopes, timing widows, etc.) are sharedbetween many circuit design tools (e.g., driver sizing),the timing analysis tool is a separate component of thecircuit design environment. The layout planner invokesthis engine when required, and the process of trans-ferring data is transparent to the user.

Noise AnalysisNoise on interconnect is becoming a more visible prob-lem with deep sub-micron designs. At present, thelayout planner provides a means to visualize the noiseas aggressor-victim pairs. This helps the user planappropriate spacing between the aggressor and thevictim. Current experimental work is directed towardsauto identification of aggressors and victims. Basedon the net topology, timing vectors on adjoining nets,and estimated cross-coupling capacitors, the proposedtool will be able to compute if there are any signalintegrity issues, and then designers can either manu-ally, or with the help of an automated router, reducethe net cross-coupling.

Device Size TuningFCDE will provide tight bi-directional communicationwith the schematic editor, a change notification sys-tem, and incremental capabilities. Using these capa-bilities, it will enable circuit designers to change thesize of a device or a cell in the schematic editor or inone of the FCDE viewers. The change will be appliedon the FCDE data model, and incremental analysiswill be made to analyze this change.

New Functionality Enabled

Speed-Path DesignWe describe the design environment and the advan-tages of using it by looking at the speed-path designactivity commonly performed in IC design. This de-sign activity encompasses both circuit design and lay-out design. It uses several tools and various types ofdata in both of the design domains. The flow of thisactivity is shown in Figure 5.

Page 18: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 6

Figure 5: Speed path optimization flow

Speed-path analysis and optimization flow start withthe timing verification stage when a circuit designerreceives timing constraints and budgeting. The de-signer runs tools to identify critical paths. To optimizethe paths with violations, there are multiple possibili-ties:

1. Increase the driver strength.

2. Reduce the driver load.

3. Optimize the interconnect loading.

The first two options are handled by the device-sizingfunctionality in circuit design, and the last one is car-ried out in layout design.

With current tools, all these activities (shown in Fig-ure 5) are carried out by different tools. The data isexchanged by means of files and often there are mul-tiple design engineers involved. Since data files areused, it is difficult to exchange partial data, i.e., com-plete design data is exchanged between the tools. Bysome estimates, it takes in the order of weeks to op-timize a path if accurate interconnect loading is to beobtained. The reason for this is that layout design iscarried out by a different person and the turn-around

time for obtaining data is long. The most commonreasons for the long turn-around time are that layoutdesign has to be completed before data is obtained,and data interfacing is difficult. Thus, circuit design-ers tend to optimize the paths using device sizing anddo not explore all possible solutions, such as optimiz-ing the interconnect delay.

With the new integrated design environment, whereall the different tools are accessible via a commonuser interface, the interconnects can be optimized aseasily as devices can be sized. Also, since all thetools are working with the same data model, the datais exchanged in memory. This enables interactive de-sign, which provides an improved turn-around timebetween various tools. Another advantage of the in-tegrated design environment is that it provides thecapability for incremental design. Only data that ismodified by one tool needs to be addressed by otheraffected tools. With the integrated layout planner, acircuit designer is able to make changes to the blocklayout plan without involving a different person to dothe layout design. Changes in interconnect parasiticvalues are updated in the common data model, andthe timing analyzer is able to perform incrementalanalysis of the change.

Noise HandlingAnother activity the new environment enables is theefficient handling of noise. It has become important toaccount for noise as the operating voltage for deepsub-micron design is decreasing, and the noise effectis becoming more visible. Noise analysis also involvesinformation that is traditionally spread across both thecircuit design and layout design stages. As both ofthese stages are tightly integrated in the new designflow, all the information required for noise analysis isavailable simultaneously.

Some of the noise analysis features made availablehave been adapted from published work [6].

Results

Figure 6: Gains in design time

Page 19: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 7

Our results are illustrated in the bar chart shown inFigure 6. With the traditional approach, it is observedthat the effort spent in circuit and layout design wasalmost equal. It is clear that when layout planning dataare available during the circuit design stage, the circuitdesign time increases (about 1.25X). However, thereis a significant decrease in the layout design time, whichincludes the time spent in fixing layout (about 1/3X).This reduces the overall design time by about 25%.

For a typical datapath block, the average time for post-layout fixing of critical paths improved from over twoweeks to less than a week when the prototype of theproposed integrated design environment was used.

Future WorkBased on the layout plan, top-down cell templates aregenerated that need to be synthesized. During circuitdesign, these cells are placed and routed as per theinterconnect plans. However, if a cell cannot be syn-thesized using top-down planning, a bottom-up cor-rection to the overall block plan is generated. If sev-eral such iterations occur, a significant productivitypenalty will be incurred. New cell synthesis algorithmsare needed that can handle the top-down topologyplans. Another area of exploration is to combine lay-out information even earlier in the design cycle, namelyduring logic synthesis. This will enable a designer toappropriately choose static or domino technology tomeet the timing or area constraints and also insert theright number of pipeline stages during datapath de-sign. All these call for a modification of traditionallogic synthesis algorithms to account for layout effects.

ConclusionBy integrating circuit design with layout planning, wehave improved the overall design time. Using earlylayout planning, we are able to incorporate accurateinterconnect parameters into circuit design. This gen-erates better timing analysis results, which match theactual post-layout timing analysis, thus reducing theneed for re-design and re-layout.

Results from a recent microprocessor design projectsupport the need for layout planning by showing thatthe amount of re-design and re-work required is re-duced for blocks when early layout planning is carriedout. In the speed path flow, expert design engineershave observed a three to five times improvement ratein the time it takes to fix violating paths.

AcknowledgmentsWe especially acknowledge Naresh Sehgal for valu-able discussion and comments on the paper. We thank

Ehud Kedar (former FCDE group leader), Gil Amid(Nike Timing analysis and circuit simulation groupleader), Eitan Zahavi (Nike system architect), and PaulMadland (Intel Fellow, PMD circuit technology group)who have all contributed significantly to FCDE archi-tecture and vision. We also thank Anurag Gupta, VNagbhusan, and Manoj Gunwani from the Santa ClaraNIKE departement, and Anat Ben-Artzi, RonanMoldovan, and Arkady Neyshtadt from the HaifaNIKE department. We also acknowledge variousmembers of other NIKE groups and the design teamswho contributed to the realization of this methodol-ogy.

References[1]M. R. Garry and D.S. Johnson, �The Rectilinear

Steiner Tree Problem is NP-complete, � SIAMJ. Appl. Math., Vol. 32, No. 4, pp. 826-834,1977.

[2]J.P. Cohoon, D.S. Richards, and J.S. Salowe,�A Linear-time Steiner tree routing Algorithm forTerminals on the Boundary of a Rectangle, �Digest of Technical Papers, ICCAD-88, pp.402-405, Nov. 1988.

[3]J.J. Cong, K.S. Leung, and D. Zhou, �Perfor-mance-driven interconnect design based ondistributed RC delay Model, � ProceedingsACM/IEEE Design Automation Conference,1993, pp. 606-611.

[4]B. Krishna, C.Y.R. Chen, and N. Sehgal,�Technique for Planning of Terminal Locations ofLeaf Cells in Cell-Based Design,� Proceedingsof 11th International Conference On VLSIDesign, pp. 53-58, 1998.

[5]Amnon Baron Cohen and Michael Shechory,�Track Assignment in the Pathway DatapathLayout Assembler,� Digest of TechnicalPapers 1991 IEEE International Conferenceon Computer-Aided Design, pp. 102-105,1991.

[6]D.A. Kirkpatrick and A.L. Sangiovanni-Vencentelli, �Techniques for Crosstalk Avoid-ance in Physical Design of High PerformanceDigital Systems,� Digest of Technical Papers,ICCAD-94, pp. 616-619, November 1994.

Authors� BiographiesBharat Krishna is the layout planner project leader inthe NIKE/DT department. He received a M.S. de-gree in computer engineering from Syracuse Univer-sity in 1994 and a B.Sc. degree in electrical engineer-

Page 20: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Circuit Design Environment and Layout Planning 8

ing from the University of Khartoum, Sudan in 1991.He has worked for Intel since 1995 in the datapathlayout automation area. His interests include datapathlayout automation, VLSI routing, and physical CADtool design. His e-mail is [email protected].

Gil Kleinfeld is the FCDE group leader in the Nike/DT department. He received a B.Sc. degree from Tel-Aviv University in mathematics and computer science.Gil has been working for Intel since 1988 in the areasof logic synthesis and datapath automation. Gil�s maininterests are automation of tedious design and verifi-cation tasks, and software design.His e-mail is [email protected].

Page 21: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Challenges of CAD Development for Datapath Design 1

Challenges of CAD Development for Datapath Design

Tim Chan, Design Technology, Intel Corp.Amit Chowdhary, Design Technology, Intel Corp.Bharat Krishna, Design Technology, Intel Corp.Artour Levin, Design Technology, Intel Corp.Gary Meeker, Design Technology, Intel Corp.Naresh Sehgal, Design Technology, Intel Corp.

Index words: datapath, synthesis, automation, and generation

Abstract

In many high-performance VLSI designs, including allrecent Intel microprocessors, datapath is imple-mented in a bit-sliced structure to simultaneously ma-nipulate multiple bits of data. The circuit and layout ofsuch structures are largely kept the same for each bit-slice to achieve maximal performance, higher designerproductivity, and better layout density. There are veryfew tools available to automate the design of a generaldatapath structure, most of which is done manually.Datapath design (from RTL to layout) very often takesa significant amount of human resources in a project.The design is becoming more complex and demand-ing as the clock frequency is reaching 1GHz, and theprocess technology is getting to 0.15um and below.Issues with signal integrity, as well as leakage current,are much more significant now as VCC and VT con-tinue to be reduced and current density increases.Elaborate analyses on noise and power are neededfor future designs, beyond the already complex tim-ing, reliability, and functional correctness analysis tasks.The burden on CAD tools to support the high-perfor-mance microprocessor design is bigger than ever. Thispaper reviews the general approaches used in the in-dustry to design datapaths from RTL to layout withthe difficulties and issues encountered. We propose anew design workflow and a set of tools to improveoverall designer productivity, while meeting all otherconstraints. A description of these tools to supportthe next generation of microprocessor design is alsopresented. Our proposed flow allows a designer tochoose a design methodology ranging from a fully au-tomated one to a custom one, to a flexible mix of thetwo. We present a new paradigm of early binding that

considers the impact of circuit and layout during RTLdesign. We also strive to preserve RTL regularity duringthe circuit and layout design to improve time-to-mar-ket. Finally, we present some results on actual designblocks with the proposed tools and workflow, andwe suggest future areas for further research.

I. Introduction

In most microprocessor design projects, the designteam includes computer architects (particularly impor-tant for a design with new architecture), micro-archi-tects (who determine the amount of hardware resourcesto be put in the chip and how the major data flowoccurs), logic designers, circuit designers, and layoutdesigners. Sometimes, these designers may have over-lapping functions (for example, doing both circuit andlayout design) depending on the experience level ofthe designers and the project management philoso-phy. Nevertheless, in general, designers of differentdisciplines need to communicate at different levels ofdesign abstraction, and a design can only be com-pleted when design data at different abstraction levelsare consistent with each other and correct, meetingthe design objectives.

1.1. Traditional Datapath Design Flow

For most high-performance microprocessors, theworkflow for datapath design involves many labor-intensive steps [1, 2]. Logic designers and micro-architects determine the detailed features of hardwareand the methods used to achieve particular functions.The number of pipe stages and which operations gowith each pipe stage are also determined. These de-cisions are made with the help of bottom-up circuit

Page 22: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 2

feasibility studies and some estimation tools for timingand area. The processes of developing the most ap-propriate computer architecture, micro-architecture,or RTL are also very involved, but they are beyondthe scope of this paper. The starting point of theworkflow is a partition of RTL coding for which timingand area estimations have been made and the resultsare within acceptance tolerance.

Figure 1: Datapath design flow

Page 23: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 3

1.1.1. RTL to Initial Circuit Translation andFloor PlanningA circuit designer needs to study the functionality ofthe block first and then come up with the initial imple-mentation plan that includes logic stages (without com-plete transistor sizing), floor planning, and circuit styles,based on different timing, area, and routing constraints.Depending on how experienced the designer is withthe design techniques required for the block, feasibil-ity studies and evaluations of a few design options aregenerally required to arrive at an implementation plan.

1.1.2. Schematic Design and InterconnectEstimationThe process of schematic design and interconnect es-timation follows. As interconnect capacitance can bea significant portion of the total capacitance of a sig-nal, a designer has to estimate the interconnects basedon the assumptions made in his/her floor plan. In or-der to get a reasonable floor plan before actual layoutis available, layout cell areas and pin/port locationsare estimated. The �estimated� layout cells will betiled according to the floor plan. With this roughdatapath cell placement completed, interconnect lengthscan be estimated based on the cell locations.

Circuit topology, transistor sizes, and floor plans willcontinue to evolve until a satisfactory design imple-mentation is reached (though sometimes, the designspecifications and external interfaces might also needto be modified). Once the schematic database for thedatapath block is established, many checks and analy-sis can be performed.

1.1.3. Design AnalysisNext, the design with transistor sizes and interconnectRC�s can be analyzed quite accurately for timing andmany other circuit robustness requirements such asrace conditions, noise tolerance, and long-term de-vice and interconnect reliability. If the results of theanalysis are not acceptable, the routing, cell place-ment, schematic design, RTL design or a combinationof these will need to be modified.

1.1.4. Custom Layout and Post-Layout ChecksWhen the schematic with the corresponding estimatedlayout is satisfactory, layout can then be custom de-signed. Incorrect assumptions used in the estimatedlayout are corrected, and manual placement optimiza-tion is used.

When actual layout is completed, RC extraction isperformed, and the RC netlists are merged back intothe schematic netlist. At this point, all analyses of tim-ing, noise, and circuit robustness are performed on

the �accurate� netlist to verify that the design with ac-tual layout data still meets the design requirements. Ifthere is any problem found with the design, the designprocess is iterated until the design requirements aremet.

With the top-down design process, even though thedesign requirements at one point are met, since otherblocks in the chip might require design changes, theblock needs to go through the Engineering ChangeOrder (ECO) process. This is a formal procedure tocommunicate and implement changes to meet new re-quirements. In other words, the design process is re-entered.

1.2. Issues with Traditional Datapath DesignFlowThis design process mentioned above is quite top-downdriven and sequential. From RTL to circuit and thento layout, each step makes a set of assumptions/esti-mations and provides more accurate information thanthe previous step. Each step of the design processalso takes a significant amount of time to finish. As aresult, poor estimations in early steps have very costlyconsequences due to the amount of time and effortrequired to make changes. In a large design projectwith a large team, the problems get multiplied manytimes over when poor estimates from one team mem-ber affect the design of other team members. As de-sign specs are changing, implementations are not stable.Both become moving targets, and communicationoverhead increases substantially. As we have observed,large projects tend to require a long time for designconvergence (i.e., when different pieces fit togetherand meet project requirements), and they have lowerdesign productivity.

1.3. The Direction of Higher Levels of Automa-tionThe accuracy of early estimations, and the turnaroundtime for the major design steps (e.g., RTL to circuitdesign) are very important elements when consideringproductivity in the design process. (Company cul-ture, team maturity, design and management experi-ence level are also part of the puzzle; however, theseare not discussed in this paper.) Interestingly, moreaccurate early estimates and faster turnaround timecan both be achieved with design automation. Auto-mation that provides the correct result quickly canshorten the turnaround time, and it can also give moreaccurate estimations for the options that designers wantto explore by quickly implementing these options.Though it is by no means easy to automate the designfor high-speed complex microprocessor design usingdeep sub-micron technology, a lot of effort has al-

Page 24: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 4

ready been made in the academic arena and by EDAcompanies. Automatic datapath cell layout genera-tion and datapath block place and route tools are nowcommercially available. Compilation to datapath cir-cuit-level netlist from hardware description languageis also getting popular (in the less performance-criticaldesigns such as chip set design). Over time, manualcircuit and layout design techniques are digested byCAD developers who then formulate methods andheuristics to solve these design problems with CADtools. However, this work is just not done soon enoughto alleviate the burden of the designers for high-per-formance designs.

1.4. Structure of the PaperThe objective of this paper is to share our view of thehigh-performance datapath design problems and ourideas of what the solutions will look like, by providingsome details of our work. Naturally, we don�t haveall the answers, but we believe that we have somegood ideas about how these problems should be ap-proached. It is hoped that this paper will stimulatereaders to come up with more and better ideas.

The next section describes a more automated workflowcompared to the workflow just described. The newworkflow features automatic schematic generationfrom RTL and layout synthesis. The techniques of regu-larity extraction and how they are used in logic syn-thesis and schematic generation are discussed in thesection on datapath logic synthesis. An efficient ap-proach to design datapath schematics and to layoutplanning together is described in the section on datapathlayout planning and placement. Accurate and efficientRC estimation is essential to various steps of the de-sign process, and it is discussed in the section on theparasitic estimator. Datapath cell layout synthesis sig-nificantly reduces layout design resources for high-per-formance design, and it is discussed in the section onlayout cell generation.

II. A More Automated Design FlowA new workflow, which drastically improves produc-tivity, is shown in Figure 2. It supports synthesis fromRTL to layout, though with the understanding thatdatapath synthesis techniques will take time to ma-ture. Designers input and user interfaces are essentialto every step of the process.

Figure 2: A more automated datapath design flow

Page 25: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 5

The rest of this section describes the rationale behindeach component of the design flow and gives the high-level expectations of these steps.

2.1. Regularity ExtractionIn this workflow, regularity extraction is performedfirst to identify the repeated functionalities in RTL andto come up with optimal logic templates for logic syn-thesis at later stages. A good template needs to con-tain a few stages of logic (at least) to allow for thesynthesis tool to perform optimization; however, it can-not be too large (containing too many logic functions)such that a lower level of regularity in circuit and lay-out cannot be exploited and therefore cause devicedensity and performance to suffer as a result. In fact,the main reason for doing regularity extraction is theinability of the current synthesis tools to produce regularstructures from RTLs for repeating functions. Sec-ondly, with a logical netlist available from regularityextraction, designers can control the degree of regu-larity used in synthesis and modify the outcome of syn-thesis more easily.

2.2. Design PartitioningThis step is performed to identify what circuit style touse for different parts of the design. The commonlyknown circuit styles are static and dynamic. Normally,static is the first choice due to the robust nature of thestyle and the ease of design. However, in terms ofspeed, dynamic circuits are generally about 30% faster,and this style needs to be used when the speed of thecircuit is critical. The price of using dynamic circuits ishigher power consumption and greater design effort.As for high fanin logic, the use of dynamic circuits ismore advantageous. Thus, a design partitioner is ex-pected to estimate the timing performance of thedatapath block with static circuits and single out thepaths that are not meeting the performance require-ments. Once some sections of the logic have beenidentified for dynamic circuit implementation, the log-ics going in as input to these dynamic circuits need tobe considered as candidates for dynamic implemen-tation as well, in order to ensure correct circuit func-tionality.

Also, it is expected that the current logic synthesis toolsare not able to produce optimized results for complexspecial functions, such as a 32-bit adder (which in-volves a lot of special circuit techniques and fine-tun-ing). A datapath macro cell library (probably withspecial macro cell-sizing techniques) needs to be usedto supplement the deficiency of current synthesis tools.As a result, the design partitioner needs to identify thelogic functions that should be supported by a macrocell library (such as adders, register files, and com-

parators) and later target those functions for macrocell mapping and sizing.

2.3. Schematic Hierarchy and Floor Plan Direc-tive GenerationSchematic hierarchy generation follows after designpartitioning is done, and even though at this point noactual logic gate or transistors have been mapped, aschematic hierarchy with logic templates can be cre-ated. With schematics, circuit designers can profi-ciently modify the design partitioning and hierarchy forbetter synthesis results. Again, it is not expected thatperfect results can be achieved by the designpartitioner, and input from the designer is very crucialat this point. With regularity reflected in the hierarchi-cal schematics, designers can modify the datapath cellplacement directives (for placing cells into rows andbit columns) that are created by tools using heuristics.

2.4. Integrated Logic Synthesis and PlacementSystemOnce the partitioner has been given input for synthesisand directives for placement, the integrated synthesisand placement phase is entered. The main reason anintegrated system for synthesis and placement is neededis that doing logic synthesis without placement infor-mation does not give good enough results for futureprocess technologies (0.15um or below). Transistorintrinsic delay continues to improve, and the averagepercentage of interconnect capacitance over the totalnode capacitance continues to increase. Interconnectdelay has become an important component in veryhigh-performance design, and the traditional wire loadmodel used in control logic synthesis is not adequatefor high-performance datapath synthesis. Placementinformation (in turn, RC information) needs to be avail-able for the synthesis tool for correct sizing, buffering,signal repeating, and circuit topology choice.

2.5. Integrated Schematic Design and LayoutPlanning EnvironmentIn the same spirit, designers need to be able to inter-act with schematics (outcome of synthesis), and place-ment needs to be integrated into the design tools. Thetools have to efficiently support modifications of sche-matics and placement (RCs) by the designers, and bequickly able to communicate the changes among them-selves to enable designers to see the effects of theirchanges (on timing, area, power, and noise, etc.).

2.6. Layout Cell GenerationWhen logic synthesis and global placement are com-pleted, layout cells at the layout hierarchy assigned bythe placement tool are then generated. A lot of meth-

Page 26: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 6

odology definitions have to be completed before lay-out generation, such as power griding structures andusage of metal layers for cell pins and ports. Metalwidth and space requirements for reliability and noiseconcerns are also considered.

Layout cell generation is not the only way to createthe bottom hierarchy of the layout. Library cells canalso be used as in the traditional control logic layoutsynthesis. The layout quality of library cells is expectedto improve as more effort has been put into librarycells that are expected to be used by different projects.However, layout density might not be as good whencompared to layout done with cell generation, sincecell generation processes more devices together andhas the opportunity to achieve better optimization.

2.7. Detailed Place and RouteAfter layout cells are generated, they can be used fordetailed place and route (which is the process of gen-erating DRC-clean placement and routing, based onthe approximate (sometimes incomplete) results fromglobal placement and routing. If global place and routeare done well, it is expected that detailed place androute will only change the RC results by 5%. When aDRC-clean layout is completed, RC extraction canbe performed, and all the necessary post-layout analy-sis can then be done with accurate RC information.The analyses normally include electrical rule checks,noise, timing violations, and setup and hold time checks(min-delay analysis).

Now that we have outlined the overall design flow, wefocus on the details of the major design steps in thefollowing sections.

III. Datapath Logic SynthesisLogic synthesis, which transforms a design from RTLto circuit level, has been widely studied for controllogic. Logic synthesis [5, 6] involves two steps: logicminimization followed by technology mapping to a user-specified library. Datapath circuits possess a very highdegree of regularity that has to be preserved through-out the design process to achieve high density andperformance. If the traditional logic synthesis approachbased on logic minimization is used, then some regu-larity would be lost, resulting in inferior results. There-fore, an ideal datapath synthesis approach should firstextract the regularity inherent in RTL descriptions priorto mapping the circuit to a desired technology. Theextracted regularity results in a design hierarchy, whichshould be preserved to achieve high design quality aswell as productivity.

We propose a novel methodology for logic synthesisof datapath circuits, where the datapath regularity isfirst extracted and then the circuit is mapped to a de-

sired technology while preserving regularity. The in-put to our synthesis approach is an RTL description ofa datapath circuit. Regularity in the circuit implies theexistence of subcircuits, called templates, which havemultiple instances in the circuit. Regularity extractionfirst identifies a sufficiently large set of templates andtheir instances, and then completely covers the circuitby a subset of these template instances. The templateinstances are then grouped to form datapath vectors.A schematic of the datapath is generated using thesevectors and the boundary constraints on the I/O busesand signals. The schematic helps the designer in un-derstanding the circuit and in making important deci-sions about or changes to the templates and vectorsidentified so far. The next step is to map the templatesto static and dynamic logic as desired, thus resulting inefficient multi-technology designs. Finally, the mappedtemplates are sized according to the loading on theprimary outputs of the circuit.

Figure 3: HDL description of a small datapathcircuit used to illustrate our synthesis approach

We describe below in detail the various steps in oursynthesis methodology of datapath circuits. We ex-plain our methodology with the aid of the circuit inFigure 3 (the corresponding logic diagram is shown inFigure 4).

Page 27: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 7

3.1. Regularity Extraction TechniquesThe task of regularity extraction is to identify a set oftemplates and their instances from the RTL descrip-tion of the circuit (template generation step), andthen to cover the given circuit by a subset of thesetemplates (circuit covering step), where the objec-tive is to use large templates that have a large numberof instances. Figure 5 illustrates a circuit cover withfour templates, where template T1 has six instances,T2 has three instances, and so on. The extractionstep involves a tradeoff, since a large template usuallyhas a few instances, while a small template has a highnumber of instances. Note that the template com-posed of T2 followed by T1 has only three instances,compared to six instances of T1. Usually, a large tem-plate implies a better optimization of area and perfor-mance, while a template with more instances requiresless design effort, assuming a template is synthesizedonly once for all its instances.

Figure 4: Logic diagram of the circuit of figure 3;the four templates shown here form a circuit cover

Several techniques for extraction of functional regu-larity have been proposed in the literature [3, 4, 8, 9,10, 11, 12]. Most of these techniques focus on cov-ering a circuit by templates, assuming that a library oftemplates is provided by the user. Very few tech-niques address the problem of generating a good setof templates. Given a library of templates, Corazaoet al. [8, 11] address the problem of mapping a circuitdescribed at a behavioral level using templates fromthe target library. Their approach addresses severalkey subproblems, such as finding complete as well aspartial matches of a template and selecting a good setof templates to optimize the clock period. Rao and

Kurdahi [12] represent the input circuit as well as tem-plates from the given library by strings, and they use astring matching algorithm to find all instances of thetemplate in the circuit. These authors present heuris-tics to generate a set of templates; the final cover ishighly sensitive to these templates. Odawara et al.[9] present a methodology to identify structural regu-larity in highly regular datapaths. In their method,latches driven by the same control signals as initial tem-plates are chosen and used to grow larger templates.Odawara�s approach identifies one-dimensional regu-larity in terms of bit-slices of the datapath. Other ap-proaches by Nijssen et al. [10] and Arikati et al. [3]extend Odawara�s methodology to identify bit slicesas well as stages of datapath circuits. These structuralmethods perform well for highly regular circuits, butmight not work for circuits with a mix of datapath andcontrol logic. A problem similar to regularity extrac-tion is technology mapping, where the input circuit iscovered by cells (templates) from a given library.Keutzer [7] proposed partitioning the circuit intorooted trees and then mapping the trees using librarycells, by using dynamic programming. All the above-mentioned techniques address the problem of cover-ing a circuit by templates, where the templates are ei-ther provided by the user or generated in an ad hocmanner. None of these techniques deal with the sys-tematic generation of a set of templates for a givencircuit.

We have designed an efficient and robust approachfor extraction of functional regularity [13, 14], wherethe set of all possible templates is generated automati-cally for the input circuit under two simplifying, yetpractical assumptions: (a) only maximal templates areconsidered, where a template is maximal if and only ifall its instances are not entirely covered by instancesof another template, and (b) input permutations of gatesin the RTL description are ignored. The number oftemplates is reduced to within V2, where V is the num-ber of components in the circuit. We have demon-strated that a wide range of efficient covers are ob-tained for various benchmarks from the set of tem-plates generated by our approach [13]. Since a suffi-ciently large set of templates is generated, and the binatecovering problem is inherently difficult [5], we employsimple and efficient heuristics to cover the circuit. Ourapproach recursively selects a template from the com-plete set of templates, based on one of the followingheuristics, and deletes all its non-overlapping instancesfrom the input circuit, until the entire circuit is covered.

(a) Largest-fit-first (LFF) heuristic: select the tem-plate with the maximum area, where the area ofevery component is given.

(b) Most-frequent-fit-first (MFF) heuristic: select thetemplate with the maximum number of instances.

Page 28: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 8

These two heuristics give different covers; other heu-ristics can be used to generate a range of covers fromwhich the designer can choose the most desirable cover.In fact, we can represent the set of covers by a tem-plate hierarchy, where regularity among different tem-plates is recursively extracted [14]. In the event that atemplate is specified by the designer, using our ap-proach, all its instances can be generated and used forfinding a cover. Thus, a cover, which is a mix of auto-matically extracted and user-specified templates, canbe generated. (We have filed a patent on our regular-ity extraction approach [15]).

3.2. Vector IdentificationSo far, we have generated templates using functionalregularity [13] without accounting for the circuit struc-ture in terms of the interconnections among the tem-plate instances. As a result, the templates do not di-rectly correlate with the datapath vectors. For ex-ample, the six instances of template T1 in Figure 4should belong to two different vectors. (Here, a vec-tor is defined as a set of template instances that aregrouped together for subsequent synthesis and layoutstages.) We now consider structural regularity to trans-form templates into datapath vectors [13]. We ex-plain the steps of vector identification using the ex-ample of Figure 4; the resulting vectors are shown inFigure 5.

• Simple vectors: The instances of a template arepartitioned into vectors, which we call simple vec-tors. For example, the template T1 of Figure 4 ispartitioned into two simple vectors, SV1 with twoinstances and SV2 with four instances. The re-maining templates result in a single simple vectoreach.

• Composite vectors: Simple vectors of differenttemplates are grouped, if possible, to form com-posite vectors. For example, simple vector SV1of template T1 is grouped with the simple vectorof template T3 to form a composite vector V1(see Figure 5).

The resulting vectors of the template cover of Figure 4are shown in Figure 5. We use a set of efficient heu-ristics to group template instances to form simple orcomposite vectors. These heuristics are listed below.

1. Control/data inputs: The input signals of templateinstances are classified as control or data from theHDL description of Figure 3, e.g., sel1 is a con-trol signal, while a[0] is a data signal. The in-stances with the same control inputs and similardata inputs are grouped together.

2. Output signal name: The instances whose out-puts drive the same bus are grouped together. Forexample, the instances of templates T2 and T4

are grouped together, since their outputs form thebus g[3:0].

3. Circuit topology: Two template instances aregrouped in the same vector, only if one of them isnot in the transitive fanin of another. This heuristicwill ensure that the template T1 (Figure 4) wouldbe partitioned into at least two simple vectors, sincetwo of its instances are in the transitive fanin oftwo other instances.

Figure 5: Schematic of example circuit obtainedafter forming vectors from the templates of Figure 4

3.3. Schematic GenerationA schematic of the datapath circuit is generated usingthe vectors identified earlier and the control/data as-signment to the signals. The schematic for the ex-ample circuit is shown in Figure 5. The schematic isessential to allow designers to control the design pro-cess: (a) they can get a much better understanding ofthe circuit than they could from the HDL description;(b) they can modify the design hierarchy and floorplanby merging/breaking templates or vectors, changingthe control/data orientation of signals, and modifyingthe order of vectors. An example of such a modifica-tion is merging templates T2 and T1 to form a largertemplate with three instances, which might lead to betteroptimization during subsequent steps.

3.4. Technology MappingThe input to technology mapping is the set of datapathvectors and the I/O timing requirements in terms ofinput arrival times and output loads. The partition of

Page 29: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 9

the circuit into vectors (or underlying templates) al-lows the designer to select a desired technology foreach template independently. Currently, our synthesisflow assumes that the mapping of templates is per-formed manually, which can be easily automated dueto the small size of templates. We explain severalchoices for mapping of templates.

Figure 6: Several mappings of template T1 (Figure4) to static and dynamic logic

• Static logic: The traditional approach of mappinga circuit to static logic first decomposes the circuitinto smaller directed-acyclic graphs (DAGs) [5,7] and then independently maps each DAG to thespecified library of static cells. In our case, thetemplates are small enough to be mapped directlywithout any decomposition. Figure 6 illustratestwo mappings of template T1 (Figure 4) to staticlogic. Here, mapping 2 is suitable for template T1in vector V3 of Figure 5, since one of the datainput signals arrives later than the other. On theother hand, mapping 1 is suitable for T1 in vectorV1 (Figure 5). Thus, depending on the templateusage in the circuit, we might have to use severalmappings of a template.

• Dynamic logic: A template can be mapped todynamic logic to achieve better timing; however,noise-related issues have to be considered, suchas the length of the input and output signals of thetemplate. Figure 4 also shows a mapping of tem-plate T1 (Figure 4) to dynamic logic. We are look-ing into automating the mapping of templates todynamic logic.

• Macro cells: Datapath circuits employ commonlyoccurring logic blocks, such as incrementers,adders, shifters, etc. A library of various map-pings of these specialized datapath blocks for arange of area, performance, and power values willbe required. For example, the incrementer in theexample circuit of Figures 3 - 5 can be replacedby one of its mapped versions prior to extractingregularity from the HDL description; our synthesis

flow would then result in vectors V1 and V3 shownin Figure 5, while V2 would correspond to a macrocell.

3.5. Gate SizingOnce all the templates of a circuit are mapped to thedesired technology, every gate is sized to satisfy theoutput load requirements. The output load capaci-tance of a gate comprises the following components:

1. Gate capacitance: The capacitance values of thegates driven by this particular gate are availableafter the technology mapping step.

2. Diffusion capacitance: The diffusion capacitanceof the gate is also known after technology map-ping.

3. Interconnect capacitance: The capacitance isavailable only after the post-synthesis steps offloorplanning and RC estimation. Therefore, in-terconnect capacitance is used only in the gate-sizing step in the subsequent design iterations.

4. Primary output load capacitance: The load ca-pacitance is already specified for the primary out-puts of the circuit.

The sizing of the gates of the mapped circuit is per-formed starting from the primary outputs and travers-ing back to the primary inputs, where the output loadrequirement is satisfied for every gate encountered. Ifthere are loops in the circuit, then the gate sizes willtake a few iterations to converge.

Different instances of a template mapping will be sizeddifferently depending on the output load requirements.In general, a template with multiple instances can haveseveral mappings, where each mapping can have sev-eral different gate sizes.

Gate sizing is performed again after the interconnectcapacitance values are obtained from the floorplanningand RC estimation steps.

3.6. ResultsWhile the steps of technology mapping and sizing arestill under development, we have implemented proto-types for regularity extraction and vector identifica-tion. We list below the results of regularity extractionand vector identification on two datapath blocks interms of the number of templates, vectors, and theirinstances.

Page 30: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 10

We have defined an index, called a regularity index,to evaluate the results of regularity extraction [13]. Theregularity index is defined as the percentage of thenumber of logic components in all the templates to thetotal number of logic components in the circuit. Theregularity index correlates to the reduction in the de-sign effort, assuming that a template is not synthesizedmultiple times for its multiple instances.

IV. Datapath Block Floorplanning and Place-ment

4.1. Objectives of Layout Planning

Layout planning of datapath blocks is used to obtainearly estimates for block area and timing of criticalsignals. The layout-based estimates are used duringthe circuit design stage to carry out more accurate cir-cuit simulations and design of datapath circuit sche-matics. Layout planning support should provide thefollowing:

• speed and high interactivity (to enablewhat-if analysis)

• reasonable estimates for area andparasitics

• tradeoffs between accuracy and tool per-formance

We have developed a set of tools, based on experi-ence from a recent microprocessor design project.These tools provide a user with the means to estimatethe layout area of a datapath block and the intercon-nect parasitics from which quick timing analysis canbe performed. The designers can also estimate inter-connect parasitics derived from minimum spanning treesfor rough estimates and actual global routes for moreaccurate estimates.

4.2. Tasks in Layout Planning

The inputs to the tools are top-down block pin inter-face, user-defined placement hints, and the netlist (whichmay be incomplete). The tool provides a means tovisually see and edit the placement and change thenetlist. The netlist is modified if a cell used in the blockis changed because of the need for higher drive strengthor other interconnect optimization requirements. Thekey functions performed in the layout planning stagefor interconnect optimization are as follows:

• cell area estimation and interface design

• identification of vectors and rows

• placement of cell instances (as part of vec-tors)

• global routing and congestion analysis

• parasitic estimation and timing analysis

A key feature of the datapath layout planning is thelayout modeling. Due to the frequent occurrence ofmultiple instantiations of a logic cell in datapath blocks,an entity called a vector is created to represent a groupof instances, and layout editing on these groups of in-stances is supported. Further, it is also observed thatthe contents of a stage in the circuit design are placedin a row and that the contents of a bit-slice are placedin a column. Thus the complete layout plan is mod-eled as a matrix. Commands are then provided tomove, delete, and/or create vectors, rows, matrices,etc. This method of layout modeling helps ensure regu-larity in the placement of cells in the layout plan.

After a reasonable placement has been determined, adesigner will then estimate interconnect parasitics.Location of interface ports of the cell can also beplanned to enable better routing [16, 17]. The inter-face planning can be carried out using Track ShareAnalysis (TSA) or global routing. Based on the re-sults of the global routing or the TSA, the interfaceterminals (pins and ports) of the cells are placed atappropriate locations, and the net length estimationprocess proceeds.

An interactive graphical user environment has beendeveloped to support this layout planning process.This environment also provides other features. A usercan plan for routing space and analyze routing con-gestion information, which is derived from global rout-ing. Based on the congestion analysis, the user canmanually adjust the placement and plan out for area.The environment also provides net visualization andediting functionality to interactively optimize the inter-connect delay. The overall design flow for layout plan-ning is shown in Figure 7.

Page 31: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 11

Figure 7: Layout planning design flow

4.3. Benefits of Layout PlanningFrom a recent Intel microprocessor design project,effort analysis indicated that when early layout plan-ning is carried out, the amount of re-design and re-work required is reduced by approximately half. Thisbenefit is expected to be even more significant in thefuture when we have more stringent and complex de-sign requirements.

4.4. The Challenges in Datapath Auto Place-mentPlacement is a very critical stage in the datapath lay-out design flow as it can make or break regularity,area, and timing specifications. If a designer starts outwith a bad placement, it is extremely difficult for therouter to make up for it.

The main difference between datapath placement andRandom Logic Synthesis (RLS) placement is the needto maintain regularity and hierarchy. Maintaining regu-larity in datapath placement offers several advantages.The circuit designer can rely on the regularity to usehis intuition about critical paths. Regular layout tends

to be more dense because of the reduction in the num-ber of jogs/bends and because the designers can spendmore time on optimizing one bit-slice. Regularity andhierarchy in layout are also very useful in reducing ECOtime.

Timing and area constraints also tend to be much morecritical for datapath blocks than RLS blocks. UnlikeRLS blocks, datapath blocks are often made fromcustom designed cells that don�t come with all the tim-ing characterization data. This poses additional chal-lenges for timing-driven placement algorithms.

Not all datapaths are fully regular, and they show dif-fering amounts of irregularity, something the datapathauto-placement algorithm must contend with.

Traditional auto placement techniques, based on math-ematical programming (usually with a quadratic ob-jective function) or simulated annealing, can be modi-fied to deal with the unique requirements of datapathplacement with varying degrees of success. Techniquesbased on quadratic programming tend to be faster,but the rigid formulation makes it difficult to directlymodel the regularity requirements.

V. RC EstimationIncreased use of noise sensitive dynamic circuits, lowersupply voltages, and increasing current density havemade more extensive interconnect analyses a require-ment in the design process. Such effects must bemodeled at all stages of the design process. Estima-tion of the effects of interconnects and device parasiticsmust be accurate and consistent at all stages of thedesign in order to avoid unnecessary design iterations.Accurate parasitic estimation in the datapath designflow depends on both the prediction of the physicalproperties of the interconnects and devices (topology,routing layers, density, device layout, etc.) and on theaccurate modeling of the parasitic effects of the de-vices and routing.

5.1. Layout Estimation TechniquesA wide range of layout estimation techniques are inuse in design tools, ranging from wire length estima-tion to detailed net topology estimation. Such tech-niques are based on a set of rules, such as defaultrouting layers, widths, and spacing, and on net topol-ogy generation algorithms such as a minimum span-ning tree or Steiner tree (minimum length routing treewith horizontal and vertical wires). Some estimatesmay account for metal density or routing congestionconstraints. The accuracy of layout estimation is de-pendent on the state of the design data. Estimatedlayout based on a globally routed floorplan may bevery close to the final detailed routing, while schematic-

Page 32: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 12

based estimates using little physical design data maycorrespond poorly with the final design. Thus, thequality of the estimated layout is highly dependent onhow well the datapath design tools provide an earlyestimation of the physical design.

5.2. Parasitics Modeling TechniquesThe modeling of process-related effects is a fairlymature field, with a wide range of tools, models, andtechniques in use. Models range from empirical, easyto evaluate equations [20], to computationally inten-sive field solvers [19]. A wide range of parasitics�modeling tools are available both commercially andfrom universities. Commercially available tools pro-vide reasonable accuracy (within 10% of field solv-ers) on large designs, and field solver accuracy is pos-sible on a per-net basis [21]. Most commercial toolshandle only post-layout parasitic extraction and aresuitable only for final verification of designs. Manyanalysis tools and physical design tools (such as cir-cuit analysis tools or global routers) have built-in para-sitic estimation capability to estimate the effect of in-terconnect parasitics, but such tools cover only a partof the design process. The models used by these toolsmay not make use of all available design data, andinconsistency in the parasitics models used by differ-ent tools may result in poor convergence of the designand increased design cycle time. In addition, the built-in estimation may not accurately model cross capaci-tance and may not easily extend to new types of analysisrequired in the design flow.

5.3. Parasitic EstimationOur work on parasitic estimation in the datapath de-sign process focuses on accurate, consistent parasiticestimation at all stages of the design. The first andperhaps most important element in the accurate esti-mation of parasitics is the datapath design flow itself,particularly the close interaction and sharing of designdata between the tools in the flow. The next elementis the flexibility of the parasitic estimation tool to handledesign data at all stages of completion, and the abilityto support the wide range of constraints and assump-tions required at each stage of the design. An exten-sive net specification system is an integral part of thedesign tool suite, providing designers the ability tospecify a wide range of properties on the nets in thedesign. These net specifications are used by the para-sitic estimation capability to ensure that the parasiticestimates accurately reflect the designer�s intentions.

The parasitic estimation capability works by using allavailable design data to build a description of each ofthe nets in the design as well as the environment sur-rounding the nets. The estimator is based on a com-mon representation of the layout and connectivity data.Design data from various tools in the datapath design

flow are translated into this representation. Beforethe final stage of the design, when the layout is com-plete, the data for the nets will be incomplete. Forexample, in the floorplanning stages, the net�s routingtopology will not be available. Using a range of as-sumptions, the missing net data will be estimated.These assumptions may be tuned to match a particu-lar layout design style. A key advance over existingparasitic estimation tools is that we are able to makeuse of any real layout data that exists. Estimated lay-out is used only when necessary to complete a net�srepresentation. Since even drawn layout may not rep-resent the final design, the estimator provides the ca-pability to ignore any existing layout and replace it withestimated layout.

Next, the appropriate model is used to estimate theparasitics for each net. In our datapath design flow,the parasitic estimation tool is able to make use of amix of input data sources and assumptions. We havedeveloped a consistent set of models of varying accu-racy that are built into the estimation tool. These modelsestimate interconnect and device resistance and ca-pacitance, including cross capacitance. The estimatorapplies the appropriate model based on the source ofthe input data. The model used depends on the con-fidence of the original design data. Higher accuracymodels are used when there is higher confidence inthe design data. For example, an estimation based ona floorplan for a preliminary schematic need not use ahigh-accuracy model since the design is likely tochange, while in the later stages of the design whenmuch of the layout is complete, a high-accuracy modelis needed to estimate cross capacitance between thenets.

The flexibility provided by the parasitic estimator al-lows the same tool to be used at all stages of thedatapath design and helps ensure consistent results ofthe analyses at each stage of the design. It should beemphasized that the effectiveness of the parasitic esti-mator is dependent on the consistency of the results ofeach of the stages of the design process in the sensethat the design at any stage provides an accurate esti-mation of the next stage and a reasonable early esti-mate of the final design. As shown in the other sec-tions of this paper, this will be the case.

5.4. ResultsOur initial results have shown that the parasitic esti-mator provides superior accuracy compared to theestimators used in existing point tools in the currentdatapath design flow. The benefits of the estimatorwill increase further when it is consistently used in thecomplete datapath design flow.

Page 33: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 13

VI. Layout Cell GenerationThe research in the field of cell synthesis was startedmore than 15 years ago [42]. Most of this researchhas focused on the generation of so-called 1-dimen-sional (1D) layouts when transistors are arranged in alinear fashion to minimize the number of diffusionbreaks. First approximated algorithm for this layoutstyle has been suggested by Uehara and VanCleemput[42]. Maziasz and Hayes [37] presented the first op-timal algorithm.

Unfortunately 1D layout style is suitable only for smallcells with fully complementary non-ratioed series-par-allel CMOS circuits. Multiple attempts to extend thisstyle have been made to handle more complicated cir-cuit structures [23, 24, 31, 33, 36, 39].

Analysis of manually drawn layouts shows that �two-dimensional� (2D) layouts must be generated. Vari-ous approaches have been taken to address this prob-lem [26, 27, 28, 29, 30, 40, 41, 43].

Though some of these leaf-cell layout systems havebeen applied successfully in ASIC flows, no commer-cially available system today has the capabilities toaddress the requirements of a custom design flow suchas microprocessor design, where layout cell designinvolves a number of complex requirements. As chipdesigns approach GHz frequencies, reliability verifi-cation (RV) constraints, arising from the electro-mi-gration and self-heat phenomenon, have also provento be a critical factor in the generation of leaf-cell lay-outs.

6.1. Feature Requirements

A cell layout generation system is being looked into byus [44]. The system has to enable automated layoutgeneration to produce cells that are optimized for vari-ous constraints such as density, performance, RV, andpower. Its goal is to increase cell design productivity.

The system should include the following features:

• Ability to handle several hundred devices withvarious types of top-down constraints such as pre-routes, keep-out regions, pin/port preferred loca-tions, etc.

• Easy configuration for various design domains(standard cell libraries, datapath bit-cells and bit-slice synthesis, custom cell design, etc.) and dif-ferent circuit design methodology. Users should

be able to define their own cell architecture rules.

• True 2D placement with RV constraints that al-lows simultaneous placement of cell instances anddevices.

• Automatic stack and/or device-based legging withoptional user control.

• Incremental area routing.

• Incremental compaction with different types ofgridding constraints.

• Link with schematic editor.

• Powerful ECO mode / family generation / pro-cess migration capabilities.

• On-line RV estimation, DRC, and OpenChecker.

• Integrated with a layout editing system to allowmanual intervention at any stage, ranging frompush-button mode (fully automatic) to an interac-tive mode with unlimited manual intervention.

6.2. System Overview

In order to implement this layout generation system,five main components are required: a placer, a router,an RV analyzer, a compactor, and a family generatorand change manager. A layout generation flow can bebuilt around these five components (Figure 8). Thisflow can either be fully automated, or it can be guidedand enhanced by a layout designer wherever required.

Page 34: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 14

Figure 8: Layout synthesis flow

6.2.1. Placer

In the generation of a layout for any schematic, a largeamount of effort is spent in transferring the netlist tothe layout editor, ordering the devices, and then de-termining the best placement for those devices. Theplacer has to handle a capacity for several hundreddevices and be able to do two-dimensional deviceplacement. It should also have provisions for top-down constraints, RV constraints, and an incrementalplacement capability.

6.2.2. Router

Once the devices have been placed, the connectionsbetween them have to be made. These are done bythe routing module. Manual pre-routing of critical netsis allowed, and often encouraged, to meet strict timing

or port location guidelines. The router interacts withthe RV estimator to deduce the optimal routing shapesfor critical nets based on given RV constraints. Oncethe optimal routing topologies have been determined,the actual routing itself is done by a detailed router.To improve routing quality, the router module refinesthe placement based on congestion analysis.

6.2.3. RV Analyzer

At different stages of the work flow, RV estimationsare required to produce layouts that are optimized forreliability constraints. The RV estimator is based onworst-case current analysis through static modeling ofcurrent switching. It has a built-in current-solving en-gine that traverses through nets to compute worst-caseinterconnect currents from the switching of the devicestacks. Based on the results of the analysis, the mod-ule identifies objects that are electro-migration and self-heat limited. The RV analysis can potentially lead to are-ordering of devices, a change in routing topology,or a change in wire and via geometries.

6.2.4. Compactor

This is used to compact the area and resolve designrule violations, as well as for putting pins on grid forsupporting the routing flow at the next level of designhierarchy. It can be configured by a wide range ofoptions to support a specific working flow.

6.2.5. Family Generator and Change Manager

While generating cell libraries, several cells of similartopologies need to be created, the differences usuallybeing ones of device sizing, with minor changes inschematic, legging, etc. The same situation is also en-countered if the schematics are revised after the lay-out has been done. Since such changes don�t modifythe fundamental layout topology, we can generate sub-sequent cells from a starting prototype or template.This is done by creating a mapping between the netlistsof the template and the desired cell, followed by re-sizing, and adding or deleting devices or legs as nec-essary. Using the family generation module, the layoutdesigner only has to lay out a couple of representativecells of a cell family. The layouts for all the other mem-bers of the same cell family are then generated auto-matically. This feature can also be used for processmigration.

Page 35: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 15

Each of the above steps are independent of each other:for example, the devices may be manually placed andthen automatically routed, or, cells drawn manually maybe used as templates for family generation, and so on.This ensures improved layout design productivity with-out compromising the layout quality.

6.3. ResultsInitial usage of a prototype version of the cell genera-tion system at Intel Corporation shows significant pro-ductivity improvement over manual design for variouskinds of cells, while meeting all layout quality require-ments such as density, reliability, power, and timing.

VII. Future ChallengesIt is expected that with continuous process technol-ogy advancement and the growing need for higherperformance chips, the problems in datapath designwill continue to increase and become more complex.Granted, not all problems are known or understoodat this time. There are a number of problems that weare dealing with currently, which will get much worsein the future. They are as follows:

• Handling of coupling noise problems (prima-rily due to capacitive coupling). A substantialamount of effort is currently required to verify andcorrect the design to ensure correct silicon be-havior. Techniques to generate correct-by-con-struction noise problem-free circuit and layout areessential.

• Timing analysis to include effects of noise(power noise, capacitive coupling, and induc-tive coupling). Guard banding (in timing analysiscycle time or interconnect capacitance) is oftenused to account for the effect of noise. Howeverover-conservatism would result if the guard band-ing is done for the worst-case scenario. If somestatistical averages are used in guard banding, theremight be serious escapes, which can cause prob-lems in silicon. Hence, it is necessary to have theability to include the effects of noise accurately intiming analysis.

• New circuit techniques. Traditional static CMOSand domino logic circuits have worked well sofar. However, with the continuous decrease inpower supply voltage and the increased demandin chip performance, new circuit design styles haveto be investigated to achieve a better delay-powerproduct and to meet other design requirements.

VIII. ConclusionIn this paper, we have presented the challenges indatapath design and our ideas to meet these challenges

through datapath logic synthesis, layout planning, in-terconnect RC estimation, and layout cell generation.We believe that datapath design requires substantiallymore automation to be able to meet future require-ments: �system on a chip� and demand for higher per-formance and deep sub-micron geometries. We hopethat this paper stimulates more interest in both aca-demic and commercial CAD arenas to tackle the prob-lems in high-performance datapath design.

AcknowledgmentsWe thank Nagbhushan Veerapaneni who contributedto the paper in the area of auto placement. We alsothank Marian Lacey, Mysore Sriram, Bharat Bhushan,and Lin Chao who reviewed this paper and gave valu-able feedback.

References[1] D.E. Hoffman, �Deep Submicron Design Tech-niques for the 500MHz IBM S/390 G5 CustomMicroprocessor,� Proc. of ICCD 1998.

[2] S. Posluszny, �Design Methdology for a 1.0GHz Microprocessor,� Proc. of ICCD 1998.

[3] S. R. Arikati and R. Varadarajan, �A signaturebased approach to regularity extraction,� Proc. ofICCAD, November 1997, pp. 542-545.

[4] M. Hirsch and D. Siewiorek, �Automaticallyextracting structures from a logical design,� Proc. ofICCAD, November 1988, pp. 456-459.

[5] G. de Micheli, Synthesis and Optimization ofDigital Circuits, McGraw Hill, New York, 1990.

[6] E. Detjens, et al., �Technology mapping inMIS,� Proc. of ICCAD, November, 1987, pp.116-119.

[7] K. Keutzer, Dagon, �Technology binding andlocal optimization by DAG matching,� Proc. ofDAC, June 1987.

[8] M. R.Corazao, et al., �Performance optimiza-tion using template matching for datapath-intensivehigh-level synthesis,� IEEE Trans. on CAD, 15(8),August 1996, pp. 877-887.

[9] G. Odawara, et al., �Partitioning and placementtechnique for CMOS gate arrays,� IEEE Trans. onCAD, May 1987, pp. 355-363.

[10] R.X.T. Nijseen, and C. A. J. van Eijk, �Regularlayout generation of logically optimized datapaths,�Proc. of ISPD, 1997, pp. 42-47.

[11] J. M. Rabaey, et al,. �Fast prototyping ofdatapath-intensive architectures,� IEEE Design andTest of Computers, June 1991, pp. 40-51.

Page 36: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 16

[12] D. S. Rao and F. J. Kurdahi, �On clustering formaximal regularity extraction,� IEEE Trans. onCAD, 12(8), August 1993, pp. 1198-1208.

[13] A. Chowdhary, et al., �A general approach forregularity extraction in datapath circuits,� Proc. ofICCAD, November 1998, pp. 332-339.

[14] A. Chowdhary, et al., �Extraction of functionalregularity in datapath circuits,� IEEE Trans. onCAD, submitted November 1998.

[15] A. Chowdhary, et al., �A systematic approachfor regularity extraction,� U.S. Patent, filed Novem-ber 7, 1998.

[16] B. Krishna, C.Y.R. Chen, and N. Sehgal,�Technique for Planning of Terminal locations ofLeaf Cells in Cell-Based Design,� Proc. 11th Inter-national Conference On VLSI Design, pp. 53-58,1998.

[17] Amnon Baron Cohen, Michael Shechory,�Track Assignment in the Pathway Datapath LayoutAssembler,� Digest of Technical Papers 1991IEEE International Conference on Computer-Aided Design, pp. 102-105, 1991.

[18] J. Cohn, L. Pillage, and I. Young, �Tutorial 4:Digital Circuit Interconnect: Issues, Models, Analy-sis, and Design,� IEEE/ACM International Con-ference on CAD-94.

[19] J. R. Phillips and J. White, �A Precorrected-FFT Method for Capacitance Extraction of Compli-cated 3-D Structures,� Proc. ICCAD-94, pp. 268-271.

[20] N. Delorme, M. Belleville, and J. Chilo,�Inductance and Capacitance Analysis Formulas forVLSI Interconnects,� Electronics Letters, vol. 32,no. 11, May 1996.

[21] Y.L. Le Coz , R.B. Iverson, H.J. Greub, P.M.Campbell, and J.F. McDonald, �Application of aFloating-Random-Walk Algorithm for ExtractingCapacitances in a Realistic HBT Fast-Risc RAMCell,� Proc. 11th International VLSI MultilevelInterconnection Conference, Santa Clara, CA, pp.342-4, June 1994.

[22] D.G. Baltus and J.Allen, �SOLO: A generatorof efficient layouts from optimized MOS circuitschematics,� Proc. 25th ACM/IEEE Design Auto-mation Conferenec, pp. 445-452, June 1988.

[23] B.Basaran, �Optimal Diffusion Sharing inDigital and Analog CMOS Layout,� Ph.D. Disserta-tion, Carnegie Mellon University, CMU Report No.CMUCAD-97-21, May 1997.

[24] J.Burns and J.Feldman, �C5M: A ControlLogic Layout Synthesis System for High-Perfor-

mance Microprocessors,� Proc. ISPD�97, pp. 110-115.

[25] C.C.Chen and S.L.Chow, �The layout synthe-sizer: An automatic netlist-to-layout system,� Proc.26th ACM/IEEE Design Automation Conference,pp. 232-238, June 1989.

[26] S.Chow, H.Chang, J.Lam, and Y.Liao, �TheLayout Synthesizer: An Automatic Block GenerationSystem,� Proc. CICC 1992, pp. 11.1.1-11.1.4.

[27] J.Cohn, D.Garrod, R.Rutenba, and L.R.Carley,Analog Device-Level Layout Automation, KluwerAcademic Publishers, Boston MA, 1994.

[28] M.Fukui, N.Shinomiya, and T.Akino, �A NewLayout Synthesis for Leaf Cell Design,� Proc. 1995ASP-DAC, pp. 259-263.

[29] A.Gupta and J.Hayes, �Width Minimization ofTwo-Dimensional CMOS Cells Using Integer LinearProgramming,� Proc. ICCAD 1996, pp.660-667.

[30] A.Gupta and J.Hayes, �CLIP: An OptimizingLayout Generator for Two-Dimensional CMOSCells,� Proc. 34th DAC 1997, pp.452-4557.

[31] A. Gupta and J. Hayes, �Optimal 2-D CellLayout with Integrated Transistor Folding,� Proc.ICCAD 1998, pp.128-135.

[32] M. Guruswamy, R. Maziasz, D. Dulitz, S.Raman, V. Chiluvuri, A. Fernandez, and L. Jones�CELLERITY: A Fully Automatic Layout SynthesisSystem for Standard Cell Libraries,� Proc DAC�97,pp. 327-332.

[33] Y-C. Hsieh, C-Y. Hwang, Y-L. Lin, and Y-C.Hsu, �LiB: A CMOS cell compiler,� IEEE Transac-tions on Computer Aided Design, Vol. 10, pp.994-1005, August 1991.

[34] Chi Yi Hwang, Yung-Ching Hsieh, Youn-LongLin, and Yu-Chin Hsu, �An Efficient Layout Style forTwo-Metal CMOS Leaf Cells and its AutomaticSynthesis,� IEEE Transactions on ComputerAided Design, Vol. 12, pp. 410-423, March 1993.

[35] M. Lefebvre, C. Chan, and G. Martin, �Tran-sistor placement and interconnect algorithms for leafcell synthesis,� EDAC-90, pp. 119-123, 1990.

[36] M. Lefebvre and D. Scoll, �PicasoII: A CMOSLeaf Cell Synthesis System,� Proc. 1992 MCNCIntl. Workshop on Layout Synthesis, Vol. 2, pp.207-219.

[37] R.Maziasz and J.Hayes, �Layout Minimiza-tion of CMOS Cells,� Kluwer Academic Publish-ers, Boston, 1992.

[38] C.L. Ong, J.T. Li and C.Y. Lo, �GENAC: Anautomatic cell synthesis tool,� Proc. 26th ACM/

Page 37: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Challenges of CAD Development for Datapath Design 17

IEEE Design Automation Conference, pp. 239-244, June 1989.

[39] C.Poirier, �Excellerator: Custom CMOS LeafCell Layout Generation, � IEEE Trans. on CAD,8(7), July 1989, pp. 744-755.

[40] S. Saika, M. Fukui, N. Shinomiya, and T.Akino, �A Two-Dimensional Transistor PlacementAlgorithm for Cell Synthesis and its Application toStandard Cells,� IEICE Trans. Fund., E80-A(10),Oct.1997, pp. 1883-1891.

[41] K. Tani, K. Izumi, M. Kashimura, T. Matsuda,and T. Fujii, �Two-Dimensional Layout Synthesis forLarge-Scale CMOS Circuits,� Proc ICCAD 1992,pp.490-493.

[42] T. Uehara and W.M. VanCleemput, �OptimalLayout of CMOS Functional Arrays,� IEEETransactions on Computers, C-30(5), May 1981,pp. 305-312.

[43] H. Xia, M. Lefebvre, and D. Vinke, �Optimiza-tion-Based Placement Algorithm for BiCMOS LeafCell Generation,� IEEE J.Solid State Circ., 29(10),October 1994, pp. 1227-1237.

[44] B.Basaran, K.Ganesh, A.Levin, R.Lau,M.McCoo, S.Rangarajan, and N.Sehgal, �GeneSys- A Layout Synthesis System for GHz VLSI De-signs,� Proc. 12th International Conference on VLSIDesign, January 1999, pp. 458-452.

Authors� Biographies

Tim Chan is currently a CAD tool system architect atIntel. He received his B.Sc. and M. Phil. in electricalengineering from the University of Hong Kong in 1980and 1984 respectively. He joined Intel in 1990 as asenior VLSI designer. His technical interests includehigh-speed circuit design, microprocessor design meth-odology, and logic synthesis. His e-mail [email protected].

Amit Chowdhary is a senior CAD engineer at Intel.He received his Ph.D. in computer science and engi-neering from the University of Michigan, Ann Arbor in1997. He joined Intel in 1997 and is working on thedatapath automation project in Design Technology(Microprocessors Products Group). His technical in-terests include high-level and logic synthesis, technol-ogy mapping, and timing analysis. His e-mail [email protected].

Bharat Krishna is a senior CAD engineer in the Mi-croprocessors Product Group at Intel. He received

an M.S. in computer engineering from Syracuse Uni-versity in 1994 and a B.Sc. in electrical engineeringfrom the University of Khartoum, Sudan in 1991. Hehas been working in Intel since 1995, and he is theproject leader for the layout planner tool. His inter-ests include datapath layout automation and VLSI rout-ing. His e-mail is [email protected].

Artour Levin is a staff CAD engineer at Intel. He re-ceived his MS in Math from Belarus State Universityin 1986 and Ph.D. in Computer Science from the sameUniversity in 1990. He joined Intel in 1995 and isworking on CAD tool and methodology developmentin the Microprocessors Product Group. His interestsinclude discrete mathematics, combinatorial optimiza-tion, CAD algorithms and design methodology.His e-mail address is [email protected].

Gary Meeker Jr. is a senior CAD engineer at Intel.He received his BSEE from Carnegie Mellon Univer-sity in 1990 and his MSEE from UC Berkeley in 1994.He joined Intel in 1994 and is working on CAD tooland methodology development in the Microproces-sors Product Group. His interests include parasiticextraction and estimation tools, algorithms, and mod-els. His e-mail is [email protected].

Naresh Sehgal is currently managing the Datapath ToolDevelopment Group for next-generation processordesign at Intel. He received his B.S. in EE from PunjabEngineering College in India, followed by an M.S. andPh.D. in computer engineering from Syracuse Univer-sity, NY. Naresh has been with Intel since 1988, andhis research interests include CAD algorithms anddesign methodology. His e-mail [email protected].

Page 38: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

CAD Design Flows Development in a Cross-PlatformComputing Environment

Shesha Krishnapura, Computing Technology/Design Technology, Intel Corp.Ty Tang, Computing Technology/Design Technology, Intel Corp.Vipul Lal, Computing Technology/Design Technology, Intel Corp.

Index words: NT∗ , UNIX*, mixed-flow, cross-platform

∗ All other brand names are the property of their respective owners.

AbstractWith the advent of low-price, high-performance Intelarchitecture workstations together with Microsoft∗Windows NT* operating systems (referred to as IA-NT from here on) that support Microsoft productivitytools, the IA-NT workstation has become the pre-ferred desktop for CAD design engineers. However,due to the complexity of migrating UNIX*-centriclegacy CAD tools and scripts to an NT environment,a mixed operating system platform for CAD designhas become a computing reality. This paper describesthe innovative technical solutions for a production-ca-pable NT-UNIX cross-platform CAD design flowenvironment for development, maintenance, and de-ployment activities. Although the target systems cho-sen are the ones used in Design Technology at Intel,our solutions are applicable to other cross-operatingsystems.

The NT-UNIX platform poses various technical chal-lenges when developing the CAD design flows con-sisting of tools from both platforms. These tools haveto work together on a shared design database whileeffectively utilizing common infrastructure scripts, de-spite the fact that each computing platform supports adifferent scripting environment.

To meet some of these challenges, we developed twotechnologies that allow seamless integration of soft-ware, designed for either the UNIX or NT platform,into a platform-independent production usage envi-ronment. These two technologies have been used toport more than 45 tools made up of more than3,000,000 lines of code from UNIX to NT, and toexecute more than 1,000 test flows, as well as to de-velop a few mixed NT-UNIX applications.

IntroductionTraditionally, Intel has been using high-end UNIX*-based RISC workstations for microprocessor designactivity. However there are emerging compelling rea-sons why this traditional design environment shouldchange to incorporate the IA-NT workstation. Themain reasons for this change are as follows:

1. The advent of low-priced, high-performance Intelarchitecture workstations coupled with WindowsNT* operating systems (IA-NT), which make IA-NT a formidable alternative to UNIX-RISCworkstations.

2. The maturity of NT towards a stable, scalableoperating system that supports high-end CADapplications.

3. Next-generation Intel CAD tools are movingfrom the legacy single CAD design environment,which is driven by scripts through command lineinterface, to a new kind of CAD environment. Thisnew environment incorporates CAD design toolsand office productivity tools into a tightly integratedvisual cockpit that uses modern distributed com-puting components and Internet-driven technol-ogy that support multiple simultaneous CAD de-sign environments. The IA-NT workstation pro-vides an excellent development and design envi-ronment for these new-generation CAD applica-tions.

In reality, we cannot convert the existing UNIX-RISC-based design flow to an IA-NT base in a single stepdue to the following reasons:

1. Many of the design automation tools are based onUNIX-centric scripts that are not easily ported toan NT environment.

CAD Design Flows Development in a Cross-Platform Computing Environment 1

∗ All other trademarks are the property of their respectiveowners.

Page 39: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

2. Some of the internal CAD tools are tightly inte-grated with external CAD tools that are not avail-able on NT.

3. The current design team skill set is UNIX-centricand would need to be updated for NT-centricdesign work.

4. Microprocessor design teams in the midst ofprojects cannot handle a change in environmentdue to the nature and complexity of such a change.This means that IA-NT can only be used on newprojects.

The solution to converting to IA-NT therefore is tohave a transition phase to support a production-ca-pable mixed NT-UNIX design flow environment. Toachieve this transition phase, the following needs to bedone:

1. Build a robust NT-UNIX mixed computing envi-ronment with a shared file system. This will sup-port the IA-NT Desktop with backend IA-NTand UNIX compute servers (see Figure 1).

2. Migrate high compute usage CAD design flows,comprised of tools and scripts from UNIX, tonative NT and keep UNIX-centric legacy tools,which use low computing power, on UNIX.

3. Develop cross-platform utilities for production usefor a mixed NT-UNIX design environment whereCAD tools on NT and UNIX are used in a seam-less fashion.

4. Develop next-generation CAD tools native to IA-NT.

In this paper, we limit our discussion to the NT-UNIXcross-platform environment. We outline the variouschallenges faced and the techniques employed for theproduction use of a mixed NT-UNIX environment forCAD tool development in Design Technology.

Overview of Existing Design EnvironmentThe existing design environment at Intel is UNIX-cen-tric. It consists of tightly integrated CAD tools, scripts,and design data that are in the order of tens of millionsof lines of code. A significant portion of the tools andscripts are legacy codes that have been shared amonggenerations of engineers and are hard to replace.

From a high-level point of view, the design tools,scripts, and data can be grouped into following fourmain categories, in which the first two categories arepart of the CAD design tools development environ-ment and the last two categories are part of the micro-processor design project environment:

1. Design Tools: A set of internally developed and

external vendor CAD tools that are tightlycoupled by UNIX-centric �glue� scripts into atool suite.

2. Gluing Utilities: These are scripts and smallprograms that integrate the various tool com-ponents in a tool suite into a functional designenvironment for microprocessor designs at Intel.Some of the tasks include internal to externaltools data format translation, data extractionfrom netlists, simulation, wave form analysis, anddesign database management.

3. Microprocessor Design Project Utilities: Setsof scripts and programs developed by designautomation engineers in design projects to vali-date design logic, process design data, gener-ate design models, analyze performance, etc.

4. Designer Private Utilities: Scripts and pro-grams developed by individual design engineersto aid them in their work such as analyzing andfiltering design data, generating test stimuli, run-ning tools in a particular sequence, etc.

This complex environment is represented in Figure 2.

In the next sections we describe the technical chal-lenges we faced while developing CAD design flowsin a mixed NT-UNIX environment, and we outlinesome of the innovative technical solutions we adoptedto overcome these challenges.

Figure 1: Simplified view of NT-UNIX mixedenvironment

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 2

Page 40: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

UNIX* to NT* Migration and NT-UNIX Cross-Platform Challenges

The complexity of the existing UNIX-based designenvironment at Intel makes it impractical to convert toa homogeneous NT environment in one step. Theviable solution is to develop a heterogeneous UNIX-NT integrated design environment and convert moreand more UNIX-centric components to IA-NT overtime.

As with the migration of any operating system, themigration of an existing UNIX-based CAD designenvironment to a mixed NT-UNIX design environ-ment presents us with a number of technical challengesof which the major ones are as follows:

1. New applications developed for or ported toNT depend on reusable components availableonly on UNIX. These reusable components in-clude

• external vendor tools and libraries

• internal libraries that have not been ported or arenot portable to NT

• legacy design data in a database that can only beaccessed on a specific UNIX platform

1. Design flows that execute a set of tools, all ofwhich may not be available on a single platform.

2. The demand for common infrastructure scriptsto drive the tools on both UNIX and NT is dif-ficult to meet since the scripting environment onNT is not fully mature and is not 100% compat-ible with the UNIX scripting environment.

3. How to maintain a single test system and testvectors for cross-platform validation.

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 3

Figure 2: Simplified view of UNIX-based design environment

Page 41: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Innovative Solutions for an NT-UNIX Cross-Platform Development Environment

The compile-time client-server model and the run-timeclient-server model were developed and integrated intothe mixed NT-UNIX design environment to overcomethe challenges detailed above. These models allowfor the seamless integration of software developed foreither UNIX or NT platforms into a platform-inde-pendent NT-UNIX CAD development and designenvironment.

In the following sections, we describe these technolo-gies and outline the problems they solve, the architec-tural details, and our pilot results.

Compile-Time Client-Server ModelThe compile-time client-server model allows UNIX*-based layered CAD applications to be migrated toIA-NT architecture in a situation where a complete

migration to NT* is not practically feasible due to ei-ther the non-availability of vendor-provided compo-nents or non- portable internal legacy tools/libraries.

The UNIX-based layered application for a CAD lay-out capability is described in Figure 3. In this applica-tion, the Data Management (DM) engine is a vendorlibrary integrated with an internal application not na-tive to an NT platform. The figure shows the client-server application designed for an external DM en-gine using the innovative solution Inter Tool Commu-nication Library (ITC) and integrated with a layoutapplication. The architecture and functional compo-nents of the ITC library are described below.

The Inter Tool Communication Library forCompile-Time Client-Server ArchitectureAn important component of the compile-time client-server model is the ITC library, which provides inter-tool communication functionality for client-server ap-plications.

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 4

Figure 3: CAD layout application in single and multi OS platforms

Page 42: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Figure 4: Compile-time client-server architecture

The aim of the ITC library is to provide the following:

• a reliable, recoverable, trackable, and efficient NT-UNIX communication channel with simple APIsfor point-to-point inter-tool communication be-tween a client running on an IA-NT system and aserver running on a UNIX system

• transparent handling of Byte ordering betweenRISC and IA architecture

• transparent handling of NT-UNIX path conver-sion

• interface code to engineer compile-time client-server model for rapid implementation with built-in message build/extract capability and remotefunction execution mechanism

In this paper we do not focus on the implementationdetails of the ITC library APIs. Nonetheless, the nexttwo figures clearly illustrate the interaction between anNT-client application and a UNIX server to remotelyexecute the extended features provided by librariesavailable only on UNIX. Figure 5 shows the interac-tion between the various ITC APIs on the NT clientand the UNIX server describing the execution flow.Figure 6 shows a sample DMclient-DMserver appli-cation of which the UNIX-DMserver provides the NT-DMclient with complementary database access andmanagement capabilities supplied by a UNIX-centricDM library not available on the IA-NT. The masterserver is capable of supporting multiple clients as shownin the figure.

The summary of the interaction between the client andserver is as follows:

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 5

Figure 5: Interaction between NT client and UNIX server execution flow

Page 43: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

• The client connects to the DMserver.

• The server forks off a slave server to process theclient.

• The master server is free to handle incoming cli-ents.

• The slave server, which is dedicated for each cli-ent, exits after servicing the client.

Over the past two years, the CAD organization at Intelhas successfully migrated many tools to IA-NT anddeveloped new IA-NT resident tools using this client-server technology.

The compile-time client-server technique is valid forthe migration of any one platform to another platform.Until the complete set of native CAD tools and librar-ies are available to IA-NT, including the external ven-dor tools, this technology remains a good intermedi-ate solution for the unavailable software componentsduring UNIX to IA-NT migrations.

Run-Time Client-Server ModelRun-time client-server platform independent execu-tion capability is a transition technology to enable theintegration of a mixed NT*-UNIX* design environ-ment. Its main aim is to address the very problemsthat prevent the design organization from moving di-

rectly to a pure IA-NT compute environment: not hav-ing the complete set of design CAD tools on IA-NTand having legacy UNIX-centric design data, infra-structure, and gluing scripts that cannot be ported toIA-NT.

The idea behind run-time client-server platform inde-pendent execution technology is to extend the remoteprocedure call concept to a remote execution envi-ronment. The result is a tool environment that allowstransparent execution of CAD tools in a mixed NT-UNIX environment. In this cross-platform environ-ment, the user will be working on an NT desktop andexecuting design commands from a remote UNIXXterm using the same familiar design flow written inscripts. The user view is illustrated in Figure 7.

Run-Time Client-Server Architecture

The main components of the run-time client-serverplatform independent tool execution environment asshown in Figure 8 are a UNIX server daemon, an NTserver service, and CAD tools and scripts that are setup to run in this environment.

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 6

Figure 6: Execution flows between IA-NT DMclient application and UNIX DMserver

Page 44: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 7

Every tool executable in this environment has twocomplementary components, namely the tool execut-able itself and the tool stub, each of which is runningon different platforms. The tool stub is a wrapper thatlaunches the tool executable on the remote system.

Figure 8: Overview of the run-time client-serverplatform independent execution environment

When a tool stub is executed on the local system, ittakes a snapshot of the run-time environment on thelocal system and communicates this information to theserver daemon (or service). The server impersonates

the user, duplicates the run-time environment (with thenecessary system path conversion and platform spe-cific adjustment), and invokes the actual tool execut-able. The server also handles the routing of STDIOstreams to the tool stub and passes the exit code ofthe tool executable to the tool stub. The tool stubexits with the same exit code.

A sample CAD design flow consisting of three toolsworking in a cross-platform execution environmentusing the above stated run-time client-server archi-

tecture is shown in Figure 9.

Figure 7: User view of run-time client-server platform independent execution environment

Page 45: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 8

The run-time client-server platform independent ex-ecution environment provides the following featuresto enable transparent remote tool execution:

1. Conversion and customization of the run-time toolenvironment. The run-time environment on thelocal system is duplicated on the remote systemfor tool execution.

2. NT and UNIX shared file-system support so thatit can handle the tool stubs, executables, data, andoutput files residing on shared file systems.

3. Handles the redirection of standard input, stan-dard output, and standard error streams betweenthe tool stub on the local system and the tool ex-ecutable on the remote system.

4. Provides the capability to execute binary files onthe remote system (UNIX or NT).

5. Provides the capability to launch the scripts on the

remote system (UNIX or NT).

6. Duplicates the shared file system credentials fortransparent user access from local to remote sys-tem.

7. Impersonates the local system user on the remotesystem and executes the tool with the same usercredentials.

Figure 10 details the architecture of the run-time cli-ent-server capability.

Over the past year, the CAD organization at Intel hassuccessfully used this technology to validate more than40 IA-NT ported CAD tools using the same test sys-tem from UNIX by running more than 1,000+ testflows in a seamless mixed NT-UNIX platform. Thesetest flows also used some of the UNIX-centric toolsthat are not yet available on NT.

Figure 9: Flow execution using platform independent execution capability

Page 46: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 9

Conclusion

This paper describes the innovative technical solutionsemployed by Intel�s CAD organization to develop aproduction capable NT*-UNIX* cross-platform CADdesign flow environment for development, mainte-nance, and deployment activities.

This work is important for Intel to continue to maintaina powerful, effective, and competitive design environ-ment for the future generation of microprocessor de-sign projects. The simple but powerful technique de-scribed in this paper is easily proliferable to futureIntel microprocessor design project environmentsas Intel moves from a UNIX to an IA-NT design flowenvironment.

Acknowledgments

We thank DT and Computing Technology manage-ment for providing the opportunity to work on thisexciting project. We are grateful to our departmentmanager Tae Paik for his vision, inspiration, patience,and continuous encouragement during this project. We

wish to acknowledge Tae Paik for the brainstormingsession that helped us to come up with a run-time cli-ent-server model and Daaman Hejmadi who workedwith Shesha Krishnapura (author) on the initial con-cept of a compile-time client-server model. Thanksto Sunil Bhasin and Gil Kleinfeld for applying the ITCLibrary to new applications. Thanks to Athena-NTTechnical Working Group members for ratifying thetechnical concepts and documents. Special thanks toTzvi Melamed, Greg Hannon, Chenwei Chiu, and MingLin for their technical feedback and encouragementduring the development work. Thanks to Srini Ramafor implementing parts of the run-time client-serverutilities and conducting performance tests. Thanks toAthena and Nike development engineers who are us-ing the compile-time and run-time technologies in theirproducts.

References

[1]Alexander Wolfe, �Intel taps Windows NT indesign-software shift.� EETIMES, issue 948,April 7, 1997, pages 1, 148.

Figure 10: Architecture overview of run-time client-server platform independent execution technology

Page 47: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

CAD Design Flows Development in a Cross-Platform Computing Environment 10

[2]Richard Goering, �Can NT win in IC design?�EETIMES, issue 992, page 70.

Authors� Biographies

Shesha Krishnapura is a staff engineer and managerfor the Software Platform Engineering Group in CT/DT. He received an M.S. degree in computer sciencefrom Oregon State University in 1991 and a B.E. inelectronics engineering from the UniversityVishveshvaraya College of Engineering, India in 1986.He has worked on digital switching system softwareand CAD platform tools. His interests are in client-server modeling and platform migration. He joinedIntel in 1991. His e-mail [email protected].

Ty Tang is a senior software engineer in the SoftwarePlatform Engineering Group in CT/DT. She receivedher B.S. in computer science and computer engineer-ing from the University of California at Los Angeles in1990. Her expertise is in various levels of system pro-gramming under UNIX* and NT* platforms, softwareengineering and migration of CAD tools and systemsoftware to various platforms. She joined Intel in 1994.Her e-mail is [email protected].

Vipul Lal is a senior software engineer in the SoftwarePlatform Engineering Group in CT/DT. He received aB.S. in computer engineering from the University ofPune, India in 1993. He has developed system andapplication software for various flavors of UNIX* andNT* operating systems. He joined Intel in 1996 andis now working on cross-platform system and appli-cation software development. His e-mail [email protected]

Page 48: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Abstract

This paper describes the formal specification and veri-fication of floating-point arithmetic hardware at the levelof IEEE Standard 754. Floating-point correctness isa crucial problem: the functionality of Intel�s floating-point hardware is architecturally visible (it is docu-mented in the programmer�s reference manual [1] aswell as an IEEE standard [2]) and, once discovered,floating-point bugs are easily reproduced by the con-sumer. We have formally specified and verified IEEE-compliance of the Pentium Pro processor�s FADD,FSUB, FMUL, FDIV, FSQRT, and FPREM opera-tions, as well as the correctness of various miscella-neous operations including conversion to and from in-tegers. Compliance was verified against the gate-leveldescriptions from which the actual silicon is derivedand on which all traditional pre-silicon dynamic vali-dation is performed. Our results demonstrate that for-mal functional verification of gate-level floating-pointdesigns against IEEE-level specifications is both fea-sible and practical. As far as the authors are aware,this is the first such demonstration.

IntroductionThe main objectives of this paper are to describe howwe specify IEEE compliance of gate-level designs, andhow we employ theorem-proving and model-check-ing tools to formally verify that the designs meet theirspecifications. A further objective is to relate our ex-perience verifying the gate-level description of thePentium® Pro processor�s floating-point executionunit.

Work on this project began in July 1997, after thediscovery of a post-silicon erratum in the Pentium Proprocessor�s floating-point execution unit (FEU). Thediscovery of this erratum was especially disturbing tous because the Pentium Pro FEU had been the sub-ject of a previous formal verification project [3]. Thework we describe in this paper extends and improves

upon the previous effort in the following respects. First,our current specifications cover numeric correctnessat the level of the IEEE standard, while the specifica-tions used in the previous verification project are atthe level of functional blocks within the FEU. Sec-ond, our verification is much more comprehensive: inthe current work we verify correct datapath function-ality for all floating-point operations implemented inthe FEU, including all precisions, rounding modes, andflags. The focus in the earlier verification was coredatapath functionality only. Perhaps the most impor-tant improvement over our previous work is method-ological: whereas in the previous work we had no metricfor the completeness of a property set (leaving thedoor open for errata to escape), we now employ for-mal proof of compliance to an IEEE-level specifica-tion as our completeness criterion.

Formal verification has also been applied to the AMD-K7 ∗ floating-point multiplication, division and squareroot algorithms [9]. We discuss this and other relatedwork after presenting our results.

Formally verifying IEEE compliance of floating-pointhardware presents three major challenges. The firstchallenge is to capture the sense of the IEEE specifi-cation in a straightforward and formal way, such that itcan be presented and debated in a verification review.For example, the IEEE standard mandates that �whenrounding toward the result shall be the format�svalue � closest to and no greater than the infinitelyprecise result� [2]. By introducing appropriate defini-tions and abstractions we can state this requirementformally in terms of the rounded result R, infinite pre-cision result V, and the smallest representable incre-ment ulp+:

∗ All other trademarks are the property of their respectiveowners.

Formally Verifying IEEE Compliance ofFloating-Point Hardware

John O�Leary, Xudong Zhao, Rob Gerth, Carl-Johan H. SegerStrategic CAD Labs, Intel Corporation, Hillsboro OR

Index words: floating-point, IEEE compliance, formal verification, model checking, theorem proving

Formerly Verifying IEEE Compliance of Floating-Point Hardware 1

Page 49: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Note that writing IEEE-level specifications requiresus to be able to specify arithmetic operations of un-bounded precision, and that specification notations thatsupport only finite-precision �bit vector� arithmetic aretherefore inadequate.

The second challenge arises because the precision ofthe arithmetic operations implemented by the hard-ware is inherently bounded. A key aspect of our proofis the verification that the finite-precision computationsperformed by the hardware correctly implement theunbounded precision operations mandated by thespecification. The gap between the finite-precisiongate-level description and the unbounded-precisionhigh-level specifications is spanned in the first instanceby our word-level model checker, using hybrid deci-sion diagrams (HDDs) [4]. At higher levels of ab-straction, we provide specialized decision proceduresthat facilitate reasoning about unbounded precisionspecifications.

The third challenge is the sheer size and complexity ofthe floating-point algorithms and the hardware. Wehave implemented a framework that combines ad-vanced model-checking technology, user-guided theo-rem-proving software, and decision procedures thatfacilitate arithmetic reasoning. Our approach has beento develop a lightweight theorem prover that is wellsuited to hardware reasoning and composing/decom-posing model checking results. The result is an envi-ronment for developing concise and readable high-level arithmetic proofs. Combining theorem provingand model checking extends the capacity of our veri-fication tools far beyond what is feasible by modelchecking alone.

This paper is organized as follows. We present a briefoverview of our formal verification framework. Wethen explain in detail the specification and verificationof the FMUL instruction to illustrate our methods. Theremaining instructions are covered in less detail.FADD/FSUB and miscellaneous operations are veri-fied against algorithmic models, which are verified inturn against IEEE-level specifications using the FMULmethodology. FSQRT, FDIV, and FPREM presentspecial challenges because they are iterative algorithms.We explain how our basic methodology is extendedto deal with iterative algorithms. The paper closeswith a summary of results and a discussion of relatedwork.

Technology OverviewThe work we discuss in this paper was made possibleby the formal verification system Forte, currently indevelopment at Intel. Forte is an evolution of the Vossverification system, developed at the University of

British Columbia [5]. It seamlessly integrates severaltypes of model-checking engines with lightweight theo-rem proving and extensive debugging capabilities, cre-ating a productive high-capacity formal verificationenvironment.

There are two model-checking engines in Forte rel-evant to this work: a checker based on symbolic tra-jectory evaluation and a word-level model checker.Symbolic trajectory evaluation (STE) is a formal veri-fication method that can be viewed as something of ahybrid between a symbolic model checker and a sym-bolic simulator [6]. It allows the user to automaticallycheck the validity of a formula in a simple temporallogic but it performs the checking by using a symbolicsimulation-based approach and thus is significantlymore efficient than more traditional symbolic model-checking approaches. Symbolic trajectory evaluationis particularly well suited to handle datapath proper-ties, and it is used in this work to verify gate-level modelsagainst more abstract reference models. However,since symbolic trajectory evaluation is based on bi-nary decision diagrams [7], there are circuit structuresthat cannot be handled. In particular, multipliers arebeyond the capability of STE alone.

The word-level model checker is a linear time logicmodel checker tailored specifically to verifying arith-metic circuits. By using hybrid decision diagrams, themodel checker can handle circuits that BDD-basedmodel checkers cannot handle [4]. In particular, itcan handle large multipliers efficiently, satisfying oneof the requirements for verifying any modern floating-point unit. Although the model-checking algorithmsused by the word-level model checker differ from thoseused by STE, the word-level model checker uses theSTE engine to extract a transition relation from thecircuit, ensuring that the two model checkers use aconsistent view of the circuit�s behavior.

Today, neither model checker is capable of checkingthe high-level IEEE specifications against the gate-leveldesign. As a result, the verification must be broken upinto smaller pieces, either following the structure ofthe circuit or partitioning the input data space. In or-der to ensure that no mistakes are made in this parti-tioning process and that no verification conditions areforgotten, a mechanically checked proof is needed.In Forte, a lightweight theorem proving system is usedfor this task. This theorem prover is seamlessly andtightly integrated with the model checkers. As a re-sult, no translation or re-formulation of the verificationresults is needed before the theorem proving can beperformed. In addition, some special purpose deci-sion procedures are also integrated, making reasoningabout arithmetic results significantly easier and moreefficient.

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 2

Page 50: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Although the theorem prover in the Forte environmentcan be used to reason about almost any type of ob-ject, its design is tailored specifically to combiningmodel-checking results and reasoning about integerexpressions. As a result, our high-level specificationsare given in terms of integers, rather than rational num-bers. As we show in a later section, this is more of anaesthetic than a real limitation.

Figure 1: Mantissa representation

Finally, in order to make the verification process prac-tical and efficient, the Forte verification system alsoincludes significant support for efficient debugging.Support ranges from visualization support to provi-sion of extensive counter example generation integratedin all decision procedures.

Specifying IEEE Compliance of Hardware

A floating-point number is made up of a sign ,a mantissa , and an exponent . Each float-ing-point number represents the rational number

where p represents the number of bits in the fractionalportion of the mantissa, and is a constant chosen tomake e�s range non-negative. Figure 1 depicts ourrepresentation of the mantissa. For a given R, we de-fine and as the distance from R to the nextand previous representable values, and ulp as the dis-tance from R to the next largest representable value inmagnitude.

For most values of R, where p-n isthe number of significant bits in the fractional part ofthe mantissa (p - n = 23 for single precision, 52 for

double precision, and 64 for extended precision).When R�s mantissa is 1.0, the adjacent representablevalues on either side of R have different exponents. Insuch cases when R isnegative; and when R ispositive. The bottom n bits in the mantissa are all 0.

The IEEE standard specifies that the result of a float-ing-point operation is computed as if the operationhas been performed to unbounded precision and thenrounded to fit into the destination format. The resultof rounding a floating-point number is one of the tworepresentable values closest to the exact value; whichone of the closest values is determined based on therounding mode. The IEEE standard specifies fourrounding modes: toward zero, toward negative infin-ity, toward positive infinity, and to nearest. Since theIEEE standard is written in English, the formalizationwe present in this paper is necessarily our interpreta-tion of the standard�s intent.

We capture the required relationship between a resultV calculated to unbounded precision and a result Rrounded toward negative infinity

The relation between a result V calculated to un-bounded precision and a rounded result R is specifiedas follows for each of the three remaining roundingmodes:

Even(R) means that the least significant bit in R�s man-tissa is 0, and it depends on the destination precisionof the floating-point operation.

Specifying FMULTo illustrate our methods, we will derive the specifica-tion for floating-point multiplication.

With the definitions of the previous section in hand,capturing the IEEE-level specification is easy. Theproduct of two floating-point quantities, to unboundedprecision, is

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 3

Page 51: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Let us call the result of the computation

The units in the last place are as defined in the previ-ous section, and the IEEE-level specification is

where .

Since our verification environment only deals withspecifications written in terms of integer operations,we now need to transform the IEEE-level specifica-tion developed above into an equivalent specificationinvolving only operations on integers. Expanding thedefinitions of V, R, and in the IEEE specificationfor multiplication rounding to gives

Now, by multiplying both sides of each inequality byand rearranging, we obtain an equivalent

specification in terms of integer operations only:

where .

For the other rounding modes, we follow a similar pro-cedure and obtain the following specifications:

These specifications are all in terms of the integer op-erations addition, subtraction, multiplication, and modu-lus and are therefore amenable to word-level modelchecking.

Verifying FMULThe IEEE-level specifications are much too large andabstract to be directly verified by model checking, sothe first step in our verification is to decompose thespecification into smaller, more concrete pieces. Thedecomposition is done manually using engineeringjudgement about what is feasible to verify with themodel checker. The second step is to verify the lower-level specifications by model checking. Typically, sev-eral iterations through the decomposition and model-checking steps are required. The third step is to for-mally compose the lower-level specifications using thetheorem prover. The composition should yield backthe desired high-level specification, thus verifying thecorrectness of the decomposition step.

Figure 2: Floating point multiplier

Figure 2 shows a block diagram of the basic floating-point multiplication algorithm. In the MPY stage, in-puts are multiplied to com-

pute an approximate result without regardto rounding. Algorithmically, this means that their man-tissas are multiplied, their exponents are added, andtheir sign bits are XORed. The output of the multipli-cation stage is a truncated form of the unbounded-precision result. A sticky bit is also generated, whichis set if any significance was lost in the truncation. Theintermediate result and sticky bit are sent to the rounder,which rounds according to the rounding mode and des-tination format.

The verification task was broken into multiplicationand rounding stages, following the natural structure ofthe hardware. The multiplication stage was furtherdecomposed into operations on the mantissa, expo-nent, and sign. Properties at this level were verifiedby model checking, and the results combined to yieldthe required high-level result.

First consider the multiplication stage. Using word-

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 4

Page 52: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

level model checking, we verify the following proper-ties of the mantissa, exponent, and sign computations:

We also verify that the sticky bit correctly capturesthe loss of precision in multiplication.

We combine the above results using the theorem proverto obtain

This completes verification of the multiplication part ofFMUL.

Verification of the rounding property, like the propertyof multiplication, required proving some lower-levelproperties using word-level model checking and ma-nipulating them using the theorem prover. For therounding calculation, we verified the high-level prop-erty

To complete the verification, we compose the prop-erties of the multiplier and rounder to yield the requiredhigh-level property. This composition is performed inthe theorem prover, using the logical rule that states �ifwe have proven both A and , then we canconclude B.� In this case A is the property proved ofthe multiplier (which is also the antecedent of therounder property) and is the de-sired property of the multiplier combined with therounder. It is clear that B follows immediately.

Verifying FADD/FSUB and MiscellaneousOperationsThe verification strategy for FMUL was a structuraldecomposition driven by the structure of the gate-level design and by capacity limitations of the modelchecker. For a large class of operations, which in-cludes floating-point add and subtract, normalize-and-round, conversion to and from integers, and variousshift instructions, model checking capacity suffices toperform black box verification. The strategy deployedhere is to build an abstract reference model againstwhich the gate-level design is verified. In a separatestep, we can verify the reference model against IEEE-level properties1. As an example, Figure 3 shows thereference model for an operation used internally bythe Pentium® Pro processor. Note that this is an al-gorithmic description that takes two Boolean vectors(S1 and S2) and returns a Boolean vector with anappropriately shifted mantissa.

Figure 3: Reference model for FPSHR

The IEEE-level specification of FADD/FSUB is simi-lar to that for FMUL. For FADD/FSUB, we used asa reference model a textbook algorithm for addition/subtraction with rounding [8]. The gate-level designwas verified against the reference model using sym-bolic trajectory evaluation. The verification of the gate-level design against the reference model is black boxin the sense that no decomposition is needed of thereference model or the design. The reference model(but not the gate-level model) performs addition in fivestages: mantissa alignment (so that the exponents areequal), addition/subtraction of the mantissas, normal-ization, rounding, and renormalization (as rounding mayproduce an overflow). The proof that the referencemodel complies to IEEE specifications naturally de-composes into the same stages. For each stage, theappropriate properties were proved (using word-levelmodel checking), and were finally combined using the

1 Many of the miscellaneous operations are used internallyby the processor and lack meaningful IEEE-level specifica-tions. For these operations the second step is unnecessary.

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 5

Page 53: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Forte theorem prover.

While the verification of the reference model againstthe high-level specification required structural decom-position, the decomposition was determined by whatwas most convenient for theorem proving and not byconstraints imposed by the gate-level design or themodel checker. The advantage of this approach isthat the most time-consuming and complex part of theverification, the use of theorem proving in verifying thehigh-level specification, is completely isolated from therelatively fast-changing gate-level design. As a case inpoint, we ported the FADD/FSUB reference modelsdeveloped for the Pentium Pro processor to two otherprocessors and verified them with only very minorchanges that did not impact the high-level proofs. Thehigh-level proofs therefore remain valid for the otherprocessors.

Verifying FSQRT and FDIVDivision, square root, and remainder present specialchallenges. They are both more difficult to specifyand more difficult to verify than FMUL and FADD/FSUB.

The difficulty in specification is minor, and it arisesbecause our verification framework requires that speci-fications be stated in terms of integer operations.However, FDIV naturally yields a rational result, andFSQRT may well yield an irrational result. Followingthe method used for FMUL, we define

Simple algebra gives

. Thereforethe above definition can be rewritten as follows (theutility of this step will be explained in a moment):

We can then derive the following specification, in termsof integer operations, for division rounding to negativeinfinity:

Our derivation involved multiplying both sides of eachinequality by . If we had multiplied by we would have had to break our final specificationinto cases according to the sign of . Rearranging

using the fact allows our final speci-fication to remain simple. Specifications for division inother rounding modes are also easy to derive.

For FSQRT, we define

We derive the specifications for square root by squar-ing both sides of each inequality and rearranging them.For example, the specification for square root round-ing to negative infinity is

The FPREM (floating-point remainder) instruction isa variant of FDIV and will not be discussed further.

FDIV, FSQRT and FPREM are realized in thePentium® Pro processor by iterative algorithms, andthe complexity of the algorithms makes them difficultto verify. Verification of these operations requiredverification of a loop invariant plus some special prop-erties of the initial and final iterations. These resultswere then combined with properties of the roundingalgorithm.

First, we need to verify the correctness of the controlflow, shown in Figure 4. Suppose the computationtakes n iterations. We must prove that the circuit is inits initial state in cycle 0, in its loop state at cycles 1through n, in the final state of the FDIV or FSQRTcomputation in cycle n+1, and rounding the result incycle n+2. These properties are verified by inductionover time. The induction base says that at cycle 0, thecircuit is in the initial state, the loop counter is n, and

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 6

Page 54: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Figure 4: FDIV/FSQRT/FPREM algorithm flow

the next state is the loop state. The induction stepsays if the circuit is in the loop state and the loop counteris greater than 0, then the next state is the loop stateand the counter decreases by 1. Furthermore, if thecircuit is in the loop state and the loop counter is 0,then the next state is the final state, and the result willbe rounded after the final state. All of the inductionbase and induction steps are proved by model check-ing on the circuit. The theorem prover is used to com-pose these results to verify the correctness of the con-trol flow.

The second step is to prove the data invariants. Thereare two data invariants for the iterative operations. Thefirst invariant is the range invariant, which relates thevalues of the partial remainder and divisor (or radi-cand) in an iteration. The second invariant is the valueinvariant, which relates the values of the partial re-mainder, divisor, dividend, and quotient (or partial re-mainder, radicand, and root) in adjacent iterations. Therange and value invariants are proved using inductionover time. The base cases and the induction steps areproved by model checking. The theorem prover isused to combine base and induction steps to com-plete the invariant proofs.

After the second step is done, the results are com-bined with properties of the rounding stage to reachthe required high-level specification. This verificationstep is very similar to the final verification step forFMUL.

Results on the Pentium® Pro ProcessorThe preceding sections have given an overview of ourverification methodology and its application to variousclasses of operations. In this section we describe theresults of verifying the Pentium Pro processor�s float-ing-point execution unit (FEU).

This work has its roots in earlier Intel work on arith-metic circuit verification, which focused on specifyingand verifying core datapath functionality [3]. Our goalsfor the current work were much broader in scope.Our aims for the specification and verification effortwere as follows:

1. Construct IEEE-level functional specifications forall floating-point operations performed by the FEU.

2. Verify correct datapath functionality for all opera-

tions specified.

3. Verify that flags are correctly set and faults arecorrectly signaled, as required by themicroarchitecture specification.

4. Cover all variants of each operation, includingthose used only by microcode.

5. Cover all precisions and rounding modes.

We accomplished these aims during a five-quarterproject involving two engineers full-time, with one ad-ditional full-time engineer involved in the fifth quarter.The first two quarters were devoted mostly to tooland methodology development, driven by exampleoperations drawn from the Pentium Pro processor. Inthis initial period, our word-level model checker, theo-rem-proving software, and decision procedures wererefined, and inference rules were developed to reasonabout properties proved by model checking. In thefinal three quarters, our resources were applied to veri-fication in earnest, with work on tools and infrastruc-ture only as needed. In all, we undertook six verifica-tion sub-tasks: FADD/FSUB (we consider this oneoperation), FMUL, FDIV, FSQRT, FPREM, andnumerous miscellaneous operations (each is relativelysimple, but there are many of them). Each sub-tasktook approximately one engineer-quarter2, includingspecification development, understanding the FEUmicro architecture and gate-level design, model check-ing, and theorem proving.

To limit the scope of the project we chose to focus onthe numeric correctness of the FEU. Some importantcorrectness properties are not covered by our verifi-cation, including freedom from interference or con-tention between multiple active operations, the cor-rect response of the FEU to external control events(stalls, for example), and the correctness of the mi-crocode that uses the FEU operations.

A further goal of our Pentium Pro processor verifica-tion effort was that our results and methodologiesshould be reusable within and between major proces-sor generations. To demonstrate the potential for suchreusability, we repeated some of our verifications onother Intel processors. We repeated the modelchecking of FADD/FSUB and miscellaneous opera-tions on a proliferation of the Pentium Pro processor,and we verified that the proliferation�s behavior wasidentical with respect to our specifications (despitesome redesign that had occurred). We observed vir-tually complete reuse of our properties and verifica-

1This figure includes time for staff meetings and other rou-tine activities.

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 7

Page 55: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

tion scripts. We repeated verification of FADD/FSUBon a new processor generation that has a completelydifferent microarchitecture and, again, obtained ex-tremely high re-use of properties and scripts. Thehighly reusable nature of the FADD/FSUB verifica-tion is a consequence of our capability to perform blackbox model checking on these operations. We alsoported our FMUL verification to the new processor.Since FMUL was verified using a structural decom-position approach, microarchitectural changes betweenprocessor generations dictated that many of the low-level properties used in the FMUL verification had tobe modified. Our tools and methodologies provedfully reusable, however. One very high-quality erra-tum was discovered and corrected in the pre-silicondesign phase.

DiscussionThe success of this project has three principal lessons.The first is that we can formally verify gate-level de-scriptions of floating-point hardware against IEEE-levelspecifications using the Forte formal verification frame-work. Moreover, it is feasible and practical to do soin the timeframe of a major processor design project.The major impact of our work is on the quality of theproduct: our method will eliminate a class of post-sili-con escapes due to incorrect floating-point function-ality. A second impact is on validation efficiency: scarcesimulation cycles can be redirected to cover function-ality that is not covered by formal verification.

The second lesson is that verifying floating-point hard-ware against IEEE-level specifications requires sig-nificant effort and investment. Our verification efforton the Pentium Pro processor involved two formalverification experts full-time over five quarters, with athird full-time expert added in the final quarter. It istrue that part of this time was spent on tool and meth-odology development, but it is also true that we wereable to leverage prior knowledge about the PentiumPro microarchitecture. We expect that an effort on afuture processor will require a similar investment. Onthe other hand, the payback is potentially very high.Each floating-point erratum has the potential to be ahighly visible flaw in the processor, as was the casewith the Pentium® processor�s FDIV flaw.

A third lesson is that devising and executing floating-point formal verification strategies requires certain spe-cialized expertise. Identifying low-level properties orwriting reference models requires solid knowledge offloating-point microarchitecture and algorithms. Re-

lating the low-level properties to IEEE-level specifi-cations requires skill in constructing formal proofs, andmechanizing the verification to the extent described inthis paper requires skill and experience in using theo-rem-proving software. The difficulties encountered inmodel checking range from moderate (FADD/FSUBand miscellaneous operations) to very challenging(FMUL). While the required expertise can be readilytaught and learned, it is not yet a part of the main-stream curriculum in computer science or electricalengineering.

Most formal verification methodologies in use withinindustry today focus on using model checkers to verifylow-level properties of hardware. A notable excep-tion in the field of floating-point verification is the workof Russinoff on verifying the AMD-K7 ∗ algorithmsusing the ACL2 theorem prover [9]. Russinoff for-mally verified the behavior of abstract models of theAMD-K7 floating-point algorithms. Russinoff�s ab-stract models were �derived from an executable modelthat was written in C and used for preliminary testing�and assumed integer addition, multiplication, andbitwise logical operations as primitives [9]. Russinoffdoes not specify how he validates the correctness ofthe abstract models with respect to the gate-level de-sign. In contrast, we verified the IEEE-compliance ofthe gate-level design from which the silicon is derivedand which is used for all pre-silicon dynamic valida-tion. Another important difference between Russinoff�swork and ours is that the AMD-K7 verification wascarried out in a general-purpose theorem proverwhereas our verification methodology combines modelchecking with a theorem prover that is specialized tomanipulate model checking results.

A precursor to the current work is that of Aagaardand Seger, who formally verified the IEEE compli-ance of the gate-level implementation of a floating-point multiplier using a combination of theorem prov-ing and model checking [10]. The verification we de-scribe in the current paper covers many more opera-tions, and we have demonstrated that our work scalesto industrial-sized floating-point hardware.

There has been substantial work on formal verifica-tion of floating-point algorithms implemented in eithermicrocode or software. The microcode that imple-ments the floating-point divide instruction of the AMD-K5* processor was verified by Moore, Lynch, andKaufmann [11]. Russinoff verified the microcode forthe AMD-K5 floating-point square root instruction[12]. Harrison describes the specification and verifi-cation of the exponential function [13]. Cornea-Hasegan describes the verification of programs thatcompute IEEE-compliant division, remainder, and

∗ All other trademarks are the property of their respectiveowners.

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 8

Page 56: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

square root operations [14]. All these verificationsassume, as a starting point, that the underlying hard-ware correctly implements arithmetic building blockssuch as addition, subtraction, and multiplication. Ourwork is complementary in that it focuses on verifyingthe correctness of the underlying hardware. The al-gorithm verifications have often relied on relatively deepmathematics, and therefore are most appropriatelyformalized in a general-purpose theorem-proving en-vironment.

ConclusionWe have developed tools and methods for formal veri-fication of floating-point functionality and demonstratedthem on the Pentium Pro processor and other pro-cessors. No other formal verification method has beenshown to be able to fully span the semantic gap be-tween gate-level descriptions and high-level IEEEspecifications in this domain.

AcknowledgmentsWe are grateful to John Harrison for pointing out anerror in an earlier version of our specifications. Wethank Yirng-An Chen for helping in the developmentof the word-level model checker and some early veri-fication work, and Mark Aagaard and Donald Symefor helping in development of the theorem prover. TomMelham and Robert Jones made key contributions tothe methodology we used to verify FADD/FSUB andmiscellaneous operations. We are grateful to TimothyKam, Yatin Hoskote, and Pei-Hsin Ho for their con-tributions to our earlier verification effort.

References[1] Intel Architecture Software Developer�s

Manual. Volume 2: Instruction Set Reference,Intel Corporation, 1997, Order Number 243191.

[2] �IEEE Standard for Binary Floating-Point Arith-metic, ANSI/IEEE Std 754-1985.

[3] Y-A. Chen, E. Clarke, P-H. Ho, Y. Hoskote, T.Kam, M. Khaira, J. O�Leary, and X. Zhao, �Veri-fication of all circuits in a floating-point unit usingword-level model checking,� in M. Srivas and A.Camilleri, editors, Formal Methods in Computer-Aided Design, Volume 1166 of Lecture Notes inComputer Science, Springer-Verlag, 1996.

[4] E.M. Clarke, M. Khaira, and X. Zhao, �Word-level symbolic model checking: a new approachfor verifying arithmetic circuits,� in Proceedingsof the 33rd ACM/IEEE Design AutomationConference, IEEE Computer Society Press, June1996.

[5] C. Seger, Voss�A Formal Hardware Verifica-tion System: User�s Guide, Technical Report 93-45, Department of Computer Science, Universityof British Columbia, 1993.

[6] C. Seger and R. Bryant, �Formal verification bysymbolic evaluation of partially-ordered trajecto-ries,� Formal Methods in System Design, 6(2),April 1994, pp. 147-189.

[7] R. Bryant, �Graph-based algorithms for Booleanfunction manipulation,� IEEE Transactions onComputers, 35(8), August 1986, pp. 677-691.

[8] J. Feldman and C. Retter, Computer Architec-ture: A Designer�s Text Based on a GenericRISC, McGraw-Hill, 1994.

[9] D. Russinoff, �A mechanically checked proof ofIEEE compliance of the floating-point multiplica-tion, division, and square root algorithms of theAMD-K7* processor,� London MathematicalSociety Journal of Computation and Math-ematics, 1, December 1998, pp. 148-200.

[10] M. Aagaard and C. Seger, �The formal verifi-cation of a pipelined double-precision IEEE float-ing-point multiplier,� in International Conferenceon Computer-Aided Design, IEEE ComputerSociety Press, November 1995.

[11] J. Moore, T. Lynch, and M. Kaufmann, �Amechanically checked proof of the AMD5

K86*

floating-point division program,� IEEE Transac-tions on Computers, 47(9), September 1998,pp. 913-926.

[12] D. Russinoff, �A mechanically checked proofof correctness of the AMD-K5* floating pointsquare root microcode,� Formal Methods inSystem Design, 14(1), 1999, special issue onarithmetic circuits.

[13] J. Harrison, �Floating point verification in HOLLight: the exponential function,� Technical Report428, University of Cambridge Computer Labo-ratory, June 1997.

[14] M. Cornea-Hasegan, �Proving the IEEEcorrectness of iterative floating-point squareroot, divide, and remainder algorithms,� IntelTechnology Journal, Q2 1998 at http://developer.intel.com/technology/itj/q21-998.htm.

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 9

Page 57: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Authors� BiographiesJohn O�Leary is a senior engineer with Strategic CADLabs, Intel Corporation, Hillsboro, OR. From 1987to 1990, he was a member of the scientific staff atBell-Northern Research, Ottawa, Canada. He joinedIntel in 1995 after earning a Ph.D. in electrical engi-neering from Cornell University. His interests are for-mal hardware specification and verification. His e-mail is [email protected].

Xudong Zhao is a staff engineer with Strategic CADLabs, Intel Corporation, Hillsboro, OR. He recievedhis Ph.D. degree in computer science from CarnegieMellon University in 1996. His research topics in-clude formal verification for hardware, for arithmeticcircuits in particular. His e-mail [email protected].

Rob Gerth is a staff engineer in the Strategic CADLaboratories, Intel Corporation, Hillsboro, OR. Hereceived his Ph.D in computer science from UtrechtUniversity, The Netherlands in 1989 and was a lec-turer at Eindhoven University of Technology beforehe joined Intel in 1997. His current interests includemulti-processor verification. His e-mail [email protected].

Carl-Johan H. Seger received his Ph.D. degree incomputer science from the University of Waterloo,Canada, in 1988. After two years as Research Asso-ciate at Carnegie Mellon University he became anAssistant Professor in the Department of ComputerScience at the University of British Columbia, and in1995 he became Associate Professor. He joinedIntel�s Strategic CAD Labs in 1995. His researchinterests are formal hardware verification and asyn-chronous circuits. He is the author of the Voss hard-ware verification system and is co-author of Asyn-chronous Circuits (Springer-Verlag, 1995). His e-mail is [email protected].

Intel Technology Journal Q1�99

Formerly Verifying IEEE Compliance of Floating-Point Hardware 10

Page 58: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 1

Defect-Based Test: A Key Enabler for Successful Migrationto Structural Test

Sanjay Sengupta, MPG Test Technology, Intel Corp.Sandip Kundu, MPG Test Technology, Intel Corp.

Sreejit Chakravarty, MPG Test Technology, Intel Corp.Praveen Parvathala, MPG Test Technology, Intel Corp.Rajesh Galivanche, MPG Test Technology, Intel Corp.George Kosonocky, MPG Test Technology, Intel Corp.

Mike Rodgers, MPG Test Technology, Intel Corp.TM Mak, MPG Test Technology, Intel Corp.

Index words: structural test, functional test, ATE, DPM, logic test, I/O test, cache test, AC loopback test, inductive faultanalysis, fault models, stuck-at fault, bridge fault, delay fault, open fault, defect-based test, ATPG, fault simulation, faultmodeling, DPM, test quality, fault grading, design-for-test

AbstractIntel�s traditional microprocessor test methodology,based on manually generated functional tests that areapplied at speed using functional testers, is facing se-rious challenges due to the rising cost of manual testgeneration and the increasing cost of high-speedtesters. If current trends continue, the cost of testinga device could exceed the cost of manufacturing it.We therefore need to rely more on automatic test-pattern generation (ATPG) and low-cost structuraltesters.

The move to structural testers, the new failure mecha-nisms of deep sub-micron process technologies, theraw speed of devices and circuits, and the compressedtime to quality requirements of products with shorterlifecycles and steeper production ramps are adding tothe challenges of meeting our yield and DPM goals.To meet these challenges, we propose augmenting thestructural testing paradigm with defect-based test.

This paper discusses the challenges that are forcing usto change our testing paradigm, the challenges in test-ing the I/O, cache and logic portions of today�s mi-croprocessors, due to the paradigm shift, and the prob-lems to be solved to automate the entire process tothe extent possible.

IntroductionTraditionally, Intel has relied on at-speed functionaltesting for microprocessors as this kind of test hashistorically provided several advantages to screen de-fects in a cost-effective manner. Unlike other test

methods, functional testing does not require the be-havior of the device under test (DUT) to be changedduring the test mode. Thus, functional testing allowsus to test a very large number of �actual functionalpaths� at speed using millions of vectors in a few milli-seconds; to thoroughly test all device I/Os with �tester-per-pin� ATE technology; and to test embedded cachesin a proper functional mode. In addition, the testing isdone in a noise environment comparable to systemoperation. However, functional testing is facing an in-creasing number of obstacles, forcing Intel to look atalternative approaches.

We begin this paper by describing the problem of con-tinuing with functional testing of microprocessors. Wethen define an alternative paradigm, which we callstructural test. Finally, the challenges that we face andthe problems that need to be solved to test the logic, I/O, and cache subsystems of the microprocessor tomake the alternative test method work are discussed.

Structural testing has been in use in the industry forquite some time. In order to meet Intel�s aggressiveyield and DPM goals, we propose enhancing the struc-tural test flow, by using defect-based test (DBT). DBTis based on generating manufacturing tests that targetactual physical defects via realistic fault models. Theprimary motivation in augmenting structural testing withDBT is to make up for some of the potential qualitylosses in migration to structural test methods as well asto meet the challenges of sub-micron defect behavioron the latest high-performance microprocessor circuits.Although the impact of DBT on defects per millionproducts shipped is not well characterized, prelimi-

Page 59: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 2

nary studies of DBT [1] show that it improves quality.

DBT requires a whole suite of CAD tools for its suc-cessful application. In section 5, we discuss tool re-quirements for successful DBT for the latest high-per-formance microprocessors.

The Microprocessor Test ProblemStated simply, the increasing cost of testing micropro-cessors to deliver acceptable product quality on everfaster and more complex designs is the main problemwe face. The cost challenges range from the non-recurring design and product engineering investmentto generate good quality tests to the capital investmentfor manufacturing equipment for test.

Automatic Test Equipment (ATE) CostFollowing Moore�s Law for the past two decades,the silicon die cost of integrated circuits has decreasedas the number of transistors per die has continued toincrease. In contrast, during the same period, the costof testing integrated circuits in high-volume manufac-turing has been steadily increasing. Silicon IndustryAssociation (SIA) forecasts, depicted in Figure 1, pre-dict that the cost of testing transistors will actually sur-pass the cost of fabricating them within the next twodecades [2].

Figure 1: Fabrication and test cost trends

Lagging ATE TechnologyAggressive performance targets of Intel�s chip set andmicroprocessor products also require increasinglyhigher bus bandwidth. Due to problems such as powersupply regulation, temperature variation, and electri-cal parasitics, tester timing inaccuracies continue torise as a function of the shrinking clock periods of high-performance designs. The graph in Figure 2 shows

trends for device period, overall tester timing accu-racy (OTA), and the resulting percentage yield loss.It was derived from information in the SIA roadmap.

Figure 2: Tester accuracy and projected yield losstrends

In addition to the increase in device frequency and thenumber of I/O pins, advanced signaling techniques arealso used to improve I/O performance. One such sig-naling innovation is the use of the source-synchronousbus, which has been in use since the Pentium® Proline of microprocessors. Data on such a bus is sentalong with a clock (strobe) generated from the drivingdevice. This complicates testing since the ATE needsadded capability to synchronize with the bus clock(strobe).

Test Generation EffortManual test writing, which has been in use at Intel,requires a good understanding of the structure of theDUT (typically a design block owned by a designer),as well as global knowledge of the micro-architec-ture. The latter is required since tests have to be fedto the DUT and the response read from the DUT.With increasing architectural complexities such as deeppipelining and speculative execution, increasing circuitdesign complexity and new failure modes, the cost oftest writing is expected to become unacceptable if weare to meet time-to-volume targets. This is supportedby the data presented in Figure 3 where manual testgeneration effort is compared with the effort requiredif ATPG, augmented with some manual test genera-tion, were used. Note that manual test writing effortrequired for functional testing has been increasing ex-ponentially over the last several generations of micro-processors at Intel. Compared to that, the projectionfor ATPG is very small. Note that the data forWillamette/Merced� and beyond are projections.

Page 60: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 3

Figure 3: Test generation effort trend

Deep Sub-Micron TrendsAs the feature length of transistors scales down, powersupply voltage is scaled down with it, thereby reduc-ing noise tolerance. Metal pitch is also scaled in tan-dem to realize the density gain. If interconnects werescaled proportionately in both pitch and height, lineresistivity would rise quadratically, thereby degradingperformance. To hold this trend down, metal height isscaled down by a smaller factor than the pitch, whichresults in increased cross capacitance.

The increase in the number of metal layers introducesmore masking steps and can skew the random defectdistribution towards interconnect failure modes suchas bridges and open vias. Susceptibility to processvariation is heightened due to the higher cross capaci-tance and reduced noise tolerance.

Like other CAD tools, performance validation toolsare struggling to keep up with increasing design sizesand circuit design complexity. The most common so-lution is to build simplifying assumptions into the tools,and to offset this by the use of conservative nominaldelays. Faced with increasing performance goals,designers build devices with negative timing margins.Such aggressive designs styles, coupled with increas-ing layout density, mean that even minor defects orprocess variations, which would otherwise be benign,could result in failures. Deliberate design marginalitythus translates into test problems. Writing functionaltests for subtle failure modes, which are made mani-fest under a very specific set of conditions, is becom-ing increasingly difficult.

Test Paradigm Shift and Challenges of the NewTest ParadigmTest paradigms are defined by (a) the kind of test; (b)the kind of tester that stores and delivers the test; and(c) the test delivery mechanisms.

Tests can be either structural or functional. Struc-tural tests target manufacturing defects and attempt toensure the manufacturing correctness of basic devicessuch as wires, transistors, etc. Functional tests, on theother hand, target device functionality and attempt toensure that the device is functioning correctly. Func-tional tests are written primarily for architectural veri-fication and silicon debug. They can be used for manu-facturing testing also, as is done at Intel. Structuraltests, on the other hand, are used primarily for manu-facturing testing.

Testers come in two varieties: functional and struc-tural. Functional testers can drive a large number ofI/O pins at high clock rates with great timing accuracy.On the other hand, structural testers are limited in thenumber of I/O pins they can drive, as well as thespeed and accuracy with which they can deliver datato the I/O pins. The cost of structural testers is con-siderably lower than the cost of functional testers.

Tests can be delivered in one of two ways. Thedevice�s normal functional channels are used and thedevice runs at operating speed. Alternatively, specialdesign-for-test (DFT) channels can be designed, andtests are applied through these channels at less thanoperational speed. The scan structure and ArrayDATexemplify this.

The test paradigm in use at Intel so far uses functionaltesters and functional tests. These tests are deliveredusing the functional channels. Functional tests are writ-ten manually. Using functional testers requires hugecapital investment over short periods of time since theybecome obsolete very quickly. Hence, Intel is nowrelying more on reusable low-cost testers.

As the data showed, manual test writing for future mi-croprocessors is not feasible. Therefore, use of ATPGtools becomes essential to meet cost and time-to-qual-ity requirements. Thus, the paradigm that has evolvedis to use low cost structural testers and use ATPG togenerate the required tests. The tests being generatedare structural tests. The structural tests we generatediffer from the classical structural tests in that we tar-get defects via some novel fault models. We elabo-rate on this later in the paper. We next discuss thechallenges that this paradigm shift brings with it.

Test GenerationThe loss in accessibility to the I/O pins of the devicehas a major impact on the ability of engineers to writefunctional tests for the chip. It may be possible to

Page 61: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 4

load functional tests through direct access to an on-chip cache, and run them from there, but it is difficultto generate tests that operate under this mode. As aresult, most of the fault-grading tests that are appliedthrough DFT methods have to be generated usingATPG tools.

ATPG for large high-performance designs poses uniqueproblems. Today�s microprocessors have multipleclock domains, operating at different speeds. Clockgating for low-power operation is pervasive. Typicaldesigns have many complex embedded arrays thatneed to be modeled for the ATPG tool. Industry stan-dard DFT techniques, such as full scan, are often tooexpensive in either die area, or performance or both[7].

Defect mechanisms in deep sub-micron designs areoften manifested as speed failures under very specificconditions. Most commercial ATPG tools, which arebased on the stuck-at and transition fault models, arenot equipped to handle these complex failure modes.

Design for TestAlthough ATPG technology has progressed during thistime, the success of these tools is predicated on pro-viding a high degree of access, controllability, andobservability to the internals of the design by usingDFT techniques.

Scan design, the best-known structured DFT tech-nique, comes at the cost of both performance and area,although some trade-off is possible. In order to meettight timing requirements, high-performance designstend to have very few gates between storage elements,which results in a high latch-to-logic ratio. Therefore,implementing scan DFT generally translates into sac-rificing considerable silicon real estate.

Another DFT technique that is gaining acceptance inthe industry is Built-In Self-Test (BIST), which incor-porates mechanisms to generate stimuli and compressresponses for later off-chip comparisons into the de-sign. BIST allows a large number of patterns to beapplied at speed in a short time, with very little testersupport. However, most logic BIST techniques thatenjoy commercial success today require full scan, orclose to it. In addition, they need design changes toenhance random-pattern testability, to allow at-speedtest application, and to prevent the system from get-ting into an unknown state that can corrupt the com-pressed response.

Such intrusive DFT techniques cannot be appliedacross the board to high-performance devices, so logicBIST for microprocessors has only limited applicabil-ity today. High-volume, high-performance micropro-cessors have to choose between the high cost of scanDFT or resort to more custom access methods of get-

ting stimuli to, and observing responses at, the bound-aries of internal components.

Test Application MethodologyIndustry data shows that testing a device using func-tional tests rather than other test patterns results infewer escapes [4]. A possible explanation is that whenthe device is exercised in functional mode, defects thatare not modeled, but affect device functionality, arescreened out.

ATPG patterns differ fundamentally from functional testpatterns: they explicitly target faults rather than check-ing for them by exercising the functionality of the de-vice, and they are typically very efficient, detecting eachfault fewer times in fewer ways. Also, since they arebased on using DFT structures to apply tests, they areapplied at a lower speed. Consequently, there is arisk of losing �collateral� coverage of defects that donot behave like the modeled faults.

Structural testers have a small set of pins that operateat a lower frequency than the device and contact onlya subset of its I/O pins. The device needs to beequipped with special DFT access ports to load andunload the vectors from the tester. The boundary scantest access port, scan input and output pins, and di-rect access test buses are typically for this purpose.

A few seconds of functional test may apply millions ofpatterns to a chip. In contrast, due to power, noise,and tester bandwidth considerations, the serial load-ing of test vectors from the DFT ports may be slow,and the number of test vectors that can be appliedfrom the structural tester may be far fewer than in afunctional test environment. This has implications forthe quality of the structural test set.

Speed TestUnlike many standard parts, microprocessors arebinned for speed. This necessitates speed test, wherethe objective is to determine the maximum frequencyat which the part can be operated. In the past, a smallset of the worst speed paths was identified, and testswritten to exercise these paths were used to charac-terize the speed of the device. With increasing diesizes and shrinking device geometry, in-die processvariation is becoming significant. It is no longer safe toassume that all paths will be affected equally, and alarger set of representative paths needs to be tested todetermine the maximum operating frequency.

One of the implications of applying vectors in the DFTmode is that the device may not be tested in its nativemode of operation. Special-purpose clocking mecha-nisms are implemented to apply the tests to the tar-geted logic blocks after they have been loaded. Theelectrical conditions, background noise, temperature,and power supply may all be different in the DFT mode.

Page 62: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 5

These factors introduce inaccuracies, necessitatingguard-bands, in measuring the speed of the device.

I/O Timing TestTraditional I/O functional testing relies on the ability ofthe tester to control and observe the data, timing, andlevels of each pin connected to a tester channel. Thetesting of the I/O buffers can be divided into threebasic categories: timing tests (e.g., setup and valid tim-ings), level tests (e.g., Vil and Vol specifications), andstructural tests (e.g., opens and shorts). The timingspecifications of the I/O buffers are tested during theclass functional testing of the device. With the use ofstructural testers, dedicated pin electronics are nolonger available on the tester to make timing measure-ments on each I/O pin on the device.

Assuming that the I/O circuit meets the design targetand that timing failures are results of defects at the I/Ocircuits, the problem of testing complex timing becomesone of screening for these defects, instead of the ac-tual timing specification itself.

Defect-Based Test

Applicability of the Stuck-At Fault ModelAlthough functional patterns are graded against thesingle stuck-at fault model, it is well known that mostreal defects do not behave like stuck-at faults. In-stead, stuck-at fault coverage has been used as a stop-ping criterion for manual test writing with the knowl-edge that the functional tests would catch other typesof defects that impact device functionality. This mea-sure of test quality worked quite well for a long time.However, in the recent past, there is conclusive datafrom sub-micron devices that proves that the outgoingDPM can be further reduced by grading and devel-oping functional tests using additional fault models suchas bridges etc. Therefore, the success of the singlestuck-at fault model cannot be guaranteed as we movefurther into the sub-micron devices.

The quality of ATPG patterns is only as good as thequality of the targeted fault models. As the test envi-ronment forces the transformation from functional tostructural testing, there is yet another strong case forthe development of better test metrologies than thesimplified stuck-at fault model. Defect-based testaddresses this risk by using better representations ofthe underlying defects, and by focusing the limited struc-tural test budget on this realistic fault.

What is Defect-Based Test?Before we define defect-based test, we distinguishbetween two terms: defect and fault model. Defectsare physical defects that occur during manufacturing.

Examples of defects are partial or spongy via, the pres-ence of extra material between a signal line and theV

dd line, etc. Fault models define the properties of the

tests that will detect the faulty behavior caused by de-fects. For example, stuck-at 1 tests for line a willdetect the defect caused by a bridge between the sig-nal line a and V

dd.

It has been reported in the literature [5] that tests thatdetect every stuck-at fault multiple times are better atclosing DPM holes than are tests that detect each faultonly once. This approach, called N-detection, worksbecause each fault is generally targeted in several dif-ferent ways, increasing the probability that the condi-tions necessary to activate a particular defect will existwhen the observation path to the fault site opens up.

Defect-based tests are derived using a more system-atic approach to the problem. First, the likely failuresites are enumerated. Each likely defect is thenmapped to the appropriate fault model. The resultingdefect-based fault list is targeted during ATPG. Testsgenerated in this way are used to complement vectorsgenerated using the stuck-at fault model. Unlike thestuck-at model that works off of the schematic data-base, the starting point for defect-based test is the masklayout of the device under test. Layout-based faultenumeration is a cornerstone of defect-based test.

The use of better fault models is expected to enhanceany test generation scheme (ATPG, built-in self-test,or weighted random pattern generation) because itprovides a better metric for defect coverage than doesthe stuck-at fault model.

Although not a proven technology, defect-based testis a strong contender for addressing some of the risksof migrating from functional to structural test. The DBTeffort at Intel is aimed at proving the effectiveness andviability of this approach. The following sections de-scribe the key problems that have to be solved, thespecific tooling challenges in automating defect-basedtest, and a system architecture showing DBT modulesin the overall CAD flow.

Challenges of Defect-Based Test

Enumerating Defect SitesThe number of all possible defects on a chip is astro-nomical, and it is neither feasible nor worthwhile togenerate tests for all of them. Fault enumeration is thetask of identifying the most important defect sites andthen mapping them into fault models that can be tar-geted by fault simulation and ATPG tools.

Page 63: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 6

To enumerate likely defect sites, we need to under-stand the underlying causes of defects. Broadly speak-ing, defects are caused by process variations or ran-dom localized manufacturing imperfections, both ofwhich are explained below:

• Process variations such as transistor channellength variation, transistor threshold voltage varia-tion, metal interconnect thickness variation, andinter metal layer dielectric thickness variation havea big impact on device speed characteristics. Ingeneral, the effect of process variation shows upfirst in the most critical paths in the design, thosewith maximum and minimum delays.

• Random imperfections such as resistive bridgingdefects between metal lines, resistive opens onmetal lines, improper via formations, shallowtrench isolation defects, etc. are yet another sourceof defects. Based on the parameters of the defectand �neighboring parasitic,� the defect may resultin a static or an at-speed failure.

Techniques used for the extraction of faults due to ran-dom defects and process variations may differ, but thefundamental approach is to identify design marginali-ties that are likely to turn into defects when perturbed.The output of a fault extraction tool is typically or-dered by probability of occurrence.

Defect ModelingTo test a device, we apply a set of input stimuli andmeasure the response of the circuit at an output pin.Manufacturing defects, whether random or system-atic, eventually manifest themselves as incorrect val-ues on output pins.

Fault simulators and ATPG tools operate at the logicallevel for efficiency. A fault model is a logic level repre-sentation of the defect that is inserted at the defectlocation. The challenge of fault modeling is to strike abalance between accuracy and simplicity as explainedbelow:

• Accuracy. The output response of the logic-levelnetlist with the fault model inserted should closelyapproximate the output response of the defectivecircuit for all input stimuli.

• Simplicity. The fault model should be tractable,i.e., it should not impose a severe burden on faultsimulation and ATPG tools.

During the model development phase, the effective-ness of alternative models is evaluated by circuit simu-lation. Vectors generated on the fault model are simu-lated at the circuit level in the neighborhood of thedefect site, using an accurate device-level model of

the defect. However, due to the number of possibledefect sites and the complexity of circuit simulation,this can only be done for a small sample.

Defect-Based Fault SimulationSimulation of defect-based models is conceptually simi-lar to stuck-at fault simulation, with a couple of twists:

• The number of possible defect-based faults is or-ders of magnitude larger than stuck-at faults, sothe performance of the tool is highly degraded. Inorder to be effective, a defect-based fault simula-tor has to be at least an order of magnitude faster.

• Defect-based faults may involve interactions be-tween nodes across hierarchical boundaries, mak-ing it impractical to use a hierarchical or mixed-level approach to fault simulation. It is necessaryto simulate the entire design at once, which alsoimposes capacity and performance requirements.

Defect-Based Test of Cache Memories

Background: The Growth of Caches for Micro-processorsThe use of caches for mainstream microprocessorson Intel architectures, beginning in the early 90s withthe i486� processor, heralded a return to Intel�s origi-nal technical core competency, silicon memories, al-beit with several new twists. The embedded CPUcaches have increased in size from the 4K byte cacheof the i486 processor generation to 10s and 100s ofkilobytes on today�s processors and to even largerembedded CPU caches being considered for the fu-ture. This has resulted in a steady increase in the frac-tion of overall memory transistors per CPU and in theamount of CPU cache die area throughout the lastdecade.

A second key cache test challenge is the increasingnumber of embedded arrays within a CPU. The num-ber of embedded memory arrays per CPU has gonefrom a handful on the i486 and i860� processors todozens on the more recent Pentium® Pro andPentium® II processor lines.

Memory Testing Fundamentals: Beyond theStuck-At ModelThe commodity stand-alone memory industry, i.e.,DRAMs and 4T SRAMs, have evolved fairly com-plex sets of tests to thoroughly test simple designs(compared to the complexity of a modern micropro-cessor) [6]. The targeted fault behaviors includestuck-at, transition, coupling, and disturbs, and theresulting number of targeted tests per circuit, per tran-sistor, or per fault primitive on a memory is much higherthan for digital logic devices. On VLSI logic, the chal-

Page 64: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 7

lenge is to achieve stuck-at fault coverage in the upper90 percentile, while on stand-alone memories, the num-ber of targeted tests per circuit component is typicallyin the 100s or more likely 1000s of accesses per bitwithin a robust memory test program.

One reason for the greater complexity of memory testsis that at the core of a typical digital memory is a sen-sitive, small signal bit, bit bar, and sense amp circuitsystem. Even for stand-alone memories, access andtesting of the analog characteristics (e.g., gain, com-mon mode rejection ratio, etc.) is not directly possibleand must be done indirectly through the digital inter-face of address and data control and observability. Alarge number of first order variables subtly affect theobservability of silicon memory defect behavior. There-fore, most memory vendors characterize each variantof a given product line empirically against a broad rangeof memory patterns before settling on the test suitethat meets quality and cost considerations for high-volume manufacturing. These characterization testsuites (also known as �kitchen sink� suites) consist ofnumerous algorithmic march patterns and different setsof cell stability tests (e.g., data retention, bump tests,etc).

A key concept for robust memory testing is the logicalto physical mapping. On a given physical design of anarray, the physical adjacencies and ordering of bits,bit lines, word lines, decoder bits, etc., typically donot match the logical ordering of bits (such as an ad-dress sequence from bit 0 to bit 1 to � highest orderbit. Memory tests are designed to be specifically struc-tural where worst-case interactions of the implementedsilicon structures with true physical proximity areforced. Thus the true physical to logical mapping is asubsequent transform that must be applied to a givenmemory pattern in order to maximize its ability to sen-sitize and observe defects and circuit marginality.Correct and validated documentation to the down-stream test writer of the actual physical-to-logicalmapping is as important as other design collateral.

Embedded Cache Testing and DFT in theContext of Logic TechnologiesTesting of embedded caches also needs to considerthe context of related logic technologies. To start with,the basic embedded cache memory cell is typically asix transistor (6T) SRAM as compared to the moretypical DRAMs and four transistor (4T) SRAM ofthe stand-alone silicon memory industry. The 6TSRAM offers better robustness against soft errors andcan be thoroughly tested to acceptable quality levelswith somewhat simpler test suites. However, the criti-cal motivating factor is that a 6T SRAM cell is fea-sible, within the context of a high-performance logicsilicon fabrication process technology, without addi-tional process steps.

The smaller size (area, # bits) and 6T cell of the em-bedded CPU cache make it less sensitive than thestand-alone commodity 4T SRAMs and DRAMs.This is somewhat offset by the fact that embeddedcaches are generally pushing the SRAM design win-dow on a given fabrication technology for system per-formance reasons. Therefore, adequate testing ofembedded 6T SRAMs requires an optimal use of ro-bust memory test techniques targeted at defect be-haviors, such as complex march algorithms and cellstability tests.

A critical challenge for embedded SRAM caches isthe architectural complexity of access and observabilityof such arrays compared to a stand-alone memory.For example, for an embedded array such as an in-struction cache or a translation buffer, there may notbe a normal functional datapath from the array outputto the chip primary outputs, making writing of eventhe simplest memory algorithmic patterns such as the10N March C- an extreme challenge for even the mostexperienced CPU design engineers and architects.

In the end, the number and variety of caches and em-bedded arrays in today�s microprocessors demand amultiple of DFT and test solutions optimized to thephysical size and area of the various arrays, the per-formance and cost boundary conditions, and the ar-chitectural and micro-architectural details of an em-bedded array�s surroundings. Circuit-level DFT, suchas WWTM [7], can offer targeted structural cover-age, in this case against cell stability issues and weakbits. External access via special test modes or self-test (BIST) circuits may provide the better solutionwithin different sets of variables. However, care mustbe taken to ensure the completeness and correctnessof the solution in any case and that some level of struc-tural approach is used, i.e., appropriate stimulus-re-sponse mapped to the physical implementation of thememory structures. Different types of memory struc-tures, e.g., small signal SRAMs, full Vcc rail swingCMOS register files, CAMs, or domino arrays, eachrequire a targeted structural approach mapped to theirstrength and weaknesses with respect to defect re-sponse.

Technology Development StrategyThe technology for defect-based test spans multipledisciplines in design, CAD tooling, and manufactur-ing. Although individual components have been triedboth within Intel as well in academia and industry, realdata on high-volume, high-performance microproces-sors is needed to establish the value of this approach.

The defect-based test program at Intel emphasizesearly data collection on the effectiveness of fault mod-els. Partnerships with design teams interested in pio-neering these new capabilities as they are developed

Page 65: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 8

form a cornerstone of this effort. Technology devel-opment proceeds in phases as follows:

• Fault model development. There are a largenumber of possible defect types that can be mod-eled. Defects are chosen for modeling based onfrequency of occurrence, ease of modeling, es-cape rate, and perceived importance to the part-ner design team. Bridges and path delay faultswill be the first set of fault models to be investi-gated.

• Tool development. A minimal set of prototypetools is developed for the enumeration and simu-lation of the target fault models. These tools aretargeted for limited deployment to a select groupof experts in the project design team. The focusof tool development is on accuracy, not perfor-mance. Where possible, the tools are validatedagainst existing �golden� capabilities.

Tools for defect enumeration need to leveragephysical design and performance verification tools.Close co-operation with tool builders and projectdesign automation teams is required to build onexisting tools, flow, and data in order to facilitatethe defect-extraction process.

• Enumerating fault sites. The actual task of enu-merating fault sites is performed jointly by the tech-nology development team and the design team.Working together, test holes such as new archi-tectural enhancements or modules for which legacytests could not be effectively ported are identified.Fault grading resources are allocated for defect-based test on those regions. When available, datafrom the FABs are used to assign probabilities todefect sizes.

• Test generation. Defect-based tests are gener-ated by first grading functional validation and tra-ditional fault grade vectors, and then by targetingthe undetected faults for manual test writing. Testwriting is necessary at this time because a defect-based ATPG is not yet available, and the legacydesigns on which the technology is being pioneereddo not have adequate levels of structured DFT.To contain the cost of test writing, defect-basedtests are written for carefully selected modules ofthe design.

• Model validation. Model validation requiresclose partnering with the product engineering team.Some changes are required to the manufacturingflow to collect data on the unique DPM contribu-tion of the defect-based tests.

Data from the model validation phase is fed backinto model development, as illustrated below. Oncea particular fault model is validated, we will enter

into development (or co-development with a tools�vendor) of an ATPG capability for that model.

Figure 4: Technology development process flow

Defect Modeling

Modeling of Random DefectsThe challenge in fault modeling is to capture a generalcause and effect relationship that can be easily simu-lated or targeted in the case of automatic test patterngeneration. A degenerate case of this general approachis a line stuck-at fault model where output at a node isalways a logical zero or always a logical one regard-less of the logic value it is driven by. Another popularfault model that has been used to target random speedfailures is the transition fault model, which is essen-tially a stuck-at fault with the addition of the conditionthat the faulty node make a transition, i.e., be at theopposite logic value in the cycle prior to detection.

In creating a realistic fault model for a defect, we mustavoid explicitly tabulating the behavior of the defectfor every state of the circuit. A table-driven approachwill not lend itself to a scalable automated solution fordesign sizes that exceed 5 million primitives. The ap-proach we use here is to transcribe the deviation inanalog behavior into simple conditional logical devia-tions.

There are a large number of possible failure mecha-nisms that cause random defects. Rather than de-

Page 66: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 9

velop models for them all and then launch into modelvalidation, our approach is to stage the developmentof models and tools to address defect types in theorder of their importance, and to intercept designs witha complete prototype flow for each model as theybecome available. This allows us to collect data onthe DPM impact of defect-based test early on, and itprovides feedback that we can use to refine our mod-els.

One of the most common defect types today is inter-connect bridges. As metal densities increase, the im-portance of metal bridges as a defect-inducing mecha-nism will grow. Interconnect bridging defects exhibita range of behavior based on different values of bridgeresistance.

This effect is illustrated for the circuit in Figure 5. Thereis a bridge defect between node j and k in this ex-ample. Node k is held at logic 0 as j changes from 0to 1. The signal transition is propagated and observedat output v.

Figure 5: Example circuit with a bridge defect

Figure 6 shows the output response of the circuit fordifferent values of the bridge resistance. Thresholdvoltages are marked using horizontal dashed lines, andthe vertical dashed line shows the required arrival timeat node v for the transition to be captured in a down-stream latch.

The plot shows three distinct circuit behaviors for vary-ing bridge resistance. For low resistance values, theoutput never reaches the correct logic value, and thedefect shows up as a static logic failure. For interme-diate resistances, the output goes to logic 0 too late,resulting in a speed failure. Very high bridge resis-tances are benign from the viewpoint of correct logi-cal operation of the circuit.

Figure 6: Output responses for a range of bridgeresistance

For low resistances, the defect can be modeled asnode j stuck at logic 0 with the condition that k is atlogic 0. Speed failures can be modeled as a slow-to-rise transition at node j, with the condition that k isheld at logic 0. Such fault models, based on generali-zations of the conventional stuck-at and transitionfaults, are called constrained fault models.

As feature sizes are scaled down, the metal pitch isreduced in tandem to increase density. Reduced metalpitch in turn imposes limitations on the height of metalinterconnects that must also decrease to improvemanufacturability. Thus the line resistance per unit lengthgoes up almost quadratically. Sustained yield require-ment dictates that defect densities remain the same,which in turn implies that interconnect bridge defectsalso scale in dimension. Higher bridge resistancecoupled with lower device resistance during ON stateresults in more speed failures than hard failures as il-lustrated in Figure 6 above.

Modeling of Systematic DefectsNot all defects are of a random nature. Known fac-tors such as reticule position, die location on a wafer,mask imperfections, polysilicon density, device orien-tation, etc., cause systematic variation across wafersand dice. These effects are expected to gain promi-nence due to reduced noise tolerance as well as a gen-eral increase in systematic variability because of suchfactors as migration towards 300mm wafers, litho-graphic equipment, and material re-use.

Page 67: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 10

Steeper production ramps are putting increasing pres-sure on cutting down the time for design correctionand test creation based on silicon data. Thus model-ing such effects is critical to the success of test.

Process variations lead to delay problems. There-fore, using information of process variations in speedtest target selection needs to be addressed.

Defect-Based Test Tooling Challenges

Defect EnumerationThe goal of defect enumeration is to prune the list ofall possible defects to a manageable number of themost likely faults. Because the likelihood of a fault hasa strong dependence on layout geometry, processparameters and timing marginality, defect enumerationis a multi-disciplinary problem.

Here we describe layout-driven and timing-driven ap-proaches to fault enumeration, and we discuss the in-herent challenges.

Physical Design Inductive Fault AnalysisInductive Fault Analysis (IFA) is based on the premisethat the probability of a defect occurring at a particu-lar site is a function of the local layout geometry andthe distribution of failure mechanisms observed for themanufacturing process. The most commonly observeddefects can be classified into two broad categories ofphysical faults:

• Bridges occur when the defect causes a conduct-ing path between two nodes that are electricallyisolated by design. The resistance of the bridgecan vary by process, layer, and defect mechanism.

• Breaks happen when the defect introduces un-desired impedance along a conducting path. Inan extreme case, a break can result in an opencircuit.

These physical fault models are then mapped onto logi-cal fault models that can be used for fault simulation atthe logical, or gate level, of abstraction. If the likeli-hood of the defect mechanism causing opens andbreaks is known for the process, the physical faultsites extracted by IFA are weighted by probability.These probabilities can be used for pruning the faultlist, and for expressing the fault coverage obtained byfault simulation in terms of the overall probability ofcatching a defective part. This weighted fault cover-age number can be a better predictor for outgoingDPM than stuck-at fault coverage.

Traditionally, IFA has focussed on layout geometry anddefect distribution, and it has ignored the testability ofa fault. This last parameter is an important one: If thefaults identified using IFA are highly testable, i.e., eas-ily covered by tests for stuck-at faults, then using an

IFA-based approach will not yield a significant incre-mental DPM improvement over a standard stuck-atfault model. Examples of highly likely and highly test-able faults are bridges to power rails and clock lines.Therefore, the challenge for effective IFA tools is toidentify faults that are both highly likely and relativelydifficult to detect using stuck-at fault vectors.

Because they work at such a low level of abstraction,IFA tools need to be scalable in order to be effectiveon increasingly larger designs. Two divide-and-con-quer approaches can be applied to the problem:

• Hierarchical analysis. This is where layout blocksare analyzed at a detailed level for bridges andbreaks on cell-level nodes, and at a global level toanalyze inter-block connectivity. The obviousdrawbacks of this method are that interactionsbetween wires across blocks, and between block-level and chip-level layout, are ignored. This prob-lem is accentuated by the increasing trend towardover-the-cell global routing.

• Layout carving, or �cookie-cutting.� In thisapproach, the layout is flattened and carved intomanageable pieces called �cookies.� Each cookieincludes the layout to be analyzed, as well as suf-ficient surrounding context. A second phase isrequired to roll up the results collected at the cookielevel, and to tie up the inter-cookie interactions.

Timing-Driven AnalysisAs mentioned in a previous section, the performanceverification tools for large microprocessor designs arenot entirely fool proof. To begin with, the PV data-base is made up of data from different sources, someof which are SPICE-like simulations (very accurate)and some of which are simple estimators. The netresult of this could be incorrectly ordered critical paths(speed-limiting circuit paths). During silicon debug andcharacterization, some of these issues are generallyuncovered.

However, some serious issues abound as we look intothe future. First, the increased on-die variation in deepsub-micron technologies means that different paths onthe chip can be impacted differently. Further, the trendtowards higher frequencies implies fewer gates be-tween sequential elements, which may lead to a largerproportion of the chip�s paths having small margins.These two factors combined pose one of the biggesttest challenges, namely, speed test.

It is no longer just sufficient to have a few most criti-cal paths in the circuit characterized during silicondebug. What is required is an automatic way to enu-merate all such paths and then grade the structural testsfor �path delay fault� coverage. There are two mainissues that need to be solved. First, PV tool limita-

Page 68: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 11

tions need to be worked around (issues related to gen-erating an ordered list of critical paths), and second,modeling issues related to mapping of paths from tran-sistor level to gate level need to be resolved. (Faultsimulation happens at the gate level.)

It is likely that this huge path list can be pruned to amore manageable size. Paths could be selected basedon their criticality of speed to the design and on theirdiversity in composition in terms of distribution of de-lay amongst various constituent factors such as delayson all interconnect layers and actual devices.

Comprehensive Defect EnumerationWhile layout analysis may identify potential bridgedefect sites, a resistive bridge may not always mani-fest itself as a logic error. An example of such a situa-tion would be if the defect site has adequate slackdesigned into it, an increase in delay up to the slackamount will not be ordinarily detectable. Slack maychange with a change in cycle time or a change in powersupply voltage, thus altering the test realities.

It is therefore required that the defect enumerationscheme be coupled with timing analysis tools, which inturn should be designed to understand the effect of thetest environment (temperature, voltage, cycle time) onslack.

Defect-Based Simulation and ATPGTraditional test automation tools need to be rethoughtin the context of defect-based test. The fundamentalreason for the effectiveness of the stuck-at fault modelis that it opens up an observation path starting fromthe fault site. Unfortunately, the conditions needed tocause the erroneous circuit behavior may not be cre-ated at the time the observation path is set up.

Data reported in the literature show that the effective-ness of a test set could be improved by including vec-tors that detect the same stuck-at fault multiple times,in different ways. This approach, called N-detection,is a random way to set up the conditions needed toactivate different failure modes. Defect-based faultmodels take this notion a step further by specifying theactual excitation conditions, called constraints.

• Excitation conditions. These are a relativelystraightforward extension to commonly used faultmodels. Constrained stuck-at and constrainedtransition faults behave like their traditional coun-terparts except that the fault effect becomes mani-fest only when an externally specified condition ismet.

Existing fault simulation and test-generation toolscan be used to simulate these models by augmentingthe target netlist to detect the excitation conditionand to inject the fault when it occurs. However,

this can be expensive in terms of netlist size for bigdesigns. Also, depending on the location of theset of nodes involved in the constraints and thefault location, the augmenting circuitry can causedesign-rule violations such as phase coloring.

• Propagation conditions. Certain types of physi-cal faults (such as highly resistive bridges andopens) can manifest themselves as localized delaydefects. However, the size of the delay is not al-ways large enough to allow it to be treated as atransition, or gross delay. In such cases, the ef-fectiveness of the test can be increased, propa-gating the fault effect along the paths with the low-est slack. This method implies a tie-in to the tim-ing analysis sub-system.

• Path delay fault simulation. Several path delayfault models have been proposed in the literaturewith a view to identifying tests that are robust (lesssusceptible to off-path circuit delays), and to sim-plifying the model to ease fault simulation and testgeneration. Any of these fault models can be used,but there are two new considerations:

Paths in high-performance designs are not alwayslimited to a single combinational logic block be-tween two sequential elements. A path can spanmultiple clock phases, crossing sequential elementswhen they are transparent. A practical path delayfault model should therefore be applicable to multi-cycle paths. Note that such paths may feed backonto themselves (either to the source of the pathor to an off-path input).

The second consideration is that fault simulationand ATPG are typically performed at the gate level,whereas paths are described at the switch level.When a switch-level path is mapped to the gatelevel, a path may become incompletely specified.There may be multiple ways to test the same gate-level path not all of which exercise the same switch-level path. This problem can be addressed byspecifying gate-level conditions that will exercisethe switch-level path in a manner analogous tospecifying excitation conditions for random defects.

• Circuit design styles. High-performance designshave core engines running at very high speeds andexternal interfaces running at lower speeds. Inaddition, there may be internal subsystems that runat a different clock frequency. Test generation andfault simulation tools have to be designed to ac-commodate multiple clock domains running at dif-ferent frequencies. The clocks are typically gen-erated internally and synchronized. DFT designrules, particularly those that check the clockingmethodology, need to be enhanced to handle suchdesigns.

Page 69: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 12

Another important design consideration is powerdelivery and consumption. In order to reduce achip�s power needs, clocks are often gated todynamically turn off units that are not being usedat a particular time. In the past, many tool design-ers assumed that clock-gating logic could be con-trolled directly by external pins, or they treatedclock-gating logic as untestable. These assump-tions are no longer valid.

• Capacity and performance. Next-generationCPUs are expected to require 5 to 10 million primi-tives to model at the gate level. The designs con-tain on the order of a hundred embedded memoryarrays. These arrays have multiple read/writeports, with some ports accessing only parts of theaddress or data spaces of the array. In the past,most ATPG tools have provided support for simpleRAM/ROM primitives that can be combined tomodel more complex arrays. However, from thepoint of view of database size and test generationcomplexity, it is essential to directly support moregeneral behavioral models.

Defect-based fault models impose additional per-formance requirements on the tools because ofthe exploding number of faults that need to be tar-geted. In order to deal with larger designs, shrink-ing time-to-quality goals, and the larger number offaults, the performance of test automation toolsneeds to increase by an order of magnitude.

Failure DiagnosisAutomated failure diagnosis is valuable at differentstages of a product�s life: silicon debug and qualifica-tion manufacturing test and analysis of customer re-turns. Next-generation failure analysis tools have twomajor requirements:

• They must support defect-based models. Diag-nostic tools need to leverage the defect resolutionprovided by the new fault models. This will en-hance diagnostic resolutions by narrowing downthe probable cause of a failing device to one de-fect-based fault, where partial matches were found,before using the stuck-at fault model. Diagnosticresolution can be further enhanced by the use ofdefect probability for prioritizing candidate failures.

• They must support limited sequentiality for high-performance designs that cannot afford scan DFTin pipelined stages.

Defect-Based Tooling FrameworkThe design flow in Figure 7 shows the new CAD mod-ules introduced for DBT and their relationship to ex-

isting design and test automation modules. The newmodules are highlighted in yellow.

Figure 7: Defect-based test system architecture

The left half of the flow is analogous to the traditionalfault simulation and ATPG flow. These tools work ona gate-level model, which is generated either top-downby synthesis of RTL, or bottom-up by logic modelingof device-level circuits. The defect-based fault simu-lator accepts fault lists of realistic defect models. Tra-ditional ATPG vectors, as well as existing functionaltests, are fault simulated to filter out defect-based faultsthat are detected by these tests. A defect-based ATPGis used to generate tests for undetected faults.

The right half of the flow is for layout and timing-drivenfault enumeration, and it is new to DBT. The analo-gous step for traditional ATPG is stuck-at fault enu-meration and collapsing based purely on gate-levelanalysis. Random faults are typically enumerated fromthe layout with the possible use of interconnect ca-pacitances obtained by RC extraction tools. Criticalpaths for speed test are extracted from timing analy-sis. The identified fault sites exist at the layout or de-vice level, and they need to be mapped to the logicallevel for fault simulation and ATPG.

ConclusionIn this paper we described the challenges faced byIntel in continuing with functional test as the primarymechanism for screening manufacturing defects, andwe examined structural test as an alternative. Threemajor test quality risks were identified in migrating tostructural test:

• Reduced test data volume due to the inefficienciesin loading test patterns from a structural tester.

Page 70: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 13

• The loss of collateral defect coverage providedby functional tests that are applied at speed in thenormal functional mode of operation.

• Sub-micron trends indicating that interconnectdefects such as bridges and opens will dominatethe defect distribution. Simulation results werepresented that indicate that an increasing numberof defects will result in speed failures rather thanhard failures, requiring alternate ways of generat-ing test patterns.

Defect-based test was introduced as an approach tomitigate some of these risks by increasing the effec-tiveness of ATPG-generated vectors. While this ap-proach is intuitively appealing, it poses formidable chal-lenges. Little hard evidence is available on the effec-tiveness of such an approach. Fault models that rep-resent defect behavior well, and are tractable from atest generation viewpoint, have to be developed. Toolsfor the enumeration of likely fault sites and for testgeneration tools with the new fault models need to beimplemented.

The technology development strategy for DBT waspresented as an evolutionary cycle that builds on pro-totype capabilities and uses strategic partnerships withdesign teams. Silicon data collected from these ex-periments are used to refine and validate fault modelsand the tooling collateral as they are developed.

The tooling challenges for defect-based test for large,high-performance designs were discussed. Commer-cial capabilities that exist today are either insufficient,or cannot be scaled to meet the needs of next-genera-tion microprocessor designs. These challenges spanthe design flow from logical to physical design, andthey will require a concerted effort by the CAD indus-try to make defect-based test a robust, scalable solu-tion.

AcknowledgmentsThe defect-based test effort spans three departmentsin MPG and TMG. We thank Will Howell and PaulRyan of TT Q&R, Sujit Zachariah, Carl Roth, ChandraTirumurti, Kailas Maneparambil, Rich McLaughlin, andPuneet Singh of Test Technology, and Mike Tripp,Cheryl Prunty, and Ann Meixner of STTD for theirongoing contributions.

We have benefited greatly from feedback receivedover the course of several technology reviews heldwith the Willamette DFT team, in particular AdrianCarbine, Derek Feltham, and Praveen Vishakantaiah.

References[1] Schnarch, Baruch, �PP/MT Scoreboarding: Turn-ing the Low DPM Myth to Facts,� Proceedings ofthe 1998 Intel Design and Test Technology Con-ference, pp. 13-18, Portland, OR, July 21-24, 1998.

[2] Wayne Needham, internal memo based on dataextracted from 1997 SIA Roadmap.

[3] Design and Test Chapter, National TechnologyRoad Map, 1997, available on the Web (URL:www.sematech.org).

[4] �Sematech Test Method Evaluation Data Sum-mary Report, � Sematech Project S-121, version 1.4.1,1/30/96.

[5] S.C. Ma, P. Franco, and E.J. McCluskey, �AnExperimental Chip to Evaluate Test Techniques Ex-periment Results,� Proceedings 1995 Int. Test Con-ference, pp. 663-672, Washington, D.C., Oct. 23-25, 1995.

[6] A. J. van deGoor, Testing Semiconductor Memo-ries, Theory and Practice, John Wiley and Sons, Ltd,England, 1991.

[7] A. Meixner and J. Banik, �Weak Write Test Mode:An SRAM Cell Stability Design for Test Technique,�Proc. 1996 Int. Test Conf., pp. 309-318.

[8] A. Carbine and D. Feltham, �Pentium Pro Pro-cessor Design for Test and Debug,� IEEE Interna-tional Test Conference, 1997, pp. 294-303.

Authors� BiographiesSanjay Sengupta received an MSEE in electrical andcomputer engineering from the University of Iowa anda B.E. (Hons.) in electrical and electronics engineer-ing from BITS, Pilani, India. He works on the devel-opment of test tools and methodology for next-gen-eration microprocessors, and currently manages thedefect-based logic test effort. Prior to joining Intel, heworked on test automation at Sunrise Test Systemsand LSI Logic. His e-mail [email protected].

Sandip Kundu has a B.Tech (Hons.) degree in elec-tronics and electrical communication engineering fromIIT, Kharagpur and a PhD in computer engineeringfrom the University of Iowa. Prior to joining Intel, heworked at IBM T. J. Watson Research Center and atIBM Austin Research Laboratory. Sandip has pub-lished over forty technical papers and has participatedin program committees of several CAD conferencesincluding DAC, ICCAD, and ICCD.His e-mail is [email protected].

Page 71: Intel Technology Journal Q1, 1999...Intel Technology Journal Welcome to 1999, and the 1st Quarter issue of the Intel Technology Journal. The focus of this issue is Intel's current

Intel Technology Journal Q1�99

Defect-Based Test: A Key Enabler for Successful Migration to Structural Test 14

Sreejit Chakravarty received his BE in electrical andelectronics engineering from BITS, Pilani and a PhDin computer science from the State University of NewYork. He joined Intel in 1997. Prior to that, from1986-97, he was an Associate Professor of Com-puter Science at the State University of New York atBuffalo. Sreejit has published over 70 technical pa-pers and has served on the program committee of sev-eral international conferences, including VTS and VLSIDesign. He has co-authored a book on I

DDQ testing.

His e-mail is [email protected].

Praveen Parvathala received an MSEE from NewJersey Institute of Technology in 1989. Since then hehas been working at Intel. As a designer, he contrib-uted to the development of the i860, Pentium andMerced microprocessors. Since 1995 he has beenworking on DFT and is currently involved in the de-velopment of defect-based DFT methods and tools inMPG�s Test Technology group.His e-mail is [email protected].

Rajesh Galivanche received his MSEE from the Uni-versity of Iowa in 1986. Since then he has worked inthe areas of Design for Test, ATPG, and simulation.Previously, Rajesh worked at Motorola, LSI logic,and Sunrise Test Systems. Currently, he manages theLogic Test Technology development team in the Mi-croprocessor Product Group.His e-mail is [email protected].

George Kosonocky received his BSEE fromRutgers University. He presently manages MPG�sTest Technology organization and has held variousmanagement positions at Intel since 1983 in designengineering, marketing, quality and reliability, andprogram management. George holds a patent innon-volatile memory design. His e-mail [email protected].

Mike Rodgers received a BSEE from the Universityof Illinois in 1986. He has been with Intel for 12 yearsin various capacities in Microprocessor Q&R includ-ing managing A4/T11 Q&R and FA groups in SantaClara and IJKK. He currently is responsible for TT�sCache Technology and co-chairs the TMG-MPGTest Technology Planning Committee.His e-mail is [email protected].

TM Mak is working on circuit and layout-related DFTprojects. He has worked in product engineering, de-sign automation, mobile PC deployment, and designmethodology for various products and groups since1984. He graduated from Hong Kong Polytechnic in1979. His e-mail is [email protected].