mCs,%20DSPs,%20and%20FPGAs - PowerPoint PPT Presentation

About This Presentation
Title:

mCs,%20DSPs,%20and%20FPGAs

Description:

cause SHARC sounds cool! TigerSHARC. SHARC ! DSPs - TMS320C6200. DSPs ... Dr. Greenwood has the whole FPGA lab with programming tools and interfaces as well. ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 52
Provided by: webCe
Learn more at: http://web.cecs.pdx.edu
Category:
Tags: 20dsps | 20fpgas | 20and | mcs

less

Transcript and Presenter's Notes

Title: mCs,%20DSPs,%20and%20FPGAs


1
mCs, DSPs, and FPGAs
Realization technologies for robotics
2
In the Beginning,
  • skipping ahead a bit...

3
Evolution
  • transistors
  • gates - SSI 10 transistors
  • flip flops, registers, counters - MSI
  • sequencers, ALUs - LSI
  • microprocessors - VLSI
  • processors - ULSI 107 transistors

4
Micro-controllers and Single-board Computers
  • A Micro-controller is an integrated circuit that
    contains many of the same items that a desktop
    computer has, such as
  • CPU, memory, etc., but does not include any
    human interface devices like a monitor,
    keyboard, or mouse.
  • Micro-controllers are mostly designed for machine
    control applications, rather than human
    interaction.
  • Micro-controllers paired with all the peripherals
    they need to be self-sufficient, such as the
    Basic Stamp II IC, are sometimes called
    single-board computers.

5
microControllers - mCs
  • Simplified processors/sequencers
  • Intended for embeddedapplications
  • cell phones, VCRs, washing machines, toaster
    ovens, etc.
  • single-chip solutions
  • or maybe a few chips...
  • Inexpensive (!)
  • lt 1.00 at the bottom end
  • lt 100.00 at the top end

6
mCs
  • Programmable
  • but typically only programmed once...
  • reasonable performance
  • 4 bit (passe)
  • 8 bit, 16 bit
  • 32 bit (yes, but get real)
  • 64 bit ? (dope-slap deserved)
  • internal memory
  • bytes -gt kbytes of RAM
  • kbytes of PROM, EPROM, EEPROM, Flash

7
mCs
  • speed
  • 2 -gt 20 MHz
  • faster (of course) and slower devices available
  • remember, speed a power (watts)
  • typically, 4 clock cycles per instruction cycle
  • external ports
  • parallel (8 -gt 24 lines)
  • serial
  • timer/counter
  • analog (input 8 bit typical)
  • some devices have multi-channel analog-mux

8
mCs
  • packaging
  • 8 pin SOIC -gt 400 ball BGA
  • and everything in between!
  • programming
  • assembler, C
  • Basic (?)
  • Java
  • Pascal
  • pBasic, etc.

Lisp? Prolog?
9
Microcontroller board examples
  • Motorola 68HC11 based boards
  • Handy Board
  • FingerBoard
  • BotBoard
  • MiniBoard

10
68HC711E9CFN2
  • 512 bytes RAM
  • 512 bytes EEPROM
  • 12 kbytes PROM
  • containing modified-Buffalo kernel
  • 16 bit address, 8 bit data
  • 16 bit internal
  • 8 analog in (8 bit ADC)
  • serial I/O, timers, counters
  • 8 MHz crystal 2 MHz cycle

11
Microcontroller Board Example that is presented
in detail in Martins textbook
  • Handy Board
  • Perfect for small robots
  • Easy to develop software

12
mCs - why might you want one?
  • dedicated application
  • monitoring, control
  • complex sequential function
  • programmed in C
  • low-medium performance
  • low cost
  • CLEO-II.5 silicon power system had over 5 dozen
    HC11s
  • approximating the intellectual capacity, and
    temperament,of a 2-year old

13
Microcontroller Example that is our main low-end
project platform
Another example of a microcontroller
  • Basic Stamp
  • Basic Programming Language
  • Full documentation and examples online
  • Basic Stamp IIe has the most programming space

14
Microcontroller that is even better and was used
in the Skeleton robot
  • OOPic
  • Object oriented (VisualBasic)
  • Full documentation and examples online

Another example
15
BASIC Stamp
  • Many pre-defined functions
  • Cost-point 34 - 99
  • Starter kit for 149

16
Original BASIC Stamp from Parallax
  • 256 bytes EEPROM
  • 80-100 lines of PBASIC
  • 16 bytes of RAM
  • bytes, not kbytes!
  • 8 bit parallel port
  • serial port
  • 4 MHz

17
The Basic Stamp Microcontroller usage
18
Basic Stamp II (BSII)
  • 2048 Bytes of EEPROM(non-volatile)
  • - Clock speed of 20 MHz.
  • - Holds 600 lines of code in EEPROM
  • - executes an average of 4000 instructions/sec
  • - 32 Bytes of Ram(16 of it for variable
    storage)
  • - 16 I/O pins, plus two synchronous serial pins
  • - Programmable with a PC/Mac through a serial
    connection with PBasic.

19
The Board of Education
  • BSII micro-controller
  • bread-board
  • power supply
  • 9 volt connection
  • serial cable

20
Foundation Controller
Many boards can work together with
micro-controller boards
21
Motherboard
22
Microchip PIC(Peripheral-Integrated Controller)
  • Wide variety of sizes in chip family
  • Very low cost 4-20 per chip
  • High speed
  • Programmable in C

23
What is needed to use a PIC?
  • Software
  • MP-Lab development environment
  • A C-compiler
  • PIC-Start Plus programmer
  • UV chip eraser for some chips

24
Pin diagram PIC 12c672
Pin 1 Positive power (3-5V DC) Pin 2 Digital
input/output Pin 3 Digital i/o, Analog in Pin
4 Digital input only
Pin 5 Digital i/o, Analog in, counter-timer Pin
6 Digital i/o, Analog in Pin 7 Digital i/o,
Analog in Pin 8 Ground
25
How to use a PIC?
  • Define, step-by-step, the desired behavior
  • Choose a chip with appropriate I/O lines
  • Build a board
  • Write the program
  • Test and debug, test and debug

26
PIC16C58A
  • 73 bytes RAM
  • 2 kbytes UV-erasable EPROM
  • 12 I/O pins
  • timer/counter
  • 18 pin DIP
  • 20 MHz crystal 5 MHz cycle

27
Digital Signal Processors - DSPs
  • Essential difference from the microprocessor
  • DSPs are designed for high performance,
    repetitive, numerically intensive tasks
  • Integer and floating point devices available
  • integer more common, less expensive
  • besides, just multiply your floats by 1000, and
    you have integers

28
DSPs - what is good about them?
29
DSPs - features
  • strong numeric architecture(s)
  • single cycle multiply-accumulate
  • parallel units (SIMD)
  • specialized addressing modes (no overhead)
  • pre- and post- modification of pointers
  • circular addressing
  • bit-reversed addressing (for FFT)
  • on-chip memory
  • multiple memory access architecture
  • several accesses per cycle

30
DSPs - more features
  • specialized execution control
  • tight loops do not require (repeated) instruction
    fetch
  • conditional testing and loop-breaks built-in
  • does not cost extra instruction to loop
  • deep pipelines
  • TMS320C6200 has an 8-deep pipe
  • wide operation
  • VLIW - very long instruction word
  • many units (numeric, instruction, memory, other)
    controlled by single (complicated) instruction

31
DSPs - architectures
  • von Neumann - shared program/data memory
  • Harvard - separate program memory and data
    memory
  • modified Harvard - get one operand from data
    memory and another from program memory, in the
    same cycle
  • Super Harvard Architecture
  • cause SHARC sounds cool!
  • TigerSHARC

32
SHARC !
33
DSPs - TMS320C6200
34
(No Transcript)
35
DSPs - hard to program
  • keeping the pipe full,
  • keeping the many units busy,
  • squeezing out performance
  • is really difficult!
  • Assembly language
  • emulators which measure device performance
  • no substitute for experience

36
DSPs - why might you want one?
  • dedicated (or not) application
  • simple sequential function
  • with strong loop structure
  • best programmed in assembly language
  • but C tools are getting better
  • high performance
  • massive throughput!
  • medium-high cost
  • 1200 MIPs for under 50
  • 2400 MIPs for 250

37
Programmables - Once
  • ROM
  • read only memory
  • mask programmed
  • PROM
  • programmable read only memory
  • fuse/antifuse
  • one-time programmable

38
Programmables - A few times
  • EPROM
  • erasable programmable read only memory
  • UV light (chases charge off of floating gate)
  • all or nothing
  • EEPROM
  • electrically erasable programmable read only
    memory
  • all or nothing
  • Flash
  • EEPROM-like, but page-at-a-time erase

39
Programmables
  • but why limit yourself to address -gt data ?
  • programmable array logic - PAL
  • outputs (mostly) combinatorial function of
    inputs and other outputs
  • 16L8
  • 8 outputs
  • 6 of the outputs can be fed back as inputs
  • 10 simple inputs
  • out (ab!c) (de) !f
  • up to 16 terms ANDed
  • up to 7 product terms ORed

40
Programmables
  • programmable logic device - PLD
  • AND/OR array
  • feeding macrocell of flipflop/pass-through
  • and selectable feedback
  • 22V10 (next slide)
  • complex PLD - CPLD
  • lots of PLDs in one chip

41
Examples of programmable architectures
42
(Field) Programmable Gate Arrays
  • field programmable gate array - FPGA
  • two common architectures
  • sea-of-PLDs
  • e.g. Altera MAX 7000, MAX 9000
  • sea-of-little look-up tables, feeding flipflops
  • e.g. Xilinx XC4000, XC5200
  • but of course, marketting pressure
    forceseveryone to sell everything
  • Altera FLEX 8K look-up tables
  • Xilinx XC9500 sea of PLDs
  • Actel, Altera, ATT, Cypress, QuickLogic, Xilinx

43
MAX (Cypress)
44
Xilinx
45
FPGAs
  • sizes
  • 103 to 106 gates
  • almost meaningless metric
  • low-end 3.2 x 22V10
  • 30 gates per AND/OR/macrocell?
  • Speeds
  • 50 MHz to 200 MHz
  • packaging
  • typically SMT
  • QFP, BGA
  • 100 to 400 pins

46
FPGAs - volatile vs nonvolatile
  • nonvolatile
  • EEPROM-like
  • configuration held in floating-gate cells
  • ready on power-up
  • 103 reprogram cycles
  • so you can make a few mistakes
  • typical for sea-of-PLD devices
  • smaller number of larger blocks
  • more complexity per block
  • lower utilization
  • as it that means anything

47
FPGAs - volatile vs nonvolatile
  • volatile
  • SRAM-based configuration
  • must be loaded on every power-up
  • XC5202 -gt 3000 gates, 42kbits of config 42 ms
    (serial)
  • giant shift register - nothing random access
    about it!
  • unlimited reprogram cycles
  • limited by whatever holds the configuration data
  • typically a tiny 8 pin serial (EE)PROM
  • typical for sea-of-little look-up tables devices
  • larger number of smaller blocks
  • less complexity per block
  • higher utilization

48
FPGAs - which one is right for you?
  • If your function fits/works, go with it!
  • in-system reprogrammability(volatile or non) is
    a powerful ally!
  • Allows reasonable mistakes to be
    correctedsimply by recompiling/reloading
  • pick a device larger/faster than you need
  • dont expect to use more than 50 of the gates
  • you may use them all, but dont expect to!
  • try to use a single clock for everything

49
FPGAs - why might you want one?
  • Anywhere you might use a bunch of chips
  • or a printed circuit board, or several...
  • SoC - System-on-a-chip
  • Complex parallel function
  • programmed in HDL
  • hardware description language
  • Low -gt high performance range
  • Low-medium cost
  • smallest is lt 1.00
  • largest are lt 500.00
  • for a million gates -)

50
Previous Projects
  • 1. Review material from ECE 171 and ECE 271 about
    logic circuits, microprocessors and PLDs.
  • 2. Find on Internet data sheets of top companies
    that produce processors or programmable devices
    that may be used in your robotic project this
    year.
  • 3. Learn about programmable devices and boards
    that we have in the lab. Dr. Greenwood has the
    whole FPGA lab with programming tools and
    interfaces as well.
  • 4. For the following tasks robot theatre, robot
    soccer, robot sumo, biped robot walker, analyze
    the best choice of microcontrollers or other
    devices to implement control.

51
Sources
  • Curtis Bahn, RPI
  • J.E. Wampler
  • Michael Rodemer, University of Michigan, School
    of Art and Design
  • Physics and Media Group, MIT
  • Josh R. Fairley
  • Dr. Raymond S. Winton
  • Mike Haney, University of Illinois
  • Steve Benkovic, Cal State University ,
    Northridgehttp//homepage.mac.com/Sbenkovic
    s.benkovic_at_ieee.org
  • Franklin Alioto, Christine Beltran, Eric Cina,
    Vince Francisco, Margo Gaitan, Matthew OConnor,
    Mike Rasay.
  • Kenneth Chin and Prang Chim
  • Dr. Jim Ostrowski, Bob Miller, Wally Szczesniak,
    Terry Kientz,
  • Brett Balogh , Siddharth Deliwala, John Bowen,
  • Darnel Degand, Kapil Kedia, Adrian Fox,
    Christopher Li
Write a Comment
User Comments (0)
About PowerShow.com