further experiences teaching an fpga based embedded
play

Further Experiences Teaching an FPGA-based Embedded Systems Class - PowerPoint PPT Presentation

Further Experiences Teaching an FPGA-based Embedded Systems Class Stephen A. Edwards Columbia University WESE, Torino, Italy, October 4, 2018 What is an FPGA? A Field Programmble Gate Array: A configurable circuit; not a stored-program


  1. Further Experiences Teaching an FPGA-based Embedded Systems Class Stephen A. Edwards Columbia University WESE, Torino, Italy, October 4, 2018

  2. What is an FPGA? A Field Programmble Gate Array: A configurable circuit; not a stored-program computer LUT: 16-element lookup table Source: http://evergreen.loyola.edu/dhhoe/www/HoeResearchFPGA.htm

  3. Why FPGAs? Students can explore hardware/software boundary Easy to put a stored-program computer on an FPGA Easy to add custom peripherals FPGA Single-Board Computer Flexible Cheaper Custom peripherals Stock peripherals Commercially uncommon Mainstream Digital logic design w/o soldering Software-only Demands very wide range of skills More narrow

  4. Basic Class Structure Weeks Hardware Lab 1–2 Software Lab 3–4 Hardware-Software Lab 5–6 Project 7–14 Labs come with skeletons; Lab 3 typical project skeleton

  5. 2003–2006: XESS XSB-300E (Xilinx Spartan IIE) CP LD C o nn ector 4 M b RS 2 3 2 F l ash Exp a ns i o n C o nn ector 25 6 K x 1 6 Vi d e o SR A M DA C Vi d e o 8 M x 16 De c o d e r SD R A M Pe r i p h e r a l B u s 30 M S PS AD C Et h e r n e t MA C + P H Y Au di o E x p ansion Co de c C o nne ctor E x pa nsion C o n necto r US B 2 . 0 Conn ector ID E D i s k Bu t t o n s LE D s Co m p a c t F l a s h C o nne ctor

  6. 2003–2006: XESS XSB-300E (Xilinx Spartan IIE) Microblaze soft processor CP LD C o nn ector 4 M b RS 2 3 2 F l ash Plenty of peripherals: VGA, video in, audio I/O, Ethernet, Exp a ns i o n C o nn ector 25 6 K x 1 6 Vi d e o SR A M DA C USB, PS/2, SRAM, DRAM, Flash Vi d e o 8 M x 16 De c o d e r Pin limit forced bussed peripherals SD R A M Pe r i p h e r a l B u s 30 M S PS AD C Hard to use more than one Et h e r n e t MA C + P H Y Au di o E x p ansion SRAM usually needed; never Co de c C o nne ctor enough FPGA RAM E x pa nsion C o n necto r US B 2 . 0 Used VHDL Conn ector ID E D i s k Bu t t o n s LE D s Co m p a c t F l a s h C o nne ctor [Edwards, WESE 2005]

  7. XSB Projects Raycasting game Internet video camera Audio FFT Video Effects

  8. 2007–2013: Terasic DE2 (Altera Cyclone II)

  9. 2007–2013: Terasic DE2 (Altera Cyclone II) Nios II soft processor Similar peripherals to XSB Dedicated pins per peripheral No operating system VGA easy; Ethernet hard; USB impossible Still used VHDL

  10. DE2 Projects Pac-Edwards Digital Picture Frame Encrypted video Real-time ray tracer

  11. 2014–2016: Terasic SoCKit (Altera Cyclone V)

  12. 2014–2016: Terasic SoCKit (Altera Cyclone V) 2 ARM9 Hard Processor Cores Linux: TCP/IP, USB Students write device drivers Switched to System Verilog Boot, run diskless (PXE server) No external SRAM, video input, 7-segment displays Fragile micro-USB connectors

  13. SoCKit Projects Inverse Kinematics Accel. Pottery Game Auto-parking car Game of Life

  14. Open Questions Next generation of boards: DE10-Standard or DE1-SoC or ? How much “friction” to apply to the students? What should they be given vs. what should they develop themselves? Should students be allowed to specialize? Is it OK that students take the class and merely sharpen their existing hardware or software skills? Is the “dynamic range” of skills I require unrealistic?

Recommend


More recommend