Introduction to Programmable Logic Devices PLDs. 1. Programmable Logic devices

Similar documents
Chapter 7 Memory and Programmable Logic

Memory Basics. SRAM/DRAM Basics

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

Memory. The memory types currently in common usage are:

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

REC FPGA Seminar IAP Seminar Format

9/14/ :38

Semiconductor Memories

Lecture 5: Gate Logic Logic Optimization

A N. O N Output/Input-output connection

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Chapter 2 Logic Gates and Introduction to Computer Architecture

Programmable Logic IP Cores in SoC Design: Opportunities and Challenges

Handout 17. by Dr Sheikh Sharif Iqbal. Memory Unit and Read Only Memories

Hardware and Software

IV. MASK PROGRAMMABLE GATE ARRAYS...37 V. STANDARD CELL AND CUSTOM ASICS...41 VI. ASIC PACKAGING...43

With respect to the way of data access we can classify memories as:

Introduction to Digital System Design

CHAPTER 11: Flip Flops

Evaluating Embedded Non-Volatile Memory for 65nm and Beyond

AN1837. Non-Volatile Memory Technology Overview By Stephen Ledford Non-Volatile Memory Technology Center Austin, Texas.

Gates, Circuits, and Boolean Algebra

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Interfacing To Alphanumeric Displays

Reconfigurable Computing. Reconfigurable Architectures. Chapter 3.2

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

FLASH TECHNOLOGY DRAM/EPROM. Flash Year Source: Intel/ICE, "Memory 1996"

CHAPTER 16 MEMORY CIRCUITS

Chapter 9 Latches, Flip-Flops, and Timers

Chapter 9 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Introduction to CMOS VLSI Design

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

7a. System-on-chip design and prototyping platforms

Figure 8-1 Four Possible Results of Adding Two Bits

Objectives. Units of Memory Capacity. CMPE328 Microprocessors (Spring ) Memory and I/O address Decoders. By Dr.

Low Power AMD Athlon 64 and AMD Opteron Processors

Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

Part Number Description Packages available

Microprocessor & Assembly Language

路 論 Chapter 15 System-Level Physical Design

Gates & Boolean Algebra. Boolean Operators. Combinational Logic. Introduction

1 / 25. CS 137: File Systems. Persistent Solid-State Storage

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Introduction. Jim Duckworth ECE Department, WPI. VHDL Short Course - Module 1

Advanced VLSI Design CMOS Processing Technology

LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Flash Memories. João Pela (52270), João Santos (55295) December 22, 2008 IST

Layout of Multiple Cells

Computer Systems Structure Main Memory Organization

The components. E3: Digital electronics. Goals:

Chapter 5 :: Memory and Logic Arrays

Two-level logic using NAND gates

Sequential 4-bit Adder Design Report

5V Tolerance Techniques for CoolRunner-II Devices

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

1 Products A. MEMORY. Personal Computer. Portable Permanent Storage. Main Unit. Main Permanent Storage. Display. Keyboard.

SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS

Chapter 10 Advanced CMOS Circuits

Yaffs NAND Flash Failure Mitigation

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Digital Design and Synthesis INTRODUCTION

Basic Logic Gates Richard E. Haskell

CHAPTER 3 Boolean Algebra and Digital Logic

MICROPROCESSOR AND MICROCOMPUTER BASICS

Computer Architecture

In-System Programmability

1. Memory technology & Hierarchy

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad

Multiplexers Two Types + Verilog

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Memory Systems. Static Random Access Memory (SRAM) Cell

Chapter 13. PIC Family Microcontroller

Designing VM2 Application Boards

Programming NAND devices

2.0 Command and Data Handling Subsystem

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

RDF1. RF Receiver Decoder. Features. Applications. Description. Ordering Information. Part Number Description Packages available

Programming Logic controllers

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Layout and Cross-section of an inverter. Lecture 5. Layout Design. Electric Handles Objects. Layout & Fabrication. A V i

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

BP-2600 Concurrent Programming System

Module 7 : I/O PADs Lecture 33 : I/O PADs

Module 3: Floyd, Digital Fundamental

CMS Level 1 Track Trigger

Systemy wbudowane. Współczesne technologie implementacji mikrokontrolerów i systemów wbudowanych. Copyright 2007 Frank Vahid

NVM memory: A Critical Design Consideration for IoT Applications

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Switch Fabric Implementation Using Shared Memory

The Evolution of CCD Clock Sequencers at MIT: Looking to the Future through History

1-Mbit (128K x 8) Static RAM

Transcription:

Introduction to Logic Devices PLDs. Logic devices Logic Device Families The main differences in programmable devices are between: mask-programmable and field-programmable erasable and non-erasable The mask-programmable types are programmed when they are manufactured whereas the user sets up the field-programmable device with some form of programmer. Mask-programmable devices are expensive in low production runs but are relatively cheap for large production runs, which is opposite for the field-programmable devices. An erasable device allows the stored set-up to be changed whereas the non-erasable type is permanent.

First type of user-programmable chip Device has a fixed, fully decoded AND plane and a programmable OR plane One-time programmable A logic circuit can be implemented by using the PROM s address lines as the circuit s inputs, and the circuit s outputs are then defined by the stored bits. Any truth table function can be implemented in this way. Two basic versions of PROM : ) Mask- : can be programmed Only by the manufacturer. Mask-programmable chip has less delay because connections within the device can be hardwired during manufacture. 2) Field- : can be programmed by the end-user.fieldprogrammable chips are less expensive, and can be programmed immediately. The Field PROM developed into two types, the Erasable Read-Only Memory (EPROM) and the Electrically Erasable Read-Only Memory (EEPROM). The EEPROM has the advantage of being erasable and reprogrammable many times. Address decoding like in a ROM input address part output word Fig. - : PROM structure PROM Example: f=x^y ^z x y z fn...f f X Y Z D e c o d e r NOT USED fn 2

( Logic Array) A PLA consists of two levels of logic gates: a programmable, wired AND-plane followed by a programmable, wired OR-plane. A PLA's structure allows any of its inputs (or their complements) to be AND-ed together in the AND plane; each AND plane output can thus correspond to any product term of the inputs. Similarly, users can configure each OR plane output to produce the logical sum of any AND plane output. With this structure, PLAs are well-suited for implementing logic functions in sum-of-products form. They are also quite versatile, since both the AND and OR terms can have many inputs (product literature often calls this feature "wide AND and OR gates") input address connection Programma ble AND Array OR Array output word Fig. -2: PLA structure In a PLA, the number of AND functions is independent of the number of inputs, and the number of OR functions is independent of both the number of inputs and the number of AND functions. Also, SPLDs need not have AND input arrays feeding OR output arrays; some devices have two NAND arrays, others have two NOR arrays, and some have a NAND array driving a NOR array. ( Array Logic) It consists of AND-Plane followed by a fixed OR-Plane.The number of products in an SOP form will be limited to a fixed number (usually 4- product 3

terms). The number of variables in each product term limited by number of input pins (>= inputs).the number of independent functions limited by number of output pins. connection Input Address AND Array Fixed connection Fixed OR Array output word Missing connections compared to a PLA Fig. -3: PAL structure PLAs are more flexible than PALs, but PALs operate faster, because hard-wired connections take less time to switch than their programmable equivalents. Due to the fact that they are fast and cheap to manufacture, PALs are the most common of all the SPLDs. also known as: EPLD (Erasable Logic Device) PEEL ( Electrically Erasable Logic) EEPLD (Electrically-Erasable Logic Device) MAX (Multiple Array matrix, Altera) CPLDs consist of multiple PAL-like logic blocks interconnected with a programmable switch matrix. Typically, each logic block contains 4 to 6 macrocells depending on the vendor and the architecture. A macrocell on most modern CPLDs contains a sum-of-products combinatorial logic function and an optional flip-flop. The combinatorial logic function typically supports four to 6 product terms with wide fan-in. In other words, a macrocell function can have many inputs, but the complexity of the logic function is limited. Contrast this 4

structure to an FPGA logic block where complexity is unlimited, but the lookup table has only four inputs. Fig -4. The CPLD (or EPLD) architecture uses a few large, PAL-like blocks with I/O fixed inside of each block. CPLDs are based on one of three process technologies EPROM, EEPROM, or FLASH. EPROM-based CPLDs are usually one-time programmable (OTP) unless they come in a UV-erasable windowed package. EEPROM and FLASH processes are erasable technologies. However, not all EEPROM- and FLASH-based devices are programmable while soldered on a board. In-system programmability (ISP) requires special on-chip programming logic, and not all CPLDs come with it, even when built with EEPROM and FLASH technologies. You can erase and program those lacking that circuitry in a device programmer. CPLDs are generally best for control- oriented designs due in part to their fast pin-to-pin performance. The wide fan-in of their macrocells makes them wellsuited to complex, high-performance state machines. At the high end (in terms of numbers of gates), a lot of overlap with FPGAs exists in potential applications. Traditionally, CPLDs have been chosen over FPGAs whenever high-performance logic is required. Because of its less flexible internal architecture, the delay through a CPLD (measured in nanoseconds) is more predictable and usually shorter. 5

Mask- Gate Array (MPGA) was developed to handled larger logic circuits. A common MPGA consists of rows of transistors that can be interconnected to implement desired logic circuits. User sepcified connects are available both within the rows and between the rows. This enabled implementation of basic logic gates and the ability to interconnect the gates. As the metal layers are defined at the manufacturer, significant time and cost are incurred in producing the run. In 985, Xilinx Inc. introduced the FPGA (Field Gate Array). The interconnects between all the elements were designed to be user programmable Fig. -7: Sea of Gates (SOG) MPGA Architecture A typical CMOS Sea-Of- Gates structure consisting of adjacent P- and N- channel transistors is shown in Figure 7. Vcc GND P- Channel n- Channel 6

Like MPGA, an FPGA consists of an array of uncommitted elements that can be interconnected in general way. Like a PAL, the interconnections between elements are user-programmable. FPGAs are approximately times less dense \ and 3 times slower than MPGAs. Consist of an array of logic blocks, surrounded by programmable I/O blocks, and connected with programmable interconnect. Fig. -8 : The FPGA It consists of a two-dimensional array of logic blocks that can be connected by general interconnection resources. The interconnect comprises segments of wire, where the segments may be of various length. Present in the interconnect are the programmable switches that serve to connect the logic blocks to the wire segments, or one wire segment to another. The structure and content of a logic block is called its architecture. Logic block architecture can be designed in many different ways. There are two primary classes of FPGA architectures: First, coarse-grained architectures consist of fairly large logic blocks, often containing two or more lookup tables and two or more flip-flops. In these architectures, a 4-input lookup table (think of it as a 6 x ROM) implements the actual logic. 7

Look Up Tables Combinatorial Logic is stored in 6x SRAM Look Up Tables (LUTs) in a CLB Example: Capacity is limited by number of inputs, not complexity Each function generator can be used as 4 input logic (LUT) or as high speed sync.dual port RAM The other architecture is called Fine-grained. These devices hold a large number of relatively simple logic blocks. Each block usually contains a flip-flop and either a 2-input logic function or a 4: multiplexer. 4: Multiplexer f=x.y+z x y z f fff x y z f Each logical function can be implemented by a Multiplexer. Generally, FPGAs have many more registers and I/O than CPLDs and typically use less power. FPGAs are usually best for datapath-oriented design but don t have the fast pin-to-pin performance associated with CPLDs 8

CPLDs FPGAs Architecture Applications Key Attributes Large, wide fan-in blocks of AND-OR logic Bus interfaces Complex state machines Fast memory interfaces Wide decoders PAL-device integration Fast pin-to-pin performance Predictable timing Easy to use Array of small logic blocks surrounded by I/O Logic consolidation Board integration Replace obsolete devices Simple state machines Complex controllers/interfaces Very high density Lots of I/Os and flip-flops Generally lower power SRAM devices are reprogrammable Gate Capacity 3-6, gates 8-, gates Design Timing Fixed, PAL-like Very fast pin-to-pin performance Application dependent Very high shift frequencies Number of I/Os Number of Flipflops Process Technology 3-2 5-4 3-2 -5,5 EPROM EEPROM FLASH SRAM Anti-fuse EEPROM In-System One-Time (OTP) Performance Power Consumption Some EEPROM- and FLASHbased devices EPROM devices in plastic packages. Some EEPROM- and FLASH-based devices Predictable timing Up to 2MHz today.5-2.w static.5-4.w dynamic SRAM-based devices and some EEPROM-based devices All anti-fuse-based devices Application dependent Up to MHz today Very low static Dynamic consumption is application dependent,.-2w typical comparing CPLDs & FPGAs 9

. Programming Technology In the Static RAM FPGA, programmable connections are made using passtransistors, transmission gates, or multiplexers that are controlled by SRAM cells. routing wire RAM cell RAM cell RAM cell MUX RAM cell routing routing to logic cell wire wire input a) pass-transistor b) transmission gate c) multiplexer In the case of pass-transistor approach RAM cell controls whether pass-gates are on or off. When off, the pass-gate presents a very high resistance between the two wires to which it is attached. When the pass gate is turned on, it forms a relatively low resistance connection between the two wires. The multiplexer would typically be used to optionally connect one of the several wires to a single input of a logic block. An anti-fuse resides in a high-impedance state; and can be programmed into low impedance or "fused" state. The Anti-fuse FPGA vendor, Actel, uses a poly-diffusion antifuse and the high current density causes a large power dissipation in a small area, which melts a thin insulating dielectric between poly-silicon and diffusion electrodes and forms a thin, permanent, and resistive silicon link of about 2nm in diameter. Actel calls it's antifuse a programmable low-impedance circuit element or PLICE. Contact cut to polysilicon metal Contact cut to diffution metal 2 Polysilicon oxide Actel Antifuse

This method is the same as used in the EPROM memories. EPROM transistors are used in FPGAs in a different manner than are static RAM cells or anti-fuses. They are used as pull down devices for logic block input. One wire, called the word line is connected to the select gate of the EPROM transistore. As long as the transistor has not been programmed into the OFF state, the word line can cause the bit line, which is connected to a logic block input to be pulled to logic zero. Since a pull-up resistor is present on the bit line, this scheme allows the EPROM transistors realize wired-and logic function. CPLDs (and many SPLDs), use EPROM or EEPROM technology to implement wired-and plane. EPROM Application