n or µm IC with λ µm...

Post on 18-Mar-2020

12 views 0 download

Transcript of n or µm IC with λ µm...

Lecture 1 - introduction

(p4)

(roughly half the length of the smallest transistor,say 0.2µm IC with λ=0.1 µm )n λ or

(p5)

(p6)

(p7)

(p8)

(p9)

(p10)

(p11)

Factors affecting variable costs: wafer size ; wafer cost ; Moore’s Law(Gordon

(p12)

Lecture 2 – CMOS Logic & layout Revisited

(p1)

(p2)

(p3)

• If Vds > Vgs-Vt, then Vgd< Vt and no inversion layer can exist at the drain terminal. The channel is said to be ‘pinched-off ’. The transistor is operating in saturation.

(p4)

Second-Order Effects

Comparison Between with/without Body Effect

(p5)

Channel Length Modulation

Example

(p6)

(p7)

Subthreshold Conduction

(p8)

MOS SPICE Model

• Is it possible to achieve an arbitrary high gm by increasing Wwhile maintaining ID constant ? ⇒ gm = ID/(ζVT)

(p9)

(p10)

(p11)

CMOS Design Rules

•Design rules, also referred to as layout rules, can be considered as

a prescription for preparing the photomasks that are used in the

fabrication of integrated circuits.

•The rules provide a necessary communication link between circuit

designer and process engineer during the manufacturing phase.

•The principal objective associated with the rules is to obtain the

circuit with optimum yield in as small a geometry as possible

without compromising reliability of the circuit.

(p12)

(p13)

(p14)

(p15)

I/O Cells

(p16)

(p17)

(p18)

(p19)

(p20)

(p21)

(p22)

(p23)

(p24)

(p25)

(p26)

n+

source.

(p27)

Latch-Up Precaution & Guard-Ring

• Let us take a look at the following figure to get more insight.

n+ n+ n+ n+ n+ n+p+ p+ p+ p+ p+ p+

n-well n-well

PIN

ND PD

where p-substrate and n-wells are connected to GND and VDD, respectively.

Now, let us assume 2V positive trigger voltage on the PIN ( it means that we

give VDD+2 volts on the PIN ). In other words, V(ND) = VDD+2 which also

means that the voltage increases the reverse bias of the junction of N+-Psub

only and it will not lead to any current injection. However, since the voltage of

PD over VDD+0.7V which means that the junction of p+- n-well is forward-

biased ( because N-well is connected to VDD ), which means there are a lot of

holes flowing into the well from p+ and the holes then flowing into the substrate

since the junction of well and substrate is reverse-biased. Notice that the

resistance of the substrate is very high which also means that the ‘real’ ground-

volt place is where there is a substrate contact only. Referring to the figure, we

know that before the holes flowing to the substrate contact, they can flow

underneath other junctions such as grounded N+-Psub as shown in the figure.

p-sub

++ +

---- + +-

(p28)

If the current is large enough, the junction can be forward-biased and form a

PNP+NPN SCR latch-up circuit.

So, how can we prevent latch-up ? Firstly, we shall know that it is inevitable

that the voltage on a pin will be over VDD since the behaviour of a bondwire is

like a inductor. It also means that the latch-up problem only results from I/O

cells and it also means that the forward bias is inevitable for the junction of P+ -

N-well and it indicates that there will be a lot of holes flowing into the substrate.

Our problem now becomes how can we collect the holes efficiently ? Obviously,

the solution is going to be putting substrate contacts between the right n-well

and the right NMOS. Since these substrate contacts always form a ring shape,

we can call it as “guard-ring”.

Notice that the same analysis can be applied for the case of negative

trigger voltage.

Guide lines –

We can now classify a device into 2 categories :

1. Latch device: all NMOS’s , PMOS’s are latch devices.

2. Trigger device: NMOS’s, PMOS’s connected to pin, and N+ on the substrate

and P+ on a well. Thus, a trigger device must be a latch device.

Therefore, the guide lines to prevent latch-up are :

( I ). Trigger devices of PMOS or P+ on a well must be surrounded with

1. Substrate (well) contacts to prevent the positive trigger voltage to

NMOS’s.

2. Pseudo collectors to prevent nearby NMOS trigger devices be latched

by a negative trigger voltage.

(p29)

( II ). Trigger device of NMOS or N+ on P-sub must be surrounded with

1. Pseudo collectors to prevent the negative trigger voltage to PMOS’s.

2. Substrate (well) contacts to prevent nearby PMOS trigger devices be

latched by a positive trigger voltage.

( III ). PMOS latch devices must be surrounded with pseudo collector to prevent

nearby NMOS trigger devices be latched by a negative trigger voltage.

( see ( I )-2 )

( IV ). NMOS latch devices must be surrounded with substrate contact to prevent

nearby PMOS trigger devices be latched by a positive trigger voltage.

( see ( II )-2 )

Summary for Latch-Up & Guard-Ring

(p30)

Lecture 3 – Low-Level Design Entry & Cell Library Design

(p1)

Design entry, Schematic entry, and Netlist• Design entry – describe a microelectronic system to a set of electronic

design automation ( EDA ) tools.

• Schematic entry ( schematic capture ) – A type of design entry process

involves schematics which show how all the components are connected

together, the connectivity of an ASIC.

• Netlist – an ASCII or binary version of the schematic that describes the

design.

• Design entry can also be with text files, such as hardware description language ( HDL ).

Schematic Entry • The recommendations can lead to problem since the corner points of the

shapes do not always lie on a grid point.

(p2)

Terms employed in circuit schematics

Hierarchical Design

(p3)

Cell Library

• Problems with cell library –1. There are no naming conventions.

2. There are no standards for cell behaviour.

• Hard-macro – includes placement information.

• Soft-macro – only gives connection information.

Names

• Each of the cells that you place on an ASIC schematic has

a cell name.

• Each use of a cell is a different instance of that cell, and we

give each instance a unique instance name.

• We represent each cell instance by a picture or icon, also

known as a symbol.

(p4)

Schematic Icons and Symbols

(p5)

Vectored Instances and Buses

Netlist Screener ( schematic screener )- A program that analyzes a schematic netlist for simple errors including:

1. Unconnected cell inputs.

2. Unconnected cell outputs.

3. Nets not driven by any cells.

4. Too many nets driven by one cell.

5. Nets driven by more than one cell.

(p6)

Netlist Screener ( cont. )

• Most schematic-entry programs work on a grid.

• This simplifies the internal mechanics of the schematic-entry

program.

• It also makes the transfer of schematics between different EDA

systems more manageable.

• Most schematic-entry programs allow you to find components by

instance name or cell name.

• Some schematic editors can complete automatic naming of

reference designators or instance names.

• A schematic-entry program can use a terminal attribute to

determine which cell terminals are output terminals and which

terminals are input terminals.

Schematic-entry Tools

• Normally the primitive cells in a library are locked and cannot be

edited. ( You may edit it whereas you have to make a copy and edit

the copy and also rename it )

• Some design-entry tools are more sophisticated and allow users to

create their own libraries as they complete an ASIC design.

(p7)

Back-Annotation

• After you enter a schematic you simulate the design to make sure it

works as expected. This completes the logic design. Next you move

to ASIC physical design and complete the layout. Only after you

complete the layout do you know the parasitic capacitance and

therefore the delay associated with the interconnect.

• The post-route delay information must be returned to the

schematic in a process known as back-annotation.

Low-Level Design Languages

• Two major problems with schematic entry –

1.Making changes to a schematic can be difficult.

2.There were no standards on how symbols should be drawn or

how the schematic information should be stored in a netlist.

⇒ Design-entry tools based on TEXT are better than on graphics ??

• Some common low-level design languages –

1. ABEL – a PLD programming language from Data I/O.

2. CUPL – a PLD design language from Logical Devices.

3. PALASM – a PLD design language from AMD/MMI.

(p8)

An example of ABEL

(p9)

An example of ABEL ( cont. )

An example of CUPL

(p10)

An example of CUPL ( cont. )

(p11)

An example of CUPL ( cont. )

(p12)

An example of PALASM

(p13)

EDIF ( Electronic Design Interchange Format )

• The structure of EDIF is similar to the Lisp programming language or the

Postscript printer language( a very hard language to read and almost

impossible to write by hand )

An EDIF Schematic Icon

• EDIF is capable of handling many different representations. The example is

another view of an inverter that describes how to draw the icon.

(p14)

Bounding Box Problem

• Icons with large bounding boxes create 2 problems in Cadence Composer –

1. Highlighting all or part of a complex design consisting of many closely spaced

cells results in a confusion of overlapped highlight boxes.

2. Large boxes force strange wiring patterns between cells that are placed too

closely together when Composer’s automatic routing algorithm is employed.

CFI Design Representation( CAD Framework Initiative )

• CFI is working on the definition of standards for design representation ( DR ).

• The CFI 1.0 standard has tackled the problems in the area of definitions and

terms for schematics by defining an information model ( IM ) for electrical

connectivity information.

(p15)

CFI Connectivity Model using EXPRESS-G

(p16)

CFI 1.0.0 Base Connectivity Model ( BCM )

Cell Library Design -

(p17)

A Typical Standard Cell Library Includes

• Core cells ( for random logic )

- combinational circuits, sequential circuits

• I/O cells

- input, output, inout, power

• Hard-macro ( Soft-macro ?! )

- RAM, ROM

Design Flow for Standard Cell

• Cell specification

• Circuit design

• Layout design

• Circuit and RC extraction

• Parameter extraction

• Views generation

• Test key design and fabrication

• Parameter measurement

(p18)

Design Under Constraints

• Constrained W/L values for transistors

• Constrained layout parameters

- Minimum pin grid

- Cell boundary

- Power line width, power line location

- Available metal layouts

- Equal cell height

• Constrained driving capabilities

Cell versus Models

• There will be many models for a cell

• Useful cell models include

- Synthesis model

- Simulation model

(p19)

Common Core Cells• Combinational cells

- Buffers : buffer, inverted buffer, balanced buffer,

tri-state buffer, clock buffer

- Gates : AND, OR, NAND, NOR, XOR, AOIs, OAIs

- Adders / Subtractors

- Multiplexers

• Sequential cells

- Flip-flops : D-type, T-type…..

- Latches

• Misc. cells

- Schmitt trigger ( inverted / non-inverted )

Common I/O Cells• I/O pads

- CMOS, TTL

- Input only, output only, bi-directional

- Pull-up / pull-down resistor, tri-state

• Power pads

- for analog blocks, for digital blocks

• Special pads - crystal oscillator pads.

(p20)

Important Parameters of a Cell• DC characteristics

• AC characteristics

• Function table

• Cell information

• Pin description table

• Propagation delay

• Timing information

DC Characteristics

Parameters Minimum Maximum ConditionsPower Supply 2.7V 3.3V

Low level input voltage

-0.33V 0.2xVDD Guaranteed input low voltage

High level input voltage

0.7xVDD VDD+0.5V Guaranteed input high

voltageJunction

temperature00C 1000C

(p21)

AC Characteristics• Timing measurement conditions

VDD = 5.0V, Temperature = 250C, Process = typical case.

• AC timing definitions

1. Setup time – The time a signal must be maintained at a

specified input before a transition occurs at another specified input.

The value given is the necessary minimum.

2. Hold time – The time a signal must be retained at a specified

input after a transition occurs at another specified input. The value

given is the necessary minimum.

Data

Clk

Tsetup

Data

Clk

Thold

3. Minimum signal width – The time interval between the 50%

points of the leading and trailing edges of the HIGH or LOW pulse

of a pulse waveform.

4. Release time for clear / set – The minimum time Clear or Set is

released before the clock transitions active.

• Propagation Delay Time

When the input directly affects the output, the propagation delay

time is the time in ns from 50% point of the input to the 50% of the

output.

input

output

Tplh

50%

50%10%

90%

Tr

Tphl

50%

50%10%

90%

Tf

Data

ClkTwh

Twl

Clk

SetTrel

(p22)

(p23)

Cell Information• Driving capability

• Gate Equivalents

• Cell width

• Power

Function Table

(p24)

Propagation Delay• Performance equations ( linear model )

• Propagation delays for sample loads

Pin Description Table• Pin name

• Pin capacitance

• Pin usage

(p25)

VDD / VSS Pad Combinations

Timing Information

(p26)

Cell Library Design Guide-Line

• Delay equation -

Tpd = Krf * Ta * Va * ( A0 +Ac * Cload )

Trf = Krfoutput * Ta’ * Va’ * ( Trf0 +Trfc * Cload )

where

Tpd : Propagation delay.Trf : Output transition time ( rising / falling ).Krf : Input transition time coefficient ( derating factor ) for delay.Ta : Temperature coefficient for delay. ( Ta = 1 when T = 250C,

and Ta = Tpd ( T0C ) / Tpd ( 250C ) ).Va : Power voltage coefficient for delay. ( Va = 1 when VDD=5V,

and Va = Tpd ( VDD ) / Tpd ( 5V ) ).A0 : Cell pin to pin intrinsic delay ( ns )Ac : Load coefficient ( ns / load )Krfoutput : Input transition time coefficient.Ta’ : Temperature coefficient for output transition time.Va’ : Power voltage coefficient for output transition time.Trf0 : Intrinsic output transition time ( ns )Trfc : Load coefficient for output transition time.( ns / load )Cload : cell output load.

• Typical case for the cell simulation is defined as : VDD=5V, Ta = 250C, Process = typical case.

• Common simulation condition :Process : High current, Typical current , Low current.VDD : 4.5V, 5.0V, 5.5V.Temp : 00C, 250C, 700C.

• Output load of a cell includes :1. Device load – the input capacitance of the following device. 2. Routing wire load – corresponding to chip size.

Lecture 9 – Design for Testability &Synopsys Test Compiler

(p1)

Facts for Testability

• To achieve the highest fault coverage results in the shortest period of time, select full scan.

• Full scan influences your design more than partial scan in terms of area and performance.

• Full scan provides improved diagnostic capabilities during manufacturing test compared with partial scan.

Selection Criteria

• How large is my design ?

• What are my testability requirements ?

• What is my performance constraint ?

• What is my area constraint ?

(p2)

Test Compiler Streamlined Methodology –Design Considerations

Outline

1. Synchronous Designs

2. Latches

3. Internal Three-State Nets

4. Bidirectional Ports

5. Clock Configuration

(p3)

I. Synchronous Designs

II. Latches

• Well suited to the internal scan test

• Generally achieve high fault coverage

Test compiler supports two modes

1. Sequential cell mode ( default )

2. Pseudo-combinational cell mode( transparent latch )

( dc_shell > set_scan false –transparent cell )

can be design, cell or instance

(p4)

Sequential Latch Mode- for full-scan, a latch cell must have a scan equivalent

Pseudo-Combinational Latch Model( Transparent )

• Scannable Latches

• Valid Nonscan Latches

- Fully testable in partial scan designs only.

- All of the faults can be detected during sequential pattern generation.

- The enable pin must be defined as a clock.

1. The enable pin and the driving network are not testable.

2. The enable must not be defined as a clock.

3. The transparent latch is considered to be a combinational element.

(p5)

III. Internal Three-State Nets

Examples

• Bus contention

• Bus floating

Scan Insertion – add three-state disabling logic to each internal three-state net.

u3

u2

u1

d3

d2

d1

c3

c2

c1

o1

Internal Three-State Net

u3d3

d1

d2

e3

e1

e2

o1

Internal Three-State Net with Disabling Logic

u1

u2test_se

(p6)

• The pins of the gating logic that is driven by the scan enable signal are untested.

• If the design already contain logic that prevents bus floating / contention during scan shift, you can usedc_shell > insert_test –no_disable

III. Internal Three-State Nets ( cont. )

ATPG Conflicts

1. Invalid bus decoding logic

2. Parallel drivers

3. Combinational feedback loop

(p7)

Examples

d3

d2

d1

enable

o1

Invalid bus decoding logic

enable

in1

outb

Parallel drivers

outa

d2

Combinational feedback loop

out1

e2

en

d1

tm

(p8)

Maximizing Fault Coverage

1. Avoid unreachable drivers- be ware of one and only one driver is active in

the circuits.

2. Use pull-up / pull-down resistors- in order to avoid bus floating

a0

b1

a1

a0

b1

a1

en_b

en_a

out1

Design with Unreachable Three-State Driver

c0

b0

c0

b0

en_c

out0

(p9)

IV. Bidirectional Ports

d

e

clk

q

io

clk

d

e io

o

Bidirectional port driving a sequential cell

Sequential cell controlling birectional enable

• Bidirectional ports as clock ports ?- Synopsys does not support.

• Bidirectional ports as scan input ports ?- complexity involved in configuration and

timing issues.⇒ Synopsys does not encourage.⇒ If it is necessary for your design, note that

1. Guarantee that the bidirectional cell is always in input mode during scan shift. By

(p10)

i. Gating the bidirectional enable signal with the scan enable signal.

ii. dc_shell > set_test_hold …

2. Ensure that data is applied to the bidirectional port prior to the active edge of the clock.

• Bidirectional ports as scan output ports ?- Synopsys does not encourage. However, if

you have to do that, make sure the above two points.

• Combinational Feedback Loops- If you use bidirectional pad cells in your

design, you can cause combinational feedback loops to occur.

d io

Combinational feedback loop through bidirectional pad cell

(p11)

V. Clock Configuration• Clocks that are employed during scan testing

must be generated from a single top-level port.

• Clocks that are employed during scan testing must be generated in a single tester cycle.

• Clocks that are employed during scan testing must not be bidirectional ports.

• Clocks that are employed during scan testing cannot be the result of multiple clock inputs.

Combinational Clock Gating

dc_shell > set_signal_type test_scan_enable IN3ORdc_shell > set_test_hold 1 IN3

out2

out1

in2

in1

clkIN3

(p12)

Sequential Clock Gating

- sequential generated clocks ( divided clocks... ) must be added test mode logic to bypass.

out2

out1

in2

in1

clk

out2

out1

in2

in1

clk

tm