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

Slides:



Advertisements
Similar presentations
Altera FLEX 10K technology in Real Time Application.
Advertisements

Maciej Gołaszewski Tutor: Tadeusz Sondej, PhD Design and implementation of softcore dual processor system on single chip FPGA Design and implementation.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
CPT 310 Logic and Computer Design Instructor: David LublinerPhone Engineering Technology Dept.Cell
Computer Organization. This module surveys the physical resources of a computer system. –Basic components CPUMemoryBus I/O devices –CPU structure Registers.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Nonlinear & Neural Networks LAB. CHAPTER 20 VHDL FOR DIGITAL SYSYEM DESIGN 20.1VHDL Code for a Serial Adder 20.2VHDL Code for a Binary Multiplier 20.3VHDL.
Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear.
Slides to Accompany a Video Tutorial on Harry Porter’s Relay Computer Harry Porter, Ph.D. Portland State University November 7, 2007.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
CS61C L23 Synchronous Digital Systems (1) Garcia, Fall 2011 © UCB Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
1 Building a Computer from Scratch: A Hardware Lab Sequence for Computer Science Students Michael Black American University CCSC East.
Configurable System-on-Chip: Xilinx EDK
Programmable logic and FPGA
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Introduction to Field Programmable Gate Arrays (FPGAs) COE 203 Digital Logic Laboratory Dr. Aiman El-Maleh College of Computer Sciences and Engineering.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
Combinational Logic1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Altera DE2 Board and Quartus II Software ECE 3450 M. A. Jupina, VU, 2014.
Integrating Hardware Experiences into a Computer Architecture Core Course Fred Martin Computer Science University of Massachusetts Lowell.
Implementation of DSP Algorithm on SoC. Characterization presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompany engineer : Emilia Burlak.
1 The Design of a Relay Computer Harry Porter, Ph.D. Portland State University April 24, 2006.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
W.Skulski Phobos Workshop April /2003 Firmware & software development Digital Pulse Processor DDC-8 (Universal Trigger Module) Wojtek Skulski University.
Computer Organization Computer Organization & Assembly Language: Module 2.
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
An Introduction to VHDL Using Altera’s Quartus II IDE Dr. William M. Jones Coastal Carolina University Numbers and Bytes Meeting 20 OCT 2008.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Computer Fundamentals ELEC 330 Digital Systems Engineering Dr. Ron Hayne.
Designing the WRAMP Dean Armstrong The University of Waikato.
© 2005 Altera Corporation SOPC Builder: a Design Tool for Rapid System Prototyping on FPGAs Kerry Veenstra Workshop on Architecture Research using FPGA.
Early Introduction to Programmable Devices and tools in Digital Laboratory Course Parimal Patel Wei-Ming Lin Presented by Dr. Mehdi Shadaram Chirag Parikh.
Lecture 4 Multiplier using FPGA 2007/09/28 Prof. C.M. Kyung.
Eng.Samra Essalaimeh Philadelphia University 2013/ nd Semester PIC Microcontrollers.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
LAB #2 Xilinix ISE Foundation Tools Schematic Capture “A Tutorial”
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Computer Architecture Souad MEDDEB
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
Lecture 7: Overview Microprocessors / microcontrollers.
CSE 378 Computer Hardware Design (Formerly, Design of Digital Systems) Prof. Richard E. Haskell – –Tel: –Web site:
CDA 4253 FPGA System Design Hao Zheng Dept of Comp Sci & Eng USF.
Teaching Digital Logic courses with Altera Technology
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
CET360 Microprocessor Engineering: Course Intro J. Sumey Spring 2016.
Explain Half Adder and Full Adder with Truth Table.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Introduction to the FPGA and Labs
Programmable Logic Devices
Microprocessor Systems Design I
Microprocessor Systems Design I
FPGAs in AWS and First Use Cases, Kees Vissers
ASIC 120: Digital Systems and Standard-Cell ASIC Design
CET360 Microprocessor Engineering: Course Intro
Control Unit Introduction Types Comparison Control Memory
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
EECE.3170 Microprocessor Systems Design I
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Instruction execution and ALU
Computer Architecture Assembly Language
Computer Operation 6/22/2019.
(Lecture by Hasan Hassan)
Instructor: Michael Greenbaum
Presentation transcript:

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

What is an FPGA?

Where are FPGAs Found? Prototyping HPC NICs GPUs DSP

And in CSCC Room 122! Why?

Common Target Computing Platform??? Assembly Programming Compiler Design & Implementation Digital Logic Architecture

Altera DE2 Development and Education Board

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?

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

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

IDE and Tools

Trace Program Execution

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

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

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

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

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

CSCI 210 – HW07 – Assembly Code Dorian Sovic

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.

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

CSCI 210 – HW05 – State Machines Courtesy of James Bettke

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

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

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

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

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

ALU Specifications

ALU Part 1

ALU Part 2

ALU Part 3

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

Digital Signal Processing, Video, Networking, Embedded Systems

Thank you! Questions? After talk comments on the next slide …

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