FPGAs: High Assurance through Model Based Design

Similar documents
FPGAs: : Quality through Model Based Design and Implementation

Fast implementations of secret-key block ciphers using mixed inner- and outer-round pipelining

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

FPGAs: Instant Access

AES1. Ultra-Compact Advanced Encryption Standard Core AES1. General Description. Base Core Features. Symbol. Applications

Introduction to Field Programmable Gate Arrays

INTRODUCTION TO FPGA ARCHITECTURE

FPGA Design Flow 1. All About FPGA

VHDL for Synthesis. Course Description. Course Duration. Goals

FPGA for Software Engineers

TSEA44 - Design for FPGAs

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

FlexRIO. FPGAs Bringing Custom Functionality to Instruments. Ravichandran Raghavan Technical Marketing Engineer. ni.com

FPGA: What? Why? Marco D. Santambrogio

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

FPGA design with National Instuments

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform

Field Programmable Gate Array (FPGA)

RC6 Implementation including key scheduling using FPGA

World Class Verilog & SystemVerilog Training

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

AES Core Specification. Author: Homer Hsing

"On the Capability and Achievable Performance of FPGAs for HPC Applications"

An Introduction to Programmable Logic

Efficient Hardware Design and Implementation of AES Cryptosystem

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

An Implementation Comparison of an IDEA Encryption Cryptosystem on Two General-Purpose Reconfigurable Computers

HW / SW Implementation Overview (0A) Young Won Lim 7/16/16

ESL design with the Agility Compiler for SystemC

PINE TRAINING ACADEMY

Midterm Exam ECE 448 Spring 2019 Wednesday, March 6 15 points

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

High Performance Single-Chip FPGA Rijndael Algorithm Implementations

Topics. Midterm Finish Chapter 7

Verilog for High Performance

Early Models in Silicon with SystemC synthesis

Asynchronous FIFO Design

An 80Gbps FPGA Implementation of a Universal Hash Function based Message Authentication Code

Introduction of the Research Based on FPGA at NICS

Field Programmable Gate Array

Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles

CONSIDERATIONS ON HARDWARE IMPLEMENTATIONS OF ENCRYPTION ALGORITHMS

SHA Core, Xilinx Edition. Core Facts

Hardware-Software Codesign. 1. Introduction

Task 8: Extending the DLX Pipeline to Decrease Execution Time

Introduction to VHDL Design on Quartus II and DE2 Board

Architecture and Partitioning - Architecture

LogiCORE IP Serial RapidIO Gen2 v1.2

RECONFIGURABLE SPI DRIVER FOR MIPS SOFT-CORE PROCESSOR USING FPGA

Bus Matrix Synthesis Based On Steiner Graphs for Power Efficient System on Chip Communications

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

The Xilinx XC6200 chip, the software tools and the board development tools

PERFORMANCE COMPARISON OF ADVANCED ENCRYPTION STANDARD-128 ALGORITHMS FOR WIMAX APPLICATION WITH IMPROVED POWER-THROUGHPUT

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

What is Xilinx Design Language?

Chapter 9: Integration of Full ASIP and its FPGA Implementation

The Use of Runtime Reconfiguration on FPGA Circuits to Increase the Performance of the AES Algorithm Implementation

TABLE OF CONTENTS CHAPTER NO. TITLE PAGE NO.

VHX - Xilinx - FPGA Programming in VHDL

: : (91-44) (Office) (91-44) (Residence)

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

(ii) Simplify and implement the following SOP function using NOR gates:

FPGA VHDL Design Flow AES128 Implementation

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

FABRICATION TECHNOLOGIES

Lab 7: RPN Calculator

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Workspace for '4-FPGA' Page 1 (row 1, column 1)

SpecC Methodology for High-Level Modeling

Summary. Introduction. Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro. XAPP152 (v2.1) September 17, 2003

Scalable and Dynamically Updatable Lookup Engine for Decision-trees on FPGA

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Comparison of the Hardware Performance of the AES Candidates Using Reconfigurable Hardware

EECS150 - Digital Design Lecture 16 - Memory

Introduction to reconfigurable systems

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

Intro to High Level Design with SystemC

SLICED: Slide-based concurrent error detection technique for symmetric block ciphers

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

SHA3 Core Specification. Author: Homer Hsing

AES as A Stream Cipher

Table 1: Example Implementation Statistics for Xilinx FPGAs

Park Sung Chul. AE MentorGraphics Korea

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays

ProASIC PLUS FPGA Family

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

EECS150 - Digital Design Lecture 16 Memory 1

Programmable Logic Devices HDL-Based Design Flows CMPE 415

EITF35: Introduction to Structured VLSI Design

10 Gigabit XGXS/XAUI PCS Core. 1 Introduction. Product Brief Version April 2005

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Simplify System Complexity

Designing a Hardware in the Loop Wireless Digital Channel Emulator for Software Defined Radio

FlexRay The Hardware View

Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES

Transcription:

FPGAs: High Assurance through Based Design AADL Workshop 24 January 2007 9:30 10:00 Yves LaCerte Rockwell Collins Advanced Technology Center 400 Collins Road N.E. Cedar Rapids, IA 52498 ylacerte@rockwellcollins.cm Copyright 2006 Rockwell Collins, Inc. All right reserved.

FPGA FPGAs comprise an array of configurable logic blocks and interconnect resources I/O Block Logic Block Interconnects 200,000+ logic blocks 1,000 I/O pins Look-up table (LUT) small one bit wide memory array Configurable Logic Block (CLB) Output Input 4- Input LUT Clock D Flip Flop 2

Typical Application Advanced Encryption Standard (AES) more physically secure in hardware cannot easily be read or modified by an outside attacker easily achieve Gigabit encryption rates and at least one order of magnitude faster than the best reported software parallelization (pipelining and sub-pipelining) of the loop structure wide operand processing (e.g., 128 bits in one clock cycle) An FPGA Implementation and Performance Evaluation of the AES Block Cipher Candidate Algorithm Finalists» AJ Elbirt, W Yip, B Chetwynd, C Paar» http://csrc.nist.gov/cryptotoolkit/aes/round2/conf3/pape rs/08-aelbirt.pdf 3

Performance Characteristics Performance Characteristics Target FPGA device Maximum master clock frequency Throughput Area [CLB slices] Area [percentage of the target device resources] Area [Block RAMs] Area [percentage of the target device resources] Power consumption Values MHz Gbit/s CLB slices % of CLB slices Block RAMs % of Block RAMs 4

Typical Development Specifications System / C Code RTL Description (VHDL or Verilog) Synthesis FPGA Place and Route Gate Level Simulation Post Layout Simulation / Timing Static / Dynamic Analysis RTL Simulation / Timing 5

The Challenge Transform system specification into a system model suitable for FPGAs E.g. Impulse C Commercial version of Streams-C (Los Alamos National Lab) Add significant complexity E.g. High Assurance MILS I/O application Provably correct 5,000 lines of code Provably partitioned from the rest of the FPGA Total application over 50,000 lines of code 6

Implications Build a system model in Impulse C Highly parallelized implementation of system specs When is there enough parallelization? Architecture elements es, streams, signals, memory Clocking strategies High Assurance Prove correctness of security properties Prove MILS spatial partitioning 7

Ease The Burden Provably correct model transformations Helps High Assurance certification and analyze early Analysis performed at design time, before detailed simulation of completed code Use architecture description language 8

Automated Transformations transformation Transform a model into another model From system specification to Impulse C From processes and streams into standardized, error free code ing blurs the distinction between HW and SW engineers Shift toward application domain expertise 9

Reduce Intellectual Gap Specifications? System / C Code RTL Description (VHDL or Verilog) Synthesis FPGA Place and Route Gate Level Simulation Post Layout Simulation / Timing Static / Dynamic Analysis RTL Simulation / Timing 10

Enhanced Specifications Architecture System / C Code RTL Description (VHDL or Verilog) Synthesis FPGA Place and Route Gate Level Simulation Post Layout Simulation / Timing Architecture Analysis Static / Dynamic Analysis RTL Simulation / Timing 11

Transformations Architecture Architecture Analysis Platform Independent Platform Specific Platform Specific Platform Specific System / C Code Transform Rules Any language A Port Depth Clock Strategy High Bandwidth Synchronous Execution B C D Memory E F Low Bandwidth Asynchronous Deployment G 12

Transform to System Architecture Platform Independent Platform Specific Platform Specific Platform Specific Transform Rules Any language From code-oriented to model-oriented production techniques Clear separation of the fundamental logic of the specification from the particular implementation System / C Code 13

Architecture Building blocks for FPGA hardware and computational models using Streams C language es, Ports, and Connections Memory utilization Deployment and execution constraints A Port Depth Clock Strategy High Bandwidth Synchronous Execution B C D Memory E F Low Bandwidth Asynchronous Deployment G 14

Architecture Analysis Architecture Analysis and Design Language (AADL) Architecture description language SAE standard AS5506 s structure and high-level constraints of embedded computer systems Abstract specifications with general system design concepts Components, interconnections, hierarchy, data flow, etc. System device memory bus processor Data Concrete Specifications Properties (custom name/value pairs) Annexes (non-standard language embedded in AADL specifications) in in out Thread out 15

AADL / FPGA Concepts Streams Signal Memory Data Impulse C concept Connections AADL concept (or thread) Data Port Event Port Memory Data Connectors Adaptation Fixed execution rate. Possibly depends on a global clock. If using thread, one per process. Ports have depth and width. Occasional communication. Typically for synchronization. Many FPGA implementations possible. Defines the payload of a stream. AADL Bus and information flow 16

Example MILS I/O Multiple independent levels of security (MILS) Provides multi level enforcement by strict separation (the I in MILS) A given separation (or partition) may hold a single level of classification, or multiple single level (MSL) AADL experience with modeling MILS OS MILS applied to FPGA Separation of logic and pins 17

Example MILS I/O Trusted App on trusted OS makes high assurance I/O decision High Assurance Component Trusted FPGA makes high assurance I/O decision High Assurance Component App App App MILS RTOS FPGA NIC FPGA NIC FPGA NIC FPGA Sensor Feed Sensor Feed 18

Example MILS I/O Specifications Architecture Architecture * * Analysis System / C Code * RTL Description (VHDL or Verilog) Synthesis RTL Simulation / Timing Gate Level Simulation Static / Dynamic Analysis * FPGA Place and Route Post Layout Verification tool Simulation / Timing MILS FPGA implementation and verification AADL model and analysis artifacts 19

Conclusions FPGAs are important computational devices Traditionally the domain of hardware engineers Moving toward complex systems FPGAs have many shared resource issues of traditional computational devices Performance parameters are somewhat different 20

Conclusions FPGA algorithm implementations High quality through model transformations Rapid through analyses of models s and analyses are necessarily coarse grained Notions extensible to any FPGA and any code base FPGAs can be High Assurance MILS partitions proven through Verification Tool (logic and pins) 21