Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Computer Security Conference 15 APR 2010 FPGAs In The Classroom : Practice and Experience William M. Jones, Ph.D. Department of Computer Science Coastal."— Presentation transcript:

1 Computer Security Conference 15 APR 2010 FPGAs In The Classroom : Practice 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 Common Target Computing Platform??? Assembly Programming Compiler Design & Implementation Digital Logic Architecture

6 Altera DE2 Development and Education Board

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

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

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 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

14 Let’s Take a Look at Actual Student Work CSCI 210 Fall 2009, Spring 2010

15 CSCI 210 – HW02 – Intro to Gates Courtesy of Ruben Villao

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

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

18 CSCI 210 – HW07 – Assembly Code Dorian Sovic

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

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 – 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

21 CSCI 210 – HW05 – State Machines Courtesy of James Bettke

22 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

23 CSCI 310 – HW06 -- MM:SS 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

32

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/wjones 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


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

Similar presentations


Ads by Google