Download presentation
Presentation is loading. Please wait.
Published byMilo Miles Modified over 9 years ago
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.