LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L....

63
LAYOUT GENERATION AND ITS APPLICATION by JACOB L. NICKOLOFF A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering WASHINGTON STATE UNIVERSITY School of Electrical Engineering and Computer Science August 2007

Transcript of LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L....

Page 1: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

LAYOUT GENERATION AND

ITS APPLICATION

by

JACOB L. NICKOLOFF

A thesis submitted in partial fulfillment of

the requirements for the degree of

Master of Science in Electrical Engineering

WASHINGTON STATE UNIVERSITY

School of Electrical Engineering and Computer Science

August 2007

Page 2: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

ii

To the Faculty of Washington State University:

The members of the Committee appointed to examine the thesis of JACOB L. NICKOLOFF

find it satisfactory and recommend that it be accepted.

Chair

Page 3: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

iii

ACKNOWLEDGMENTS

I especially thank my wife, MerrieBeth, for her unwavering support.

I thank my adviser, George La Rue, for his technical renditions, direction, and patience.

I thank Dirk Robinson for his imperative help in applying periodic steady state analysis and

the exploration of noise reduction techniques.

Page 4: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

iv

LAYOUT GENERATION AND

ITS APPLICATION

Abstract

by JACOB L. NICKOLOFF, M.S.

Washington State University

August 2007

Chair: George S. La Rue

The extension of the expert design based layout generator, LGen, is examined in detail.

These extensions include the generator being ported to the GNU/Linux platform as well as the

addition of two analog circuit layout generators to the system.

The future of layout generation is discussed. It has been proven in the industry that fully

automated approaches to layout generation in digital circuits, given broad algorithmic or netlist

specifications, is possible and practical. Despite many attempts in academia, this approach has

not been proven in the analog domain. An expert design based layout generator that adequately

captures expert design in a reusable, platform and process independent way, is the answer.

LGen is used in the layout design of a low noise, low power switched capacitor filter. Its

circuit design is also discussed in detail.

The future of expert based layout generators is believed to be in constraint based geome-

try databases. Such a layout generator, properly implemented, would resolve complex layout

interconnectivity automatically, simplifying layout design.

George S. La Rue

Page 5: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

v

TABLE OF CONTENTS

Page

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 History of Layout Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 The Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Introducing LGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 The LGen Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Layout Generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 The Calibre Rule Extractor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 The GUI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 An Early Application of LGen . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 The Extension of LGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 Making LGen Platform Independent . . . . . . . . . . . . . . . . . . . . . . . 143.2 Capacitor Array Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Common Centroid FET (CCFet) Generator . . . . . . . . . . . . . . . . . . . 203.4 FET Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 6: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

vi

Page

4 Switched Capacitor Filter Application . . . . . . . . . . . . . . . . . . . . . . . 25

4.1 The Surrounding System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2 The Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 The Future of LGen and Layout Generation . . . . . . . . . . . . . . . . . . . . 31

5.1 The Future of LGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.2 The Future of Layout Generation . . . . . . . . . . . . . . . . . . . . . . . . . 32

6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

List of References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Appendix A: Switched Capacitor Filter Schematics . . . . . . . . . . . . . . . . 39

Appendix B: Switched Capacitor Filter Results . . . . . . . . . . . . . . . . . . 48

Page 7: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

vii

LIST OF TABLES

Table Page

4.1 Switched Capacitor Filter Target Specifications . . . . . . . . . . . . . . . . . . . 25

4.2 Switched Capacitor Filter Results Summary . . . . . . . . . . . . . . . . . . . . . 29

Page 8: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

viii

LIST OF FIGURES

Figure Page

2.1 Rad Hard By Design FETs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 LGen standard cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 LGen GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Phase Accumulator Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Main binary weighted capacitor array . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 One quadrant of main capacitor array . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3 Switched Capacitor Filter Application (Whole View) . . . . . . . . . . . . . . . . 20

3.4 Switched Capacitor Filter Application (1st Stage View) . . . . . . . . . . . . . . . 21

3.5 Switched Capacitor Filter Application (Differential Pair) . . . . . . . . . . . . . . 22

A.1 Toplevel Test Bench Circuit Diagram . . . . . . . . . . . . . . . . . . . . . . . . 40

A.2 Whole 4th Order Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

A.3 Bias Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

A.4 1st Stage Biquad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

A.5 2nd Stage Biquad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

A.6 Integrator Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

A.7 Low Power Opamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Page 9: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

ix

Figure Page

A.8 RC Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

B.1 Filter Transfer Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

B.2 Filter Transfer Function (Various Cutoff Frequencies) . . . . . . . . . . . . . . . . 50

B.3 Cutoff vs. Sampling Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

B.4 Output Noise Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

B.5 Power Supply Rejection Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Page 10: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

x

NOMENCLATURE

API An Application Program Interface is an interface by which a program can access internal

Operating System methods or other services.

Class A Class is a template by which Objects are instantiated from at runtime in a program. A

class encapsulates data and provides a clean interface for the manipulation of that data.

Geometry Primitive shapes and constructs, such as rectangles, polygons, or ports, that form

mask layout.

GUI A Graphical User Interface is a part of a software program that allows a user to interact

with the software in a graphical manner.

Method Scale A useful measure by which a Layout Generator’s way of implementation can

be classified. On one end of the scale there is Expert Design, on the other Algorithmic.

Object Objects are instances of Classes.

RHBD Rad Hard By Design is a circuit design technique that increases a circuit’s ability to

resist performance degradation or failure while being irradiated.

The Layout Problem The problem with layout is that it is tedious to design due to many

interdependencies between geometric primitives and that it is not very reusable.

Page 11: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

1

Chapter 1

Introduction

The design of integrated circuits (IC’s) can be broken up into two major parts. The circuit

design, which is done in schematic, and the translation of that design into a form that can be

understood by the foundry, known as layout.

This thesis is about solving the Layout Problem, which is the tedious and error prone pro-

cess of drawing integrated circuit components. The tedium can be lifted through the exploita-

tion of layout generators. The extension of a such a layout generator is outlined as well as the

insight gained into layout generation that came about through its development.

1.1 Background

The study of layout generation is made more complex by the lack of standardized termi-

nology and classification in the field. This section will prepare the reader for the following

section, ”History of Layout Generation”, by introducing some terminology and background.

Layout generators are also known as silicon compilers or even analog/digital CAD frame-

works. All generators tend to fall between two extreme methods of implementation, algorith-

mic and expert designed. This scale will be from now on referred to as the method scale.

Algorithmic techniques rely on analytic equations and/or various optimization techniques to

transform user specifications to layout. This transformation can include various parameters

such as device sizing, component placement and routing, and topology selection to name a

Page 12: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

2

few. Expert designed techniques rely on capturing expert designer knowledge in a useful, re-

producible, and reusable way. This method tends to include a lot of initial set up and designing

on the experts part, but afterwards, can be reused many times.

Layout generators also have varying levels of circuit synthesis capabilities. Although this

thesis tries to focuses on layout generation only, some tools’ circuit synthesis is so closely

connected with the layout generator that it is hard to focus on one and not the other. This is

especially true of digital layout generation.

The method scale along with synthesis level gives a tool varying automation capabilities,

ranging from netlist in-layout out, to manual geometry specification with parameterized values.

It is much more difficult to automate analog layout design then digital as analog layout is

more sensitive to composition. Different analog circuits are sensitive in different ways, but

some examples of analog issues for layout generators are crosstalk, resistance in the wires, and

imperfections in the manufacturing process that can lead to component mismatches. Mitigating

these effects are usually up to an expert designer, which is hard for a computer to emulate.

1.2 History of Layout Generation

Layout generators did not gain much interest until the early eighties, when advancements

in digital VLSI technology started to bring to light some of the deficiencies in the CAD tools

of the time. Practically all of the layout generators of this time were for digital circuits, and

included both extremes of the method scale [1–4]. Digital layout generators have continued to

advance over the years with different implementations under the hood and eventual standard-

ized hardware description language front ends, such as VHDL or Verilog, for user specification

input. The Synopsys IC Compiler is an example of this methodology being implemented suc-

cessfully in the industry.

Analog layout generators did not see wide spread development until the late eighties and

early nineties. Generators from both sides of the method scale were developed at about the

Page 13: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

3

same time. Papers at this time described more automated design, algorithmic based genera-

tors [5–11] then expert based [12–14], with some falling in the middle [15–18]. These gen-

erators usually employed expert based analog leaf cell generation with algorithmic place and

route or leaf cell selection. Several specialized analog layout generators were also developed.

These generators usually sacrificed the generality of the generator in order to better enhance its

automation [19–21]. It is much easier to create algorithms for a well defined application space,

then for a general one.

Generators from all over the method scale have seen several different re-implementations

right up to the present (2007). These developments included different algorithmic approaches

in the various design pipelines of the generators [16,22–24], to different ways of storing expert

knowledge [14].

1.3 The Problem

At least two major factors in layout design contribute to its design time; the shear com-

plexity of layout interdependencies and the lack of re-usability of completed layout. These two

factors can be thought of as the core problems that plague layout. If they can be adequately

solved then layout design would become much more efficient.

Due to the nature of the current industry standard layout editors, it is very difficult to change

one thing while leaving the rest of the layout alone. Layout tends to be interconnected and

making one modification tends to cascade into many. Lack of layout reuse tends to dupli-

cate previous work, and this happens especially when migrating from one process to another.

The foundry design rules that govern spacing and geometric composition in layout differ from

process to process. Due to the previously mentioned difficulty of post layout modification,

migrating from process to process is a time consuming task.

Although layout generators can solve the core problems, their implementation causes most

of them to deviate from an ideal solution. Some of these non-ideal aspects will be highlighted

and discussed in the following paragraphs.

Page 14: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

4

Time and effort could be saved in generator development through the sharing of ideas, not

only at the top-level, but also at the lower level implementations, such as source code, that are

never conveyed in any meaningful detail in papers. Open sourcing layout generators not only

makes them widely available to the public, but allows users to customize and add on to them.

This openness also reduces the re-implementation of ideas. Practically all tools developed

in academia are closed to the public. Although there are reasons that layout generators in

academia and proprietary design environments are closed source, because of this these tools

can not be customized, adapted, or built upon according to the needs of customers.

Expert based layout generators have found their way into the IC industry through the Men-

tor and Cadence IC design environments. The extreme cost of proprietary tools in layout

generation makes their overall solution less portable, which also makes their created layout

less re-usable. If a Pcell is created using Cadence’s layout generator it only remains useful as

long as all interested parties using that Pcell, have Cadence. The cost of these tools also bars

many from even making use of these solutions.

Many proprietary layout generators are not process independent, forcing designers to rewrite

their generators to migrate to different processes. There are many layout generators in academia

that are process independent.

1.4 The Solution

A properly implemented and licensed layout generator can solve the Layout Problem. Of

the two extremes on the Method Scale it is believed that expert based is the best solution, and

this is due mostly to its flexibility. The premises behind this conclusion and the advantages and

disadvantages of these extremes of generator implementation will now be discussed.

At the present fully automated, algorithmic based layout design and circuit synthesis widely

exists for digital circuits, with limited automated support for analog layout design. It is interest-

ing to note that, even though automated analog layout generation has been developed and used

in limited academia circles for more then a decade and a half, that the ideas they implement to

generate analog layout have not made it into mainstream, industry standard software.

Page 15: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

5

The downfall of many expert based layout generators is that even though hierarchy is ex-

ploited, and even special languages developed for them [25], the creation of the generator be-

comes supremely complicated. This is because many constraints have to be taken into account

in a parameterized layout generator. It is here that the interconnectivity of geometric primitives

in layout design can expand the generators time to completion prohibitively, even though the

generator is heavily reusable. It is believed that this is the reason analog layout generators have

been restricted to simple circuit building blocks, such as capacitors and transistors in industry

standard IC environments, and not used to capture expert design in more complex circuits.

Expert based layout generators have the advantage of being able to cope with changes in

technology much easier then their algorithmic based counter parts. For instance, as CMOS

technology scales lower, digital layout is starting to see several constraints on its design [26],

making its design complexity like that of analog layout. When these advances in technology

happen, algorithmic layout generators must augment their current algorithms and add addi-

tional ones to cope with the added layout design difficulty. But because expert based generators

only worry about capturing expert design, and not actually doing it, they can cope easier with

technology change.

In the digital domain it is believed that an expert based layout design system would be

desirable in certain situations. A plethora of tools in this domain create more possibilities

of mixing and matching tools to attain layout solutions. Expert based layout generation can

be applied to digital domain through the building of expert designed, digital leaf cell layout

generators. A router and placer can then be used to construct layouts according to broad user

specifications, such as hardware description languages. This method would increase portability

of the generator over fully automated approaches, as place and route tools are found in every

industry standard design environment. This method is more complex then the fully automated

approaches to digital design, but offers the designer full control and show cases expert based

layout generator flexibility.

An expert based digital/analog layout generator, has been developed at Washington State

University by professor George La Rue. This generator, named LGen for Layout Generator, has

Page 16: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

6

qualities that solve many of the problems with layout design and previous layout generators.

Some of LGen’s general qualities are stated below.

• LGen will be released under an open-source license and be uploaded to www.sourceforge.net,

a popular open-source project repository where it will get plenty of exposure. These two

factors will help prevent the before stated problem of re-implementation of common

ideas. This also makes LGen more useful as anyone can download, customize, and mod-

ify it to fit their specific needs.

• LGen is created with free, platform independent programming languages (ISO C++ and

Java). That combined with the previous item makes LGen highly portable, granting the

layout generators created with it the ability to be used anywhere by anyone.

• LGen can be used to create re-usable, process independent analog layout generators. Re-

ducing process migration problems and saving layout design time through layout reuse.

• LGen leverages hierarchical layout design to break up complex layout into more man-

ageable, modules. Good hierarchical design simplifies geometry interconnectivity.

Page 17: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

7

Chapter 2

Introducing LGen

LGen is an expert design based layout generator for analog and digital layout. This chapter

will focus on the basic LGen system and the state of LGen before it was extended. LGen can

be broken up into a few distinct components.

• The LGen core

• Layout generators

• GUI interface

• Calibre rule extractor

These components will be discussed in more detail in the following sections.

2.1 The LGen Core

The LGen core is a collection of C++ functions and classes, all contained in a single source

and header file, that provide a geometry database for temporary storage of geometric primitives

and the ability to translate that database into a standard layout interchange format called CIF.

This file format can be read by all industry standard layout editors and tools. By utilizing a

simple interface to the database, and basing the dimensions of geometry on foundry design

rules, the developer (expert designer) can create mostly process independent layout genera-

tors. Re-usability of the generators is accomplished by generalizing them through the use of

parameters, such as wire widths or FET types.

LGen uses hierarchy much like that of popular layout editors. Layout geometry is encap-

sulated in a cell, and that cell can be referred to and placed in any other cell as many times

Page 18: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

8

as is desired. Cells may also be rotated or mirrored across the x or y-axis. In layout creation

connections to and from any given cell are communicated through the use of ”ports”, which are

abstractions that assign string names to a coordinate and layer in a cell. This allows connec-

tions to be communicated through the hierarchy. The LGen database is capable of storing cells,

placing instances of them, and keeping track of ports. There is another way of keeping track of

cell interconnectivity in LGen. The port abstractions may be utilized, or the layout generator

which is generating the cell can keep track. This latter approach places all responsibility of

knowing the connections to and from the cell on the generator.

2.2 Layout Generators

Generators are created in C++ programs with the LGen database’s functional interface

included as a header file. A header file holding externally linked variables containing the

foundry design rules is also included. The LGen core and the design rule variables are separate

translation units and are usually statically linked with the generator binary. Externally declaring

the design variables in a header file guarantees that each translation unit can use the variables,

but that only one instance of them actually exists when all of the units are linked together.

Layout generators may be implemented as a function or a class. C++ classes are great

mechanisms for encapsulating and manipulating data related to a particular layout generator.

They allow a generator to, not only pass parameterized geometry to the database, but also to

keep track of various aspects of that geometry, such as but not limited to, cell interconnectivity.

On the other hand, generators implemented as functions have no elegant way of keeping track

of this information so the developer must use LGen’s interface to the database to recall ports

and thus connections to and from the cell.

Some early layout generators will now be discussed in more detail, all of them created by

Professor La Rue.

The FET generator is a C++ class that creates MOSFET layout. It was originally created

to support the development of a digital standard cell library. The generator was originally

implemented as a function, but moved to a C++ class to more adequately encapsulate FET

Page 19: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

9

related data, such as cell interconnectivity and geometric translation. The generated FETs are

completely customizable. The width, length, and number of fingers of the generated FET can

all be set. Several special input methods also exist that simplify the code in the generators that

make up the digital standard cell library.

Annular, also known as ringed source or drain, and Gate-Around-Source/Gate-Around-

Drain (GAS/GAD) FETs are an application of radiation hard by design (RHBD) techniques

which refer to the radiation hardening of circuits through circuit design rather then through

special processes. These two generators have been developed in order to facilitate the creation

of well characterized RHBD FETs of fixed width and length. Due to the annular FETs circular

geometry and design rule minimum clearances, it is limited in how small of a width to length

ratio it can create. GAS/GAD FETs are of a slightly different design that allow small width

to length ratios without sacrificing radiation tolerance (See Fig. 2.1). These generators were

then used to create a rad hard library of digital standard cells that were in turn used in the

construction of a phase accumulator. This phase accumulator is discussed in more detail in

section 2.5.

(a) (b)

Figure 2.1: Annular (a) and Gate-Around-Source/Gate-Around-Drain (GAS/GAD) FETs (b).

Examples of Radiation Hard By Design (RHBD) techniques.

Page 20: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

10

Examples of some digital gates in the normal and RHBD digital standard cell libraries can

be seen in Fig. 2.2.

(a) (b)

Figure 2.2: Standard cell NAND gates of varying width(a) and a RHBD latch (b)

2.3 The Calibre Rule Extractor

This facet of LGen is a terminal, command line program written in C++ that reads the user’s

Calibre DRC rule file and attempts to extract design rule values to fill LGen’s default design

rule variables. The program is not perfect and if it can not find a value for a particular design

rule variable, it will prompt the user to enter it in. Because CMOS processes are mostly alike

the default design rule variables cover mostly, if not all, required design rules for any given

process. The Calibre rule extractor makes it easier to switch to different processes and for new

users to take advantage of LGen by avoiding the tedium and error associated with entering in

every design rule manually.

Page 21: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

11

2.4 The GUI Interface

After the initial generators were created a GUI was developed to provide layout designers

easy access to the expert designed layout generators. This would allow layout designers to

make use of LGen generators without knowledge of C++ programming or LGen’s internals.

It also allows the easy execution of peripheral programs like the Calibre Rule Extractor. The

GUI is written in Java and communicates with the C++ based LGen through a simple file API.

Once the generator is selected, the appropriate parameters entered, and the ”Generate” button

clicked, a script file is written by the GUI and is then interpreted by a C++ program which

passes the parameters to an appropriate generator. A screen shot of the GUI can be seen in

Fig. 2.3.

Figure 2.3: LGen GUI provides easy access to generators and the Calibre rule extractor.

2.5 An Early Application of LGen

One of the earlier applications of LGen was in the layout of a phase accumulator for a high-

speed direct digital frequency synthesizer (DDFS). DDFSs provide sinusoidal waveforms over

Page 22: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

12

a wide range of frequencies up to the Nyquist rate with fast frequency hopping, high spectral

purity and high frequency resolution, which are required by many modern wireless commu-

nication systems [27]. The DDFS was intended for space-based applications, which require

both low power as well as radiation-tolerant circuitry. In the standard implementation of a

DDFS, the phase accumulator (PA) usually addresses a ROM look-up table to convert phase

to digital amplitude and then a digital-to-analog converter (DAC) was used to convert this to

an analog output signal. The design specifications were for a radiation-hard 32 bit PA oper-

ating near 2 GHz with less than 100 mW power dissipation using Jazz Semiconductors 0.18µ

BiCMOS process. The phase accumulator can be seen fully fabricated in Fig. 2.4. To address

the radiation requirements, RHBD techniques were used, including annular FETs and guard

rings. Triple-mode redundancy (TMR) with majority-voting circuitry was added to mitigate

the effects of single-event upsets (SEUs).

Page 23: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

13

Figure 2.4: Phase accumulator manufactured in Jazz 0.18µ process. Early application of LGen

Rad Hard By Design FETs.

Page 24: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

14

Chapter 3

The Extension of LGen

Three major modifications are made to LGen to support the layout design of two research

projects. Each modification will be discussed in turn in the following sections.

3.1 Making LGen Platform Independent

LGen was originally created with Microsoft Visual Studio. The decision to port LGen to a

GNU/Linux system was mostly based on preference. GNU/Linux was the preferred platform

to code in and there were only GNU/Linux workstations in the lab at the time. The closest

Microsoft Windows computers were in a public lab elsewhere in the building. In the process

of porting LGen to GNU/Linux all Microsoft only extensions to the C++ standard library and

language were removed while not introducing GNU/Linux extensions, making LGen more,

if not completely, ISO C++ compliant, and thus platform independent. LGen’s platform in-

dependence combined with its open-source license allows anyone, running any platform, to

download and use LGen when it is released as open-source software.

The LGen core was the most challenging piece of LGen to port. The goal was to port the

LGen core with as little change as possible. The porting process began with correcting header

file names by removing several ”.h” extensions and replacing ”string.h” with ”cstring”. There

were also a few header files exposing the Microsoft Windows API to the program; these were

all removed. Several minor replacements were made in the source file, which include changing

BOOL, FALSE, and TRUE to lower case, and replacing ”CString” to ”char*”.

Page 25: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

15

The next problem to solve was the replacement of Microsoft specific containers such as

CObArray and CMapStringToOb with containers from the Standard Template Library (STL).

The STL is a subset of the sprawling ISO Standard C++ Library. The CObArray container is

an array of CObject pointers. The CObject class is a permanent base class in the Microsoft

Foundation Class Library (MFC). It extends a few helpful things to all classes that derive

from it, like serialization support and access to internal object diagnostic information [28]. All

containers in C++ must contain objects of the same type. By deriving classes from CObject

class, it is possible to make containers of type CObject and place in them any object one

desires. This freedom however comes at a price. It defeats C++ type checking and thus forces

the programmer to check the type of any object in the container manually and then dynamic

cast the object of type CObject to the appropriate type. Once this is done methods of the

derived type can be called and the object used as normal. This CObject class does not exist on

a GNU/Linux platform, so a bare bones CObject class was created and all classes in the LGen

core derived from it. Now any objects of these classes could be placed in a container of type

CObject pointer.

Once this was done STL containers ”vector” and ”map” were chosen to replace CObArray

and CMapStringToOb respectively. Vector contained pointers of type CObject and the map

contained types string and a CObject pointer. The map and CMapStringToOb containers are

also known as dictionary containers. They index their contents with hashable types, such as

integers or strings. In this particular instance given a string the container returns the corre-

sponding CObject pointer.

A simple ”C” array of CObArray containers were used in the Ccell class to keep track of all

items placed in that cell, including child cell instances. Three maps were used to hold various

attributes of the cell as well as a way of associating cell names to their object instantiations.

The attributes were indexed by their string names and used to store various characteristics of

the cell. They could contain coordinates, points, or an integer number.

Page 26: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

16

The STL containers have a different interface then their Microsoft counterparts, so once

the STL containers were inserted, various parts of the program had to be rewritten to properly

interface with the new containers.

Once the core could compile cleanly on a GNU/Linux system, the rest of LGen was ported

as needed, and proved to be much easier to port then the core.

3.2 Capacitor Array Generator

The purpose of this generator is to create common centroid capacitor arrays for a high

accuracy, fully differential, 16-bit, charge redistribution, successive approximation analog-to-

digital converter (ADC). The main binary weighted array consists of a total of 163.8 pF for

each leg, 327.7 pF total. The total capacitance for the array is actually larger then this because,

in order to achieve capacitances lower then the minimum set by the process, many capacitors

had to be put in series. The ADC also has several calibration arrays for calibrating bits 7

through 16 in the main array. The generator is used to create the layout for all of these arrays.

The calibration, or trimming, array generators were created first. It was believed at the time

that an object oriented approach would be the best way to break up the design into more man-

ageable chunks of layout such as capacitors and quadrants. All tools pertaining to the wiring

and placing of the capacitors in the array could also be contained in the top-level capacitor

array class. A cell wrapper class was constructed that allowed cells to be placed and translated

easily in the new object oriented framework.

This framework only allowed capacitors to be placed within certain spacing requirements.

The spacing requirements were calculated to allow a single wiring channel between each ca-

pacitor. A method was added to the top level capacitor array class that wired the top or bottom

of any of the four sides of a capacitor on the grid, to any wiring channel metal layer. Once this

was done another method could be called that aided in the manual routing of that wire within

capacitor array’s wiring channels. Methods were also created that wired capacitors in the grid

in parallel or in series without disrupting the wiring channels.

Page 27: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

17

The above helper methods in the generator helped simplify array creation, but even so,

large amounts of information had to be communicated to the capacitor array object, such as

where each capacitor goes along with where each wire went to connect the capacitors together.

If traditional object oriented techniques were followed, all this information would be located

outside of the object, with clean interfaces for adding this data to the object. Given the large

amounts of data needing to be communicated, all this information was contained inside the

capacitor array and quadrant classes. This sort of distortion of object oriented techniques sim-

plified the whole generator, as the data could be inserted where it made sense, at the cost of

code duplication when making new arrays. All capacitors and wiring that could be mirrored

into all four quadrants could be placed in the quadrant class. And all top-level wiring and

capacitors were placed in the main capacitor array class.

For this array a bit number could be given which would cause the generator to place the

correct common centroid arrangement of only the required capacitors for that bit number. Bit

11 placed all capacitors down, bit 10 placed all but the 11th bit capacitors, and so on. Dummy

capacitors were placed around the capacitors for every bit.

To create the main, differential array for the ADC the trimming capacitor array generator

was copied and modified. The application called for capacitors to be arranged around a centroid

and then that array mirrored around one common centroid. This resulted in four centroids

around one common one. This double centroid technique had the added ability to cancel out

not just first order, but some second order process gradients.

The added complexity of this generator actually fit well into the generators setup, and

little modification was needed to create this array. The generator, which consisted of 9072

capacitors, was completed in just two weeks. The whole array can be seen in Fig. 3.1, with a

zoom of one quadrant shown in Fig. 3.2.

It was found afterwards that a procedural, as apposed to object oriented, approach would

have been better for designing the capacitor array generators. The LGen database has a func-

tional interface. In order to deploy object oriented techniques this interface had to be wrapped,

resulting in code complication. A more elegant solution would have been to keep track of each

Page 28: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

18

Figure 3.1: Main binary weighted capacitor array containing 9072 capacitors. Used for a fully

differential 16-bit ADC.

Page 29: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

19

Figure 3.2: One quadrant of the main capacitor array of Fig. 3.1.

Page 30: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

20

level of capacitor array data (capacitor widths, capacitor and wire locations within quadrants)

in C structs and create functions to modify and act on that data, rather then trying to encapsu-

late it completely in a class. This would also greatly reduce code duplication as the functions

would stay the same, only the data contained in each struct would change between each newly

constructed capacitor array.

3.3 Common Centroid FET (CCFet) Generator

This generator creates matched, common centroid FETs. Matched FETs are used in many

analog circuits such as op-amps, and primarily appear in differential circuits. This generator is

used to generate three pairs of FETs in op-amps that are in turn used in a 4th order, Butterworth,

low pass, low noise, switched capacitor filter. The design of this filter is discussed in detail in

chapter 4. The finished layout can be seen in Figs. 3.3 and 3.4. A close up of one of the input

pair, differential FETs to one of the four op-amps used in the filter can be seen in Fig. 3.5.

Figure 3.3: Entire layout of low pass, switched capacitor filter.

The creation of this generator posed many design challenges. To increase re-usability sev-

eral aspects are parameterized, greatly complicating the amount of constraints which need to

be taken into account to create layout that passes foundry design rule checks. As this generator

is not communicating connectivity with another generator, it is function based. This expedited

its completion in a timely manner. The generator takes the following parameters:

• Cell name (String identification for the LGen database)

• Fet type, ’p’, ’n’ or ’a’ for PFET, NFET, or Annular

• Diffusion width

Page 31: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

21

Figure 3.4: The first of two stages of the filter shown in Fig. 3.3. The bias circuit can be seen

at the far left.

Page 32: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

22

Figure 3.5: An input differential pair in one of the two op-amps shown in Fig. 3.4

Page 33: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

23

• Gate length

• Number of fingers

• Drain and source wire widths

• Gate wire widths

To lower the overall complexity of the generator a grid of vertical and horizontal channels

are used by wires and FETs. Once the grid is established at the beginning of the program, the

rest is mostly just laying down geometry.

The generator uses the FET class to make the FETs in each mirrored quadrant around the

centroid. A simple interface is utilized between the two generators to simplify code construc-

tion and maintenance in each module.

3.4 FET Generator

The original FET generator was modified to be able to construct RHBD annular FETs. An

interface was also added to communicate with the CCFet generator. This allowed the CCFet

generator to be able to construct annular or normal FETs without having to know much about

the FET Class or how they were actually constructed. The interface consisted of methods that

returned coordinates of the top or bottom of gates and drains, and the top, bottom, left, and

right sides of the diffusion. Methods were also added to ”build” and ”draw” the FET. The first

method calculated all distances required for the interface and the second one actually relayed

the geometry to the database. This was done so that translation of the drawn geometry to the

database could be done by calling one method and without effecting geometry placement in

the parent cell. Because LGen utilizes a global translation scheme for all geometry uploaded

to it, this method was able to set the global translation, draw/build the FET and then undo the

global translation.

Annular FET characteristics are set in the same way as normal FETs, they just have slightly

different meanings. The type of FET is declared in the constructor of the class and the width,

length, and number of fingers are set by one method. For annular FETs the width parameters

Page 34: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

24

sets how much longer the annular finger is then its minimum size. This has the effect of

stretching the annular FET finger. The length parameter is the same as a normal FET, setting

the width of the gate oxide. The number of fingers control how many annular gates are placed

on one diffusion.

Careful attention had to be given to the placement of the variable width, annular gate with-

out violating process design rules. The algorithm that achieves this takes into account the

minimum 45◦ bend length of smaller processes.

Page 35: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

25

Chapter 4

Switched Capacitor Filter Application

4.1 The Surrounding System

A filter was designed as part of a second generation receiver chain for the ADC for which

the capacitor arrays were created in section 3.2. The original active, continuous filter had a

cutoff of 7kHz and worked to prevent anti-aliasing in a track and hold. The cutoff frequency

includes all the interesting frequencies of the biomedical signal that the filter was designed to

filter. The second generation’s primary purpose remains the same.

The goals of the new generation filter is lower noise, area, and power requirements then the

previous generation. The ADC has an input signal swing of +/- 2 volts. The cut-off is desired

to be sharper, so a 4th order filter will be created. In Table 4.1 a set of specifications for the

new filter is inferred from schematic simulations of the old one.

SNR is used to measure the noise between implementations as it is a better measure then

strait integrated noise given that the new filter is fully differential and has a better signal swing.

The target power requirements are higher then the previous generation because a 4th order

1st Gen. Target

Power (µW) 186.54 250

Area (mm2) .146 < .146

SNR (dB/bits) 40.74/6.48 = or >

Total Harmonic Distortion (bits) 11.31 > 12

Table 4.1: Target specifications for the next generation system.

Page 36: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

26

system is desired. It should be noted that the target power is well below twice that of the

previous generation.

4.2 The Design

The full schematic design of the SC filter can be seen in Appendix A.

It should be noted that in order for a switched capacitor (SC) filter to perform as an anti-

aliasing filter, a continuous RC filter should be placed before, with a cut-off frequency at

Nyquist. This filters out noise above Nyquist that would alias into the passband by the fil-

ters sampling. For this design the sampling frequency was set to 500kHz to provide a high

Nyquist frequency, and thus lowering the area of the single pole RC filter.

A switched capacitor scheme was chosen to lower area and to enable a slightly tunable

cut-off frequency for the filter by adjusting the sampling frequency. Both filters were designed

to have a low cutoff of 7kHz. With such a low cutoff the advantages of a SC system over

continuous time in providing virtual, large resistors can be seen.

Typical design techniques were followed to design each biquad in the filter. Given the

sampling and cutoff frequencies and Q the capacitances of all capacitors in the circuit could

be found. The Q was set for each biquad according to a 4th order butterworth filter. What

is typically referred to as ”low Q” biquads were used for both stages. In order to produce a

maximally flat frequency response one Q is higher then the other. The high Q biquad amplifies

the signal around the cutoff, while the low Q attenuates below 0 dB. A by product of this is that

the high Q also amplifies the noise. Because of this the low Q biquad is usually placed after

the high Q to attenuate the noise. This was not done in this design because a 1st stage high Q

amplifies a full scale signal, increasing distortion at the cutoff frequency. The ramifications of

this decision can be seen in the noise spectrum in Fig. B.4, where a slight hump is seen at the

cutoff frequency of 7kHz.

The phasing of the switches in the biquads were arranged to reduce settling time by sepa-

rating or ”decoupling” the opamps. Thus charge is only applied to the succeeding integrator

once the intermediate capacitors are fully settled.

Page 37: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

27

It was found that most of the components comprising the integrator could be placed into a

reusable symbol, simplifying the schematic. Switch sharing is utilized between the SC Com-

mon Mode Feed Back (CMFB) circuit and the following switched capacitor. The integration

capacitors are placed outside the symbol so that they can be varied without creating four differ-

ent subcircuits. The integration capacitors were set to 5 pF except in the 2nd stage of the first

biquad, where it was set to 2 pF. This second stage had the most capacitance to charge. Because

all switched capacitors in the second stage are computed relative to the integrator capacitor, by

setting it lower the required capacitance the opamp had to charge lowered as well.

The opamp was designed to be low power, have a SC CMFB, have a gain of 80 dB, and

have high enough bandwidth to provide enough settling time when charging capacitors in the

SC network. A folded cascode opamp was the chosen architecture. It was found that by

increasing the width of the input differential pair past 100µm increased the noise contribution

of the opamp. It was hoped that by increasing the width, the FET area and gm would increase

and thus lower 1/f and thermal noise. Reducing the gate resistance by increasing the fingers

also reduced their noise contribution.

A noise reduction technique called ”chopping” was utilized to lower the low frequency

noise contributions of the opamp to the rest of the filter. Chopping is implemented in the

circuit by swapping the inputs and outputs of any stage of a fully differential opamp at the

end of the sampling clock frequency. This is implemented with FET switches and another

pair of differential clocks that are set to half the sampling frequency and to change when both

sampling clocks are low. It was found that by utilizing chopping total integrated output noise

for the filter improved by 39.4%. By chopping only the 1st stage of the opamp, as opposed to

chopping the whole opamp, it was found that the total noise was reduced the most.

A single pole RC filter with a cutoff of 15kHz was placed at the end of the filter to filter out

high frequency noise. This improved the output noise as the filter output was sampled with an

ideal sample and hold.

Page 38: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

28

4.3 Results

Cadence schematic simulations of both generations of filters were used for comparison. As

the second generation filter is SC, a typical AC and NOISE analysis will not be effective in

computing the periodic transfer function and noise. Thus Spectre’s PSS, PAC, and PNOISE

analysis were used. PSS analysis linearizes the circuit about the periodically time-varying

operating point. The PAC and PNOISE analysis then use this operating point to find the circuit

behavior when stimulated by a small sinusoidal signal of any frequency. Parallels can be seen

between PSS, PAC, and PNOISE and the typical DC, AC, and NOISE analysis respectively.

An ideal-sample-and-hold on the output was a requirement of the PNOISE analysis.

The following Spectre analysis were used to find each specification for the new filter in

Table 4.2.

PSS Periodic Steady State; precursor analysis to PNOISE or PAC.

PNOISE Computes periodic noise. Used to find the output noise spectrum and the integrated

noise.

PAC Periodic AC analysis. Used to find the transfer function of the filter. Which in turn is

used to find the passband gain and cutoff frequency.

TRAN Transient analysis. Used to check settling time throughout the filter. Total harmonic

distortion was computed from the transient output voltage. Total average current for the

filter was also found from this analysis.

The power requirement was almost met by the 2nd generation filter. Consider that by

cascading the 1st generation filter to make it 4th order, it would consume 31.4% more power

then this design.

The 2nd generation passband gain and the cutoff frequency for the filter’s nominal 500kHz

sampling frequency are shown in Fig. B.1. The filter transfer function for various sampling

frequencies can be seen in Fig. B.2. A graph of the cutoff vs sampling frequency can be

seen in Fig. B.3. It was found that at 1 MHz the output signal only settled to about one time

Page 39: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

29

1st Gen. 2nd Gen.

Power (µW) 186.54 255.9

Cutoff (kHz) 6.88 6.85

Passband Gain (mdB) .14 54.3

Area (mm2) .146 .113

Noise(

µV√Hz

)71.2 104.8

SNR (dB/bits) 40.74/6.48 42.8/6.82

Total Harmonic Distortion (bits) 11.31 12.76

PSRR VDD (Hz/dB) 10/-101 250k/-21 10/-187 250k/-245

PSRR VSS (Hz/dB) 10/-115 250k/-64 10/-180 250k/-213

Table 4.2: Compared specifications between the old and new filter generations. These results

were gathered from plots that can be found in Appendix B.

Page 40: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

30

constant. Because the filter was designed for low power, the filter has enough settling time for

the designed sampling frequency of 500kHz, but not over. Realistically the sampling frequency

can not be adjusted above 500kHz, limiting the adjustment of the cutoff frequency to below

7kHz. Designing the opamp with higher power requirements would provide higher sampling

frequencies, and thus higher cutoff frequency ranges.

The output noise spectrum is shown in Fig. B.4. The SNR was computed for each filter by

using its full scale RMS voltage for the input signal. The full scale voltage for the 1st and 2nd

generations were 1.3 and 2 Volts respectively.

The PSRR for each rail was found for both filters up to 250kHz. It is not surprising that the

2nd generation’s fully differential design has a much better PSRR.

In conclusion, the 2nd generation filter adhered well or surpassed its targeted specifications.

Although better noise performance was desired.

Page 41: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

31

Chapter 5

The Future of LGen and Layout Generation

In this chapter the various future improvements to LGen will be discussed as well as what

is believed to be the ideal layout generation system.

5.1 The Future of LGen

Before LGen is ready for public release a few things must happen. First of all its documen-

tation must be updated. Good documentation is of utmost importance to a layout generator or

any project. It increases the likelihood of someone else successfully using the generator and

decreases the amount of time spent learning how to use it.

Secondly some of the newer aspects of LGen must be tested more extensively and also

made more robust, such as the Calibre Rule Extractor and the Java GUI interface.

It is also desired that design rule checking and possibly more automation, such as wire rout-

ing, be incorporated into LGen before its initial release. To accomplish this LGen’s geometry

database must gain the ability to find and modify geometric primitives. Right now the database

is a one-way street, with geometry going in and not being retrieved. When LGen was being

created this design made sense as generators would be executed, give geometry to the database,

request its output in CIF, and then terminate.

The longterm goals of this project are to improve the existing generators and to add more

complicated ones such as op-amp generators.

Page 42: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

32

5.2 The Future of Layout Generation

It was argued in section 1.2 that an expert based system is the best road to travel towards

solving the Layout Problem. But an expert design based system is not enough, many details that

effect its performance and adoption in an industry environment must be properly implemented.

Some key aspects of a good expert based layout generator are listed below.

• Ability to integrate well into current integrated circuit design pipelines in the industry.

• The generator is known and accessible to those who need it.

• It is easy to adapt existing and new expert designed layout to new technology nodes and

perhaps completely new technologies and materials.

• The generator itself is easy to add on to and maintain.

• The generator and its expert designed layout is portable across many computer architec-

tures and operating systems.

• It captures expert design easily and efficiently and it is reusable.

The last item entails a lot. The word ”reusable” implies that the captured expert layout

design is portable across processes and can be changed and added to easily post design. Most

expert based layout generators implement this aspect well by their very nature.

Easily and efficiently implies that an expert designer can design the layout without being

too encumbered with menial details. The downfall of many expert based layout generators,

as mentioned in section 1.4, is that the creation of these generators becomes prohibitively

complicated. LGen tries to mitigate this problem by leveraging hierarchical layout design to

break up complex layout into more manageable, simpler modules.

It is believed that expert based generator design could be simplified further if a system was

developed that could take care of the small details, such as the foundry design rules, and leave

the designer free to think more on top-level design such as how to arrange the clock lines to

minimize feed-through. It is believed that such a system should focus on the resolution of

foundry design rules, with a narrow selection of what else to automate (such as wire routing),

Page 43: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

33

to increase its generality. This will allow the system to adapt easier to new design rules in lower

technologies nodes.

After creating several expert design based layout generators it is my belief that a constraint

based geometry database is the best avenue for this field. In this system there would be relative

spacing between each primitive represented by a construct called a constraint. Constraints are

elastic spacers between geometric primitives which would contain the appropriate minimum

or maximum spacing requirements between those primitives. The constraint would receive

this information at insertion from a separate database object containing all relevant foundry

design rules for that technology. The constraint would not allow spacing to fall below the min-

imum spacing requirements as given in the design rules. The constraints would be collectively

resolved in a compaction algorithm at the end of the design.

Constraints could be inserted manually as directed by the expert designer, or automatically

through more general commands. Such a system could make use of broad functions to facilitate

layout, such as overlap the group ”FET1” by n-implant, without overly complicated code.

The complete design of a system of this magnitude falls outside the scope of this thesis,

and thus, not all design flaws and hurdles can be foreseen and corrected. However I see two

hurdles that need to be overcome in order for this system to be viable.

One hurdle is how to handle hierarchical layout design in an efficient manner during com-

paction. A hierarchical based system is desired as it is a good way of encapsulating portions

of layout for reuse in larger layout designs. It would also allow the system to compact a cell

by itself and then that compacted cell not be touched by the algorithm again in the rest of the

layout, increasing the speed of compaction. This methodology gives rise to the problem of

how to handle interfacing between whole cells and the rest of the layout, be that other cells or

geometric primitives. The constraints between geometric primitives in the cell and other lay-

out would change each time the cell is inserted into another portion of the layout. This could

be remedied by letting each constraint, which attaches to a primitive in a cell, know the cell

type and name. This way the same cell can be used throughout the layout and the compaction

algorithm can differentiate between each cell and its surrounding layout.

Page 44: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

34

Another hurdle to overcome is in how the compaction algorithm will know and resolve

constraints interdependencies. It is known from experience that in layout several constraints

can be interdependent and that, when resolving them, all must be considered at one time. The

algorithm will have to go through the layout first and find these constraint dependencies before

compaction can begin.

It is believed that these hurdles can be overcome and that constraint based layout generation

can be a viable solution.

Page 45: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

35

Chapter 6

Conclusions

Throughout integrated circuit history layout generators have been used to ease the burden

of layout design. Most of these generators either did not make it far from the labs of their

invention, or were far from ideal solutions, and this was due to several factors discussed in

section 1.3, such as lack of exposure, licensing that did not serve the customer, cost, and many

other factors that effected geometry reuse, such as generator portability and lack of process

independence.

In order for a generator or any layout tool to solve the Layout Problem in any sort of

meaningful, industry wide way, these detrimental factors must be solved. No layout generator

is perfect, but with LGen, many of these issues have been dealt with.

Several valuable extensions were made to LGen. Its portability was increased by porting it

to a GNU/Linux platform, and by doing so, making it ISO C++ compliant. Another generator

was created that aides in the completion of capacitor array layout, which is used in many

analog-to-digital and digital-to-analog converters, as well as tunable filters.

A common centroid FET generator was added to LGen, a critical component used in the

layout of many differential, analog circuits. This generator was then used to aid in the layout

design of a SC filter, of which its circuit design successfully met specifications.

Page 46: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

36

List of References

[1] J. Fox, C. Rosebrugh, and T. Blackman. The SilcTM silicon compiler: Language and fea-tures. In Proceedings of the 22nd ACM/IEEE Conference on Design Automation, pages232–237, 1985.

[2] A. Domic, S. Levitin, N. Phillips, C. Thai, T. Shiple, D. Bhavsar, et al. CLEO: A CMOSlayout generator. IEEE International Conference on Computer-Aided Design, pages 340–343, Nov 1989.

[3] F. Balestro, A. Chianale, G. Privat, M. S. Tawfik, I. Vandeweerd, and A. D. Wittmann.Design of digital filters for advanced telecommunications ASIC’s using a special-purposesilcon compiler. IEEE Journal of Solid-State Circuits, 26(7):1047–1055, July 1991.

[4] M. Ishikawa, M. Edahiro, T. Yoshimura, T. Miyazaki, S. I. Aikoh, T. Nishitani, et al.Automatic layout synthesis for FIR filter using a silicon compiler. 4:2588–2591, 1990.

[5] C. J. Poirier. Excellerator: Custom CMOS leaf cell layout generator. IEEE Transactionson Computer-Aided Design of Integrated Circuits and Systems, 8(7):744–755, July 1989.

[6] J. Rijmenants, J. B. Litsios, T. R. Schwarz, and M. G. Degrauwe. ILAC: An automatedlayout tool for analog CMOS circuits. IEEE Journal of Solid-State Circuits, 24(2):417–425, April 1989.

[7] D. J. Chen, J. C. Lee, and B. J. Sheu. SLAM: A smart analog module layout generatorfor mixed analog-digital VLSI design. In IEEE International Conference on ComputerDesign: VLSI in Computers and Processors, pages 24–27, 1989.

[8] D. J. Garrod, R. A. Rutenbar, and L. R. Carley. Automatic layout of custom analog cellsin ANAGRAM. In IEEE International Conference on Computer-Aided Design, pages544–547, 1988.

[9] Yung-Ching Hsieh, Chi-Yi Hwang, Youn-Long Lin, and Yu-Chin Hsu. Lib: A cell lay-out generator. In 27th ACM/IEEE Design Automation Conference, pages 474–479, June1990.

[10] M. DeGrauwe, B. Goffart, B. Joss, J. Rijmenants, C. Meixenberger, T. Schwarz, et al. TheADAM analog design automation system. IEEE International Symposium on Circuitsand Systems, 2:820–822, May 1990.

[11] S. V. Somanchi and M. L. Manwaring. Analog circuit synthesis from abstract specifica-tions. In Proceedings of the 34th Midwest Symposium on Circuits and Systems, volume 2,pages 1031–1034, 1991.

Page 47: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

37

[12] B. R. Owen, R. Duncan, S. Jantzi, C. Ouslis, S. Rezania, and K. Martin. BALLISTIC:An analog layout language. In Proceedings of IEEE 1995 Custom Integrated CircuitsConference, pages 41–44, 1995.

[13] M. Wolf, U. Kleine, and B. J. Hosticka. A novel analog module generator environment.In European Design and Test Conference, pages 388–392, 1996.

[14] M. Wolf and U. Kleine. Application independent module generation in analog layouts.In European Design and Test Conference, page 624, March 1997.

[15] M. Kayal, S. Piguet, M. Declercq, and B. Hochet. SALIM: A layout generation tool foranalog ICs. In Proceedings of the IEEE Custom Integrated Circuits Conference, pages7.5/1–7.5/4, 1988.

[16] V. Meyer zu Bexten, C. Moraga, R. Klinke, W. Brockherde, and K. G. Hess. ALSYN:Flexible rule-based layout synthesis for analog IC’s. IEEE Journal of Solid-State Circuits,28(3):261–268, March 1993.

[17] J. P. Harvey, M. I. Elmasry, and B. Leung. STAIC: An interactive framework for syn-thesizing CMOS and BiCMOS analog circuits. IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems, 11(11):1402–1417, November 1992.

[18] J. Kampe, C. Wisser, and G. Scarbata. Module generators for a regular analog layout. InIEEE International Conference on Computers Design: VLSI in Computers and Proces-sors, pages 280–285, October 1996.

[19] G. Jusuf, P. R. Gray, and A. L. Sangiovanni-Vincentelli. A performance-driven analog-to-digital converter module generator. In IEEE International Symposium on Circuits andSystems, volume 5, pages 2160–2163, May 1992.

[20] P. Zbinden, C. Knecht, and G. S. Moschytz. SC-tool: A layout-generation CAD programfor general SC-circuits and filters. In IEEE International Symposium on Circuits andSystems, volume 5, pages 2260–2263, 1992.

[21] R. R. Neff, P. R. Gray, and A. Sangiovanni-Vincentelli. A module generator for high-speed CMOS current output digital/analog converters. IEEE Journal of Solid-State Cir-cuits, 31(3):448–451, 1996.

[22] C. A. Makris, C. M. Berrah, X. Xiao, M. Singha, A. A. Ilumoka, J. Stone, et al.CHIPAIDE: A new approach to analogue integrated circuit design. In IEE Colloquiumon Analogue VLSI, pages 1/1–111, 1990.

[23] G. Alpaydin, S. Balkir, and G. Dundar. An evolutionary approach to automatic synthe-sis of high-performance analog integrated circuits. IEEE Transactions on EvolutionaryComputation, 7(3):240–252, June 2003.

Page 48: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

38

[24] G. Van der Plas, G. Debyser, F. Leyn, K. Lampaert, J. Vandenbussche, G. G. E.Gielen, et al. AMGIE-a synthesis environment for CMOS analog-integrated circuits.IEEE Transactions on Computers-Aided Design of Integrated Circuits and Systems,20(9):1037–1058, September 2001.

[25] D. Howard, L. T. Walczowski, M. H. Smith, and W. A. J. Waller. C.S.L.: A language forprocess independent V.L.S.I. design. IEE Colloquium on Applications and Experience ofObject-Oriented Design, pages 5/1–5/3, Jan 1991.

[26] J. W. McPherson. Reliability challenges for 45nm and beyond. In DAC ’06: Proceedingsof the 43rd annual conference on Design automation, pages 176–181, New York, NY,USA, 2006. ACM Press.

[27] J. Tierney, C.M. Rader, and B. Gold. A digital frequency synthesizer. In IEEE Transac-tions on Audio and Electronics, pages 48–57, Jan 1971.

[28] Visual C++ Developer Center. Microsoft Corporation. http://msdn2.microsoft.com/en-us/library/7k3448yy(VS.80).aspx, July 2007.

Page 49: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

39

Appendix A:Switched Capacitor Filter Schematics

Page 50: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

40

Figure A.1: Toplevel test bench circuit diagram.

Page 51: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

41

Figure A.2: The entire 4th order filter design.

Page 52: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

42

Figure A.3: Bias circuit for opamp and opamp’s reference SC CMFB voltage

Page 53: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

43

Figure A.4: 1st stage biquad which has the lowest Q.

Page 54: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

44

Figure A.5: 2nd stage biquad which has the highest Q.

Page 55: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

45

Figure A.6: Integrator unit which contains the opamp and part of the SC CMFB circuit.

Page 56: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

46

Figure A.7: Low power opamp with only the continuous time part of the SC CMFB included.

Page 57: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

47

Figure A.8: Last stage RC filter used to filter out noise before the ideal sample and hold.

Page 58: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

48

Appendix B:Switched Capacitor Filter Results

Page 59: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

49

Figure B.1: Transfer function of the filter. The passband gain and cutoff frequency for the filter

is shown.

Page 60: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

50

Figure B.2: Filter transfer function when using various sampling frequencies.

Page 61: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

51

Figure B.3: The cutoff frequency vs. the sampling frequency.

Page 62: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

52

Figure B.4: The output noise spectrum in dB (Top) and Volts (Bottom).

Page 63: LAYOUT GENERATION AND ITS APPLICATIONiv LAYOUT GENERATION AND ITS APPLICATION Abstract by JACOB L. NICKOLOFF, M.S. Washington State University August 2007 Chair: George S. La Rue The

53

Figure B.5: Power supply rejection ratio for the positive and negative rails.