Ch' 6: Programmable Logic Devices - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Ch' 6: Programmable Logic Devices

Description:

PROMs and EPROMs can also be used as PLDs. PROM. Used mainly as a memory device ... FPGA is reconfigured from the PROM when power is applied ... – PowerPoint PPT presentation

Number of Views:226
Avg rating:3.0/5.0
Slides: 28
Provided by: sungg
Category:

less

Transcript and Presenter's Notes

Title: Ch' 6: Programmable Logic Devices


1
Ch. 6 Programmable Logic Devices
  • Types of Programmable Logic Devices (PLDs)
  • Programmable Logic Array (PLA)
  • Programmable AND-Array Logic (PAL)
  • Generic Array Logic (GAL)
  • PAL, Configurable and Erasable (PALCE)
  • Programmable Read-Only Memory (PROM)
  • Field Programmable Gate Array (FPGA)

2
  • Logical Structure of a PLA

3
  • Transistor-leveldesign for a PLA
  • NOR-NOR-invertstructure isequivalent to an
    invert-AND-OR ? Why?

4
  • Methods for Programming Connections
  • Use PLD Programmer (Rom Writer) for Programming
  • Determines where connections are to be made

5
  • 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

6
  • PROMs and EPROMs can also be used as PLDs
  • PROM
  • Used mainly as a memory device
  • Example Boot ROM (BIOS) used in PCs
  • 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 -gt minterms

7
  • LogicalStructureof a PROM

Output of AND gate ?
Output of OR gate ?
8
  • Example Using a 256 x 4 PROM Device,
  • implement f1 wxyxyz xzand f2 aby
    abxy abxy

9
Example PAL Structure PAL18L4
10
  • Example Z0 ABC CD
  • Z0 (A B C) (C D) AC BC
    AD BD CD

11
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?

12
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
  • Definition 1 a programmable array of simpler
    PLDs
  • Referred to as a complex PLD (CPLD) by Xilinx
  • Definition 2 a field-programmable version of a
    gate array
  • Most commonly-used definition

13
  • Basic Structure ofa Gate Array (asimple ASIC)

14
(ab abe)
bcd
  • Gate arrayprogrammed toimplementf (ab
    abe) c bcd

(ab abe) c bcd
15
  • Xilinx Spartan-IIFamily FPGABlock Diagram

Delay-locked loop (DLL)- can be used for clocking
16
An LUT is used as auniversal logic device
  • One slice of aSpartan-II CLB(two slices total)

Addition is a commonly-usedbase operation in
many types ofsignal processing/computing/otherde
vices a carry-lookahead logicmodule is used
for fast addition.
17
  • Pinouts forSpartan-IIblock RAMcell

This can be implementedas a single-port or
dual-port RAM the use of a dual-portRAM enables
concurrentreads and writes as long asthe
read/write addresses aredifferent.
18
FPGA Configuration Methods
  • Use special FPGA programmer devices
  • similar to a PLD programmer (ROM writer)
  • 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 is reconfigured from the PROM when power is
    applied
  • Attach EPROM to FPGA in application board
  • Custom-designed FPGA programming interface

19
FPGA Configuration S/W Support
  • Design Entry Tools
  • Schematic (drawing-based)
  • Language-based (e.g., ABEL, Verilog, VHDL,
    SystemC)
  • Logic Simulation Tools
  • Functional simulation
  • Timing simulation (with back-annotated delay
    info.)
  • Outputs
  • Simulation output in a timing diagram or table
    format
  • Logic Synthesis Tools
  • Create logic gate design (netlist) from
    high-level description
  • Create configuration file (mapping to available
    gates and wires)
  • Also referred to as implementation
  • Create appropriate configuration file for target
    FPGA device

20
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
  • Boundary scan mode
  • uses the scan method commonly used for chip
    testing

21
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
  • Enables reconfigurable computing solutions
  • New programming method in which the hardware
    circuit is changed as the software program
    progresses
  • Enables the customization of H/W for each S/W
    module

22
Spartan XC2S200 Programming
  • 3 mode pins used to control programming mode
  • Can 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.)

23
  • Configuration circuit for two Spartan-II FPGAs
    connected in tandem

24
  • Configuration timing waveforms

25
  • PC-based slaveserial modeconfiguration

26
  • PC-based boundary scan mode configuration

27
  • Design for FPGA prototyping board
Write a Comment
User Comments (0)
About PowerShow.com