FPGAs In The Classroom: Practice and Experience - PowerPoint PPT Presentation

About This Presentation
Title:

FPGAs In The Classroom: Practice and Experience

Description:

FPGAs In The Classroom: Practice and Experience William M. Jones, Ph.D. Department of Computer Science Coastal Carolina University What is an FPGA? – PowerPoint PPT presentation

Number of Views:145
Avg rating:3.0/5.0
Slides: 37
Provided by: ww2Coasta
Learn more at: https://ww2.coastal.edu
Category:

less

Transcript and Presenter's Notes

Title: FPGAs In The Classroom: Practice and Experience


1
FPGAs In The ClassroomPractice and Experience
  • William M. Jones, Ph.D.
  • Department of Computer Science
  • Coastal Carolina University

2
What is an FPGA?
3
Where are FPGAs Found?
Prototyping HPC NICs GPUs DSP
4
And in CSCC Room 122!
Why?
5
(No Transcript)
6
Altera DE2 Development and Education Board
7
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)
8
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

9
(No Transcript)
10
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

11
IDE and Tools
12
Trace Program Execution
13
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 2s 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

14
Lets Take a Look at Actual Student WorkCSCI
210 Fall 2009, Spring 2010
15
CSCI 210 HW02 Intro to Gates
Courtesy of Ruben Villao
16
CSCI 210 HW04 Full Add/Sub
A
A (-) B C
C
B
Courtesy of Ruben Villao
17
CSCI 210 HW07 NIOSII w/ SSDs
NIOSII Embedded Processor 32-bit RISC
I/O w/ SSDs and switches
Courtesy of Dorian Sovic
18
CSCI 210 HW07 Assembly Code
Dorian Sovic
19
CSCI 210 HW09 Stack Exploitation
Provide student w/ uncommented code. They
identify problem and exploit it.
A0
A1
. . .
A7
Foos saved RA
20
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 MMSS 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

21
CSCI 210 HW05 State Machines
Courtesy of James Bettke
22
CSCI 210 HW05 State Machines
1-Hot Encoding A A XA XB XC
XD B B XA C C XB Y D D XC XD
Courtesy of James Bettke
23
CSCI 310 HW06 -- MMSS Digital Clock
4-bit counter (state transition diagram) Glue
logic, frequency dividers
Courtesy of Yosi Benzera
24
CSCI 310 HW09 Shifting/Masking
Get some data Drive SSDs w/ software Stack
management Shifting Masking Look up tables
Courtesy of Yosi Benzera
25
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

26
A Simple ALU (Digital Logic/Comp. Arch.)
27
ALU Specifications
28
ALU Part 1
29
ALU Part 2
30
ALU Part 3
31
(No Transcript)
32
(No Transcript)
33
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

34
Digital Signal Processing, Video, Networking,
Embedded Systems
35
Thank you! Questions? http//ww2.coastal.edu/wjo
nes After talk comments on the next slide
36
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
Write a Comment
User Comments (0)
About PowerShow.com