27
A Model Driven Tool Integration Process for Rapid SDR Development May 12, 2013

Model_Driven_Development_SDR

Embed Size (px)

DESCRIPTION

This PrismTech Spectra slideshare presentation shows A Model Driven Tool Integration Process for Rapid Software Defined Radio (SDR) Development.

Citation preview

Page 1: Model_Driven_Development_SDR

A Model Driven Tool Integration Process for Rapid SDR Development

May 12, 2013

Page 2: Model_Driven_Development_SDR

Proj

ect G

oal

Provide an integrated and tool supported waveform development and deployment workflow that reduces

time to market

Page 3: Model_Driven_Development_SDR

Ove

rvie

w o

f Too

ls

The MathWorks™ �Simulink�

Product Name: Simulink �Version: 2012b ��Key Capabilities: �•  Model-based design

environment �•  Simulation and

analysis of dynamic systems�

•  Comprehensive library of blocks�

•  Code generation �

Page 4: Model_Driven_Development_SDR

Ove

rvie

w o

f Too

ls

PrismTech�Spectra CX �

Product Name: Spectra CX �Version: 3.5.1 ��Key Capabilities: �•  Model-driven

engineering environment �

•  Code and test generation for the SCA 2.2.2�

•  Remote management of platform and applications�

Page 5: Model_Driven_Development_SDR

Toda

y’s

Situ

atio

n

Functional WF Block Model�

Design Waveform

Simulate & Test Waveform

Page 6: Model_Driven_Development_SDR

Toda

y’s

Situ

atio

n

Functional WF Block Model�

cmp Components

PushData

PushDataInv

FIR_Filter

+ configure() :void+ getPort() :void+ query() :void+ runTest() :void+ start() :void+ stop() :void

Resource

PushData

PushDataInv

Deployable�Components�

Waveform/Application �

Design Waveform Components

Implement & Test Waveform Components

Page 7: Model_Driven_Development_SDR

Toda

y’s

Situ

atio

n

Functional WF Block Model�

cmp Components

PushData

PushDataInv

FIR_Filter

+ configure() :void+ getPort() :void+ query() :void+ runTest() :void+ start() :void+ stop() :void

Resource

PushData

PushDataInv

Deployable�Components�

Waveform/Application �

Deploy Waveform

Page 8: Model_Driven_Development_SDR

Impl

icat

ions

"   Possibility for errors to be introduced during hand coding of algorithmic parts

"   Duplication of effort as algorithm has to be implemented again

"   Waveform design not always in synch with deployable waveform

Page 9: Model_Driven_Development_SDR

A N

ew W

orkf

low…

Design and

Simulate Waveform Algorithm

Page 10: Model_Driven_Development_SDR

Des

ign

and

Sim

ulat

e W

F…

Design Waveform

Simulate and Test

MathWorks Simulink

Page 11: Model_Driven_Development_SDR

Des

ign

and

Sim

ulat

e W

F…

Ensure all blocks are subsystems

Add platform specifics for RTW

MathWorks Simulink

Block

Page 12: Model_Driven_Development_SDR

Des

ign

and

Sim

ulat

e W

F…

Generate C/C++ for subsystems

MathWorks Simulink

Block Generated Source Code

Page 13: Model_Driven_Development_SDR

A N

ew W

orkf

low…

Design and

Simulate Waveform Algorithm

Transform algorithmic blocks

into deployable components

Page 14: Model_Driven_Development_SDR

Tran

sfor

m B

lock

s…

Wizard guided transformation of design

Creates a component based design model in CX

Select which blocks to transform

Completely automated

Page 15: Model_Driven_Development_SDR

Tran

sfor

m B

lock

s…

Select target platform for components

Enables CX to generate platform specific code

Page 16: Model_Driven_Development_SDR

Tran

sfor

m B

lock

s…

Options to create diagrams as part of transformation

Page 17: Model_Driven_Development_SDR

Tran

sfor

m B

lock

s…

Option to create an application controller

Page 18: Model_Driven_Development_SDR

Com

pone

nts

Resulting components can be compiled and deployed

Page 19: Model_Driven_Development_SDR

Inte

rfac

es

Automated creation of all required interfaces

Interfaces define contracts between components for

communication

Page 20: Model_Driven_Development_SDR

App

licat

ion Resulting application is ready

to be deployed

Page 21: Model_Driven_Development_SDR

Map

ping

Simulink(BlockType( Spectra(CX(

Subsystems) Components)

Inport) Provides)Ports)

Outport) Uses)Ports)

Page 22: Model_Driven_Development_SDR

A N

ew W

orkf

low…

Design and

Simulate Waveform Algorithm

Transform algorithmic blocks

into deployable components

Complete deployable

components and WF/App

Page 23: Model_Driven_Development_SDR

Com

plet

e D

eplo

yabl

e…

// fill the input buffer for(unsigned int x = 0; x < IN_BUFF_SIZE; x++) { QPSK_Demodulator_U.dataIn[x].re = payload[x].re; QPSK_Demodulator_U.dataIn[x].im = payload[x].im; } // step the rtw model QPSK_Demodulator_step(); // fill the result in the complex output sequence for(unsigned int x = 0; x < OUT_BUFF_SIZE; x++) { dataOutSeq[x] = QPSK_Demodulator_Y.dataOut[x]; } // send the processed data dataOut_->pushRealData(dataOutSeq);

Add glue code to CX component

Address timing related issues

Page 24: Model_Driven_Development_SDR

A N

ew W

orkf

low…

Design and

Simulate Waveform Algorithm

Transform algorithmic blocks

into deployable components

Complete deployable

components and WF/App

Deploy and Test WF/App

Page 25: Model_Driven_Development_SDR

Dep

loy

and

Test

Spectra OE: e*ORB

Spectra OE: Core Framework

TCP/IP v4/v6

SCA Infrastructure SCA Infrastructure

SCA 2.2.2 and POSIX AEP

Hardware (GPP, DSP, FPGA)

RTOS / Linux

BSP ASP

Radio Application (Waveform)

Radio Application (Waveform)

Deploy WF

Spectra CX

Instantiate WF

Control WF

Monitor WF

Page 26: Model_Driven_Development_SDR

Futu

re W

ork

"   Operating Environment in the loop "   Testing against ‘Golden Waveform’ "   Hand written parts of the waveform

"   Automate glue "   Simulink libraries, object files and header files "   Behavioral code "   Optimize glue code

Page 27: Model_Driven_Development_SDR

Sum

mar

y an

d B

enef

its

"   Rapid design, development, testing and deployment

"   Minimize manual coding effort

"   Reduce opportunity for human error

"   Reduce time from requirements to deployment