Automatic Communication Refinement for System Level Design Samar Abdi, Dongwan Shin and Daniel Gajski Center for Embedded Computer Systems, UC Irvine

Slides:



Advertisements
Similar presentations
A hardware-software co-design approach with separated verification/synthesis between computation and communication Masahiro Fujita VLSI Design and Education.
Advertisements

System-level Architectur Modeling for Power Aware Computing Dexin Li.
SoC Challenges & Transaction Level Modeling (TLM) Dr. Eng. Amr T. Abdel-Hamid ELECT 1002 Spring 2008 System-On-a-Chip Design.
Computer Architecture
System Integration and Performance
SOC Design: From System to Transistor
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Efficient Collective Operations using Remote Memory Operations on VIA-Based Clusters Rinku Gupta Dell Computers Dhabaleswar Panda.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Simulation Verification of Different Constraints in System Level Design in SystemC Piyush Ranjan Satapathy CS220 Class Project Presentation.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
Optimizations for a Simulator Construction System Supporting Reusable Components David A. Penry and David I. August The Liberty Architecture Research Group.
Multiple Processor Systems
MotoHawk Training Model-Based Design of Embedded Systems.
Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P Member :陳嘉雄 R Member :林振民 P
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
Copyright  2006 Daniel D. Gajski 1 Extreme Makeover of System Design Science Daniel Gajski Center for Embedded Computer Systems (CECS) University of California,
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Partial Order Reduction for Scalable Testing of SystemC TLM Designs Sudipta Kundu, University of California, San Diego Malay Ganai, NEC Laboratories America.
Copyright  1999 Daniel D. Gajski IP – Based Design Methodology Daniel D. Gajski University of California
Applying Ulysses to Bluetooth Alvise Bonivento Mentor: Marco Sgroi.
Transaction Level Modeling Definitions and Approximations Trevor Meyerowitz EE290A Presentation May 12, 2005.
Network-on-Chip: Communication Synthesis Department of Computer Science Texas A&M University.
1 Embedded Computer System Laboratory RTOS Modeling in Electronic System Level Design.
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
Computer Architecture Lecture 08 Fasih ur Rehman.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Extreme Makeover for EDA Industry
New Strategies for System Level Design Daniel Gajski Center for Embedded Computer Systems (CECS) University of California, Irvine
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Compiler & Microarchitecture Lab Support of Cross Calls between Microprocessor and FPGA in CPU-FPGA Coupling Architecture G. NguyenThiHuong and Seon Wook.
A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
Fast Simulation Techniques for Design Space Exploration Daniel Knorreck, Ludovic Apvrille, Renaud Pacalet
Design & Co-design of Embedded Systems Next Step: Transaction-Level Modeling Maziar Goudarzi.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
TTCN-3 MOST Challenges Maria Teodorescu
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
1 Embedded Computer System Laboratory Systematic Embedded Software Gerneration from SystemC.
Presentation by Tom Hummel OverSoC: A Framework for the Exploration of RTOS for RSoC Platforms.
CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #5 – System-Level.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
Recen progress R93088 李清新. Recent status – about hardware design Finishing the EPXA10 JPEG2000 project. Due to the DPRAM problem can’t be solved by me,
Virtual-Channel Flow Control William J. Dally
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
CIS 4930/6930 System-on-Chip Design Transaction-Level Modeling with SystemC Dr. Hao Zheng Comp. Sci & Eng. U of South Florida.
System-on-Chip Design Homework Solutions
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
IP – Based Design Methodology
Introduction to cosynthesis Rabi Mahapatra CSCE617
CprE 588 Embedded Computer Systems
Mark McKelvin EE249 Embedded System Design December 03, 2002
Transaction Level Modeling: An Overview
Presentation transcript:

Automatic Communication Refinement for System Level Design Samar Abdi, Dongwan Shin and Daniel Gajski Center for Embedded Computer Systems, UC Irvine

Outline Main Idea Related work Introductory example Communication refinement Experimental results Impact on SLD

Possible Design Methodology Specification Model Transaction model Communication model Implementation model Software compilation Interface synthesis Hardware synthesis Refinement Designer Decisions Evaluate Refinement Evaluate ~6.5K LOC ~8K LOC ~9K LOC ~15K LOC

Motivation Rewriting system models is painful –Time consuming –Error prone Goal : Automatic model rewriting Extra benefits : –Speedy Design space exploration –Choose a good communication architecture

Related Work CoWare (Symphony, DAC 1996) –Rendezvous point to point communication with RPC TIMA (A. Jerraya et al. DAC 2001) –Interface library for parameterized components –Communication using FIFO channels SystemC Co-centric Studio ( –Modeling and Simulation SCE ( –Synthesis –Refinement –Evaluation

Decisions and Refinement Transaction level Model –Tasks divided amongst components. –Point to point data transaction channels. transaction channels. Generate pin-accurate communication model from transaction level model Communication Model –System Buses –Bus Interfaces –Communication structures ? SWHW2 TC1TC2TC3 HW1 Arbiter SWHW2HW1 IC Designer Decisions

Communication Refinement Protocol Library SWHW1HW2 SWHW1HW2 TC1TC3TC2 Arbiter IC Designer Decisions Bus Selection Channel Partitioning Interrupt controller type Arbitration policy Transaction Level Model Communication Model Bus 1 (protocol 1) Bus 2 (protocol 2)

Transaction Channel Definition Two way blocking communication between components Complex data structures Deterministic behavior Relatively independent DATA Send Recv Write DATARead DATA ready wait ack wait TC

Refinement Example SW (Master) Send (v) HW (Slave) v = Recv( ) ch Data Simplification Bit-stream gen. Write words Bus Master IF Data Regeneration Bit-stream gen. Read words Bus Slave IF System Bus Wires Interrupt Added during communication refinement Interrupt Handler Ready Flag Application Layer Application Layer

Communication Style for 2 Statically scheduled components Master ComponentSlave Component Application LayerInterrupt Handler Application Layer I1 I2 S3 S2 S1 A1 A2 SlaveReady == FALSE SlaveReady == TRUE Bus Transfer SlaveReady = FALSE Interrupt == 0 Interrupt == 1 SlaveReady = TRUE Notify Interrupt BusAddress != SlaveAddress BusAddress == SlaveAddress Bus Transfer

Communication Style for Dynamically scheduled master with multiple slaves Master ComponentSlave Component Application Layer (for variable vi) Interrupt HandlerApplication Layer I1 I2 S3 S2 S1 A1 A2 SlaveReady [ i ] == FALSE SlaveReady [ i ] == TRUE Bus Transfer SlaveReady[i] = FALSE Interrupt == 0 Interrupt == 1 SlaveReady[ i ] = TRUE Notify Interrupt BusAddress != SlaveAddress BusAddress == SlaveAddress Bus Transfer Reserve IOPort Release IOPort I2 i = ReadSlaveID()

For Each bus with numMasters > 1 –Instantiate Arbiter –Make req/gnt port connections For each master with numSlaves > InterruptPorts –Instantiate Interrupt Controller –Make req/gnt port connections For each application channel in master –CodeGen (wait SlaveReady) –If (dynamic scheduling) CodeGen (req Bus Access) –If (multiple masters) CodeGen (req Bus; wait gnt) For each application channel in slave –CodeGen (notify Interrupt) –If (multiple slaves) CodeGen (wait gnt) CodeGen (notify address) Depth first traversal over complex data structure For each Integral type –Convert to bit vector –Slices of data bus width Generate Code to write sliced words on data bus Complete Refinement Algorithm Derive Connectivity –Instantiate protocol channels Instantiate application channels Instantiate communication structures Slice data Add synchronization –Master –Slave –Interrupt Handler B1B2C1MS C2M/SS C3SM Bus Comp Transaction channel ch1ch2typesendrecv busB1/MB2/S App. Ch. A1(B1m)A2(B2s)

Productivity Gain SystemArchitecture Transaction model size (LOC)Comm. Model size (LOC)ModifiedLOCAutoRefineTimeManualRefineTime 1 DSP + 2 HW +1 DSPBus s ~240 h 1 DSP + 4 HW +1 DSPBus + 2 HSBus s ~2000 h 2 DSP + 7 HW +2 DSPBus + 2 HSBus s ~2140 h GSM Vocoder models used Experiments done on a 2 GHz Pentium 4 machine using SCE (System-on-Chip Environment) Manual refinement estimated at modifying 10 LOC/person-hr

Quality Analysis Vocoder Model (1 DSP, 1 HW, 1 DSPBus) –Transaction model size : 7992 LOC –Modified lines of code Manual refinement : 1141 LOC Automatic refinement : 1299 LOC ×Spurious application channel generation 2 application channels per transaction channel2 application channels per transaction channel optimized by identifying reusable application channelsoptimized by identifying reusable application channels Automatically generated code is more modular and understandable Automatically generated code is more modular and understandable

Conclusions Automatic generation of communication models High productivity gain Applicable to complex communication architectures Extensive exploration possible Automatically generated models are maintainable Improvements to refinement algorithm in the future Visit