SystemC Modelling of the Embedded Networks

Similar documents
Test and Verification of SpaceWire Developments and VLSI Implementations.

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Modular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.

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

Abstraction Layers for Hardware Design

System Level Design with IBM PowerPC Models

Hardware in the Loop Functional Verification Methodology

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

Chapter 1 Overview of Digital Systems Design

Introduction to SystemC

System Level Design Technologies and System Level Design Languages

Approaches to the SoC IP- Blocks Design With Errors Mitigation

Virtual Prototyping in SpaceFibre System-on-Chip Design

Methodology of Searching for All Shortest Routes in NoC

Early Models in Silicon with SystemC synthesis

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

Hardware Design and Simulation for Verification

The Application of SystemC to the Design and Implementation of a High Data Rate Satellite Transceiver

ASIC world. Start Specification Design Verification Layout Validation Finish

101-1 Under-Graduate Project Digital IC Design Flow

Department of aerospace computer and software systems

Intro to High Level Design with SystemC

100M Gate Designs in FPGAs

Second revision of STP-ISS Transport. Protocol for Spacecraft On-board Networks

SpaceWire Network Performance Evaluation During the Streaming STP Data Transmition

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

Hardware/Software Co-design

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

An introduction to CoCentric

Hardware Description Languages & System Description Languages Properties

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition

Long Term Trends for Embedded System Design

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Lorenz Kolb, Missing Link Electronics

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Hardware Description Languages. Introduction to VHDL

High-Level Information Interface

Cosimulation of ITRON-Based Embedded Software with SystemC

The Optimization of a Design Using VHDL Concepts

THE DESIGNER'S GUIDE TO VERILOG-AMS First Edition June 2004

Short Course On Phase-Locked Loops and Their Applications Day 3, PM Lecture. Behavioral Simulation Exercises

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

EEL 5722C Field-Programmable Gate Array Design

SpaceWire Standard Problems and Evolution Lines. Experience of implementation and application

Plugging the Holes: SystemC and VHDL Functional Coverage Methodology

Network Topology Transformation for Fault Tolerance in SpaceWire Onboard Networks

Evolution of CAD Tools & Verilog HDL Definition

Hardware Description Languages & System Description Languages Properties

ISE Design Suite Software Manuals and Help

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

Overview of Digital Design Methodologies

D3.1 - SpaceWire-RT SDL Simulation Validation Plan

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT

SpaceWire-RT/SpaceFibre simulation models: implementation and application

The SystemC Verification Standard (SCV) Stuart Swan Senior Architect Cadence Design Systems, Inc.

Analog Mixed Signal Extensions for SystemC

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

Vivado HLx Design Entry. June 2016

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

RTL Coding General Concepts

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

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

Definitions. Key Objectives

23. Digital Baseband Design

Architecture Implementation Using the Machine Description Language LISA

Functional Programming in Hardware Design

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

Incisive Enterprise Verifier

An approach to accelerate UVM based verification environment

TOWARD A METHODOLOGY TO TURN SMALLTALK CODE INTO FPGA

Getting started with Digilent NetFPGA SUME, a Xilinx Virtex 7 FPGA board for high performance computing and networking systems

Optimize DSP Designs and Code using Fixed-Point Designer

Chapter 5: ASICs Vs. PLDs

Design Issues in Hardware/Software Co-Design

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

System Exploration of SystemC Designs

From Concept to Silicon

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

Design and Verification of FPGA Applications

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES

gsysc Visualization of SystemC-Projects (Extended abstract)

A MDD Methodology for Specification of Embedded Systems and Automatic Generation of Fast Configurable and Executable Performance Models

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Tutorial on VHDL and Verilog Applications

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

C-Based SoC Design Flow and EDA Tools: An ASIC and System Vendor Perspective

Multi-level Design Methodology using SystemC and VHDL for JPEG Encoder

A Design Methodology for the Exploitation of High Level Communication Synthesis

Programmable Logic Devices II

Fundamentals of Digital System Design ECE 3700, CPSC 3700

Simulation and Exploration of LAURA Processor Architectures with SystemC

ECE 699: Lecture 12. Introduction to High-Level Synthesis

Transcription:

Saint Petersburg State University of Aerospace Instrumentation, Russia; Nokia Research Center and Nokia Devices, Finland. SystemC Modelling of the Embedded Networks Valentin Olenev, Yuriy Sheynin, Elena Suvorova; Sergey Balandin, Michel Gillet.

Embedded systems The embedded system is a special kind of computer system where the processing logic is built into the device which it operates. The most standard set of requirements to such systems are: Small power consumption; Small physical sizes; Absence of active cooling; The processor, system logic and other, are often combined on one chip.

Designing tendencies at various levels of abstraction Systems design has a number of difficulties caused by: increasing complexity of projects increasing requirements to products reliability power consumption necessity of the shortest terms of the design.

System general design flow: Conceptual system design; directions choice analysis of the system development of system specification drafts Specification; final version of specification is maintained the model in a high level language is implemented (usually in С/С ++, SystemC, SDL); Logical design; converting of the specification to the register transfer level the result is a specification in Verilog/VHDL converting of the specification to the gate level; Project verification; verification of the project and design decisions on conformity to the initial specification and to other requirements; Physical design; begins from a physical synthesis finishes on the final specification in the GDSII format.

Modelling for the specification development process At the stage of project specification modelling is applicable for the following steps: Creation of the system functional model; Description of the system in terms of the algorithms and functions which it should implement; System modeling in its operational environment with real data and signals; Specification of the system architecture in terms of necessary resources and hardware-software realization of functional model.

Modelling for systems implementation validation Main requirements for structure of functional design and verification tools are: analysis of the architecture, productivity and other system parameters; hardware-software design of systems, possibility of joint development and verification of hardware and embedded software; system design with processor blocks, use of processors models in hardware and software development; uniform design environment, from the system level to the register transfer level and the gate level with C, C ++, SystemC languages support and hardware description languages such as VHDL and Verilog; libraries and high level constructs for functional blocks and communication channels, connectivity tables included; tools for the projects data control and documentation.

Modeling for device testing Such a Tester allows: to validate the standard specification itself, e.g. in the course of the standard development and evolution; to validate the model itself for correspondence to the specification; to test prototypes or boards in production; to verify products for conformance with the standard.

Requirements to the design language It should be based on a uniform notation for a possibility of simultaneous work by both programmers and hardware designers; It should support special primitives for verification at different abstraction levels, should be applicable to use at all levels; It should support software reuse, reuse some its structures, model components; It should support detail of implementation or synthesis up to the RTL; It should be able to integrate both hardware and software components models; It should have processor simulators to execute compiled for them object codes; It should support integration of different computing models; It should allow co-simulation and interaction of models at different abstraction levels: functional, architectural, transactions level, PHY level; It should support modeling of communications at different abstraction levels and integration of these models into efficient system model.

SystemC advantages SystemC is based on C++, it is constructed on the basis of libraries extension and the simulation kernel, written in C++. SystemC uses such primitives as channels, interfaces and methods, it gives high flexibility in modeling that could be based on various computation models, provides possibility to integrate and use these models in parallel. SystemC supports models at all abstraction levels and uses, within the scope of OSCI (Open SystemC Initiative), standard semantics at transactions level and API; it guarantees possibility to work simultaneously with different abstraction level models. Most of developers, software and hardware experts are familiar with C/C++ and it point makes cooperation in HW/SW design easier. SystemC supports modern methodologies of verification by means of SystemC multilevel verification library (SCV - SystemC Verification library). SystemC has been created for support IP-blocks of based design, reuse of design and verification components. SystemC supports hardware modeling and detailing of a project to the RTL level. Modeling of on chip communications is naturally supported in SystemC.

SystemC in system modeling In a system design flow main SystemC modeling areas are: Functional modeling of system algorithms. Modeling of system architectures at the transactions level. Modeling of RTL and binding SystemC with implementation paths in the design flow. It is used not only to describe models, but also to develop a test environment for these models and to use it for testing of real boards (SystemC verification library). Testing of operation of several protocols, working one "over" another in a protocol stack. By SystemC it is easy to describe structures, which are responsible for configuration of underlying model under needs of overlying, as well as to set various variants of configuration and functioning of the "upper" protocol.

Verification with SystemC Self-diagnostic (introspection) and possibility to work with any type of data items. Transactions writing, that makes transactions-based verification (TBV) a supplementing part of transaction level modeling. A simple randomization based on the set of limitations. Simple randomization can create distribution of values based on complex sets of correct intervals, and to set empty intervals. Randomization allows to link probabilistic distribution with values or with a subset of values in defined interval. So complex distributions can be associated with test platforms. Complex casual scenarios on test platforms could be generated by setting complex conditions and combinations in specification of allowable values sets of testing variables. SCV also provides a simple database to store and investigate verification results, gives simple SystemC to HDL simulator linkage mechanism, compatible mechanism for errors processing and debugging, error detection mechanism

Conclusions Modelling allows to accelerate and to simplify the design process for improvement of the standards quality and avoidance of specification errors. It helps to save the finance of the companies-developers. SystemC language occupies leading positions of modelling, as the most adapted, simple and clear language for off-site users. New SystemC standard updates also introduce ability to verification that expands the language applicability sphere. SystemC combination with other simulation languages is very perspective direction. (e.g., joint possibility to use SDL and C++).

Thank You