What have people done? w Lots of variations on processors n Usually - - PDF document

what have people done
SMART_READER_LITE
LIVE PREVIEW

What have people done? w Lots of variations on processors n Usually - - PDF document

Project Ideas anything digital? something thats interesting enough? What have people done? w Lots of variations on processors n Usually 16-bit n Usually custom RF, perhaps custom ALU n Usually distinctive I/O l R/W


slide-1
SLIDE 1

1

Project Ideas

…anything digital? … something that’s “interesting enough?”

What have people done?

w Lots of variations on processors

n Usually 16-bit n Usually custom RF, perhaps custom ALU n Usually distinctive I/O l R/W pins, memory mapped I/O, UART, VGA, LCD, PS/2,

etc.

w Some quite customized

n CORDIC processor n Controller for a light-based toy n Stack-based processor n Communicating multiprocessor node

slide-2
SLIDE 2

2

Processor Info

w Lots of good information on the CS/ECE 3710 class web site

n http://www.eng.utah.edu/~cs3710/ n OR http://www.ece.utah.edu/~kalla/index_3710.html

  • University of Utah
  • CS/EE 3710

Baseline 3710 ISA

w ADD, ADDI, SUB, SUBI w CMP, CMPI w AND, ANDI, OR, ORI, XOR, XORI w MOV, MOVI w LSH, LSHI (restricted to shift of one) w LUI, LOAD, STOR w Bcond, Jcond, JAL

slide-3
SLIDE 3

3

  • University of Utah
  • CS/EE 3710

Class Encoding

w In the handout on the web w Much more regular than real CR16

  • University of Utah
  • CS/EE 3710

Memory Map

w 16 bit PC and LOAD/STOR addresses

n 64k addresses n Each address is a 16-bit word n So, 128k bytes of data, but organized as words l Clearly this needs to go off chip! n You probably need to reserve some I/O addresses l Up to you, but I recommend using the some top address bits l Upper 16k words (32kbytes) as I/O space? n You probably need to reserve some part of the address

space for boot ROM

l Up to you, but I recommend low addresses

slide-4
SLIDE 4

4

Example Memory Map

  • I/O
  • Switches/LEDs
  • UART
  • Code/Data
  • Flash ROM?
  • Code/Data
  • 0000
  • 3FFF
  • 4000
  • 7FFF
  • 8000
  • BFFF
  • C000
  • FFFF
  • 16k words

(32k bytes)

  • Top two address
  • bits define regions?
  • Word

addresses

  • 4k additional words
  • Ext. RAM
  • Frame buffer?

Glyphs? Split code/data into ROM and SRAM portions?

What have people done?

w Application-specific circuits w Many look a little processor-like…

n Bike speedometer/odometer n Basketball scoreboard display (to VGA output) n Fingernail pressure sensor n Musicman tone generator n Waveform generator n Encryption/decryption n Digital metronome

slide-5
SLIDE 5

5

What have people done?

w Circuits for parts of a more complex system

n 2-way set-associative Cache controller with LRU

replacement

n Memory management unit for virtual memory

system

n Gshare branch predictor n Asynchronous FIFO n Asynchronous network interface n Network-on-chip router

What have people done?

w Hard-coded games – usually with VGA output

n Snake n Bomb/Minesweeper n Pong n Tetris n Tic Tac Toe

slide-6
SLIDE 6

6

What have people done?

w Arithmetic circuits

n Floating point multiplier n Floating point divider n Triangle intersection computation n Cross-product generator n Bilinear interpolation function unit

Other ideas…

w There are lots of interesting chips to interface to!

n MAX7219 LED driver – drives up to 64 LEDs, can be

chained together

n LCD controller – many are based on a HD44780U

controller so they’ll be a standard interface

n Hobby servos are controlled by PWM n Stepper motor controllers – build a CNC controller? n Go to Sparkfun.com, Adafruit.com, or RobotShop.com

and look around!

w Lots of interesting protocols to explore

n SPI, I2C, Serial (UART), VGA, PS/2, etc.

slide-7
SLIDE 7

7

16-bit processor

  • Approx 18,500

transistors

  • 3mm on a side

Another processor

  • 16-bit Processor, approx 27,000 transistors
slide-8
SLIDE 8

8

Same Chip (no M2, M3)

  • 1.5mm x 3.0mm, 72 I/O pads

Processor?

slide-9
SLIDE 9

9

Processor ?

Processor

slide-10
SLIDE 10

10

Asynchronous FIFO

Array multiplier with testing circuitry

slide-11
SLIDE 11

11

Processor Waveform Generator

slide-12
SLIDE 12

12

Pong Processor

slide-13
SLIDE 13

13

I Don’t Remember … Minesweeper

slide-14
SLIDE 14

14

Bike Computer

Stack Processor

slide-15
SLIDE 15

15

Snake Game SRAM

slide-16
SLIDE 16

16

X10 home automation controller

DES encrypt/decrypt

slide-17
SLIDE 17

17

16-bit CORDIC processor More Pictures of Chips

slide-18
SLIDE 18

18

More Pictures of Chips