Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNIT-I
1985
Programmable Logic
Programmable Logic Devices (PLDs) are ICs with a large number of gates and flip flops that can be configured with basic software to perform a specific logic function or perform the logic for a complex circuit. Major types of PLDs are:
SPLD: (Simple PLDs) are the earliest type of array logic used for fixed functions and smaller circuits with a limited number of gates. (The PAL and GAL are both SPLDs).
CPLD: (Complex PLDs) are multiple SPLDs arrays and interconnection arrays on a single chip. FPLD: (Field Programmable Gate Array) are a more flexible arrangement than CPLDs, with much larger capacity.
PROM
PLA
PAL
Inputs
(logic variables)
(logic functions)
Outputs
P1
AND plane OR plane Pk
f1
fm
Schematic of a PLA
x1 x2 x3
f1 = x1x2+x1x3'+x1'x2'x3 f2 = x1x2+x1'x2'x3+x1x3
OR plane P1
P2
P3
P4
AND plane f1 f2
fixed connections
P1
AND plane OR plane Pk
f1
fm
PALs and GALs All PLDs contain arrays. Two important SPLDs are PALs (Programmable Array Logic) and GALs (Generic Array Logic). A typical array consists of a matrix of conductors connected in rows and columns to AND gates.
PALs have a one time programmable (OTP) array, in which fuses are permanently blown, creating the product terms in an AND array.
PALs and GALs PALs are programmed with a specialized programmer that blows selected internal fuse links. After blowing the fuses, the array represents the Boolean logic expression for the desired circuit.
A A B B
What function is represented by the array? X = AB + AB The function represents an XOR gate.
PALs and GALs The GAL (Generic Array Logic) is similar to a PAL but can be reprogrammed. For this reason, they are useful for new product development (prototyping) and for training purposes.
A A B B
GALs were developed by Lattice Semiconductor. They are high speed, extremely fast devices and can interface with both 3.3 V or 5 V logic signals.
PALs and GALs PALs and GALs can be represented with a simplified diagram. A single line can represent multiple gate inputs. The logic shown is for the XOR gate, given previously.
Input buffer
A A B B
Fuse blown
X
Fuse intact
AB AB + AB
X 2
AB
Summary
PALs and GALs PALs and GALs have large array logic and include output logic that varies in complexity. The output logic is connected to each OR gate and together is referred to as a macrocell. Two types of PAL/GAL macrocells are shown. For these particular macrocells, the I/O pins can serve as an input or an output.
Tristate control
I/O
From AND array To AND array Programmable fuse link to control output polarity
I/O
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
2009 Pearson Education, ABHINAV PRASAD GUPTA Upper Saddle River, NJ 07458. All Rights Reserved
The OR gates
GAL16V8
(review seq_1.ppt)
Each output is programmable as combinational or registered Also has programmable output polarity And Plane
Summary
PALs and GALs The PAL16V8 is a typical SPLD. There are 16 pins that can be used as inputs and 8 pins that can be used as outputs. I/O pins are counted as both inputs and outputs.
I1 I2 I3
7 Macrocell 7 Macrocell
7 Macrocell
I4
7
I5
Programmable AND array
Macrocell
I6 I7 I8
7 Macrocell
7 Macrocell
7 Macrocell
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Summary
CPLDs
A complex programmable logic device (CPLD) has multiple logic array blocks (LABs) that are actually SPLDs on a single IC. LABs are connected via a programmable interconnect array (PIA). Various CPLDs have different structures for these elements. The PIA is the interconnection between the LABs. Logic is fitted to the CPLD and routing is determined by a high-level programming language called a hardware description language (HDL).
I/O
I/O
PIA I/O Logic array block (LAB) SPLD Logic array block (LAB) SPLD I/O
I/O
I/O
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Structure of a CPLD
I/O block
I/O block
PAL-like block
PAL-like block
Interconnection wires
I/O block
I/O block
PAL-like block
PAL-like block
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Summary
CPLDs
The architecture of a CPLD is the way in which the internal elements are configured. A portion of the Altera MAX 7000 series is shown. This structure is typical for CPLDs although densities, size, speed, and internal factors (macrocells, etc) will vary between manufacturers.
General-purpose inputs
I/O pins
PIA
I/O pins
816
Macrocell 2
36
36
Macrocell 2
8-16
16 Macrocell 16 8-16
16 Macrocell 16 8-16
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Summary
CPLDs
Macrocells in the Altera MAX 7000 series can generate up to five product terms. For expressions requiring more terms, the output can be expanded as described in the text.
Parallel expanders from other macrocells
Associated logic
Expander example
Shared expander
A B C ABC(E + F)=ABCE + ABCF
E +F
EF
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Summary
Macrocells In addition to combination logic, some macrocells have registered outputs available (using programmable flip-flops). This allows the CPLD to perform sequential logic.
Global Global clear clock
MUX 5
PRE D/T Q
C MUX 2 EN CLR
MUX 3
MUX 4 36 lines from PIA 15 expander product terms from other macrocells
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Altera
Altmel Cypress Lattice Philips Vantis Xilinx
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Xinlinx CPLDs
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
18 outputs
Global Clock Global set/reset Global Floyd, Digital Fundamentals, 10th ed 18 Output enable signals
3 state control 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
Architecture of Xilinx FB
Most CLPDs have fewer AND terms per macrocell XC9500 has 5 whereas 16V8 has 8 and 22V10 has 8-16 Buteach macrocell can use unused ANDs froms its neigboring macrocells using the product-term-allocators
2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
XC9500 Product term allocator and macrocell 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved
29
30
JTAG Commands
32
Programmable Logic Advantages to PLDs include Reduced complexity of circuit boards Lower power requirements Less board space Simpler testing procedures Higher reliability Design flexibility
O/Ps
MAX 3000A
EPM7032AE EPM3064A EPM3128A EPM3256A EPM3512A
MAX 7000A
EPM7064AE EPM7128AE EPM7512AE 10,000 512 212 7.5 116 5.6 4.7
Useable Gates Macrocells Maximum User I/O Pins tPD (ns) fCNT (MHz) tSU (ns) tCO1 (ns)
35
EPM7256AE
MAXComplete Voltage Portfolio 7000A & MAX 3000A Family 5.0 V 3.3 V 2.5 V Overview
MAX 7000S MAX Parameter MAX 3000A 7000AE Performance Leader High Performance Feature Leader Feature Leader Wide Range of Wide Range of Package Offerings Package Offerings Industrial-Grade Useable Gates 600 1,250 2,500 5,000 10,000 600 Offerings
EPM7032AE EPM3032A EPM3064A EPM3128A EPM3256A EPM3512A Macrocells Maximum User I/O Pins tPD (ns) fCNT (MHz) tSU (ns) tCO1 (ns) 32 34 4.5 227 2.9 3.0 64 66 4.5 222 2.8 3.1 128 96 EPM7064AE EPM7128AE EPM7512AE
Package Offerings
2,500 128 100 5.0 192 3.3 3.4 5,000 256 164 5.5 172 3.9 3.5
EPM7256AE
256
512
36
MAX Macrocell
Parallel Logic Expanders (from other MCs)
Programmable Register
Register Bypass PRn D Q ENA CLRn
Clear Select
VCC
38
I/O Mcells
PLA
PLA
I/O Mcells
i/o
i/o
16 Mcells per Logic block
The design software hides the CPLD resources, which enables end users to work with higher level constructs and to abstract from the architectural details
1. Karen Parnell & Nick Mehta, Programmable Logic Design Quick Start Hand Book. Available at: http://www.xilinx.com/publications/products/cpld/logic_handbook.pdf
39
Cell phones, Cameras, DVD players, Portable GPS, PDAs, Home networking, MP3, Printers, Prototyping boards, controllers, Graphics cards, etc.
1985
1990
1995
from 2000
1. Karen Parnell & Nick Mehta, Programmable Logic Design Quick Start Hand Book (2006). Available at: http://www.xilinx.com/publications/products/cpld/logic_handbook.pdf
Depending on the device, the above blocks may be fixed, programmable or re-programmable.
CPLD 1.40
I/O
I/O
I/O
I/O
CPLD 1.41
Altera
Altera (www.altera.com) is one of the leaders in the CPLD marketplace.
Altera offers a great range of CPLDs, FPGAs and other programmable devices. Products range from the MAX series (basic CPLD) to newer products that contain embedded microprocessors.
CPLD 1.42
Manufacturers
CPLDs are manufactured by several companies including: Altera Xilinx Cypress
All utilize similar internal configurations but require proprietary software to compile and update the devices.
CPLD 1.43
CPLD
3. CPLD featured in common FPGA:i. Large number of gates available. ii. Can include complicated feedback path.
4. CPLD application:i. Address coding ii. High performance control logic iii. Complex finite state machines
Complex PLDs
Each manufacturer has a proprietary name for its CPLD programming system. For example, Lattice calls it "in-system programming". However, these proprietary systems are beginning to give way to a standard from the Joint Test Action Group (JTAG).
Examples of CPLDs
Types of Macrocells
There are two types of macrocells
Hard (Hardware) Soft (VHDL library)
Soft macrocells are functions comprised of primitive cells, which are placed and routed along with the rest of the chip. No cell layouts exist for the soft macrocells. Designers can configure soft macrocells at the time of instantiation.
ABHINAV PRASAD GUPTA
Hard Macrocells
Hard macrocells implement functions using custom design, usually to achieve better performance and transistor densities. The vendor tests and verifies both the hard macrocell layout and its function. Standard cells usually use hard macrocells but in some special cases gate arrays may also use them. A hard macrocell provides speed improvement over a functionally equivalent soft macrocell. Thus the hard macrocell occupies less area.
ABHINAV PRASAD GUPTA
Altera Macrocell
Mux
Pad
Invert Control
Memory
Output Control
Mux
Clock Control
Global Clock
ABHINAV PRASAD GUPTA
Altera Macrocell
Xilinx
Product
XC7000 Series
XC7200 Series
Each block has 9 macrocells Each macrocells includes two OR-gates Each OR-gates is input to a two-bit ALU
XC9500 Series
In-system programmability
Xilinx
Architecture of Xilinx 9500 CPLDs