Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

download Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

of 96

Transcript of Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    1/96

    22/06/2011 Pi di pagina - Arial 12 pt.

    Graphical System Design

    A Top-Down approach at Selex ElsagIntroduction

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    2/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Problems

    Statistics derived from audits held at Electronic Industries especially focused

    on embedded technologies inform that:- 15% of the projects fail, that is these projects never end- 85% of the projects don't fail, that is these projects end, but

    - 50% of these projects are late (in average 4 months as delay)- 70% of these projects are missing the requirements by more than 30%- 30% of these projects are missing the requirements by more than 50%

    Failures are coming from limited visibility- of the complete System- between each Design Domain and the following one

    Missing of requirements is coming from:

    - limited ability to trace the execution- limited ability to control the execution

    Then, lack of observability and controllability.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    3/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Problems

    Following the Customer Needs Selex Elsag transformed itself from anEquipments Provider to a Solutions Provider.

    Following the Technology Trends Selex Elsag is focused on embeddedsystems (SW/FW is becoming more relevant than the HW only).

    Following the Time-to-Market constraints, Selex Elsag is adopting COTS

    - both HW and SW/FW COTS

    - not only for Prototyping, but also for Production

    - at any level (equipments, assemblies, components)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    4/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Problems

    Solutions provided by Selex Elsag are:- really complex, everything is a system- a solution is a system of equipments

    - an equipment is a system of assemblies

    - an assembly is a system of components

    - a component could be a system of inner components

    - designed, engineered, manufactured, integrated, and tested by distributedTeams, distributed as site, but also as Technology Phase & Domain

    - Solution Architects

    - Equipment Architect

    - Design Experts (on different Domains)

    - Development Experts

    -

    These distributed Teams are usually

    - responding to different Directorates

    - speaking different languages

    -

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    5/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Problems

    Many problems to face:

    - Larger and larger Projects to be fully managed

    - Projects to be On Time

    - Projects fully covering the Requirements

    Then Processes, Methodologies and Tools to be adopted.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    6/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: High Level Solution

    PROCESSES, METHODOLOGIES, TOOLS

    HIGH LEVELARCHITECTURE

    MEDIUM LEVELARCHITECTURE

    HIGH LEVELVIRTUAL

    PROTOTYPING

    MEDIUM LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELDESIGN

    ALGORITHMICEXPLORATION

    LOW LEVELSYNTHESIS

    LOW LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELHW in the LOOPPROTOTYPING

    LOW LEVELSIMULATION

    PROJECT PLANNING, CONFIGURATION MANAGEMENT, REQUIREMENTS & TESTS

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    7/9622/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HL Solution :: Requirements

    The Requirement has not to be divorced from the remainder of the process,but has to strictly follow the entire process, otherwise problems at the endsuch as the final product not fully addressing all the requirements, then:

    - Requirement must be captured from the start to the end of the project- Requirements must be edited from the results on the intermediate design

    phase- Requirements must be strictly linked to the design data package items

    STAKEHOLDER REQUIREMENTS LAYER

    SYSTEM REQUIREMENTS LAYER

    SUBSYSTEM REQUIREMENTS LAYER

    COMPONENT REQUIREMENTS LAYER

    MODELING

    MODELING

    MODELING

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    8/9622/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HL Solution :: Configuration Mngt

    As written previously, the creation of complex systems may involve multiplesystem architects, system designers, hw / fw / sw developers, andverification engineers usually splitted into multiple teams.

    A key consideration is that the entire design and verification environmentshould be architected so as to facilitate distributed/paralleldesign/verification, all while allowing requirements and modifications to be

    tracked and traced.

    Then the requirements must have continuous:- Traceability analysis- Impact analysis so that, if a change there is, then the change can be

    managed

    Then a very sophisticated Configuration Management, so to have:- continuous snapshot of all the portions of the design (hw, fw, and sw)- support for revision, versions- continuous and progressive archiving

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    9/9622/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HL Solution :: Testing

    The goal is to address the design/development/manufacturing flaws that are

    introduced at every stage to ensure these are detected well before the finalproduct validation for on-time product delivery.

    All the methodologies, techniques, and tools regarding White Box Test, BlackBox Test, System Test must be implemented, used and strictly interfaced toRequirements Management.

    STAKEHOLDER

    REQUIREMENTS

    SYSTEM

    REQUIREMENTS

    SUBSYSTEM

    REQUIREMENTS

    COMPONENT

    REQUIREMENTS

    SYSTEM

    TEST

    INTEGRATION

    TEST

    COMPONENT

    TEST

    ACCEPTANCE

    TEST

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    10/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Introduction

    Perfect Project Planning, Requirements Management, Tests Managementand Configuration Management are necessary, but not sufficient to solve theproblems.

    A new Design & Development paradigm has to be used.

    Selex Elsag is using Graphical System Design methodology:

    following a Top Down approach

    in all the Technological Domains

    Architecture

    Design Hardware Analog & Digital Engineering

    Firmware Engineering

    Software Engineering

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    11/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Introduction

    Graphical System Design (GSD) is a modern approach to designing,prototyping, and deploying embedded systems that combines open graphicalprogramming with COTS hardware to simplify development.

    This is basically a way for domain experts, or non-embedded experts, that isexperts managing high level abstraction Languages and IntegratedDevelopment Environments to access embedded design without learninglow level development languages and/or design outsourcing.

    DEPLOYProduction phase

    Target the application to

    the same EVB or to the

    Custom Board and scale

    with the production test

    DESIGNConcept phase

    Iterate on algorithm or

    model development also

    using real world stimulus

    PROTOTYPEValidation phase

    Implement the design on

    EVB to validate the

    functionality

    Basically GSD is implemented in the following three steps:- Design (algorithms at high level abstraction using also real-world stimulus)- Prototype (design implementation & validation on COTS HWdevices/boards)

    - Deployment (on the final HW device/board)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    12/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: Introduction

    GSD is part, or better, is a super-set of Electronic System Level (ESL).

    ESL allows the utilization of appropriate abstractions in order to increasecomprehension about a system, and to enhance the probability of asuccessful implementation of functionality in a cost-effective manner.

    Rapid and correct-by-construction implementation of the system can beautomated using high-level languages towards low-level languagesautomatic translators and putting all that on Evaluation Boards withProgrammable Devices.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    13/96

    22/06/2011 Pi di pagina - Arial 12 pt.

    Graphical System Design

    A Top-Down Approach at Selex ElsagSolutions Level

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    14/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA

    PROCESSES, METHODOLOGIES, TOOLS

    HIGH LEVELARCHITECTURE

    MEDIUM LEVELARCHITECTURE

    HIGH LEVELVIRTUAL

    PROTOTYPING

    MEDIUM LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELDESIGN

    ALGORITHMICEXPLORATION

    LOW LEVELSYNTHESIS

    LOW LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELHW in the LOOPPROTOTYPING

    LOW LEVELSIMULATION

    PROJECT PLANNING, CONFIGURATION MANAGEMENT, REQUIREMENTS & TESTS

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    15/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA

    As said at the beginning of this presentation, Selex Elsag is a Solution Provider.

    A communication solution is a complex system composed by connected equipments;connections are both wireline and wireless.

    The solution has to meet the stakeholder requirements.

    The Selex Elsag design methodology starts with the Solution Architecture design done usingNetworking Simulators.

    Advantages:- Project Start

    - Immediate definition about equipments and links supported by a direct analysischeaper and faster than System Test using real equipments

    - Possibility to receive immediate feedback coming from the Customer

    - Make/Buy decision at equipment level

    - Update/Upgrade

    - Impact analysis given by changes introduced at both equipments and links level- Research:

    - Performances evaluation regarding a new protocol to be implemented

    Obviously:

    - The Equipment/Link models must be carefully validated

    - Time/Money effort to Realize/Buy models regarding Company/COTS equipments

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    16/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES

    Network Architecture and Simulation is based on Discrete Events Simulation (DES)

    paradigm.

    DES

    - is not driven by time flow

    - is driven by Events, like: a received packet, timer expiration, a process output,

    - dynamically models and analyzes a system like a set of entities that interacts to each other.

    It may present the disadvantage of high simulation run times for really detailed analysis andstatistics.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    17/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES

    Usually- A Project Editor graphically represents the

    topology of a communications network on a realscenario; the user can create node and linkobjects to represent network topology elementsand configure those quickly using dialog boxes;projects can contain multiple what -if scenariosto facilitate design comparisons.

    - A Node Editor captures the architecture of anetwork device or system by depicting the flow

    of data (stream) between functional elements,called "modules (and the node input/outputinterfaces); modules typically represent networkprotocols or algorithms and are assignedprocess models (developed in the ProcessEditor) to achieve any required behavior.

    - A Process Editor uses a finite state machine(FSM) approach to support detailed specification

    of protocols, resources, applications, algorithms,and queuing policies; FSMs are dynamic and canbe spawned during simulation in response tospecific events; the high level code, like C/C++,that governs each state of a process model canbe rapidly customized also using APIs thatfacilitate development and support commoncommunications mechanisms, such as packets,queues, and traffic; a procedure is called

    entering or exiting a state; a state transition isdriven by events

    A Network Simulator is architected on a series ofhierarchical editors that parallel the structure ofreal networks, equipment, and protocols.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    18/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES

    All wireless characteristics are seamlessly integrated with higher layer protocol models,providing the ability to model the many aspects of wireless transmission, including:

    - RF propagation (path loss with terrain diffraction, fading, and atmospheric attenuation)

    - Signal modulation and de-modulation

    - Interference and jamming

    - Transmitter/receiver characteristics

    - Node mobility including handover

    - Interconnection with wired transport networks

    The wireless links are emulated using customizable Transceiver Pipeline models designed toefficiently calculate wireless effects such as link closure, directional antenna gain, pathloss, noise and interference, modulation effects, and bit errors.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    19/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES :: WL (TX)

    TransmissionDelay

    ChannelMatch

    LinkClosure

    PropagationDelay

    Tx AntennaGain

    Start of transmission

    2

    4

    1 3

    5

    ReceiverGroup0

    Start of reception

    Executed once at the start of simulation

    for each pair of transmitter-receiverchannels

    Stage 1: Executed once per transmission

    Stages 25: Executed separately for each receiver channel

    Packet FailEvaluating nextreceiver channel

    Packet IgnoredEvaluating next receiver channel.

    Kernel Action: Destroying Packet

    Packet Valid / Packet Noise

    Copy Packet

    Transmitter

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    20/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES :: WL (RX)

    Receiver

    Rx AntennaGain

    InterferenceNoise

    ReceivedPower

    Error Allocation

    Signal to NoiseRatio

    ErrorCorrection

    Bit ErrorRate

    6 7

    8

    BackgroundNoise

    910

    11 1312

    End of reception

    Noise Packet

    Valid Packet

    For every receiver channel which passed the transmission stages

    Start of reception

    1+ Executed one or more times

    0+ Executed zero or more times

    0+

    1+

    1+ 1+

    Valid Packet

    Packet Accept

    Packet Reject

    (Delete Packet)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    21/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES :: SysML/UML

    Component_1

    Component_1.3Component_1.2

    Component_1.1

    Component Diagram

    -Decomposes the application

    -Defines the Interfaces

    Class_1

    { attributes_1 }

    { methods_1 }

    Class_3{ attributes_3 }

    { methods_3 }

    Class_4

    { attributes_4 }

    { methods_4 }

    Class_5

    { attributes_5 }

    { methods_5 }

    Class_2

    { attributes_2 }

    { methods_2 }

    1. State_3

    entry / action_3.1

    exit / action_3.2

    1. State_1

    entry / action_1.1

    exit / action_1.2

    1. State_2

    entry / action_2.1

    exit / action_2.2

    1. State_4

    entry / action_4.1

    exit / action_4.2

    Event_a

    Event_b

    Event_dEvent_c

    Event_e Event_f

    Statement_1;

    Statement_2;

    Statement_n;

    Class Diagram

    -Abstractions

    -Associations

    -Operations

    State Diagram

    (system, component, class)-Functional Lifecycle

    -Event Handling

    Action Specification

    -Processing

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    22/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLA :: DES :: SysML/UML

    SysML/UML is chosen as system specification language and implementation environment.

    New features where added to describe more complete system models made of HW and SW, then aprofile for Network Architecture that allows describing structural and behavioral features usingcomponents, composite components, class, composite classes, objects, and extended statemachine diagrams.

    The behavioral model is conceived for code generation.

    The Network Architecture UML profile was added in the Profile Section of the UML tool and savedas XML file, then:

    - creation of the package

    - definition of stereotypes and meta classes they apply to

    - tagged values

    - stereotypes images

    Code Generation is one of the key characteristics of UML:- a PIM (platform independent model) is created in UML (only design)

    - PIM can be mapped to a PSM (Platform Specific Model) (which contain design and implementationdetails)

    - the PSM is then implemented in C++

    The code extraction can be skeleton, partial, or full type.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    23/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLVP

    PROCESSES, METHODOLOGIES, TOOLS

    HIGH LEVELARCHITECTURE

    MEDIUM LEVELARCHITECTURE

    HIGH LEVELVIRTUAL

    PROTOTYPING

    MEDIUM LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELDESIGN

    ALGORITHMICEXPLORATION

    LOW LEVELSYNTHESIS

    LOW LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELHW in the LOOPPROTOTYPING

    LOW LEVELSIMULATION

    PROJECT PLANNING, CONFIGURATION MANAGEMENT, REQUIREMENTS & TESTS

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    24/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLVP :: SITL

    Network Simulators usually have System-in-the-Loop modules providing an interface forconnecting live network hardware or software applications to a discrete event simulation.

    The prototype hardware/software application (or COTS) can interact with numerous virtualdevices within the model, potentially avoiding the need for an expensive test lab.

    Using SITL users can:> Perform developmental, interoperability, scalability, and conformance testing of prototype

    hardware and software applications.> Create a virtual training facility for devices or applications interfacing directly with

    simulated network infrastructure containing numerous simulated devices.> Study the behavior of prototype applications by deploying them on a simulated network

    topology.> Analyze the performance of a new protocol deployed in a simulated network environment

    by injecting real network traffic.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    25/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLVP :: SITL

    The computer running DES simulation can be connected simultaneously to multiple live

    devices through different network interfaces. The simulation contains one "Gateway" nodefor each live device, which transforms real packets into simulated packets and back, as theytraverse between the real and simulated domains.

    When the simulation is started, packets flow in real-time between the live device and thesimulation. Packets are captured, filtered, and converted into simulated packets in the DESsimulation. The simulation must operate in real-time in order to guarantee thesynchronization of the packet conversion and the inward flow of traffic.

    In some cases, conversion models are required to decode conversation between live andsimulated devices or vice versa.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    26/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLVP :: SITL

    Models only simulation

    Interfacing Models and HWs

    Complete Simulation

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    27/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: HLVP :: 3D

    It is possible also to have a three-dimensional displays of network simulations thatincorporate topology, node relationships, and performance statistics overlaid onrealistically rendered terrain.

    This display tool creates a three-dimensional synthetic environment that provides a backdropfor overlaid node mobility and communications system performance.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    28/96

    22/06/2011 Pi di pagina - Arial 12 pt.

    Graphical System Design

    A Top-Down Approach at Selex ElsagSW Defined Equipments

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    29/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    In this presentation a brief description of a Software Defined Radio (SDR) following theSoftware Communications Architecture (SCA), then:

    - Platform (HW/SW)

    - Platform (HW)

    - Abstraction Layer (SW)

    - Waveforms (SW + FW)

    and the strong influence of a GSD Top-Down approach in the project.

    The main objectives of USA DoD through the JTRS JPO delivering SCA Specs were:

    - to enhance the global communication connectivity (Network Centric Warfare)

    - to enhance the communication capacity

    - to reduce the costs for development, manufacturing and integration all that in the Defense &Aerospace market.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    30/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    WF_1 WF_1

    HAL

    HW

    WF

    HAL_1

    HW_1

    HAL_2

    HW_2

    WF_1.0

    WF_1.1

    HAL

    HW

    (a) (b) (c)

    The main objectives of SCA specs are:

    - Re configurability (a)

    - Portability (b)

    - Upgrade ability (c)

    The Platform is the HW infrastructure + the HW Abstraction Layer (w/o SW).The Waveform is all the SW processing the voice/data from/to the Antenna/User.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    31/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    Analog

    Front End

    WF Processing

    Unit

    User

    I/O

    MNGT

    Unit

    WF Flow

    MNGT SW

    RTOS API

    RTOS

    BSP

    HW

    SW/FW

    HW

    Traditional Radios are:

    - difficult to be re-configured- not allowed for portability

    - difficult to update/upgrade (HW + SW)

    in fact the SW/FW layer

    - is strictly linked to the RTOS and HW (GPP)

    - is strictly linked to the HW (DSP and FPGA)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    32/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    DEVICE

    COMPONENT

    WaveForm

    COMPONENT

    SERVICE

    COMPONENT

    Application

    Abstraction Layer

    RTOS

    BSP

    HW

    I/F

    Kernel API

    Device Driver

    Driver

    Executing Thread

    As said previously the main objective is to abstract the waveform from the platform, then:

    - the waveform(s) must be composed by a set of connected SW Waveform components

    - the control/management services offered by the radio must be composed of a set ofconnected SW Platform components

    - the HW platform must have an abstract representation, that is, the abstract platform iscomposed of a set of connected "logical devices", that is of a set of connected SW PlatformComponents

    All the Waveform, Service, and Logical Device SW Components must be connected in anabstract way.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    33/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    The Abstraction Layer is realized using the following technologies:- CORBA MW (middleware)- POSIX (RTOS calls set)

    The abstraction Layer is composed of:- AEP (Application Environment Profile) for RTOS POSIX calls- CORBA MW- Core Framework (CF)

    The Operating Environment (OE) is composed of:- the Abstraction Layer- RTOS (+BSP)

    The Domain Profile, as seen later, contains the configuration information for SDR.

    The Application Program Interface (APIs) standard manages the interfaces among waveforms,services, and device components.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    34/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    WAVEFORMS, SERVICES, DEVICES

    SOFTWARE COMPONENTS

    OE

    HW

    HW

    BSP

    OS

    AEP

    CFCORBA

    WAVEFORMS, SERVICES, DEVICES

    SOFTWARE COMPONENTS

    SW Components have a limited access to the RTOSpassing through the AEP

    Core Framework is a set of OO Interfaces (OO I/F)realizing the abstract platform structure where tocompose the waveform to be deployed, and thenexecuted

    Every element inside the Core Framework is followingthe SCA specs and it is a CORBA object, that is aninstance of a Class registered onto an ORB (ObjectRequest Broker) by a POA (Portable ObjectAdapter)

    Later both ORB and POA explained

    CORBA MW has an unlimited access to the OS

    Core Framework may have some Adapter towardsnon CORBA devices

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    35/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    PLATFORM

    COMPONENT

    (Device)

    PLATFORM

    COMPONENT

    (Device)

    PLATFORM

    COMPONENT(Service)

    WAVEFORM

    COMPONENTWAVEFORM

    COMPONENT

    WAVEFORM

    COMPONENT

    WaveForm

    PlatForm

    API Logic Connection Physical Connection

    As seen previously- the limited access to the RTOS (AEP)

    - the CF OO interfaces abstracting different implementations of the HW/SW Platform

    - the presence of CORBA as "abstract" MW

    are strongly increasing the Waveform portability, re-configurability and upgradability.

    Obviously if present one or more non-CORBA devices, then there is some limitation.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    36/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction

    WAVEFORM

    COMPONENT

    WAVEFORM

    COMPONENT

    PLATFORM

    COMPONENT

    (Device)

    Abstraction Layer

    SCA is introducing new concepts as:

    - architecture

    - design

    - development

    - testing

    The abstraction layer is allowing the developers to work on components individuallydeveloping and testing independently also using different developmentdesign/programming environments and languages.

    (VHDL) (C++) (C++)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    37/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    Client

    API Call

    RTOS

    Bus Driver

    Bus I/F

    uP1

    Board1

    Servant

    API Call

    RTOS

    Bus Driver

    Bus I/F

    uP2

    Board2

    MAC + PHY (Transport)

    We can describe SCA in more details.

    Abstraction is given by CORBA and POSIX technologies: POSIX so to restrict/abstract theRTOS calls, CORBA so to abstract communication.

    The usual situation regarding the communication on Conventional Radios is:

    The Client Process knows if the

    - Server Process is local (ApplicationFunction Call)

    - Server Process is remote (RTOS APIcall)

    The Client Process must know:

    - MAC (remote board address)

    - Process (memory area address)

    Data written in the memory area are:

    - object/method to be called

    - payload

    After the data are written in the memoryarea the Server can elaborate

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    38/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    Client

    API Call

    OE

    Bus Driver

    Bus I/F

    uP

    Board

    Abstraction is represented in the following figure:

    Client hasnt to know if the Server is remote or local

    Client must call a standard API call asking only for the desired method to be called

    API call must reside in a Common Framework

    Client must not interact with the RTOS/BSP

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    39/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    attribute : type

    Method(input : type) : output : type

    Something from UML Class Diagram:

    MAN

    TEACHER

    is derived

    MAN Address

    uses

    n:mORDER Email

    calls

    INVOICE InvoiceElement

    strongly aggregates

    CAR CarElement

    Tyre Engine

    aggregates

    DataFilter

    AbstractDataFiler

    implements

    Computer

    calls

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    40/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    Client

    ServerI/FServer

    method( )

    Address Space 1 Address Space 2

    calls implements

    CORBA Object Model is based on Interface.

    Interface is an Intermediate Class between a Client Class and a Service Class.

    Interface defines what the Client can know about the Server and how the Client can interact with theServer, then a Service Operation Oriented (SOA) methodology.

    Client and Server must obviously share the Interface Specification, that is an ASCII file written in theIDL (Interface Definition Language) format simply containing: method name and I/O data types.

    IDL is a declarative language to define method() and attribute independently from the programminglanguage.

    Using the specific IDL Compiler (translator) the IDL is translated into the programming languageused by the Client (or Server) and by the attached ORB.

    Then all the assembly is finally compiled to have the executable.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    41/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    CORBA

    Obj A

    CORBA

    Obj BORB

    CORBA

    Obj A

    ORB1

    GIOP1

    IIOP

    TCP

    IP

    LINK

    PHY

    CORBA

    Obj B

    ORB2

    GIOP2

    IIOP

    TCP

    IP

    LINK

    PHY

    HW

    If the CORBA Objects are on the same ORB, then the ORBTransport Protocol is not activated, otherwise yes.

    GIOP (General Inter ORB Protocol) is the Protocol used byORBs to exchange messages.

    IIOP (Internet Inter ORB Protocol) is the gateway betweenGIOP and the commonly used TCP.

    The Flow is:

    - the Client asks for a connection/request- the Server accepts the connection/request and waits for it

    - the Client sends the request

    - the Server elaborates and sends (if any) the answer

    - the Client starts the connection using the addressing infoscontained inside the IOR (Interoperable Object Reference)that is contained in the GIOP message

    The main nucleus of the CORBA MW is the ORB (Object Request Broker), that:

    - identifies where is the Server and its service

    - prepares the Server to receive the request

    - communicates the request to the Server

    - transfers the answer (if any) to the Client

    We know that Server/Method and Client/Method at low-level (OS level) are Ports.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    42/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    The IOR frame is composed of:

    - Transport Name (PCI for embedded, TCP for PC, ...)- MAC Address (identifier of a uP/Embedded or Card/PC or ...)

    - Port Number (process executing and waiting for requests)

    The MAC Address:

    - is obtained at the platform bootstrap by a RTOS call

    - is registered on the initialized ORB (ORB knows what MAC Address is managing).- will be used together with the Port to generate the IOR when the Application Corba Object

    will be registered on the same ORB

    All the IORs are contained in the Name Service that is CORBA DNS (Domain Name Service).

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    43/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: CORBA

    ORB1 ORB2

    Stub

    ServerI/F

    Method( )

    Client

    ThreadPool

    POA

    Skeleton

    ServerI/F

    Method( )

    Server

    method()

    The Stub is a Client side function that allows the

    method() invocation as a local one also if the Serveris remote; the Stub is generated during thecompilation of the IDL file.

    The Skeleton is a Server side function that enables theServer to receive the invocation of its method; theSkeleton is generated during the compilation of theIDL file.

    POA (Portable Object Adapter) is a group of interfacesthat the Server uses to access the ORB functions; itis the link between the Server and the ORB; it isserving 'n' Servers as the ORB obviously; itmaintains an association between the Object_Id(contained in the IOR) and the Server and so it canroute the request toward the right Server.

    The Services offered by the ORB through the POA

    include:

    - generation and interpretation of the IORs

    - method() invocation

    - activation / de-activation of the Objects

    - mapping of the IORs to the registeredimplementation (DNS)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    44/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Port

    PortSupplier

    LifeCycle

    TestableObject

    PropertySet

    Resource

    ResourceFactory

    ApplicationFactory

    Application

    Device

    LoadableDevice

    ExecutableDevice

    DeviceManager

    AggregateDevice

    File

    FileSystem

    FileManager

    DomainManager

    0..*0..*

    0..1

    1

    0..*

    1..*

    Core Framework

    Device Developer

    CF Developer

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    45/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Port

    PortSupplier

    LifeCycle

    TestableObject

    PropertySet

    Resource

    ResourceFactory

    Port is managing the communication channel for transferring data/control between SCAcompliant software components.

    PortSupplier is obtaining a selected Consumer or Producer Port.

    LifeCycle is initializing and releasing component specific data for instantiated SCA compliantsoftware component.

    TestableObject is testing component implementation.

    PropertySet is configuring/retrieving component properties/attributes.

    Resource is the Common APIs for control and configuration of a SCA compliant softwarecomponent.

    ResourceFactory is creating/destroying Resources.

    .... The Waveform is a set of Connected Resources

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    46/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    PhysicalLayer

    ModemDevice

    modem_tx_packet_port:

    ModemTxPacket

    modem_packet_in_port:

    ModemTxPacket

    modem_tx_flow_ctrl_port:

    ModemFlowCtrlTx

    modem_packet_sig_out_port:

    ModemFlowCtrlTx

    Component Name

    Component Type

    Provides port name:

    Interface name

    Uses port name:

    Interface name

    We focus on the communication between components.

    We know that the application components (waveform, device, service) are connected each other byports (that are an extension of the Port Interface).

    The Uses Port is the Client Port using the service offered by the Server through the Provides Port(the Server Port).

    So to realize the connection, the Uses Port has to know the IOR of the Provides Port as in thecommon usage; when connecting to a server offering a service, we need to know the IP Address+ Port, that is Transport + MAC + Port.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    47/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Port

    PortSupplier

    SW Component A

    Resource

    SW Component B

    0..*0..*

    The sequence of operations to have the connection is managed by the Application Factory:

    - both the SW Component A and B obtain their Port IOR using the following Function Call

    SW Component X :: Resource :: PortSupplier -> getPort()

    Input: the name of the Port (that is the method on the Server)

    Output: Port IOR

    This retrieval is done using the Naming Service (SCA DNS) and then there is the registration at ORB level

    - SW Component A obtains / retrieves the IOR for the interested Server method() using the following Function CallSW Component A :: Port -> ConnectPort()

    Input: the name of the Server Port (that is the method() on the Server)

    Output: IOR of the interested Server method()

    - SW Component A and B communicate each other

    - SW Component A closes the communication using the Call

    SW Component A :: Port -> disconnetPort()

    Input: the name of the Server Port (that is the method() on the Server)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    48/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Device

    LoadableDevice

    ExecutableDevice

    DeviceManager

    AggregateDevice

    0..*

    Device: Framework for a devices software profile attribute, state management and status attributes, and capacity

    allocation/deallocation operations

    LoadableDevice: Framework of operations for loading/unloading software modules onto a device processors memory

    ExecutableDevice: Framework of operations foe executing/terminating processes/threads on a device

    AggregateDevice: Framework of operations for adding/removing devices to/from a device capable of an aggregaterelationship

    DeviceManager: Responsible for creation of logical Devices, and launching service applications on these logicalDevices during a CF Node startup, and deploying and removing these logical Devices and services to/fromthe CF Domain, during CF startup, shutdown, or dynamically at runtime

    Logical Device is a SW Componentabstracting the operations allowing theconfiguration and control of a physicalrelated device.

    Logical Devices are organized in ahierarchy; the ones, inheriting directlyfrom the Resource, are very high levelcharacterization; the following ones inthe hierarchy are specialized interfaces

    for the various types of real devices:ModemDevice, AudioPortDevice,DataDevice, FrontEndDevice, ...

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    49/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    File: provides the ability to read and write files within a SCA compliant distributed file system

    FileSystem: defines CORBA operations that enable remote access to a physical file system

    FileManager: appearing as a single FileSystem, provides access to multiple distributed file systems, whose filestorage may span multiple physical file systems (AKA a federated file system).

    File

    FileSystem

    FileManager

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    50/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Application Factory: Based on the Domain Profile, creates instances of software applications (waveforms) of aspecific type by:

    - Allocating software (Resources) to hardware (Devices)

    - Allocating capacities against Devices

    - Connecting Resources that make up an Application

    - Performing initial configuration on these Resources

    Port

    ResourceFactory

    ApplicationFactory

    Resource

    Application

    Device

    LoadableDevice

    ExecutableDevice

    0...n

    1...n

    1...n

    1...n

    1

    0...n

    1

    0..n

    0..n

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    51/96

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    52/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    The Domain Profile contains all the infos needed for the Domain Manager to work.

    The files are in XML format whose syntax is contained in the related Document Type Definition (DTD).

    The Domain Manager reads this file using a parser and instantiates its image in memory using the DOM (DocumentObject Model) standard.

    This image is accessed by the Domain Manager and then:- DeviceManager- FileSystemManager- ApplicationFactory

    Software Package Descriptor (SPD)> Describes a components (CORBA and non-CORBA) implementation(s).Property File (PRF)> Describes properties for a component.Software Component Descriptor (SCD)> Describes a CORBA components characteristics.

    Software Assembly Descriptor (SAD)> Describes an applications deployment characteristics.

    Device Configuration Descriptor (DCD)> Describes configuration characteristics for DeviceManager.Domain Manager Configuration Descriptor (DMD)> Describes configuration characteristics for DomainManager.Device Package Descriptor (DPD)> Identifies a class of hardware device and its characteristics.Profile Descriptor> Describes a type of file (SAD, SPD, DCD, DMD) along with the file name.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    53/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    There are two possible types of SCA connections:

    Persistent connections

    Typically these are asynchronous messages among devices (events, interrupts, ...); these arerelated to the DeviceManager Domain; the Event Service is also used by the DomainManager to:

    - register / un-register devices by DeviceManager

    - install / un-install waveform by ApplicationFactory

    Direct connections

    These are synchronous messages among SW Waveform Components (the connections usingPorts seen some slides before).

    The modalities of these two connections are different.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    54/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Every connection has an User and a Provider.In every connection there must be an IOR sending.

    In the direct / sync communication:- there is a 1:1 communication

    - the Port User knows the Port Provider IOR

    In the persistent / async communication:- there is a 1:n communication- the Supplier doesn't know the Consumer IOR(s)- the Supplier knows the Event Channel IOR

    CORBA

    Transport

    Protocol

    CORBA

    Transport

    Protocol

    CORBA

    Transport

    Protocol

    CORBA

    Transport

    Protocol

    ORB A ORB BORB A ORB B

    API

    (Uses Port)

    API

    (Provides Port)

    Supplier

    (Uses Port)

    Consumer

    (Provides Port)

    connection

    Event Channel

    connection

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    55/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    SDR :: Introduction :: SCA

    Supplier 1

    Supplier 2

    Supplier

    Supplier N

    Consumer 1

    Consumer 2

    Consumer

    Consumer N

    Event Channel

    CONSU

    MER SU

    PPLIER

    The Event Channel is:

    - Provider of the Supplier

    - User of the Consumer

    The Consumer is

    connected to the Event

    Channel that is the

    Supplier Proxy

    The Supplier is

    connected to the Event

    Channel that is the

    Consumer Proxy

    connection connectionThe Supplier

    publishes the infos

    without knowing the

    Consumers (IORs).

    The Consumer

    subscribes for the

    infos withoutknowing the

    Suppliers (IORs).

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    56/96

    22/06/2011 Pi di pagina - Arial 12 pt.

    Graphical System Design

    A Top-Down Approach at Selex ElsagD-HW/FW/SW Flow

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    57/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: MLA/MLVP :: D-HW/FW/SW

    PROCESSES, METHODOLOGIES, TOOLS

    HIGH LEVELARCHITECTURE

    MEDIUM LEVELARCHITECTURE

    HIGH LEVELVIRTUAL

    PROTOTYPING

    MEDIUM LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELDESIGN

    ALGORITHMICEXPLORATION

    LOW LEVELSYNTHESIS

    LOW LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELHW in the LOOPPROTOTYPING

    LOW LEVEL

    SIMULATION

    PROJECT PLANNING, CONFIGURATION MANAGEMENT, REQUIREMENTS & TESTS

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    58/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: MLA/MLVP :: D-HW/FW/SW

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    59/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: MLA/MLVP :: D-HW/FW/SW

    Component_1

    Component_1.3Component_1.2

    Component_1.1

    Component Diagram

    -Decomposes the application

    -Defines the Interfaces

    Class_1

    { attributes_1 }

    { methods_1 }

    Class_3

    { attributes_3 }

    { methods_3 }

    Class_4

    { attributes_4 }

    { methods_4 }

    Class_5

    { attributes_5 }

    { methods_5 }

    Class_2

    { attributes_2 }

    { methods_2 }

    1. State_3

    entry / action_3.1

    exit / action_3.2

    1. State_1entry / action_1.1

    exit / action_1.2

    1. State_2

    entry / action_2.1

    exit / action_2.2

    1. State_4

    entry / action_4.1

    exit / action_4.2

    Event_a

    Event_b

    Event_dEvent_c

    Event_e Event_f

    Statement_1;

    Statement_2;

    Statement_n;

    Class Diagram

    -Abstractions

    -Associations

    -Operations

    State Diagram

    (system, component, class)

    -Functional Lifecycle

    -Event Handling

    Action Specification

    -Processing

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    60/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP

    PROCESSES, METHODOLOGIES, TOOLS

    HIGH LEVELARCHITECTURE

    MEDIUM LEVELARCHITECTURE

    HIGH LEVELVIRTUAL

    PROTOTYPING

    MEDIUM LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELDESIGN

    ALGORITHMICEXPLORATION

    LOW LEVELSYNTHESIS

    LOW LEVELVIRTUAL

    PROTOTYPING

    LOW LEVELHW in the LOOPPROTOTYPING

    LOW LEVEL

    SIMULATION

    PROJECT PLANNING, CONFIGURATION MANAGEMENT, REQUIREMENTS & TESTS

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    61/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP

    Single Architecture Graphical Environment so to

    - define, simulate and analyze the equipment / board architecture (and then thehigh level partitioning) using Executable SysML/UML with opportune profilesand stereotypes

    - define, programming, simulate, and analyze the WF components for the GPPProcessing Units

    Single Design Graphical Environment so to

    - define, simulate, analyze and deploy the digital signal processing WFcomponents for FPGA and DSP Processing Units

    - implement HW in the Loop evaluation for a single Processing Unit

    - implement System in the Loop simulation

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    62/96

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    63/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: OEM

    FPGA Manufacturers provide DSP

    focused design tools and relatedlibraries that enable the use ofthese inside model-based designenvironments.

    Previous experience with FPGAs or

    RTL design methodologies are notrequired.

    Designs are captured in the DSPmodeling environment usingspecific blocks.

    All the downstream FPGAimplementation steps includingsynthesis and place & route areautomatically performed togenerate an FPGA programmingfile.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    64/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: OEM

    The libraries are composed by:

    - common DSP building blocks (adders,multipliers, registers, ...)

    - complex DSP building blocks (FEC, FFT, filters,memories, ...)

    The FPGA Manufacturer IP core generatordelivers optimized results for the selecteddevices.

    These plug-in tools provide resource estimators

    that quickly estimate the area of a design priorto place and route. This can be a valuable aidin the HW/SW partitioning process by helpingsystem designers take full advantage of theFPGA resources.

    GS O

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    65/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: OEM

    These plug-in tools provide

    accelerated simulation throughHW co-simulation, in fact they willautomatically create a HWsimulation token for a designcaptured in the FPGA blocks thatwill on a set of FPGA evaluationboards.

    This HW EVB will co-simulate withthe rest of the EDA system toprovide an accelerated simulation.

    GSD LLD/LLVP OEM

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    66/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: OEM

    These plug-in tools provide a system

    integration platform for the designof DSP FPGAs that allows the RTL,Modeling Blocks, ModelingLanguages and C/C++ componentsof a DSP system to come togetherin a single simulation andimplementation environment.

    In fact:

    - there is the support of "black box"blocks that allow RTL to beimported and co-simulated usingRTL/Post_Layout simulators

    - there is also support of HW/SWmacro for processors integratedonto the FPGA (ISS)

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    67/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: OEM :: Design Gaps

    The main problems arise from the FPGA side:- No portability (design strictly linked to the FPGA Manufacturer / Architecture)

    - Synthesis optimized model block by model block, but maybe not for the overall

    - Difficulty during the partitioning iterations

    Other problems could be:

    - C/C++ and Modeling Language blocks driven by the RTL blocks during co-simulation

    - Transactions among Processing Units exclusively behavioral

    - No single language

    (FPGA)

    Direct Synthesis / Place & Route

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    68/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: FPGA High Level Synthesis

    High Level Model Synthesis Tools (provided byRTL Synthesis companies) support modelbased design environments.

    Specialized IP model libraries allows algorithmand hardware designers to quickly createsynthesizable fixed-point, multi-ratealgorithms.

    High Level Synthesis engines allows thecreation of optimized RTL implementations(as pipelining, scheduling, and binding) forthese algorithms given the user-specifiedtarget and architectural constraints.

    Sometimes C model available.

    (FPGA)

    High Level Model Design Model HL Synthesis RTL Synthesis Place & Route

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    69/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD::LLD/LLVP::FPGA HL Synthesis::Design Gaps

    (FPGA)

    High Level Model Design Model HL Synthesis RTL Synthesis Place & Route

    Problems could be:

    - Difficulty during the partitioning iterations

    - C/C++ and Modeling Language blocks driven by the RTL blocks during co-simulation

    - Transactions among Processing Units exclusively behavioral- No single language

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    70/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: FPGA C++ High Level Synthesis

    (FPGA)

    High Level C++ Design C++ HL Synthesis RTL Synthesis Place & Route

    High Level C++ Synthesis Tools (provided byRTL synthesis companies) accept a broadsubset of C++ that includes common choicesfor fixed point data types.

    Optimizations for parallelism like single- to-multi-threaded and application on multi-levelnested loops are usually available.

    C++ code is usually analyzed to decide

    architectural performance trade-offs.

    For a given set of constraints (clock,throughput and target device) the such toolsusually generate RTL test bench scripts, testvectors, TLM System-C, CA System-Cwrappers, CA RTL test bench.

    GSD LLD/LLVP FPGA HDL/C HL S h i

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    71/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    GSD :: LLD/LLVP :: FPGA HDL/C++ HL Synthesis

    (DSP)

    High Level Model Design

    C++ Coder DSP Deploy

    (FPGA)

    HDL Coder OEM RTL Synthesis Place & Route

    OEM RTL Synthesis Place & Route

    Possible alternative given by general purposeModeling Environment providers with HDL codingphase leveraged by OEM environments providedby FPGA manufacturers (company agreement).

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    72/96

    22/06/2011 Pi di pagina - Arial 12 pt.

    Graphical System Design

    A Top-Down Approach at Selex ElsagD-HW/FW/SW (possible) Future Flow

    Design Gaps

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    73/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    Design Gaps

    Embedded Design Gaps:

    - Different Design Languages are spoken

    - at different levels of abstraction

    - by System, HW, SW designers and developers

    - Simulation Time is too long

    - Problems, bottlenecks, and misunderstandings are detected too late

    Then a more efficient platform modeling must be found.

    Design Gaps :: Analysis

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    74/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    Design Gaps :: Analysis

    Different Languages Gap

    System Design is standardized on Matlab.Hardware Design is standardized on Verilog and VHDL.

    Software Design is standardized on C++.

    Simulation Time too long

    Hardware Design simulation is done at Register Transfer Level and at gate Level.

    Problems found too late

    Analysis at Higher Level of Abstraction is done with difficulty.

    This is a mandatory problem because there are the simultaneous increase indesign complexity and pressure to get designs out faster with first time designsuccess.

    A possibility can be given by System-C & Transaction Level Modeling.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    75/96

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    76/96

    System C :: Language Features

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    77/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    System-C :: Language Features

    Modules are the basic building blocks of a System-C design hierarchy; they arestructural entities which contain processes, ports, channels, and other modules.A System-C model usually consists of several modules which communicate via ports.

    Channels are the communication elements of System-C; they implement one or moreinterfaces, and serve as a container for communication functionality; they can be eithersimple wires or complex communication mechanisms; in the library there are channelentities from the elementary signals, buffers, fifo, mutex, semaphores, ... to buses, ....

    Signals are equivalent to the Verilog wire.

    Ports are the objects through which a module can access a channels interface, thenthey are allowing communication from inside a module to the outside (usually to othermodules).

    Processes are the main computation elements. They are concurrent.

    Events allow synchronization between processes.

    There are several Data Types which support the modeling of hardware (from bits, ...to fixed point representation).

    System C :: Languages Comparison

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    78/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    System-C :: Languages Comparison

    Comparing the languages, we have:

    Requirements

    Architecture

    HW/SW

    Transistors

    BehavioralFunctional Verification

    Test Bench

    Register Transfer Level

    Gates

    Verilog VHDL

    VHDL

    System

    Verilog

    SystemC

    Matlab

    System-C :: Advantages

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    79/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    System-C :: Advantages

    Same LanguageC++ adopted as single language by System, HW, SW Designers and Developers(C++ can be derived by languages like Matlab)

    Faster Simulation TimeSame performances at Register Transfer Level, but higher and higher

    performances at higher levels of abstraction (moving from pin level to transaction

    level models, moving from transaction level models to un-timed level models)

    Problems found beforeSystem-C offers real productivity gains by letting engineers design both the HWand the SW components together as these components would exist on the finalsystem, but at higher level of abstraction. This means that it is possible toconcentrate on the actual functionality of the system more than of itsimplementation details. Moreover, since the detailed implementation has not beenfinalized yet, it is still possible to perform consistent changes to the design,enabling an effective evaluation of different architecture alternatives (including thepartitioning of the functionalities between HW and SW).

    TLM :: Introduction

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    80/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Introduction

    Using a language for System-Level modeling, such as System-C, is not enough forbuilding an effective simulatable model: it is also necessary to define modelingstyles and interoperability rules among the various models.

    Moreover, it is mandatory to determine which features to abstract (and to whatextent) so to create an executable model that allows a meaningful, efficient, andaccurate analysis of the intended system.

    Transaction Level Modeling (TLM) is an efficient technique for abstract modeling ofcommunication (and then related computation): the transaction is the exchange ofdata or an event between two System-C modules. The details of communicationbetween the modules are separated from the implementation details of both thefunctional unitsand communication architecture.

    Communication mechanisms (fifos, busses, ) are modeled as channels, and are

    presented to modules using System-C interface classes: a small set of System-C /TLM Interfaces can be defined and different component (at different levels ofabstraction) can implement these interfaces.

    Transaction requests take place by calling interface functions of these channelmodels, which encapsulate low-level details of the information exchange.

    TLM :: Introduction

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    81/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Introduction

    A better acronym would have been TBM (Transaction Based Modeling) because thistechnique doesnt denote a single level of abstraction, but rather a modeling

    technique used at different levels of abstraction and where at least one, betweencomputation and communication, introduces an approximate concept of time.

    In fact, the underlying concept of TLM is centered on modeling only the level ofdetail that is needed at the used level of abstraction; by eliminating the un-necessary details, design teams can obtain huge gains in simulation speed; at thislevel, changes to the design are also relatively easy and cost-effective because thedevelopment team has not yet delved in low-details such as the chosen bus.

    At the transaction level, the emphasis is more on the functionality of the datatransfers - what data are transferred to and from what locations - and less on theiractual implementation, that is, on the actual protocol used for data transfer. Thisapproach makes it easier for the system-level designer to experiment, for example,

    with different bus architectures (all supporting a common abstract interface)without having to recode models that interact with any of the buses, provided thesemodels interact with the bus though the common interface.

    TLM is coming with a library of System-C primitives allowing the users toimplement several Transaction Level communication protocols with differentdegrees of accuracy.

    TLM :: Introduction

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    82/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Introduction

    Design, Simulation and Analysis must be follow different levels of Abstraction.

    UTFU TF UTF

    UTFU TF

    TL MT LM TL M

    TL M TL M

    RTLR TL RTL

    RTL RTL

    The Un-Timed Level is allowing to provide theexecutable specification

    The Transaction Level is allowing:- Early analysis of HW and HW/SW Architecture

    - Timing Estimation

    The Pin Level is allowing:- RTL/behavioral HW/SW design and verification

    At Transaction Level the focus is about: the type of data that flows (from/to andtiming estimation).

    TLM :: Basics

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    83/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Basics

    Primitive and Hierarchical Channels are showed in the following figure.

    Hierarchical Channels contain processes, ports, modules and channels, but PrimitiveChannels not.Communication is based on Interface Method Calls (IMC):

    > Process calls an interface method of a channel> The collection of a fixed set of communication Methods is called an Interface(virtual object without data)

    > Channels implement one or more Interfaces> Modules can be connected via their Ports to those Channels

    At higher level of abstraction TLM abstracts the signal-level details of a communicationprotocol in a function call specifying payload and its attribute (command, data, address,enables, ). So instead of having to wiggle individual signals in the proper order, you

    just issue a function call to say read data.

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    84/96

    TLM :: Model Types

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    85/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Model Types

    Processing Elements Assembly Model

    Higher level of abstraction.

    The Processing Elements (PE) arecommunicating each other by messagepassing channels.

    Bus Arbitration Model

    Superior level of abstraction.

    Abstract bus channels.

    Bus Arbiter arbitrates bus conflict.

    TLM :: Model Types

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    86/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Model Types

    Time Accurate CommunicationModel

    Superior level of abstraction.

    There is an approximate timedcomputation (time constraints aregiven).

    Protocol channel provides functionsfor all abstraction bus transactions.

    TLM :: Model Types

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    87/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Model Types

    Cycle Accurate Communication Model

    Superior level of abstraction.

    Modeled at RTL (Register Transfer Level).

    PEs are pin accurate and execute cycle accurately.

    Wrappers convert data transfer from higher level of abstraction to lower level ofabstraction.

    TLM :: Model Types

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    88/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Model Types

    TLM :: Model Types

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    89/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Model Types

    TLM :: Model Types :: Design Tasks

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    90/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    TLM :: Model Types :: Design Tasks

    Bus-arbitrationmodel

    Specification

    model

    1

    PE-assemblymodel

    2

    Time-accurate

    Communicationmodel

    3

    Implementationmodel

    4

    Cycle-accurate

    Computationmodel

    5

    6

    7 8

    System

    Design

    Component

    Design

    Design Tasks

    1) PE assembly and model generation

    2) Communication Exploration and bus-arbitration model generation

    3) Protocol refinement and time-accuratecommunication model generation

    4) RTL/ISS synthesis

    5) IP Replacement

    6) Communication synthesis andinterconnect network generation

    7) Accurate communication feedback

    8) Accurate computation feedback

    System-C :: Constraints

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    91/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    Syste C Co st a ts

    As seen previously the road toward abstraction was from transistor to gate to

    register to transaction, allowing the designers/developers:-the implementation of more and more complex digital systems

    -the focalization on

    -Task partitioning

    -System functionality

    -More organized test benches

    But, any level of abstraction requires a way of describing its immediate lower levelin a compatible language with the higher abstraction level:

    From System-C (Transaction) to HDL (Register)

    From HDL (Register) to Net List (Gate)

    From Net list (Gate) to Component (Transistor)

    System-C :: Design Methodologies

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    92/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    y g g

    System-C :: Design Methodologies

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    93/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    y g g

    System-C :: Design Methodologies

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    94/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    y g g

    Requirements must strictly follow the entire Design and Development process.

    An Executable SysML/UML approach can:

    -Offer an High Level of Abstraction

    -Allow the Model Execution (a model independent of, and earlier than implementationchoices

    The model must be translated:

    -to the lower Level of Abstraction (System-C)

    -to the implementation (C/C++)

    Future Flow :: SysML/UML

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    95/96

    22/06/2011 Copyright SELEX ELSAG. All rights reserved.

    y

    Component_1

    Component_1.3Component_1.2

    Component_1.1

    Component Diagram

    -Decomposes the application

    -Defines the Interfaces

    Class_1

    { attributes_1 }

    { methods_1 }

    Class_3

    { attributes_3 }

    { methods_3 }

    Class_4

    { attributes_4 }

    { methods_4 }

    Class_5

    { attributes_5 }

    { methods_5 }

    Class_2

    { attributes_2 }

    { methods_2 }

    1. State_3

    entry / action_3.1

    exit / action_3.2

    1. State_1

    entry / action_1.1

    exit / action_1.2

    1. State_2

    entry / action_2.1

    exit / action_2.2

    1. State_4

    entry / action_4.1

    exit / action_4.2

    Event_a

    Event_b

    Event_dEvent_c

    Event_e Event_f

    Statement_1;

    Statement_2;

    Statement_n;

    Class Diagram

    -Abstractions

    -Associations

    -Operations

    State Diagram

    (system, component, class)

    -Functional Lifecycle

    -Event Handling

    Action Specification

    -Processing

    VSD

  • 8/6/2019 Progettazione Grafica di Sistemi: un approccio top-down di Selex Communications

    96/96

    System-C and TLM are two of the enabling technologies for VSD (Virtualized Systems

    Development) that is a development methodology where the actual hardware of asystem is replaced with a virtual platform running on a PC/Server.

    The virtual platform can run at different levels of abstraction and it is fast enough tobe used as an alternative to physical hardware for HW/FW/SW development.

    The virtual platform should be full-system, i.e., contain the whole target system,including multiple chips, the board (or eventually multiple boards and multiplenetworks).

    VSD provides access to the target system long before prototype hardware is available;this enables FW/SW development to start early.