ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU



Similar documents
Architectures and Platforms

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Optimizing Configuration and Application Mapping for MPSoC Architectures

Testing of Digital System-on- Chip (SoC)

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

7a. System-on-chip design and prototyping platforms

Testing Intelligent Device Communications in a Distributed System

Introduction to Digital System Design

Introduction to System-on-Chip

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

Towards an Ontology-driven Intellectual Properties reuse for Systems On Chip design

Modeling a GPS Receiver Using SystemC

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

Introduction to Embedded Systems. Software Update Problem

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip


Defining Platform-Based Design. System Definition. Platform Based Design What is it? Platform-Based Design Definitions: Three Perspectives

Virtual Platforms Addressing challenges in telecom product development

NIOS II Based Embedded Web Server Development for Networking Applications

Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.

Codesign: The World Of Practice

State-of-Art (SoA) System-on-Chip (SoC) Design HPC SoC Workshop

High Performance or Cycle Accuracy?

Multiprocessor System-on-Chip

Universal Flash Storage: Mobilize Your Data

White Paper. Requirements of Network Virtualization

Management and Orchestration of Virtualized Network Functions

Switched Interconnect for System-on-a-Chip Designs

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach

White Paper. S2C Inc Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: Fax:

Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview

What is a System on a Chip?

Embedded Systems Engineering Certificate Program

Introduction to Exploration and Optimization of Multiprocessor Embedded Architectures based on Networks On-Chip

on-chip and Embedded Software Perspectives and Needs

So#ware Tools and Techniques for HPC, Clouds, and Server- Class SoCs Ron Brightwell

Software Stacks for Mixed-critical Applications: Consolidating IEEE AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

FACULTY OF POSTGRADUATESTUDIES Master of Science in Computer Engineering The Future University

System-On Chip Modeling and Design A case study on MP3 Decoder

Optimizing Shared Resource Contention in HPC Clusters

Network connectivity controllers

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

What is SDN (Software Defined Networking) and Openflow? SDN/OF Part of Kernel / SoC to provide security, steering & monitoring

OPTIMIZE DMA CONFIGURATION IN ENCRYPTION USE CASE. Guillène Ribière, CEO, System Architect

ASON for Optical Networks

Networking Virtualization Using FPGAs

Computer and Set of Robots

Networking Remote-Controlled Moving Image Monitoring System

Customer Specific Wireless Network Solutions Based on Standard IEEE

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

System-on-Chip Design Verification: Challenges and State-of-the-art

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

10 Gigabit Ethernet: Scaling across LAN, MAN, WAN

Reducing Configuration Complexity with Next Gen IoT Networks

Digital Systems Design! Lecture 1 - Introduction!!

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

Offline HW/SW Authentication for Reconfigurable Platforms

Hardware Resource Allocation for Hardware/Software Partitioning in the LYCOS System

Analysis of Open Source Drivers for IEEE WLANs

Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication

HARDWARE IMPLEMENTATION OF TASK MANAGEMENT IN EMBEDDED REAL-TIME OPERATING SYSTEMS

Chapter 1 Computer System Overview

Certification Authorities Software Team (CAST) Position Paper CAST-13

Design of Remote data acquisition system based on Internet of Things

Implementation of Wireless Gateway for Smart Home

Introduction to the NI Real-Time Hypervisor

Extending the Internet of Things to IPv6 with Software Defined Networking

A Generic Network Interface Architecture for a Networked Processor Array (NePA)

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

SoC Design Lecture 12: MPSoC Multi-Processor System-on-Chip. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology

1. Introduction. 2. Saving Overview

White Paper. Recording Server Virtualization

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

Chapter 13 Selected Storage Systems and Interface

Fieldbus Protocol For Secured Wireless Sensor Network Communication in Process Automation

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Virtual Platforms in System-on-Chip Design

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

TLM-2.0 in Action: An Example-based Approach to Transaction-level Modeling and the New World of Model Interoperability

M.Sc. IT Semester III VIRTUALIZATION QUESTION BANK Unit 1 1. What is virtualization? Explain the five stage virtualization process. 2.

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

Transcription:

ESE566 REPORT3 Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU Nov 19th, 2002

ABSTRACT: In this report, we discuss several recent published papers on design methodologies of core-based System-on-Chip. There are some critical issues in SoC design, such as power consumption, hardware cost etc. Each of the methodology tries to address some of these issues. We will detail their ideas and their implementation and compare them with each other.

SECTION I: Introduction System-on-Chip design is becoming a trend nowdays It is predicted by ITRS that up to 70% of ASICs (Application Specific Integrated Chip) will be SoCs, which is being proved to be true in the electronic market. SoC designs give advantages compared to traditional board design, but at the same time it creates some serious issues which have to be taken care of. As mentioned in [1] [2] we summarize some important ones here. First, as the design becomes more and more complicated: communication can not be specified at RTL (Register Transfer Level), and this level is not adapted to check communication protocols due to very large time cost; second, SoC usually many processor cores and each core may have its own instruction set to increase the flexibility of the system. However, the code is getting big and complex, which is becoming more important that hardware itself. Software may not be written in Assembly Language as today and more effort has to be spent on this issue; third, complex HW/SW interface are required to implement application specific communication interconnect and they have to be adapted to it according to the type of core. Fourth, as more and more processors are integrated into one single chip, chip area, power consumption, hardware cost becomes very crucial. For example, a high power consumption may not be acceptable for portable wireless devices. State-of-art design methodologies deployed is core based system. In core based design, the designer composed a system of cores and has a high degree of freedom to optimize his/her design according to the related design constraints. In this report, we discuss several papers. [1] is paper on an improved design methodology and design environment for application specific multicore SoC architectures. Component based design follows a bottom-up approach, which has the advantage of allowing designers to explore efficient custom solutions with best performances, thus ensuring high degree of freedom. The component based design approach in [1] uses a specification as a virtual architecture which is described in a SystemC-like model and annotated with a set of configuration parameters. Associated tools were developed with the methodology and will be detailed in this report. [2] tries to address the fourth issue of power consumption using a new HW/SW partitioning approach for core based embedded systems. It stem from the observation that mapping clusters of

operations to a core can yield high utilization rate of involved resources and thus to minimize power consumption. This report is organized as follows. Section 2 details the methodologies in the papers. Section 3 compares all the mentioned methodologies and associated tools and finally conclusions will be given in Section 4. SECTION II: Improved design methodologies In this section, we will detail the ideas and implementation of the improved design methodologies in the referred papers [1][2]. [1] is a new component based design approach for multicore SoCs and is mainly intended to improve the design efficiency. [2] is a new HW/SW partitioning approach for core based embedded system design which mainly focus on the minimization of power consumption. Application SW Programming API Standard OS Service SW supported pkg(drivers) Hardware Functions realized SW Specific API Custom OS Drivers Hardware (a)application software stack Figure 1. Software Organization (b)functional software stack In traditional SoC architectures, each kind of embedded processor has its own software organization. The application software is generally organized as a stack of layers on top of the hardware. This is shown in Figure 1a. The lowest layer provides the drivers and upper layers provides OS services and SW application layer is generated by the designer. Top layer is application specific software, which is usually written in Assembly or C. The

problem with this kind of software organization is that low level programming is very hard and also, it lacks flexibility and portability which makes it difficult to change the hardware part without a complete redesign [1]. To palliate this problem, [1] proposes a higher level programming approach for dedicated software. The new organization of software is shown in Figure 1b. With the new scheme, both dedicated and application software can be written independently from the hardware implementation, which gives a big advantage. As the author mentioned, an additional benefit is that dedicated software can be independent from hardware/software frontiers on architectures components and OS choices [1]. Accordingly, flexibility is created in the design process without loss of performance. The author favors the use of component based design methodology as it increase the abstraction level and is beneficial for design time reduction for communication refinement. So, the key idea by the author is to use an abstract architecture where communication is separated from the component on the hardware side and from the functions on the software side. In the proposed methodology, system is described as a set of virtual components interconnected via channels. Virtual components are composed of wrappers and internal components. Virtual architecture is described by an extension of SystemC. The methodology will generated automatically the wrappers in order to produce a detailed architecture. The author uses a generic multicore SoC architecture in which processors are connected to communication networks via wrappers. Wrappers actually act as communication bridges. Wrapper is composed of a software part and a hardware part. For software part, wrappers provide the implementation of high level communication primitives used in software module. Software wrapper part can also be added more function if more services are required. For the hardware part, the internal structure of wrapper consists of a processor adapter, a channel adapter and an internal bus. In addition, the author also developed a design environment which can automatically generate wrappers. The complete system design flow is as follows: first, an initial internal model is obtained, which is a virtual architecture. Then, from the virtual architecture, hardware wrapper, software wrapper and co-simulation wrapper are generated. The co-simulation wrapper is used to validate the internal model. Finally, executable co-simulation model can be generated and simulated. This high level component-based design methodology is tested on VDSL application, resulting in a

15-fold reduction in design effort and the design is as good as commercial or handcrafted designs [1]. The second paper by Jorg Henkel also discussed a HW/SW partitioning approach methodology with the focus to minimize power consumption. HW/SW partitioning has exists for many years, but it is mainly used to improve system performance or keep low system cost without considering the power consumption. The architecture of a system that this methodology applies to consists of a µp core, a set of standard core and a set of application specific cores. The methodology tries to partition between µp core and application specific cores in order to minimize power consumption. The motivation for the methodology is that during execution of a program, different hardware resources in the core are used, hence with a different utilization rate. In a operation, those circuit units which are not active still consumes power because they continue to switch so that waste power. So, the obvious solution to this could be to deploy additional cores for particular purpose so that only related cores works while all the others do not. But it would be better to shut down individual resources within each core rather than deploying additional cores as core based techniques are used in the design and we should allow the use of this state-of-art design methodology. The input to the partitioning process is a behavior description of an application that is subject to partitioning between ASIC core and µp core. It follows several steps here. Step 1, a graph from the description is derived which represents operations. Step 2, decomposition of the graph into clusters is performed. The implementation of the cluster on an ASIC core might lead to energy reduction. In step 3, the amount of energy that can be saved in that case is calculated. Step 4 performs a pre-selection of clusters which are promising to give power saving. Due to the architecture for the methodology, additional traffic via the bus structure is caused. Next, in step 5 a loop is started for all sets of resources which is designed by the designer. Then, a list schedule is performed on the current cluster to prepare the following step 9, in which the actual utilization rate of the core is calculated and it is tested whether it can achieve energy saving on an ASIC core or a µp core. If the current cluster can achieve energy saving, then step 10 is activated to roughly estimate how much energy can be saved. Energy is calculated by using the previous utilization rate if it is implemented in ASIC core and dedicated instruction set energy simulation tool is

used if in a µp core. The whole portioning process is implemented in an optimization algorithm. The objective function includes the normalized energy power consumption and the hardware cost. In the design process, those clusters that yield a higher utilization rate and that yield the highest core of the objective function are provided to the hardware synthesis flow. The methodology was tested on several cases and high energy savings between 35% to 94% were achieved with also a decrease of execution time of 17% to 35%. Meanwhile, the additional hardware cost is reasonable. SECTION IV: Comparison of the methodologies In Section 2, we discussed several design methodologies for the core based embedded system design. We will try to compare them in term of several metrics even though they are targeted to different objectives. Paper in [1] presents a methodology to improve the design cycle of embedded system based on a new organization of the software part. It is a very efficient methodology and can generate as good designs as commercial tools. But power consumption is not reported in the paper. On the other hand, paper [2] focus on minimizing the power consumption of embedded system by a new HW/SW portioning algorithm. High energy savings were reported in the paper with a little bit higher hardware cost. We believe there are two concerns with the methodology: one is that the long execution time of the design process, especially when considering the RTL level simulation to calculate energy saving, the other one is that it is mainly targeted to DSP-oriented applications.

SECTION V: Conclusions This report discusses several design methodologies for embedded systems. In [1], a high level component based design methodology and design environment for application specific multicore SoC architectures, resulting in short design cycle. A low power HW/SW partitioning approach was also discussed to minimize power consumption.

REFERENCES: [1] W. Cesario et al, "Component-Based Design Approach for Multicore SoCs'', Design Automation Conference,2001. [2] Jorg Henkel et al, "A Low Power Hardware/Software Partitioning Approach for Core-based Embedded Systems", Design Automation Conference, 1999.