"Computer Design" by Sunggu Lee

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Lecture 11-1 FPGA We have finished combinational circuits, and learned registers. Now are ready to see the inside of an FPGA.
Lecture 15 Finite State Machine Implementation
Programmable Logic PAL, PLA.
Programmable Logic Devices
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Programmable Logic Devices
Chapter 6 – Selected Design Topics Part 4 – Programmable Implementation Technologies Logic and Computer Design Fundamentals.
Programmable logic and FPGA
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
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. 
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 13 – Programmable.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
CPLD (Complex Programmable Logic Device)
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
J. Christiansen, CERN - EP/MIC
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
Programmable Logic Devices
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Programmable Logic Devices. Principle of Operation: Example: X = A.B + A’.B’ requires that fuses f1 and f4 to be “blown”.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
 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 the FPGA and Labs
This chapter in the book includes: Objectives Study Guide
EET 1131 Unit 4 Programmable Logic Devices
ETE Digital Electronics
Digital Design Lecture 14
CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN
Sequential Programmable Devices
Sequential Logic Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
This chapter in the book includes: Objectives Study Guide
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Overview The Design Space Programmable Implementation Technologies
Logic and Computer Design Fundamentals
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Electronics for Physicists
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
Chapter 11 Sequential Circuits.
Interfacing Memory Interfacing.
CPE/EE 422/522 Advanced Logic Design L02
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Chapter 13 – Programmable Logic Device Architectures
ECE 434 Advanced Digital System L04
XC4000E Series Xilinx XC4000 Series Architecture 8/98
حافظه و منطق قابل برنامه ریزی
The architecture of PAL16R8
حافظه و منطق قابل برنامه ریزی
Programmable Logic.
Programmable Configurations
Introduction to Programmable Logic Devices
Digital Fundamentals Tenth Edition Floyd Chapter 11.
Lecture 11 Logistics Last lecture Today HW3 due now
Programmable Logic- How do they do that?
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
EET 1131 Unit 4 Programmable Logic Devices
Electronics for Physicists
EET 1131 Unit 4 Programmable Logic Devices
Programmable logic and FPGA
Presentation transcript:

"Computer Design" by Sunggu Lee Intro. to PLDs Types of Programmable Logic Devices (PLDs) Programmable Logic Array (PLA) Programmable AND-Array Logic (PAL) Generic Array Logic (GAL) PAL, Configurable and Erasable (PALCE) Field Programmable Gate Array (FPGA) Programmable Read-Only Memory (PROM) 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Logical Structure of a PLA Programmable Connections Product Terms Programmable Connections Sum of Products Expressions 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Methods for Programming Connections Use PLD Programmer (Rom Writer) for Programming Determines where connections are to be made 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Problems with PLAs Too many programmable connections Mostly unused Leads to costly and difficult to manufacture devices Alternatives to PLAs Programmable AND-Array Logic (PAL) Fixed matrix of OR gates of various sizes Only AND matrix is programmable Registerd PAL Device PAL with a set of flip-flops that can be optionally connected GAL, PALCE Erasable versions of PALs Includes several flip-flops for sequential circuit implemention 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee PROMs and EPROMs can also be used as PLDs PROM Used mainly as a memory device Example: Boot ROM (BIOS) used in PC’s EPROM Can be erased by exposure to ultraviolet light Address lines are connected to inputs (variables) Data lines are connected to function outputs Programmed connections are the “contents” of the PROM or EPROM -> minterms Physical construction of PLA devices Figs. 3.6 and 3.7: NOR-NOR-invert structure equivalent to invert-AND-OR --> WHY? 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee minterms Logical Structure of a PROM canonical SOPs 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Example 3.1: Using a 256 x 4 PROM Device, implement f1 = w’xy’+x’yz’ + xz and f2 = a’b’y + abx’y’ + a’bx’y’ 2019-04-05 "Computer Design" by Sunggu Lee

Example PAL Structure: PAL18L4 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Example: Z0 = A’BC + C’D Z0’ = (A + B’ + C’) (C + D’) = AC + B’C + AD’ + B’D’ + C’D’ 2019-04-05 "Computer Design" by Sunggu Lee

Sequential PAL and GAL Devices Registered PAL Includes “registered” outputs (outputs of D flip-flops) GAL and PALCE Devices Erasable / reprogrammable versions of registered PALs Configurable as a combinational or sequential device Example: GAL16V8R GAL configured as a “PAL16R8 type” device 8 of the 16 inputs come from the D flip-flop outputs Question: What are these types of inputs called? 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee * PAL16R8 Configured as a 3-bit Gray Code Counter 2019-04-05 "Computer Design" by Sunggu Lee

Field Programmable Gate Arrays Most complex type of chip that can be “programmed” to implement arbitrary circuits Many competing manufacturers Actel, Altera, Cypress, Lattice, Xilinx, etc. Competitive Factors large number of logic gates, high speed, flexibility, low cost, reprogrammability (can be traded off for speed) FPGA: a programmable array of simpler PLDs FPGA: field programmable version of “gate array” 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Basic Structure of a Gate Array (a “simple ASIC”) 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee XC4010XL Xilinx FPGA Block Diagram 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee XC4010XL CLB (Combinational Logic Block) LookUp Table (PROM or MUX) 2019-04-05 "Computer Design" by Sunggu Lee

FPGA Configuration Methods Use special “FPGA programmer” boards with SRAM-based configuration, data is lost once the FPGA is extracted from the “FPGA programmer” acceptable method for one-time programmable FPGAs Attach PROM to FPGA in application board store FPGA configuration in a serial PROM FPGA needs to be re-configured when power is applied Attach EPROM to FPGA in application board Custom-designed FPGA programming interface 2019-04-05 "Computer Design" by Sunggu Lee

FPGA Configuration S/W Support Design Entry Tools Schematic (drawing-based) Language-based (e.g., ABEL, PALASM, VHDL) Logic Simulation Tools Functional simulation Timing simulation (with back-annotated delay info.) Shows timing diagram (or timing table) outputs Logic Synthesis Tools To create logic gate design from high-level description To create configuration file (mapping to available gates and wires) 2019-04-05 "Computer Design" by Sunggu Lee

FPGA Programming (Configuration) Programming an FPGA from a Configuration File Master / slave mode master: FPGA chip is the initiator and controller of the FPGA configuration process Serial / parallel mode serial: configuration data is entered one bit at a time Synchronous / asynchronous mode synchronous: data entered in synch with a “clock” signal 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Configuration Timing Waveforms 2019-04-05 "Computer Design" by Sunggu Lee

Custom Designed FPGA Prog. H/W Helps the user to understand the FPGA structure and configuration process (also low-cost solution) Enables fast FPGA programming and test Leads to fast prototyping User can experiment with different solutions quickly PC-based FPGA programming H/W solution Uses PC’s parallel port interface Uses simplest (default) configuration mode slave, bit-serial, synchronous 2019-04-05 "Computer Design" by Sunggu Lee

XC4010XL Programming Interface 3 mode pins to control programming mode Leave (M0, M1, M2) pins unattached These pins have default pull-up resistors (default (1,1,1) value) Configuration clock pin Used to control when config. data is clocked into chip Make positive transition when data is stable Configuration data input pins D0 is the serial data input pin Many pins have dual uses (for config. or normal mode) Pins to check config. result (DOUT, PROGRAM, etc.) 2019-04-05 "Computer Design" by Sunggu Lee

Using the PC Parallel Port Interface Used to generate the signal waveforms required to program the FPGA with the “configuration data” Kind of a general multi-bit waveform generator Can be used to monitor several signals also Parallel Port Interface Methods Use SPP (Standard Parallel Port) based on original Centronics parallel printer port interface Other, more flexible and general, interface modes available 2019-04-05 "Computer Design" by Sunggu Lee

Generating Input Waveforms Write data to a prespecified I/O port address That data appears on the pins of the parallel port cable 3 port addresses used with the SPP mode control, data, and status registers (3 8-bit registers) write to a maximum of 12 output pins read from a maximum of 9 input pins ECR register (4th register) used to select SPP mode Register addresses determined by the BIOS Typically, LPT1 = 0378H = address of Data Register 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee * Figure 3.18: Parallel Port Interface Cct = absolutely necessary connections 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee 2019-04-05 "Computer Design" by Sunggu Lee

"Computer Design" by Sunggu Lee Expected Timing Waveforms 2019-04-05 "Computer Design" by Sunggu Lee