Implementing a Truth Table Using An And-Or Structure...

17
1 Fall 2003, Lecture 19 Implementing a Truth Table Using An And-Or Structure (Review) n Given a truth table, we can use a Karnaugh map to find the minimum 2- level SOP implementation x = a'bd' + a'c'd' a b 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 x 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 a d 0 0 0 0 0 0 0 0 b c a' b d' a' c' d'

Transcript of Implementing a Truth Table Using An And-Or Structure...

Page 1: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

1 Fall 2003, Lecture 19

Implementing a Truth TableUsing An And-Or Structure (Review)

n Given a truth table, we can use aKarnaugh map to find the minimum 2-level SOP implementation

x = a'bd' + a'c'd'

a b00000000

11111111

00001111

00001111

c00110011

00110011

d01010101

01010101

x10001010

00000000

1 0 0 0

1 0 0 1

a

d

0 0 0 0

0 0 0 0

b

c

a'bd'

a'c'd'

Page 2: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

2 Fall 2003, Lecture 19

PLAs

n A 2-level and-or structure is replicatedmany times in a programmable arraycalled a PLA (programmable logic array)l Parts of a CPU’s datapath or next-state

logic can be built out of PLAsl Small circuits can be built out of PLAs

n At the input of each gate, there's a “fuse”which can be left whole, or brokenl So the designer can control which inputs

go to each and gate, and which outputsof the and gates go to each or gate

n A PLA can be eitherl Mask programmable — customer orders

a programmed PLA from themanufacturer

l Field programmable — customer canprogram PLA (once)

Page 3: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

3 Fall 2003, Lecture 19

PLAs

n A 2-level and-or structure is replicatedmany times in a programmable arraycalled a PLA (programmable logic array)

Diagram from Computer Systems, Maccabe, Irwin 1993

l This PLA has 2 inputs, 2 outputs, andcan represent up to 3 product terms

Page 4: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

4 Fall 2003, Lecture 19

PLA Example

n This is an abstract diagram of a PLAwith 6 inputs, 4 outputs, which canrepresent up to 12 product terms

Diagram from Digital Design, Johnson & Karim, PWS-Kent 1987

n Try the Java KMap->PLA animation athttp://tech-www.informatik.uni-hamburg.de/applets/kvd

Page 5: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

5 Fall 2003, Lecture 19

Field-Programmable Logic Device

n The next evolutionary step beyond thePLA is the field-programmable logicdevice (FPLD), also called the:l Field-programmable gate array (FPGA)l Complex programmable logic device

(CPLD)

n FPLD characteristicsl Based on either an array of PLA-like and-

or structures, or on look-up tablesl May include D (or more complex) flip-

flops, to more easily build sequentialcircuits, possibly even RAM

l Many can be “programmed” repeatedlyn Connect I/O to interconnect, connect

interconnect to cells, control cell functions

l Available in different sizes up to 500,000gates (100MHz, 2.5 volt, 0.25µ, 5 metal)

Page 6: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

6 Fall 2003, Lecture 19

Programming Using Antifuses

n An antifuse is normally open (“off”);when enough current (5–15mA) passesthrough it it closes (“on”)l Current melts a thin insulating dielectric

and forms a permanent silicon linkl Disadvantage — can only program once

n Programmed in a special hardware devicen An antifuse FPLD may contain 750,000

antifuses, but only about 2% of themtypically need to be programmed

n Takes about 5-10 minutes for each chip

n Advantages:l Small — about the size of a vial Low resistance, low capacitance = fast

Page 7: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

7 Fall 2003, Lecture 19

Programming Using EPROMs &EEPROMs (Floating Gates)

n EPROM programming & operation:l To program: a high programming

voltage is applied, semi-permanentlyturning the transistor off

l To erase: the transistor is exposed toUV light, which returns the transistor tonormal operation

l Can be reprogrammed many times

n EEPROMs are similar, but are erasedelectricallyl Faster to erase than EPROM, and can

be done “in-circuit”l Requires larger cell than EPROM

n Advantagesl Can be programmed repeatedly, in-circuitl Fairly small — requires only 1 transistor

Page 8: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

8 Fall 2003, Lecture 19

Programming Using Static RAMs(SRAMs)

Figure from Field-Programmable Gate Array Technology, Trimberger, Kluwer, 1994

Page 9: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

9 Fall 2003, Lecture 19

Programming Using Static RAMs(SRAMs) (cont.)

n Disadvantages:l Must load configuration from ROM, disk,

etc. on power-upl Large — requires several transistors

n Advantages:l Can be programmed repeatedly, in-circuit

n Can be programmed quickly (< 1ms)

l Part has been 100% tested at factoryl Same basic process as CMOS, so

quickly takes advantage of new fabprocesses

n CMOS also requires less power thancircuits requiring pull-up resistors

n SRAMs can be used in FPLDs to :l Connect inputs to cells, or even to

replace the cell if it’s a LUTl Connect cells to interconnect

Page 10: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

10 Fall 2003, Lecture 19

Types of FPLDs

n Layout / routingl Row-based: Actell Matrix-based: Altera, Quicklogic, Xilinx

Actel ACT 1,ACT 2, ACT 3

Quicklogic

Crosspoint

Altera MAX5000, 7000(Salcic 2.1)

Xilinx EPLD

Plessy

Antifuse

EPROM

SRAMProg

ram

min

g M

etho

d

MultiplexorLook-Up

Table (LUT) AND-OR

Type of Base Cell

FPGAs CPLDs

Altera Flex 8000,Flex 10K

(Salcic 2.2)

Xilinx LCA 2000,3000, 4000(Salcic 2.3)

Page 11: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

11 Fall 2003, Lecture 19

Implementing a Truth TableUsing a Multiplexor

n Besides and-or structures, an alternativeis to use a 16-input multiplexor

n Any function of N inputs can beimplemented using a 2N to 1 multiplexor

a b00000000

11111111

00001111

00001111

c00110011

00110011

d01010101

01010101

x10001010

00000000

1 00 10 20 31 40 51 60 70 80 90 100 110 120 130 140 15

a b c d

out z

Page 12: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

12 Fall 2003, Lecture 19

Implementing a Truth TableUsing a Multiplexor (cont.)

n An alternative is to “fold” the truth table,and tie each input to either 1, 0, or theMSB, and only use a 8-input multiplexor

n Any function of N inputs can beimplemented using a 2N–1 to 1 multiplexorl Some FPLDs are based on multiplexors,

and attach simple gates to selector lines

a b00000000

11111111

00001111

00001111

c00110011

00110011

d01010101

01010101

x10001010

00000000

a' 00 10 20 3a' 40 5a' 60 7

b c d

out z

Page 13: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

13 Fall 2003, Lecture 19

Implementing a Truth TableUsing a ROM

n Yet another alternative is to use a ROM

n Any function of N inputs can beimplemented using a 2Nx 1 bit ROMl Some FPLDs are based on static RAMs

(SRAMS) loaded at power-up; these aresaid to use look-up tables (LUTs)

a b00000000

11111111

00001111

00001111

c00110011

00110011

d01010101

01010101

x10001010

00000000

10010203140516070809010011012013014015

a b c d

data z

addr. data

Page 14: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

14 Fall 2003, Lecture 19

Row-Based Layout

Figure from Application-Specific Integrated Circuits, Smith, Addison-W esley, 1997

n Cells are arranged in rowsl Horizontal channels between rowsl Vertical channels above cells: some

short, some longl Each channel contains a fixed number

of tracks, each track holds one wiren Wires may be divided into fixed-length

segments within each track

l In figure above, cell inputs connect tohorizontal wires, outputs to vertical wires

Page 15: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

15 Fall 2003, Lecture 19

Matrix-Based Layout

Figure from Application-Specific Integrated Circuits, Smith, Addison-W esley, 1997

n Cells are arranged in an array (matrix)l Horizontal and vertical channels between

cellsl Each channel contains a fixed number

of tracks, each track holds one wirel In figure above:

n Cell inputs connect to horizontal tracksn Box A connects cell output(s) to

horizontal tracks, and box C connects celloutput(s) to vertical tracks

n Box B acts as a switchbox betweenhorizontal and vertical tracks

Page 16: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

16 Fall 2003, Lecture 19

Antifuse Routing

Figure from Field-Programmable Gate Array Technology, Trimberger, Kluwer, 1994

Page 17: Implementing a Truth Table Using An And-Or Structure (Review)walker/classes/vlsi.f04/lectures/L19.pdfImplementing a Truth Table Using a Multiplexor (cont.) nAn alternative is to “fold”

17 Fall 2003, Lecture 19

Antifuse Routing(cont.)

n Fully segmentedl Switch at every cross point normally

passes signals through vertically andhorizontally, but can connect the verticaland horizontal tracks

l Antifuse connects or disconnects thesegments of the horizontal channel

n Non-segmentedl Excessive area requirements

n 1-segment routingl Divides the tracks into segments of

varying lengths, which allows each net tobe routed in a track of more or less theappropriate size

n 2-segment routingl Allows track segments to be joined