System Planning Overcoming Gap Between Design at Electronic System Level (ESL) and Implementation

Similar documents
FPGA briefing Part II FPGA development DMW: FPGA development DMW:

A VHDL 8254 Timer core

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

Hardware Design and Simulation for Verification

Ilmenau Technical University Faculty of Computer Science and Automation Department of System and Control Theory

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

ECE 459/559 Secure & Trustworthy Computer Hardware Design

EEL 5722C Field-Programmable Gate Array Design

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

EE382V: System-on-a-Chip (SoC) Design

MachXO2 Low Power Control Demo User s Guide

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

Intro to High Level Design with SystemC

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

Extending TASTE through integration with Space Studio

MISSION LEVEL DESIGN OF AVIONICS

SpecC Methodology for High-Level Modeling

Hardware/Software Co-design

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points)

System Level Design with IBM PowerPC Models

ECE 448 Lecture 15. Overview of Embedded SoC Systems

The Optimization of a Design Using VHDL Concepts

CoFluent Design FPGA. SoC FPGA. Embedded. Systems. HW/SW

Lorenz Kolb, Missing Link Electronics

Chapter 8 VHDL Code Examples

CDA 4253 FPGA System Design Introduction to VHDL. Hao Zheng Dept of Comp Sci & Eng USF

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

EEL 5722C Field-Programmable Gate Array Design

Chapter 5: ASICs Vs. PLDs

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

Test and Verification Solutions. ARM Based SOC Design and Verification

Introduction to VHDL Design on Quartus II and DE2 Board

In our case Dr. Johnson is setting the best practices

Unit 2: High-Level Synthesis

SDRAM CONTROLLER Specification. Author: Dinesh Annayya

An introduction to CoCentric

A VHDL UART core

Tri-State Bus Implementation

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

VLSI Design Automation

Design Issues in Hardware/Software Co-Design

Hardware in the Loop Functional Verification Methodology

Lecture 4. VHDL Fundamentals. George Mason University

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

Design of Embedded Systems

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Co-synthesis and Accelerator based Embedded System Design

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

C-Based Hardware Design

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification

Introduction to VHDL #3

Networks on Chip. Axel Jantsch. November 24, Royal Institute of Technology, Stockholm

Introduction to VHDL #1

COVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points)

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Hardware Software Codesign of Embedded Systems

Field Programmable Gate Array

Shortening Verification Time Using the CoverAll Toolset to Automate Assertion Based Verification. White Paper April

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

Hardware Description Languages & System Description Languages Properties

Embedded Hardware and Software

// // Revision /11/10 10:52:55 rherveille // Changed PRER reset value from 0x0000 to 0xffff, conform specs. //

Objective Design a 4*4 register file and test it on VSIM, QUARTUS, and UP3 board.

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

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

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

VLSI Design Automation

Design and Verification of FPGA Applications

14:332:331. Computer Architecture and Assembly Language Fall Week 5

A VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS

Hardware Description Language VHDL (1) Introduction

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

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

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

Getting Started with the CPU Design

Introduction to Programmable. Logic

Universiteit van Amsterdam 1

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University

The Architects View Framework: A Modeling Environment for Architectural Exploration and HW/SW Partitioning

DESIGN STRATEGIES & TOOLS UTILIZED

COE 561 Digital System Design & Synthesis Introduction

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

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

The CPU Bus : Structure 0

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

Introduction to VHDL #2

Concurrent Signal Assignment Statements (CSAs)

VHDL for Complex Designs

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

Hardware Description Languages. Introduction to VHDL

SoC Design for the New Millennium Daniel D. Gajski

OSCI Update. Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder

Transcription:

System Planning Overcoming Gap Between Design at Electronic System Level (ESL) and Implementation Horst Salzwedel, TU Ilmenau Presented at EDACentrum Workshop: System Planning Hannover, 30 November 2006 1

1. Challenge System Complexity chip complexity increasing (> 1 billion gates per chip) Synopsis of functionality to integrated chips (SoC) Components on chips become networked (NoC) Integration problems while put together ECUs (e.g. aircrafts up to 1000 ECUs, automobiles up to 100 ECUs) Exponential failure rates by extensive chips usage Architectural complexity Interdisciplinary functionality Dynamic interactions between components 2

1. Challenge System Design Productivity Efficiency of tools grows with maximum 25% per year Complexity of electronic systems grows 65% per year Resolve system design gap by improving quality of specification Abstract Modeling (gap between abstract model and implementation) Executable specifications (validation and performance analysis) Reuse of model components (functionality on different architectures) 3

1. Challenge Operational Requirements Integration of requirements Missions (use cases, test cases) Physical environment Functionality Modeling of system behaviour Performance Requirements Shared and exclusive functional resources Concurrent Processes Transactions and workloads Modeling of system architecture 4

Significant progress has been made by moving many design iterations to Electronic System Level (ESL) Mission Level HW Architecture/ Performance Level DE, FSM, CT SW SW Performance Estimation HW Design SW Design Validation of Implementation HW Functional Level Validation SW Implementation Level (Verilog, VHDL, SystemC) Developments are presented that permit to over come the gap between design at ESL and implementation 5

2. Mission Level System Design Mission Level Design Flow (1) Create Behaviour Model Mission Level (Environment, Use Cases, Test Cases) (2) Create/Generate Architecture Model (3) Performance analysis by simulation (4) Transform model into executable code Performance Analysis of Execution System Design Derivation Synthesis Validation Electronic System Level Performance/Architecture Function Verification & Implementation Details Performance Analysis of Communication (5) Test and validate prototype Implementation Level (C, VHDL) 6

2. Mission Level System Design (1) Create Behavioural Model Specification of missions, environment and desired system functionality Concept for modeling: What should desired system do? How to achieve? F1 F2 F3 F4 F5 F6 F7 F8 7

2. Mission Level System Design Create/Generate Architecture Model C C Definition of execution/communication architecture (allocation) Coupling of behaviour and architecture (binding) - Semi automatic: generation of default Architecture Model based on annotated Behaviour Model - Manually: Modelling of Architecture Model (usage of library model elements) and mapping of components from Behaviour Model System environment F1 F2 F3 F4 P1 P1 P2 System under design F5 F6 P3 F7 P3 F8 P3 8

2. Mission Level System Design Architecture Model - Features Definition of execution and transaction architecture Iteration over architecture (generic bus interfaces) Utilize XML standard and tools (XSLT) Performance analysis by model execution (DE) Starting point for synthesis Electronic System Level (Functional Level and Performance/Architecture Level together) Env P3 F1 F5 B2 R5 R1 F6 F8 F7 B1 R4 R2 B3 R3 R6 F2 F4 F3 P1 P2 9

2. Mission Level System Design Architecture Model - Elements Partitions Modeling of execution components as functional resources (mapping of functions) Determination of execution units for synthesis Abstract extensible buses Modeling of communication components (passive, active) to connect partitions (n to n) Mapping of functional data flows onto architectural data flows Internal generic interfaces and usage of standardized data structures Performance and interconnection schemes Determination of bus types for synthesis Linkable resources - Representation of abstract bus and partition resources by queues and servers DataIn Partition Bus R DataOut 10

2. Mission Level System Design (3) Performance analysis by simulation Processing amount and structure of informations, degree of attainable parallelism and necessary performance Analysis of time-related Architecture Model informations Queue size of interfaces Bus usage rates Refinement of execution and communication architecture Parametrization and replacement of buses (Wishbone, EIA232, USB 2.0, FlexRay, Zigbeex) Parametrization of interface queues Modification of resource linking states Usage of existing buses (Network Block Set) or definition of new buses (pattern approach) 11

2. Mission Level System Design (4) Transform model into executable code C C C Transformation into HW/SW prototype code (VHDL, C) and documentation (utilize XSLT standard and tools) Controlled and fine tuned by preliminary annotations within the model Flexible management of changes within the model and the generated code -- Implementation of module TSIPCommandModule -- component instantiation i_protocolencoder: ProtocolEncoder port map( Start => Relation3, Ende => Relation2, Data => Relation1, PaketData => Relation5, TXRdy => Relation4, Rdy => Relation6 ); i_setiooptions: SetIOOptions port map( Request => Relation7, Data => Relation1, Start => Relation3, Ende => Relation2, TXRdy => Relation6 ); Example -- external component connections PaketData_reg <= Relation5; Relation7 <= Request_reg; Relation4 <= TXRdy; 12

2. Mission Level System Design (5) Test and validate prototype C C C Easy to refine prototype by changes within the model or the generated code Compare performance results of model and the generated code Semiautomatic transformation allows tracking of requirements through stages of development Annotations Functional-/Architecture Model XSLT Transformation Simulation/ Analysis Documentation + Implementation Details Execution/ Test Source Code (VHDL, C) 13

Virtual SatNav Validation Environment navigation system model (MLDesigner) navigation satellite model (SatLab) data driven 3D-scene (OpenGL) car controller widget (Tcl/Tk) 14

Example: GPS Receiver Interface 15

3. Example Without Architecture Model With Architecture Model (bus specific delays) 16

FPGA Implementation -- IP Core ProtocolEncoder -- -- Conforms to Wishbone SoC library ieee; use ieee.std_logic_1164.all; entity ProtocolEncoder is port ( -- WISHBONE ports WB_CLK_I, WB_RST_I: in std_logic; WB_ADR_I: in std_logic_vector (2 downto 0); WB_WE_I: in std_logic; WB_DAT_I: in std_logic_vector (7 downto 0); WB_DAT_O: out std_logic_vector (7 downto 0); WB_ACK_O: out std_logic; -- Acknowledge of a transfer WB_CYC_I: in std_logic; -- A bus cycle is in progress WB_STB_I: in std_logic; -- Specifies transfer cycle -- Interrupt request register for signaling events IRQ_O: out std_logic; -- causes master to interrupt... 17

GPS Development: HW in the loop 18

Summary A methodology was presented to design at ESL and map the design into an implementation, consisting of functional design with virtual GPS development system automatically mapping of plug and play HW models into functional design iterating on integrated HW/SW model until functional requirements are met with the selected HW semi-automatically mapping selected partitions into VHDL -> FPGA hardware in the loop simulation with FPGA The methodology was validated for an example of a GPS based navigation system Example: GPS Receiver Interface 36 19