PALs, GALs & CUPL. What is Programmable Logic?

Similar documents
Programmable Logic Devices I. EECE143 Lecture 4. PALs, GALs & CUPL. A lesson on Programmable Logic Devices and programming them using CUPL

Presentation 4: Programmable Combinational Devices

Lecture (09) Programmable Logic Devices programming using CUPL By: Dr. Ahmed ElShafee

Programmable Logic Devices

Code No: R Set No. 1

More Programming with CUPL

Code No: R Set No. 1

Experiment 3: Logic Simplification

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10

Memory and Programmable Logic

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

MEMORY AND PROGRAMMABLE LOGIC

Code No: R Set No. 1

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Review: Chip Design Styles

QUESTION BANK FOR TEST

END-TERM EXAMINATION

R10. II B. Tech I Semester, Supplementary Examinations, May

Code No: 07A3EC03 Set No. 1

PROGRAMMABLE LOGIC DEVICES

BHARATHIDASAN ENGINEERING COLLEGE Degree / Branch : B.E./ECE Year / Sem : II/ III Sub.Code / Name : EC6302/DIGITAL ELECTRONICS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

Memory and Programmable Logic

Chapter 13 Programmable Logic Device Architectures

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

Gate Level Minimization Map Method

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

ENGINEERS ACADEMY. 7. Given Boolean theorem. (a) A B A C B C A B A C. (b) AB AC BC AB BC. (c) AB AC BC A B A C B C.

Purdue IMPACT 2015 Edition by D. G. Meyer. Introduction to Digital System Design. Module 2 Combinational Logic Circuits

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE

R07

Gate-Level Minimization

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Using Programmable Logic and the PALCE22V10

Programmable Logic Devices. Programmable Read Only Memory (PROM) Example

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

2008 The McGraw-Hill Companies, Inc. All rights reserved.

Question No: 1 ( Marks: 1 ) - Please choose one A SOP expression is equal to 1

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

Chapter 2 Combinational Logic Circuits

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220. PROGRAMMABLE LOGIC DEVICES (PLDs)

Ch. 5 : Boolean Algebra &

LSN 6 Programmable Logic Devices

COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS UNIT I

Chapter 2 Combinational

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

SHRI ANGALAMMAN COLLEGE OF ENGINEERING. (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI

Introduction to GAL Device Architectures

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE)

Philadelphia University Student Name: Student Number:

Chapter 3. Gate-Level Minimization. Outlines

Programmable Logic Devices (PLDs)

Hours / 100 Marks Seat No.


2.1 Binary Logic and Gates

ELCT201: DIGITAL LOGIC DESIGN

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

R.M.D. ENGINEERING COLLEGE R.S.M. Nagar, Kavaraipettai

APPENDIX A SHORT QUESTIONS AND ANSWERS

Digital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore

Simplification of Boolean Functions

Injntu.com Injntu.com Injntu.com R16

ELCT201: DIGITAL LOGIC DESIGN

DKT 122/3 DIGITAL SYSTEM 1

Memory and Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Experiment 4 Boolean Functions Implementation

Chapter 2 Boolean algebra and Logic Gates

Gate Level Minimization

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Semiconductor Memories: RAMs and ROMs

Combinational Digital Design. Laboratory Manual. Experiment #3. Boolean Algebra Continued

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

UNIT V (PROGRAMMABLE LOGIC DEVICES)

數位系統 Digital Systems 朝陽科技大學資工系. Speaker: Fuw-Yi Yang 楊伏夷. 伏夷非征番, 道德經察政章 (Chapter 58) 伏者潛藏也道紀章 (Chapter 14) 道無形象, 視之不可見者曰夷

Announcements. Chapter 2 - Part 1 1

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

(ii) Simplify and implement the following SOP function using NOR gates:

McGILL UNIVERSITY Electrical and Computer Engineering Department MIDTERM EXAM

Lecture 4: Implementation AND, OR, NOT Gates and Complement

Digital Logic Design. Outline

Combinational Logic Use the Boolean Algebra and the minimization techniques to design useful circuits No feedback, no memory Just n inputs, m outputs

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

CS6201-DIGITAL PRINCIPLE AND SYSTEM DESIGN I YEAR/II SEM PART-B UNIT-I BOOLEAN ALGEBRA AND LOGIC GATES.

PEEL 18CV8-5/-7/-10/-15/-25 CMOS Programmable Electrically Erasable Logic Device Features

Chapter 6 Selected Design Topics

Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits

Programmable Logic. Module: EE2C2 Digital Design. Lecturer: James Grimbleby. j.b.grimbleby reading.ac.uk. Number of Lectures: 6

CPLD Software Tutorial FOR ALTERA MAX+PLUS II

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Unit-IV Boolean Algebra

Transcription:

PALs, GALs & CUPL A lesson on Programmable Logic Devices and programming them using CUPL What is Programmable Logic? Digital integrated circuits where the Boolean function can be determined by the user. PLDs can replace several specific purpose ICs in a digital design. A single PLD is functionally equivalent to a specific device containing from 5 to 0,000 gates. Typically PLDs implement Boolean functions using Sum OfMinterms (SOM) or Sum of Products (SOP) form. SOM and SOP use a AND-OR gate structure.

Basic Architecture of PLDs PLDs contain a pre-defined general architecture for a user to program a design into the device. Generally consists of one or more arrays of AND and OR terms Also contain flip-flops and latches to be used as storage elements for inputs and outputs Consist of programmable AND terms feeding fixed OR terms. All inputs can be AND-ed together but specific AND terms are dedicated to specific OR terms. Pins can be used as Input, Output, I/O with tri-state enables, also may have output registers. PLD Programming PLDs are manufactured in a "blank" or "erased" form. Programming is performed in concept blowing out fuses between inputs, AND gates, and OR gates in the generic AND-OR structure. An erased PLD has all fuses intact. Actual "fuses" may be implemented as: Type Function Advantages fuses one-time programmable low cost EPROM uv light erasable Reprogrammable CMOS EEPROM electrically erasable fast, easy reprogramming 2

Fuses and Logic Implementation A blown fuse acts like the input does not exist (or a logic at the input). PLD Advantages: reduce IC package count board space power shorten design time allow for future changes (maintainability) improve reliability (fewer packages) generally faster smaller inventory Product Terms 2 2 3 4 5 6 7 8 9 0 F 3 I 4 5 F2 6 I2 7 8 F3 9 I3 I4 0 2 F4 2 3 4 5 6 7 8 9 AND gate inputs 0 Bruce Hoeppner Title Generic PAL4H4 Size Document Number REV A PAL4H4.SCH Date: August 20, 992 Sheet of 3

PAL Example: Given functions w, x, y, and z. Implement with one PAL4H4. Given: Sum of Minterms w(a,b,c,d) = Σ (2,2,3) x(a,b,c,d) = Σ(7,8,9,0,,2,3,4,5) y(a,b,c,d) = Σ(0,2,3,4,5,6,7,8,0,,5) z(a,b,c,d) = Σ(,2,8,2,3)... After Simplification w = ABC' + A'B'CD' x = A + BCD y = A'B + CD + B'D' z = w + AC'D' + A'B'C'D Product Terms 2 3 2 3 4 5 6 7 8 9 0 F w A I 4 5 6 F2 x B I2 7 8 9 F3 y C I3 0 2 F4 z D I4 2 3 4 5 6 7 8 9 AND gate inputs 0 Bruce Hoeppner Title Generic PAL4H4 Size Document Number REV A PAL4H4.SCH Date: August 20, 992 Sheet of 4

PALXXYZ Programmable Array Logic XX : Number of possible inputs Y : L = Combinational R = Registers Z : Number of possible outputs Examples: PAL6R4 : 6 inputs with 4 registered outputs PAL6L8 : 6 inputs with 8 outputs Generic Array Logic Designed to emulate many common PALs Reduces number of different devices Electronically erasable Such as GAL6V8, GAL22V0 5

GAL6V8 8 output Macrocells Pin : Clock Pin : Active-low Output Enable Must be tied low to use Registered outputs Must be declared in.pld file Can emulate various PAL devices 8 Product Terms per Output GAL22V0 0 output Macrocells 24 Pin Package Pin : Clock Pin 3: Active- low Output Enable Can emulate various PAL devices Pin 4,23 = 8 Product Terms Pins 5,22 = 0 Product Terms Pins 6,2 = 2 Product Terms Pins 7,20 = 4 Product Terms Pins 8,9 = 6 Product Terms 6

WinCUPL Programming Language WinCUPL is a software package that runs on an PC. It performs most of the work in translating a PLD design into a programming file. The programming file can be used to program an IC to implement the desired logic functions. Marquette University (College of Engineering) has a site license for CUPL. Translates PLD Design into programming file. CUPL expressions written in Sum of Products form. Limit of 7 product terms! Invert & AND # OR $ XOR CUPL Programming Combinational Use equations or Truth table Examples.PLD, Example2.PLD Sequential Use Equations or State Machine Example3.PLD, Example4.PLD 7

Combinational Logic Implementation Problem: CUPL expressions must be written for the function. Sum of Products (SOP) is the form CUPL uses. There is a limit of 7 product terms. Given: A sum of products equation. Find: A complement form of the equation also in sum of products. Example: A = x'y + xy'z In CUPL this becomes: A =!x&y # x&!y&z; Example: B = x'y'z' + xy' + yz In CUPL this becomes: B =!x&!y&!z # x&!y # y&z; Example.pld Name Example; Partno none; Date 06/0/98; Revision 0; Designer Bruce Hoeppner; Company EECE43; Assembly none; Location EN365; Device G6V8; /*********************************************************/ /* Example program to implement the following equations */ /* in CUPL Programming language */ /* */ /* A = x'y + xy'z */ /* B = x'y'z' + xy' + yz */ /* */ /*********************************************************/ 8

Example.pld /** Inputs **/ Pin 2 = x; Pin 3 = y; Pin 4 = z; /** Outputs **/ Pin 9 = A; Pin 8 = B; /** Declarations and Intermediate Variable Definitions **/ /** Logic Equations **/ A =!x&y # x&!y&z; B =!x&!y&!z # x&!y # y&z; /** End of example.pld source code **/ Name Example2; Partno example2.pld; Date 06/0/98; Revision 0; Designer Bruce Hoeppner; Company EECE43; Assembly PLD Source Code; Location EN365; Device G6V8; Example2.pld /********************************************************/ /* Example program to implement the following equations*/ /* in CUPL programming language using Truth Tables */ /* */ /* A = x'y + xy'z */ /* B = x'y'z' + xy' + yz */ /* */ /********************************************************/ /* Allowable Target Device Types: */ /********************************************************/ 9

Example2.pld /** Inputs **/ Pin 2 = x; Pin 3 = y; Pin 4 = z; /** Outputs **/ Pin 9 = A; Pin 8 = B; /** Declarations and Intermediate Variable Definitions **/ FIELD INPUT = [x,y,z]; FIELD OUTPUT = [A,B]; /** Truth Table **/ TABLE INPUT => OUTPUT { 0=>'b'0; =>'b'00; 2=>'b'0; 3=>'b'; 4=>'b'0; 5=>'b'; 6=>'b'00; 7=>'b'0; } /** End of example2.pld source code **/ Sequential Circuit Implementation of Programmable Logic Given: The state diagram for a sequence recognizer (00) Problem: Implement using one PAL6R4 or GAL6V8 State Input Next Output B A s B A found 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/ /0 ---- 0/0 0--- 00 0 /0 /0 0- /0 0-- 0 0/0 0/0 0

Insert into K-Maps B As \ 0 B 00 0 0 B As \ A 00 0 0 0 DB = s(b'a) + s(ba') DA = s'b' + BA' Let: pin = clock, pin 2 = s, pin 9 = found, pin 7 = B, pin 6 = A, and pin =!enable Written in CUPL form: B.d = s&!b&a # s&b&!a; A.d =!s&!b # B&!A; The output equation is: B As \ 00 0 0 0 found =!s&b&a;

Name Example3; Partno example3.pld; Date 06/0/98; Revision 0; Designer Bruce Hoeppner; Company EECE43; Assembly PLD Source Code; Location EN365; Device G6V8; Example3.pld /********************************************************/ /* Example program to implement the following equations*/ /* in CUPL programming language using Equations */ /* */ /* DA = s B + BA */ /* DB = sb A + sba */ /* found = s BA */ /*******************************************************/ /* Allowable Target Device Types: */ /*******************************************************/ /** Inputs **/ Pin = clock; Pin 2 = s; /* combinational data input */ Pin =!enable; /** Outputs **/ Pin 9 = found; Pin 7 = B; Pin 6 = A; /** Declarations and Intermediate Variable Definitions **/ /** Equations **/ B.d = s&!b&a # s&b&!a; A.d =!s&!b # B&!A; found =!s&b&a; /** End of example3.pld source code **/ 2

Example4.pld Name Example4; Partno example4.pld; Date 06/0/98; Revision 0; Designer Bruce Hoeppner; Company EECE43; Assembly PLD Source Code; Location EN365; Device G6V8; /*******************************************************/ /* Example program to implement the sequential circuit*/ /* in CUPL programming language using State Machines */ /* */ /* */ /*******************************************************/ /* Allowable Target Device Types: */ /*******************************************************/ /** Inputs **/ Pin = clock; Pin 2 = s; /* combinational data input */ Pin =!enable; /** Outputs **/ Pin [4..5] =[Q..0]; Pin 9 = found; /* combinational output */ /** Declarations and Intermediate Variable Definitions **/ field state = [Q..0]; $define S0 'b'00 $define S 'b'0 $define S2 'b'0 $define S3 'b' 3

/** State Machine **/ SEQUENCE state { present S0 if s next S0; default next S; present S if s next S2; default next S; present S2 if s next S3; default next S; present S3 if s next S0 out found; default next S0; } /** End of example4.pld source code **/ Experiment #5: Programmable Logic Devices Programmable Logic Devices as replacements/improvements to standard logic ICs. Goals: Learn to use programmable logic devices as MSI TTL & CMOS replacements. Prelab:. Create PAL source code that implements equations D, E &F from Experiment #. 2. Create PAL source code that implements the sequential circuit for the circuit of Figure 4. (state diagram) of Experiment #4. 3. Compile all PAL source codes. Bring source code listings (on paper) and floppy disk containing the files to lab. The files should be error free at the beginning of the lab period. 4