EET 1131 Unit 4 Programmable Logic Devices

Slides:



Advertisements
Similar presentations
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals with PLD Programming.
Advertisements

FPGA (Field Programmable Gate Array)
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Programmable Logic Devices
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
EET 1131 Unit 4 Programmable Logic Devices  Read Kleitz, Chapter 4.  Homework #4 and Lab #4 due next week.  Quiz next week.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
ALTERA UP2 Tutorial 1: The 15 Minute Design. Figure 1.1 The Altera UP 1 CPLD development board. ALTERA UP2 Tutorial 1: The 15 Minute Design.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
Advanced Digital Circuits ECET 146 Week 1 Professor Iskandar Hack ET 205B,
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
CPLD 1.1 ©Paul R. Godin Last Mod: Dec 2013 gmail.com.
EET 252 Unit 4 Programmable Logic: SPLDs & CPLDs  Read Floyd, Sections 11-1 to  Study Unit 4 e-Lesson.  Do Lab #4.  Homework #4 and Lab #4 due.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
PROGRAMMABLE LOGIC DEVICES (PLD)
CPLD (Complex Programmable Logic Device)
J. Christiansen, CERN - EP/MIC
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
0/13 Introduction to Programmable Logic Devices Aleksandra Kovacevic Veljko Milutinovic
Introduction to Chapter 3  Now that we understand the concept of binary numbers, we will study ways of describing how systems using binary logic levels.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
Digital Logic Design Lecture # 15 University of Tehran.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
1 Multiplexers (Data Selectors) A multiplexer (MUX) is a device that allows several low-speed signals to be sent over one high-speed output line. “Select.
©2008 The McGraw-Hill Companies, Inc. All rights reserved. Digital Electronics Principles & Applications Seventh Edition Chapter 4 Using Logic Gates Roger.
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
 Seattle Pacific University EE Logic System DesignProgrammable-1 Implementing Sums-of-Products Z A B C D E F We find And-Or structures like this.
Chapter- 9 Programmable Logic Devices DHADUK ANKITA ENRL NO Noble Engineering College- Junagadh.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Introduction to the FPGA and Labs
This chapter in the book includes: Objectives Study Guide
EET 1131 Unit 4 Programmable Logic Devices
ETE Digital Electronics
Sequential Programmable Devices
EGR 2131 Unit 4 Combinational Circuits: Analysis & Design
Digital Fundamentals Floyd Chapter 3 Tenth Edition
EGR 2131 Unit 10 Memory and Programmable Logic
Combinational Logic Design
This chapter in the book includes: Objectives Study Guide
Engr. Micaela Renee Bernardo
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Programmable Logic Devices
Introduction to Programmable Logic
ECE 4110–5110 Digital System Design
Logic and Computer Design Fundamentals
This chapter in the book includes: Objectives Study Guide
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Chapter 13 – Programmable Logic Device Architectures
Figure 5. 1 An example of AND-OR logic
Introduction to Verilog
Digital Fundamentals Floyd Chapter 3 Tenth Edition
Introduction to Programmable Logic Devices
Digital Fundamentals Tenth Edition Floyd Chapter 11.
EET 1131 Unit 3 Basic Logic Gates
Programmable Logic- How do they do that?
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
Digital Fundamentals Floyd Chapter 4 Tenth Edition
EET 1131 Unit 4 Programmable Logic Devices
"Computer Design" by Sunggu Lee
PROGRAMMABLE LOGIC DEVICES (PLD) UNIT-IV
Digital Designs – What does it take
EGR 2131 Unit 4 CAD Tools and VHDL
Programmable logic and FPGA
Presentation transcript:

EET 1131 Unit 4 Programmable Logic Devices Read Kleitz, Chapter 4. Homework #4 and Lab #4 due next week. Quiz next week. FIRE UP QUARTUS -Do Quiz #3. Handouts: Unit 4 Practice Sheets, page 5 of GAL22V10 datasheet; Altera board; Altera board assignment sheet

Programmable Logic Programmable Logic Devices (PLDs) are chips with a large number of gates that can be configured with software to perform a specific logic function. Major types of PLDs are: SPLD (Simple PLD): the earliest type of programmable logic, used for smaller circuits with a limited number of gates. CPLD (Complex PLD): contain multiple SPLD arrays and inter-connection arrays on a single chip. FPGA (Field Programmable Gate Array): a more flexible arrangement than CPLDs, with much larger capacity.

The Big Picture: Partial Hierarchy of Programmable Logic Devices (PLDs) Simple PLDs (SPLDs) Programmable Array Logic (PALs) Generic Array Logic (GALs) Complex PLDs (CPLDs) Field Programmable Gate Arrays (FPGAs)

Programmable Logic Advantages of PLDs over fixed-function chips include: Reduced complexity of circuit boards Lower power requirements Less board space Simpler testing procedures Higher reliability Design flexibility

Approximate Equivalent Densities The Lattice GAL22V10 (a popular SPLD, in its day) is equivalent to about 500 logic gates. A typical Altera MAX7000 CPLD is equivalent to about 2500 logic gates. A typical Altera Cyclone FPGA is equivalent to about 50,000 gates.

Major PLD Manufacturers Three big names in this field are Xilinx, with 51% of market share Altera, (purchased by Intel in 2015) with 34% Lattice, with less than 10% Market share numbers retrieved from Wikipedia on 9/10/2014.

Some Product Lines from Altera and Xilinx CPLDs: MAX FPGAs: Cyclone, Arria, Stratix Programming software: Quartus II Xilinx: CPLDs: CoolRunner, XC9500 FPGAs: Vertix, Spartan, Kintex, Artix Programming software: Vivado

PALs and GALs SPLDs contain arrays of gates. Two important kinds of SPLD 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. A A B B PALs have a one-time programmable (OTP) array, in which fuses are permanently blown, creating the product terms in an AND array. X Simplified AND-OR array

PALs 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 Example What expression is represented by the array? X Do as practice question 1. X = AB + AB

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. X In place of fuses we have floating-gate transistors, which are like fuses that can be “unblown” after they’re blown.

PALs and GALs PALs and GALs are often represented by simplified diagrams in which a single line represents multiple gate inputs. Input buffer A A B B Single line with slash indicating multiple AND gate inputs Fuse blown AB Do as practice question 2. AB + AB Fuse intact AB

GAL22V10 The GAL22V10 is a typical SPLD. It has 12 dedicated inputs pins and 10 pins that can be used as inputs or outputs. Link to datasheet

GAL22V10 Fuse Map (partial) Each of these intersections is a fuse. Each of these AND gates has 44 inputs. Input pins. -This chip contains 5892 reprogrammable fuses. Do practice questions 3 to 6.

CPLDs A complex programmable logic device (CPLD) has multiple logic array blocks (LABs), each roughly equivalent to an SPLD. 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.

FPGAs compared to CPLDs Based on programmable AND array and fixed OR array. Based on look-up table (LUT), which is basically a truth table. (Results in higher density.) Both are programmed using the same software, using either schematic entry or text entry. -Two different but equivalent ways of specifying a logic function: by drawing schematic diagram with ANDs and ORs, or by giving truth table. CPLD implementation is like the former, while FPGA is like the latter. -A look-up table is like a memory in which you provide the address and the chip reads out what is stored at that address.

Programmable Logic Software All manufacturers of programmable logic provide software to support their products. The process is illustrated in the flowchart. The first step is to enter the logic design into a computer. It is done in one of two ways: 1) Schematic entry 2) Text entry using a hardware description language (HDL).

Programmable Logic Software In schematic entry, the design is drawn on a computer screen by placing components and connecting then with simulated wires. After drawing the schematic, it can be reduced to a single block symbol:

Programmable Logic Software In text entry, the design is entered via a hardware description language (HDL). Learning an HDL takes longer than learning to do schematic entry. But for complex designs it can provide a more powerful and simpler way to enter designs.

Some Popular Hardware Description Languages Open-standard HDLs VHDL (IEEE 1076) Verilog (IEEE 1364) Proprietary HDLs CUPL ABEL (Advanced Boolean Expression Language, now owned by Xilinx) AHDL (Altera HDL)

A VHDL Sample One way of writing VHDL programs is to use Boolean-type statements. There are two parts to such a program: the entity and the architecture. The entity portion describes the I/O. The architecture portion describes the logic. Following is a short VHDL program showing the two parts. entity Example is port (B,C,D: in bit; X: out bit); end entity Example; architecture Behavior of Example is begin X <= (B or C) and D; end architecture Behavior;

Simulation After entering the circuit, the circuit is tested in a simulation. You can test the circuit with waveforms to verify the operation. Example The following shows the functional test of a counter using a waveform editor:

Device Programming The final step is to send the programming file from the computer to the target device and test the implementation. Shown is an Altera DE2-115 board with an Altera FPGA, along with switches, LEDs and many other I/O devices for testing your design after you’ve downloaded it to the FPGA.

Our Software and Equipment Software: Altera’s Quartus II, version 13.0 sp1. (Free download, so you can install it at home.) Hardware: Altera Cyclone IV FPGA. Chip is mounted on Altera’s DE2-115 experimenter’s board. (Manual on Intel’s website.) -Walk them through starting a new project, placing an AND gate with I/O pins, and simulating. -Show them board, switches, LEDs.

Finding Your Files in Windows Here is the file that contains the gate diagram that you drew.

Displaying the File Extensions in Windows To make Windows 7 display file extensions, select Tools > Folder Options… > View, then remove the check mark next to Hide extensions for known file types.

Caution: Be Sure to Open the Right File To resume work on an existing project, one way is by double-clicking a file in Windows, without first opening Quartus. But you must double-click the Quartus project file (Lab4LogicGates.qpf), not the block-diagram file (Lab4LogicGates.bdf). Show them different ways to re-open the project in Quartus.

Three Ways of Representing a Digital Circuit (Looking ahead to Chapter 5) Recall that we have at least three ways of describing a digital circuit: Gate diagram. Boolean expression. Truth table. Given any one of these, you should be able to write the other two. See examples on following slides.

From Gate Diagram to Boolean Expression or Truth Table Given a gate diagram, you should be able to: Write a Boolean expression for the diagram. Write the truth table for the diagram. Example: Write a Boolean expression and the truth table for the following gate diagram. Note: Can have multiple equivalent Boolean expressions. Similar to in a math class: z = 2(x+y) is equiv to z = 2x + 2y. -Do as practice question 7, and then show how to do it in Multisim.

From Boolean Expression to Gate Diagram or Truth Table Given a Boolean expression, you should be able to: Draw a gate diagram that implements the expression. Write the truth table for the expression. Example: Draw a gate diagram and write the truth table for X = AB + ABC Note: can have multiple equiv gate diagrams for a given expression: trivial case of NAND versus AND followed by Inverter. -Do as practice question 8, and then show how to do it in Multisim.

From Truth Table to Boolean Expression or Gate Diagram Given a truth table, you should be able to: Write a Boolean expression for that truth table. Here’s how: For each row in the truth table with a 1 in the output column, list the corresponding AND term of the input variables. OR together all of the AND terms from Step a. Draw a gate diagram that implements the truth table. Example: Write a Boolean expression and draw a gate diagram for the truth table on the next slide.

Example: From Truth Table to Boolean Expression or Gate Diagram C X 1 -Do as practice question 9, and then show how to do it in Multisim. Take a quick look at Homework #4.