FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018....

38
FPGA Based System Design

Transcript of FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018....

Page 1: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

FPGA Based System Design

Page 2: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Reference

• Wayne Wolf, ‘FPGA-Based System Design’ Pearson

Education, 2004

Page 3: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Why VLSI?

Integration improves the design:

higher speed;

lower power;

physically smaller.

Integration reduces manufacturing cost (almost) - no

manual assembly.

Page 4: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Integrated Circuits

Page 5: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Full Custom ICs

Can achieve very high transistor density (transistors per

square micron)

design time can be very long (multiple months).

Involves the creation of a completely new chip, which

consists of masks (for the photolithographic manufacturing

process)

Benefits - Excellent performance, small size, low power

Page 6: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Standard Cell

Designer uses a library of standard cells

an automatic place and route tool does the layout

Transistor density and performance degradation depends on type of design being done.

Design time can be much faster than full custom because layout is automatically generated.

Page 7: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Gate Array

Designer uses a library of standard cells.

The design is mapped onto an array of transistors which is

already created on a wafer

wafers with transistor arrays can be created ahead of time

A routing tool creates the masks for the routing layers and

"customizes" the pre-created gate array for the user's

design

Transistor density can be almost as good as standard cell.

Design time advantages are the same as for standard cell.

Page 8: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Semi-custom ICs

Flexible as portion of the IC is customized by the user

Suitable for specific applications

Gate array + standard cell

Paves way for application specific ICs (ASIC)

Page 9: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Role of FPGA

Microprocessors used in variety of environments

Rely on software to implement functions

Generally slower and more power-hungry than custom

chips

When FPGAs?

Design economics

Shortest time to market

Lowest NRE cost

Highest unit cost

Make quick grab for market share

Same FPGA reused in several designs

Page 10: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Programmable logic devices

Programmable Logic Device (PLD):

An integrated circuit chip that can be configured by

end user to implement different digital hardware

Also known as “Field Programmable Logic Device

(FPLD) “

Page 11: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

PLD as a Black Box

Logic gates and

programmableswitches

Inputs

(logic variables) Outputs

(logic functions)

PLD

Page 12: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Use to implement circuits in SOP form

The connections inthe AND plane areprogrammable

The connections inthe OR plane areprogrammable

f 1

AND plane OR plane

Input buffers

inverters and

P 1

P k

f m

x 1 x 2 x n

x 1 x 1 x n x n

Programmable Logic Array (PLA)

Page 13: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

f1

P1

P2

f2

x1 x2 x3

OR plane

Programmable

AND plane

connections

P3

P4

f1 = x1x2+x1x3'+x1'x2'x3

f2 = x1x2+x1'x2'x3+x1x3

Gate Level Version of PLA

Page 14: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

f1 = x1x2+x1x3'+x1'x2'x3

f2 = x1x2+x1'x2'x3+x1x3

f 1

P 1

P 2

f 2

x 1 x 2 x 3

OR plane

AND plane

P 3

P 4

x marks the connections left in

place after programming

Customary Schematic of a PLA

Page 15: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Limitations of PLAs

Typical size is 16 inputs, 32 product terms, 8 outputs

Each AND gate has large fan-in - this limits the number

of inputs that can be provided in a PLA

16 inputs 216 = possible input combinations; only 32

permitted (since 32 AND gates) in a typical PLA

32 AND terms permitted large fan-in for OR gates as

well

This makes PLAs slower and slightly more expensive than

some alternatives to be discussed shortly

Page 16: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

16

Programmable ROM (PROM)

2 N

x M

ROM

N input M output

Address: N bits; Output word: M bits

ROM contains 2 N

words of M bits each

The input bits decide the particular word that becomes available

on output lines

Page 17: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

17

Logic Diagram of 8x3 PROM

Sum of minterms

Page 18: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

18

Combinational Circuit Implementation

using PROM

0 0 0 1 0 0

0 0 1 0 1 0

0 1 0 0 1 1

0 1 1 1 0 0

1 0 0 0 1 0

1 0 1 0 0 1

1 1 0 1 0 0

1 1 1 0 1 0

I0 I1 I2 F0 F1 F2

F0 F1 F2

Page 19: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

19

PROM Types

Programmable PROM

Break links through current pulses

Write once, Read multiple times

Erasable PROM (EPROM)

Program with ultraviolet light

Write multiple times, Read multiple times

Electrically Erasable PROM (EEPROM)/ Flash Memory

Program with electrical signal

Write multiple times, Read multiple times

Page 20: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

20

PROM: Advantages and Disadvantages

Widely used to implement functions with large number

of inputs and outputs

For combinational circuits with lots of don’t care terms,

PROM is a wastage of logic resources

Page 21: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Also used to implement circuits in SOP form

The connections inthe AND plane areprogrammable

The connections inthe OR plane areNOT programmable

f 1

AND plane OR plane

Input buffers

inverters and

P 1

P k

f m

x 1 x 2 x n

x 1 x 1 x n x n

fixed connections

Programmable Array Logic (PAL)

Page 22: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

f 1

P 1

P 2

f 2

x 1 x 2 x 3

AND plane

P 3

P 4

f1 = x1x2x3'+x1'x2x3

f2 = x1'x2'+x1x2x3

Example Schematic of a PAL

Page 23: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Comparing PALs and PLAs

PALs have the same limitations as PLAs (small number of

allowed AND terms) plus they have a fixed OR plane less

flexibility than PLAs

PALs are simpler to manufacture, cheaper, and faster (better

performance)

PALs also often have extra circuitry connected to the output

of each OR gate

The OR gate plus this circuitry is called a macrocell

Page 24: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Macrocell

f1

back to AND plane

D Q

Clock

SelectEnable

Flip-flop

OR gate from PAL0

1

Page 25: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Macrocell Functions

Enable = 0 can be used to allow the output pin for f1 to be

used as an additional input pin to the PAL

Enable = 1, Select = 0 is normal

for typical PAL operation

Enable = Select = 1 allows

the PAL to synchronize the

output changes with a clock

pulse

The feedback to the AND plane provides for multi-level design

f1

back to AND plane

D Q

Clock

SelectEnable

0

1

Page 26: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Multi-Level Design with PALs

f = A'BC + A'B'C' + ABC' + AB'C = A'g + Ag'

where g = BC + B'C' and C = h below

D Q

Clock

Sel = 0En = 0

0

1

D Q

Clock

Select

0

1

D Q

Clock

Sel = 0En = 1

0

1

A B

h

g

f

Page 27: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

FPGA Programming

FPGAs implement multi-level logic

Need both programmable logic blocks

and programmable interconnect

Combination of logic and interconnect

is fabric

Microprocessor is a stored-program

computer

Page 28: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Moore’s Law

Gordon Moore: co-founder of Intel.

Predicted that number of transistors per chip would

grow exponentially (double every 18 months).

Page 29: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Mask cost Vs technology line width

0

100,000

200,000

300,000

400,000

500,000

600,000

700,000

800,000

900,000

1,000,000

.25 micron .18 micron .13 micron .09 micron

mask cost ($)

Page 30: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Goals and Techniques

Performance

Logic rate

Power/energy

Design time

Design cost

FPGA tools less expensive than custom VLSI tools

Manufacturing cost

Page 31: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Design Challenges

Multiple levels of abstraction

Power consumption

Short design time

Page 32: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

FPGA Abstractions

specification

behavior

register-

transfer

logic

circuit

English

Executable

program

Sequential

machines

Logic gates

transistors

rectangles

Throughput,

design time

Function units,

clock cycles

Literals,

logic depth

nanoseconds

microns

function cost

layout

Page 33: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Top-down design adds functional detail.

Create lower levels of abstraction from upper

levels.

Bottom-up design creates abstractions from low-level

behavior.

Good design needs both top-down and bottom-up

efforts.

Page 34: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Methodology

Hardware Description logic (HDL)

VHDL

VerilogHDL

Page 35: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Major FPGA Vendors

SRAM-based FPGAs

Xilinx, Inc

Altera Corp.

Atmel

Lattice Semiconductor

Flash & Antifuse FPGAs

Actel Corp.

Quick logic Corp.

Share 80% of the market

Page 36: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

FPGA Vendors and Device families

Xilinx

Spartan

Virtex

Kintex

Artix

Altera

Stratix

Cyclone

MAX 3000/7000 CPLD

MAX-II

Page 37: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Xilinx Families

Page 38: FPGA Based System Design - eeeforumeeeforum.weebly.com/uploads/1/0/2/5/10254481/fpga1.pdf · 2018. 9. 12. · FPGA Based System Design. N Krishna Prakash, Amrita School of Engineering

N Krishna Prakash, Amrita School of Engineering

Altera Families