DEEP-3 Chris Shallcross Hakim Hazara Quang Ngo Sami Askar Stuart Kingston Trevor Lewis William...

Preview:

Citation preview

DEEP-3

• Chris Shallcross

• Hakim Hazara

• Quang Ngo

• Sami Askar

• Stuart Kingston

• Trevor Lewis

• William Murray

Decryption and Encryption of MP3

Structure of Presentation

• Project Brief• Aims and Goals• Partitioning Design

Route• ASIP Design Route

• Application Choice• Project Management• Early Feedback• What Next• Conclusions

Project Brief

• Problem– How easy is it to harness the power of re-

configurable computing?– How easy is it for Software Engineers?

Introduction

• What is re-configurable computing?– “Computing platforms whose architecture can be modified by software to

suit the application in question. Such a system may take the form of a Field Programmable Gate Array (FPGA) combined with external memories and processors.”

• Why is it of such great interest?– Reduced development costs

– Reduced time to market

– Hot upgrades

– Improved performance (sometimes!)

Current Trends in Reconfigurable Computing

• Greater number of gates / higher clock frequencies increased performance

• Greater volumes reduced costs

• C-like hardware description languages development accessible to software engineers more effort can be allocated to other parts of the project

Project Aims

• To investigate hardware/software co-design methods– By considering two design routes using a non-trivial

application as a test-bench– By measuring amount of effort required for each design

route– Using direct and indirect measures e.g.

• Lines of code, number of gates used and execution time• Perceived complexity

– Comparing the performance of the prototypes with the software only version

Project Goals

• To produce and demonstrate two working prototypes

• To benchmark the prototypes against the software only solution

Hardware / Software Partitioning

Program

Start EndC Source Code Profile

Simulation

HandPartitioning

HardwareFunctions

SoftwareFunctions

Tuned Hardware/ Software

MixtureCO

MS

Partitioning Methodology (1)

• C Source developed using Rapid Application Development, then evolved to fixed point implementation– Common to both routes

• Profiling– Find “Hot spot” regions within the C source

Partitioning Methodology (2)

• Partitioning– Done manually as automated solutions are not very

good

– Apply partitioning rules

• C Handel C• Design inter/intra process communication, control

and synchronisation • Co-Simulation

– For Verification and Validation

Partitioning Design Route

• Advantages– Conceptually simpler to understand

– De Facto Standard therefore more applied examples

– Method can be used to produce low power, low cost or high performance

• Disadvantages– Done manually

– Repeated for every application

ASIP Design(1)

•C Source same as Partitioning method

•Profiling same as Partitioning method

–Also perform static analysis to discover instruction mix and number of registers required

ASIP Design (2)

• Instruction Set Architecture developed using coarse grain customisation

• GCC used as re-targetable compiler

• Simulate to validate making necessary changes

ASIP Methodology

• RISC (Load Store) Architecture– Based on MIPS– Efficient pipelining – Higher degree of parallelism – Performance advantage

• Harvard Architecture– Difficult so use Von Neumann in early stages

• VLIW– Improves performance– Perceived further work

ASIP Design Route

• Advantages– Most of the development effort is writing C– More efficient use of function units than GP– Shorter time to market than more customised

hardware design– Reusability

• Disadvantages– Extra complexity with compiler alterations

System Overview

Local Storage Distributor

MP3 Encoding

MP3 Decoding

EncryptedMP3

DecryptedMP3

Sound Sample

Decrypted DecompressedSound Sample

Output Source

Input Source

• Perceived as a non-trivial application

-Both computationally intensive on their own

-Different instruction mix (MP3 uses reals crypto uses integers)

Requirements

• Functional Requirements– Compress & Encrypt Sound– Decrypt, Decompress & Playback

• Non-Functional Requirements– Security

• Design Objectives– Multiple Input formats– Real Time– User Friendly

MP3

• International Standard– ISO/IEC 11172-3:1993

• Legal Issues– Patented technology– Can be licensed

• Based on Psycho-Acoustics model– How the human mind perceives sound

MP3 Encoding

• Data sent as audio frames• Difficult to generate a good perceptual model

– Very few good quality implementations

MP3 Decoding

• Easier than encoding

• Intended playback through speakers via FPGA

MP3 Codec Selection

• Considered many alternatives– LAME, BlandEnc, Xing, FhG

• Criteria used– VBR, Fixed Point, Open Source, Sound

Quality, Frequency of Public Domain Usage, Independent Tests

• LAME “best”– No Fixed Point

Cryptography

• Requirements– Open Standard, Industry Strength, Integrity

Check, Authentication

• Legal Issues– Patents, Key Strengths

• Algorithms– Public / Private Key, One-Way Hashes, Digital

Signatures

RSA Algorithm

• Security lies in intractability of factoring large integers

• Key distribution problem– Compare Padlock & Key

• Algorithm based on fast modular exponentiation.– Good test of FPGA performance

Conceptual Model

• Login– Related to encryption

Encoding & Encryption

Decryption & Playback

System Architecture

DMA

Host CPU(x86)

RC-1000 Board(FPGA – Memory)

Storage DeviceMemory (RAM)

Sound Card

Speakers Line In

CD-ROM

Microphone

PCI Bus

IDE Bus

FPGA Board Architecture

Time Management

Research

Implementation and test Plan

Implementation

Partitioning Route

ASIP Route

Test and Debug

Simulation

Review and documentation

Sign Off

10 Days

1 Day

30 Days

30 Days

10 Days

10 Days

5 Days

10/12/01 – 23/01/02

24/01/02 – 05/03/02 06/03/02 – 26/03/02 27/03/02 – 31/03/02

Risk Management – Identified Risks

• ASIP Design– No prior experience

– Conceptually More challenging

• Resources– Limited availability of FPGA

• Handel C– No prior experience before project

• Task Complexity

• Time Management– Slow Start

Risk Management – Managing Risks

• Spiral Model– Incremental with regular reviews

• Buddy Buddy System

• Dedicated Handel C “expert”

• Achievable goals

• Plenty of Research

Early Feedback

• Profiling results– Early identification of “hotspot” functions as

psycho acoustic analysis and Huffman coding

• Metrics– One week to grasp partitioning– Ten weeks to grasp ASIP design

• Handel C– Simple programs implemented

What Next?

• First Application Prototype– Software only

• Second Prototype– Fixed Point, software only

• Incrementally More Complex Handel C coding

• Further prototypes with the design processes

Summary

• Presented the project aims and vision• Presented two opposing development

methods• Presented an overview of the application to

be used• Identified risks and how to manage them • Presented initial results• Planned further work

Conclusion

• Project remains on schedule

• Good progress made

• Lots more to do

Recommended