fpga-based system design: chapter 3 copyright 2004 prentice hall ptr fpga fabric n elements of an...
TRANSCRIPT
![Page 1: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/1.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
FPGA Fabric
Elements of an FPGA fabric– Logic element– Placement– Wiring– I/O
Programming technologies– Configuration– Programming– Reconfigurable
FPGA questions
![Page 2: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/2.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Elements of an FPGA fabric
Logic element Interconnect I/O pins
…
LE LE LE
LE LE LE
LE LE LE
interconnect
IOB IOB IOB …
![Page 3: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/3.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Terminology
Configuration– bits that determine logic function + interconnect.
CLB– combinational logic block = logic element (LE).
LUT– Lookup table = SRAM used for truth table.
I/O block (IOB)– I/O pin + associated logic and electronics.
![Page 4: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/4.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Logic element
Programmable– Input connections.– Internal function.
Coarser-grained than logic gates.– Typically 4 inputs.
Generally includes register. May provide specialized logic.
– Adder carry chain.
![Page 5: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/5.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Example logic element
Lookup table: a b out
0 0
0 1
1 0
1 1
memorya
bout
0
0
1
0
0 0 1 0
1
0
0
1
1 0 0 1
![Page 6: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/6.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Placement
Put each piece of logic in the array of logic elements
…
LE LE LE
LE LE LE
LE LE LE
![Page 7: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/7.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Programmable wiring
Organized into channels.– Many wires per channel.
Connections between wires– Made at programmable interconnection points.
Must choose– Channels from source to destination.– Wires within the channels.
![Page 8: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/8.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Programmable interconnection point
D Q
Register bit controls the interconnection
![Page 9: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/9.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Programmable wiring paths
Connect multiple segment paths
![Page 10: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/10.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Choosing a path
LE
LE
![Page 11: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/11.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Routing problems
Global routing:– Which combination of channels?
Local routing:– Which wire in each channel?
Routing metrics:– Net length.– Delay.
![Page 12: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/12.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
I/O
Fundamental selection– input, output, three-state
Additional features– Register.– Voltage levels.– Slew rate.
![Page 13: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/13.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Programming technologies
SRAM.– Can be programmed many times.– Must be programmed at power-up.
Antifuse.– Programmed once.
Flash.– Similar to SRAM but using flash memory.
![Page 14: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/14.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Configuration
Must set control bits for:– LE.– Interconnect.– I/O blocks.
Usually configured off-line.– Separate burn-in step (antifuse).– At power-up (SRAM).
![Page 15: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/15.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Configuration vs. programming
FPGA configuration:– Bits stay at the device
they program.
– A configuration bit controls a switch or a logic bit.
CPU programming:– Instructions are fetched
from a memory.
– Instructions select complex operations.
CPUmemoryadd r1, r2 IRadd r1, r2
![Page 16: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/16.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Reconfiguration
Some FPGAs are designed for fast configuration.– A few clock cycles, not thousands of clock
cycles. Allows hardware to be changed on-the-fly.
![Page 17: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/17.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
FPGA fabric architecture questions
Given limited area budget:– How many logic elements?– How much interconnect?– How many I/O blocks?
![Page 18: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/18.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Logic element questions
How many inputs? How many functions?
– All functions of n inputs or eliminate some combinations?
– What inputs go to what pieces of the function? Any specialized logic?
– Adder, etc. What register features?
![Page 19: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/19.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
Interconnect questions
How many wires in each channel? Uniform distribution of wiring? How should wires be segmented? How rich is interconnect between channels? How long is the average wire? How much buffering do we add to wires?
![Page 20: FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O](https://reader036.vdocuments.us/reader036/viewer/2022081809/56649ee55503460f94bf3f9b/html5/thumbnails/20.jpg)
FPGA-Based System Design: Chapter 3 Copyright 2004 Prentice Hall PTR
I/O block questions
How many pins?– Maximum number of pins determined by
package type. Are pins programmed individually or in
groups? Can all pins perform all functions? How many logic families do we support?