Programmable logic and FPGA
Objectives
Semiconductor Chips
Programmable logic
Advantages
How it Began : PLA
SPLD - CPLD
FPGA - Field Programmable Gate Array
Configuring LUT
Special FPGA functions
Comparison
Usages
Manufacturers
Cyclone II - 20
Cyclone II Internals
Cyclone II Logic Array
Cyclone II Logic Array Block (LAB)
Cyclone II Logic Element (LE)
LE in Normal Mode
LE in Arithmetic Mode
Cyclone II I/O Features
Cyclone II I/O Buffer
Cyclone II Clocking
Cyclone II PLL
Memory
Cyclone II Memory Structure
Cyclone II Multipliers
Delays and maximal frequency
Design flow
Design Rules
4.28M
Category: electronicselectronics

Programmable Logic and FPGA

1. Programmable logic and FPGA

CPU Architecture
Serge Karabchevsky

2. Objectives

What is a programmable logic
What is an FPGA
Structure
Special functions
Comparison and Usages
Altera Cyclone II 20 FPGA
Design Flow

3. Semiconductor Chips

ASICs
Application Specific
Integrated Circuits
Microprocessors
FPGA & CPLD
Microcontrollers

4. Programmable logic

An integrated circuit that can be
programmed/reprogrammed with a digital
logic of a curtain level.
Started at late 70s and constantly growing
Now available of up to approximately 700K
Flip-Flops in a single chip.

5. Advantages

Short Development time
Reconfigurable
Saves board space
Flexible to changes
No need for ASIC expensive design and
production
Fast time to market
Bugs can be fixed easily
Of the shelf solutions are available

6. How it Began : PLA

Programmable Logic Array
First programmable device
2-level and-or structure
One time programmable
A
B
C
Programmable switch or fuse
f1 A B C A B C
OR plane
f2 A B A B C
AND plane

7. SPLD - CPLD

Simple Programmable logic device
Single AND Level
Flip-Flops and feedbacks
Complex Programmable logic device
D
AND plane
Interconnection Matrix
MUX
I/O Block
Clock
Q
PLD
Block
Enable
f1
Flip-flop
PLD
Block
I/O Block
Select
C
I/O Block
B
I/O Block
A
Several PLDs Stacked together
PLD
Block
PLD
Block

8. FPGA - Field Programmable Gate Array

Programmable logic blocks (Logic Element “LE”)
Implement combinatorial and sequential logic. Based on LUT and DFF.
Programmable I/O blocks
Configurable I/Os for external connections supports various voltages and tri-states.
Programmable interconnect
Wires to connect inputs , outputs and logic blocks.
clocks
Logic
block
short distance local connections
long distance connections across chip
MUX
D
SET
Q
q
I/O
N Input
LUT
I/O
c
I/O
y
a
b
Interconnection switches
d
CLR
Q
clk
rst
I/O

9. Configuring LUT

LUT is a RAM with data width of 1bit.
The contents are programmed at power up
Truth Table
Required Function
Programmed LUT
a
b
c
y
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
LUT
a
b
y
1
c
y a b c
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
a,b,c
MUX
y

10. Special FPGA functions

Internal SRAM
Embedded Multipliers
and DSP blocks
Embedded logic analyzer
Embedded CPUs
High speed I/O (~10GHz)
DDR/DDRII/DDRIII SDRAM
interfaces
PLLs

11. Comparison

Flexibility
Comparison
Processors
Instruction Flexibility
90% Area Overhead
(Cache , Predictions)
FPGA
Device-wide flexibility
99% Area Overhead
(Configuration)
ASIC
No Flexibility
20% Area Overhead
(Testing)
Speed , Power Efficiency

12. Usages

Digital designs where ASIC is not
commercial
Reconfigurable systems
Upgradeable systems
ASIC prototyping and emulation
Education

13. Manufacturers

Xilinx
Altera
Lattice
Actel
We will work with Altera FPGAs

14. Cyclone II - 20

18,752 LEs
52 M4K RAM blocks
240K total RAM bits
52 9x9 embedded multipliers
4 PLLs
16 Clock networks
315 user I/O pins
SRAM Based volatile configuration

15. Cyclone II Internals

Logic Array
M4K Memory
Blocks
Embedded
Multipliers
I/O
Elements
Phase-Locked
Loops

16. Cyclone II Logic Array

Build of LABs (logic array blocks) and
reconfigurable interconnect

17. Cyclone II Logic Array Block (LAB)

2 CLK
2 CLK ENA
2 ACLR
1 SCLR
1 SLOAD
4
Direct link
interconnect
to left
Fast Local Interconnect
16 LEs
Local Interconnect
LE carry chains
Register chains
LAB Control Signals
4
4
4
4
4
4
4
LE1
LE2
LE3
LE4
LE13
LE14
LE15
LE16
Direct link
interconnect
to right

18. Cyclone II Logic Element (LE)

19. LE in Normal Mode

Suitable for general logic applications
and combinational functions.

20. LE in Arithmetic Mode

Ideal for implementing adders, counters,
accumulators, and comparators.

21. Cyclone II I/O Features

In/Out/Tri-state
Different Voltages and I/O Standards
Flip-flop option
Pull-up resistors
DDR interface
Series resistors
Bus keeper
Drive strength control
Slew rate control
Single ended/differential

22. Cyclone II I/O Buffer

Three-State
D
Q
Three-State
Control
Clock
Output
D
Q
Output Path
Direct Input
Registered
Input
Input Path
Q
D

23. Cyclone II Clocking

16 Global Clocks
4 PLLs

24. Cyclone II PLL

3 Outputs
Clock Division
Clock Multiplication
Phase shift

25. Memory

True Dual port RAM/ROM with dual clock
Variable data width
4K×1, 2K×2, 1K×4, 512×8, 512×9, 256×16, 256×18
128×32, 128×36 (not available in true dual-port mode)
Input data and address are registered
1 Clock Write latency
Output data can be registered
Read latency of 1 or 2 clocks
Byte Enable

26. Cyclone II Memory Structure

27. Cyclone II Multipliers

18x18 or 2 9x9 modes
Up to 250MHz Performance
Y
Sign_Y
Clock
Clear
18
36
Output Registers
18
X
Input Registers
Sign_X
36

28. Delays and maximal frequency

Gate delay – Delay of logic element
DFF delay tco (tsu - Very small)
Interconnect delay
1/Fmax = Tco + Tpdlogic + Tpd interconnect
Maximum Frequency is the fastest speed a circuit containing flip-flops can operate.

29. Design flow

Specification
HDL
(VHDL , Verilog ,C , Simulink)
Timing constrains
Synthesis
Convert HDL to FPGA logic
(Quartus / Third party tools)
Timing constrains
Pin-out
Place and Route
(Quartus)
Timing Analyzer
(Quartus)
Simulation
(Modelsim / Quartus)
Timing Simulation if needed
(Modelsim / Quartus)
Bit-File
(FPGA configuration)
FPGA
(Debug using Signal TAP logic analyser)

30. Design Rules

ASIC
FPGA
Adder
CLA
Ripple Carry
Latch
Commonly used
Gated clock Commonly used
Not
Recommended
Unacceptable
Tri-State
Commonly used
Only in I/O
Async RAM Commonly used
Only Small

31.

Any questions?
English     Русский Rules