1 / 36

FPGAs In The Classroom : Practice and Experience

FPGAs In The Classroom : Practice and Experience. William M. Jones, Ph.D. Department of Computer Science Coastal Carolina University. What is an FPGA?. Where are FPGAs Found?. Prototyping HPC NICs GPUs DSP. And in CSCC Room 122!. Why?. Altera DE2 Development and Education Board.

astin
Download Presentation

FPGAs In The Classroom : Practice and Experience

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FPGAs In The Classroom:Practice and Experience William M. Jones, Ph.D. Department of Computer Science Coastal Carolina University Computer Security Conference 15 APR 2010

  2. What is an FPGA?

  3. Where are FPGAs Found? Prototyping HPC NICs GPUs DSP

  4. And in CSCC Room 122! Why?

  5. Altera DE2 Development and Education Board

  6. FPGA Course Mappings Assembly Programming (CSCI 210 and 310) Digital Logic Combinational (CSCI 210) Sequential (CSCI 310) Compilers (CSCI 450) Computer Architecture (CSCI 310) Operating Systems CSCI 410 Embedded Systems CSCI 4xx? + Security (CSCI 210 and 385)

  7. Digital Logic Design (Traditional) • Pencil and paper • Important pedagogical approach • Testing on quizzes and exams • Use of breadboards • Hands-on • Tedious • Prone to error • 7400 series logic gates • Voltage polarity • Difficult to debug

  8. Digital Logic Design (Innovative) • Pencil and paper • Still important • Schematic capture • Draw circuit diagram • Easily modifiable • Digital Logic (and more) IDE • Debugging capability • Testing in lab environment • Access to prototype boards

  9. IDE and Tools

  10. Trace Program Execution

  11. CSCI 210 – Computer Organization • HW01 – Intro to logic gates, learn to use the IDE • HW02 – Intro to logic gates, lights and switches • HW03 – 1-bit Full Adder (from TT to implementation) • HW04 – 4-bit 2’s complement ripple carry add/sub • HW05 – Intro to NIOSII Processor, I/O, running sum • HW06 – Binary encoding of instructions, addr. modes • HW07 – Functions, loops, IF stmts., I/O with SSDs • HW08 – Call stack management, param. passing • HW09 – Buffer overflow, overwrite RA on call stack

  12. Let’s Take a Look at Actual Student WorkCSCI 210 Fall 2009, Spring 2010

  13. CSCI 210 – HW02 – Intro to Gates Courtesy of Ruben Villao

  14. CSCI 210 – HW04 – Full Add/Sub A A + (-) B = C C B Courtesy of Ruben Villao

  15. CSCI 210 – HW07 – NIOSII w/ SSDs NIOSII Embedded Processor 32-bit RISC I/O w/ SSDs and switches Courtesy of Dorian Sovic

  16. CSCI 210 – HW07 – Assembly Code Dorian Sovic

  17. Provide student w/ uncommented code. They identify problem and exploit it. CSCI 210 – HW09 – Stack Exploitation A[0] A[1] . . . A[7] Foo’s saved RA

  18. CSCI 310 – Computer Architecture • HW01 – Multiplexer design (from TT to Kmap to impl) • HW02 – 1-bit Full Adder (from TT to implementation) • HW03 – 4-bit ripple carry adder • HW04 – State machine design, 3-bit up/down counter • HW05 – State machine design, serial data stream • HW06 – MM:SS digital clock, (from TT to impl) • HW07 – Intro to NIOSII Processor, I/O, running sum • HW08 – Function calls, I/O • HW09 – Functions, I/O, bit shifting/masking, stack • Implemented Fall 2009

  19. CSCI 210 – HW05 – State Machines Courtesy of James Bettke

  20. CSCI 210 – HW05 – State Machines 1-Hot Encoding A = A+ = X’A + X’B + X’C + X’D B = B+ = XA C = C+ = XB Y = D = D+ = XC + XD Courtesy of James Bettke

  21. CSCI 310 – HW06 -- MM:SS Digital Clock 4-bit counter (state transition diagram) Glue logic, frequency dividers Courtesy of Yosi Benzera

  22. CSCI 310 – HW09 – Shifting/Masking Get some data Drive SSDs w/ software Stack management Shifting Masking Look up tables Courtesy of Yosi Benzera

  23. Looking Towards Next Year • Refine course objectives to delineate 210/310 • Hardware Description Language (VHDL) • ALU • Simple CPU • Improve / create new security modules for placement in CSCI 385 • Create interrupt (C-based) lab for CSCI 410 • Push button • Create assembler lab for CSCI 450

  24. A Simple ALU (Digital Logic/Comp. Arch.)

  25. ALU Specifications

  26. ALU Part 1

  27. ALU Part 2

  28. ALU Part 3

  29. So What Do You Need? • An FPGA Development Board/Kit • Xilinx • Altera • $150 - $500 ($275 each) • IDE • ISE • Quartus • University programs / freely available • Host Computer • PC • Laptop • USB

  30. Digital Signal Processing, Video, Networking, Embedded Systems

  31. Thank you! Questions? http://ww2.coastal.edu/wjones After talk comments on the next slide …

  32. After-talk thoughts …. • Attendees were asked if this focus on assembly and hardware is relevant to computer security. • Responses were varied • Some thought it was paramount • Some thought it was not particularly relevant • Others suggested it depended on what type of job you ultimately got

More Related