0% found this document useful (0 votes)
36 views

FPGA Logic Cells: Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901

This document discusses the different types of logic cells used in field programmable gate arrays (FPGAs). It describes multiplexer-based logic cells, which implement functions using a tree of 2-1 multiplexers, as seen in Actel FPGAs. It also describes memory-based or lookup table (LUT)-based logic cells, which can implement any function of up to K variables by storing the truth table in an SRAM memory. Examples of LUT-based logic cells are shown from Xilinx and Altera FPGAs. Sequential logic can be implemented by including flip-flops in the logic cells.

Uploaded by

Huzur Ahmed
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

FPGA Logic Cells: Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901

This document discusses the different types of logic cells used in field programmable gate arrays (FPGAs). It describes multiplexer-based logic cells, which implement functions using a tree of 2-1 multiplexers, as seen in Actel FPGAs. It also describes memory-based or lookup table (LUT)-based logic cells, which can implement any function of up to K variables by storing the truth table in an SRAM memory. Examples of LUT-based logic cells are shown from Xilinx and Altera FPGAs. Sequential logic can be implemented by including flip-flops in the logic cells.

Uploaded by

Huzur Ahmed
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

ECE 428 Programmable ASIC Design

FPGA Logic Cells

Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901


5-1

Overview
An FPGA contains a large number of logic cells. Each logic cell can be configured to implement a certain set of functions. Each logic cell has a fixed number of inputs and outputs.

Logic cells used in FPGAs


Multiplexer based logic cells (e.g. Actel FPGAs) Memory based logic cells (e.g. Xilinx FPGAs)

5-2

Multiplexer Based Logic Cells


A multiplexer-based logic module is typically composed of a tree of 2-to-1 MUXes

Actel ACT Logic Module


5-3

Multiplexer Logic as Function Generators


Shannons Expansion Theorem

F(a) = a F(a=1) + a F(a=0)


F(a=1) represents the function evaluated with a=1 F(a=0) represents the function evaluated with a=0
example

F(a) = (b(a+c) + da) = ab + a(bc+d)


Implement F(a) using multiplexers
F(a=0)
F(a=1)
0

F(a)
1

5-4

Actel ACT2 and ACT3 Logic Modules


Flip-flop can be incorporated into a multiplexer-based logic module to implement sequential logic.

5-5

Quicklogic Logic Cell

5-6

Memory Based Logic Cells


A memory based logic cell is also called look-up table (LUT) based logic cell (memory is the LUT).

Any function of up to K variables can be implemented by a k-input LUT (memory).


D flip-flops can be included in LUT based logic cells to implement sequential circuits.
Sel

LUT

Q CLK

LUT-Based Logic Cell


5-7

Function Implementation using LUT


Implement Function Y = ab + bc

a
0
0 0 0 1 1 1 1

b
0
0 1 1 0 0 1 1

c
0
1 0 1 0 1 0 1

0
0 1 0 0 0 1 1

a
b c 8 bit SRAM

Truth Table
5-8

Xilinx XC3000 Configurable Logic Block

5-9

Xilinx XC4000 Configurable Logic Block

5-10

Xilinx XC5200 Configurable Logic Block

5-11

Altera FLEX Logic Element

5-12

Lattice Semiconductor Programmable Function Unit

5-13

You might also like