2016 Fall Week 1 Lecture
2016 Fall Week 1 Lecture
Computing &
Embedded Systems
VIP Class
Fall 2016
Week 1
Potential deployments
GT Campus Array
City of Atlanta
City of Decatur
City of Marietta
Cities all over the world via integration with AoT
2
GT CAMPUS ARRAY
DECATUR
City of Decatur
Deployed one, early
version (ugly), sensor
node in early 2015 in
Decatur Sq.
Plan to deploy 5-10
nodes in 2016
around entire city
Developed public
facing web
dashboard for
Atlanta BeltLine
version of sensor
deployment
Integrate Decatur
testbed with other
city testbeds
ATLANTA
ATLANTA
Ponce City Market - Within the next week
Mid October
Northside Dr. - Within a week or 3
October
5th Location - TBD
Wind
https://arrayofthings.github.io/
PROGRAMMABLE LOGIC
DEVICES (PLDS)
Programmable logic devices
Function is determined by a configuration bitstream that
is downloaded to the device
Examples include:
Field Programmable Gate Array (FPGA)
Complex Programmable Logic Device (CPLD)
Electronic Programmable Logic Device (EPLD)
Few devices are non-volatile through the use of antifuses or flash-based memory
Traditional
Configurabl
e
HW is
HW can be
changed by SW or
PLD TAXONOMY
Xilinx Devices
Altera Devices
FPGA Series
FPGA Series
E.g. 6-Series
E.g. 7-Series
Device Family
Device Family
E.g. Virtex-6
E.g. Spartan-6
Device Member
By array size and tile
types, e.g. Virtex-6
SX315T
Device Member
By array size and tile
types, e.g. Virtex-6 LX75T
PLD ARCHITECTURE
Example:
generic FPGA
device
architecture
Tens to
hundreds of
configurable
logic blocks
Majority of
configurable
design
resources are
for routing
Mohammed M. Farag, Architectural Enhancements to Increase Trust in Cyber-Physical Systems Containing Untrusted Software and Hardware, Virginia Tech
Dissertation, September 17, 2012
System-level Design
Specification
Device-level Design
Specification
Example:
FPGA design
flow
Design Entry
Hardware Description Language (HDL)
Software models
Design Constraints
Programmed Device
PLD DESIGN
General Design
Embedded
Vision
Security &
Trust
Algorithms &
Analytics
E.g. Data
reduction and
sanitization
E.g. object
identification and
counting
Embedded
Hardware
E.g. interfacing
with sensors
E.g. hardware
acceleration
E.g. root-of-trust
hardware
Embedded
Software
E.g. data
reporting and
system health
monitoring
E.g. OpenCV
E.g. system
firmware
management
and data privacy
E.g.
management
software for
updates and
status
monitoring
Backend Software
E.g. data
dashboards and
research query
frameworks
14
GENERAL DESIGN
Z-TURN
MICROZED
ZEDBOARD
16
SOFTWARE ARCHITECTURE
PetaLinux kernel
Based on kernel.org release
Proprietary Software
Ubuntu Core rootfs
PetaLinux Kernel
FPGA Hardware
GENERAL DESIGN
Focus areas
Defining and implementing
Hardware and Software
architectures
Interfacing with sensors and
other system components
Processing and transferring
data to backend servers
Casing, Construction, and
Deployment
Power-over-Ethernet
Wireless sensor node
Integration with S&T black magic
Moving to new Zynq platform
20
EMBEDDED VISION
Traffic Analysis
Dense Crowd Counting
Event Detection
Pattern Recognition optical
Pattern Recognition
flow. Taken from opencv.org
Object Detection
Hardware Acceleration
OPENCV
26
Traditional
Software
Applications:
FPGA Security
Improvements:
SECURITY IMPROVEMENTS
Traditional Software
Applications:
System Identification
FPGA Security
Improvements:
SECURITY IMPROVEMENTS
Traditional Software
Applications:
FPGA Security
Improvements:
System Identification
Boot Operation
SECURITY IMPROVEMENTS
Traditional Software
Applications:
FPGA Security
Improvements:
System Identification
Boot Operation
Software Update
Authentication &
Decryption keys
stored in BRAM
Only encrypted
data on SD
Extracted to RAM
disk
SECURITY IMPROVEMENTS
Traditional Software
Applications:
System Identification
Boot Operation
Software Update
Firmware Update
FPGA Security
Improvements:
Hardware based
decryption engine
U-Boot sends new
images for
verification
EFUSE, BBRAM
Anti-tamper Mechanisms
Secondary FPGA
Immutable system to monitor
and validate base system
operations
SIMON Decryption core
System Attestation
Anti-cloning Functions
Etc.
End Goals:
Interactive FPGA
based Security
Measures
Expanding defense
in depth
methodology
DASHBOARD
CLASS LOGISTICS
Review general VIP syllabus and example design notebook
http://www.vip.gatech.edu/
http://www.vip.gatech.edu/design-notebooks
GitHub
https://github.gatech.edu/llerner3/vip
Wiki pages for general project and each sub-team
Repository for all code
Revision controlled
Bug tracking/ticket system
Everyone must join the project
36
CLASS LOGISTICS
Tentative schedule
Week 1 Class/project overview
Week 2 Sub-teams formed; initial tasks set; returning students
discuss previous work
Week 3 Sub-teams present on task plan, schedule, and midterm/final
milestones
Week 4 Sub-teams present on progress
Week 5 Round table discussion
Week 6 Sub-teams present on progress
Week 7 Round table discussion; self-grades due
Week 8 Midterm sub-team presentations/demos/wiki overviews
Week 9 Round table discussions
Week 10 Sub-teams present on progress
Week 11 Round table discussion
Week 12 Sub-teams present on progress
Week 13 Round table discussion
Week 14 No class (Thanksgiving Break)
Week 15 Final sub-team presentations/demos/wiki overviews
37
CLASS LOGISTICS
Resources
Configlab2 machine in VIP student room
Use your personal GT account to sign in
Share data in /share folder (set file permissions for
sharing)
Configlab.vip.gatech.edu
ssh XY configlab.vip.gatech.edu
Need to be on ECE subnet (VPN if remote;
anyc.vpn.gatech.edu)
Virtual Box VM
Will be provided by us
Will have tools, code repo, etc. ready to go
Materials
E.g., ZedBoards
Use in or check out from VIP room (note your checkout on Wiki)
38
GIT REPOSITORY
39
CLASS LOGISTICS
Grades
This is not a lecture- or test-based class
Grades are based on your level of effort, technical
40
WEEK 1 ASSIGNMENTS
Review
Atlanta smart cities developments
http://www.bizjournals.com/atlanta/news/2016/01/05/at-t-aims-to-turn-atlanta-into-a-smart- city.html
https://arrayofthings.github.io/
https://github.com/waggle-sensor/waggle
want to be on a team
For all class emails (besides between sub-teams):
41