Download presentation
Presentation is loading. Please wait.
1
Programmable Logic
2
Prgrammable Logic Organization
Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking connections among the gates Inputs Dense array of AND gates Dense array of OR gates Product terms Outputs Programmable Array Block Diagram for Sum of Products Form
3
Basic Programmable Logic Organizations
Depending on which of the AND/OR logic arrays is programmable, we have three basic organizations AND ARRAY PROG. FIXED OR ARRAY ORGANIZATION PAL PROM PLA
4
PLA Logic Implementation
Key to Success: Shared Product Terms Equations F0 = A + B C F1 = A C + A B F2 = B C + A B F3 = B C + A Example: Personality Matrix Input Side: F 1 Outputs Inputs Product t erm A - B C 2 3 A B B C A C 1 = asserted in term 0 = negated in term - = does not participate Reuse of t erms Output Side: 1 = term connected to output 0 = no connection to output
5
PLA Logic Implementation
Example Continued - Unprogrammed device A B C F0 F1 F2 F3 All possible connections are available before programming
6
PLA Logic Implementation
Example Continued - Programmed part A B C F0 F1 F2 F3 AB BC AC Unwanted connections are "blown" Note: some array structures work by making connections rather than breaking them
7
PLA Logic Implementation
Unprogrammed device Alternative representation for high fan-in structures Short-hand notation so we don't have to draw all the wires! X at junction indicates a connection A B C D AB+AB CD+CD AB CD Notation for implementing F0 = A B + A B F1 = C D + C D Programmed device
8
PLA Logic Implementation
ABC A B C F1 F2 F3 F4 F5 F6 Design Example Multiple functions of A, B, C F1 = A B C F2 = A + B + C F3 = A B C F4 = A + B + C F5 = A B C F6 = A B C
9
PALs and PLAs What is difference between Programmable Array Logic (PAL) and Programmable Logic Array (PLA)? PAL concept — implemented by Monolithic Memories AND array is programmable, OR array is fixed at fabrication A given column of the OR array has access to only a subset of the possible product terms PLA concept — Both AND and OR arrays are programmable
10
PALs and PLAs Of the two organizations the PLA is the most flexible
One PLA can implement a huge range of logic functions BUT many pins; large package, higher cost PALs are more restricted / you trade number of OR terms vs number of outputs Many device variations needed Each device is cheaper than a PLA
11
PAL Logic Implementation
Design Example: BCD to Gray Code Converter K-maps Truth Table AB CD 00 01 11 10 D B C A X 1 K-map for W Y Z A 1 B C D W X Y Z Minimized Functions: W = A + B D + B C X = B C Y = B + C Z = A B C D + B C D + A D + B C D
12
PAL Logic Implementation
Programmed PAL: A B C D A B C D A BD BC B C BCD AD W X Y Z Minimized Functions: W = A + B D + B C X = B C Y = B + C Z = A B C D + B C D + A D + B C D 4 product terms per each OR gate
13
PAL Logic Implementation
Code Converter Discrete Gate Implementation B C A D W X Y 2 Z 1 4 3 5 1: 7404 hex inverters 2,5: 7400 quad 2-input NAND 3: 7410 t ri 3-input NAND 4: 7420 dual 4-input NAND 4 SSI Packages vs. 1 PLA/PAL Package!
14
PLA Logic Implementation
Another Example: Magnitude Comparator EQ NE LT GT ABCD AC BD ABD BCD ABC A B C D A K-map for EQ 1 AB CD 00 01 11 10 D B C GT L T NE
15
Complex Programmable Logic Devices
Complex PLDs typically combine PAL combinational logic with FFs Organized into logic blocks Fixed OR array size Combinational or registered output Some pins are inputs only Usually enough logic for simple counters, state machines, decoders, etc. e.g. 22G10, 20V8, etc.
16
16V8 CPLD OLMC (Output Logic MacroCell) has OR, FF, output multiplexer and I/O control logic. Note that OLMC output is fed back to input matrix for use in other OLMCs.
17
OLMC Structure 11 10 01 00 T S M U X O 1 P F 10- 11- 0-1 0-0 D Q vcc
XOR(n) FROM AND ARRAY FEEDBACK CLK OE I/O(n) ADJ. STAGE OUTPUT(m) AC0 AC1(n) ACO AC1(m)
18
Field Programmalble Gate Arrays (FPGAs)
FPGAs have much more logic than CPLDs 2K to >50M equivalent gates Requires different architecture FPGAs can be RAM-based or Flash-based RAM FPGAs must be programmed at power-on External memory needed for programming data May be dynamically reconfigured Flash FPGAs store program data in non-volitile memory Reprogramming is more difficult Holds configuration when power is off
19
FPGA Structure Typical organization in 2-D array
Configurable logic blocks (CLBs) contain functional logic Combinational functions plus FFs Complexity varies by device CLB interconnect is either local or long line CLBs have connections to local neighbors Horizontal and vertical channels use for long distance Channel intersections have switch matrix IOBs (I/O logic Blocks) connect to pins Usually have some additional C.L./FF in block
20
FPGA Structure CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB
Input/Output Block IOB IOB IOB IOB CLB CLB CLB CLB Switch Matrix SM SM SM CLB CLB CLB CLB SM SM SM IOB IOB CLB CLB CLB CLB Configurable Logic Block SM SM SM CLB CLB CLB CLB IOB
21
FPGA IOB Structure
22
FPGA CLB Structure
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.