VisualDSP and Test Driven Development - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

VisualDSP and Test Driven Development

Description:

VisualDSP++ and Test Driven Development Prelaboratory assignment information – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 28
Provided by: Micha391
Category:

less

Transcript and Presenter's Notes

Title: VisualDSP and Test Driven Development


1
VisualDSP and Test Driven Development
  • Prelaboratory assignment information

2
Concepts
  • Stages in a conventional radio
  • Stages in a software radio
  • Goals for the long term project
  • Building a VisualDSP project using TDD
  • See web for more specific details
  • Demo if time is available

3
Test Driven Development
  • Customer Tests personally find these hard to do
  • Not clear if there is yet a real process
    available
  • Developer Tests have found many advantages

CUSTOMER DEVELOPER
4
Software AM radio concept
RF STAGE
Antenna Pickup
AUDIO STAGE
Low passFilter amplifier
Low passFilter
Rectifier
Mixer
LocalOscillator
IF STAGE
Audio out
Most stages handled with high speed software
5
Rectification algorithm
  • Choices are
  • C compiler in DEBUG mode
  • int RectifyDEBUG(int initial , int final, int
    N)
  • float RectifyDEBUG (float initial , float
    final, int N)
  • C compiler in RELEASE mode
  • int RectifyRELEASE(int initial , int final,
    int N)
  • float RectifyRELEASE(float initial , float
    final, int N)
  • US in ASSEMBLY mode
  • int RectifyASM(int initial , int final, int
    N)
  • float RectifyASM(float initial , float final,
    int N)
  • US in OPTIMIZED ASSEMBLY mode
  • int RectifyOPTASM (int initial , int final,
    int N)
  • float RectifyOPTASM (float initial , float
    final, int N)

6
Files and directories neededTDD and many tests
files available on web
ENCM515
RectifyTests HalfWaveDebugTests.cpp HalfWaveReleas
eTests.cpp HalfWaveASMTests.cpp HalfWaveTimingTest
s.cpp
TDD ActivateTestsmain.cpp Check web for
updates TS201_char8_TDDLib_4Dec04.dlb TDD_include2
5Nov04.h TDD_Tests25Nov04.h TigerSHARC versions
to come hardwareTDD.h datastoreTDD.h
Rectify Rectify.h Rectifymain.cpp CustomerRectifym
ain.cpp TS201.ldf HalfWaveDebug.cpp Rectify.prj H
alfWaveRelease.cpp HalfWaveASMint.asm HalfWaveASMf
loat.asm
Lab1
Lab1Tests
Lab2
Lab2Tests
LabX
LabXTests
7
First unit test
  • RectifyTests/Lab1HalfWaveDebugTests.cpp (on Web)

include ../Rectify/Rectify.h
8
Running the tests or customer code
  • Lab1/Lab1main.cpp


9
Running the customer product code
  • Rectify/CustomerRectifymain.cpp

include Rectify.hint CustomerRectifymain(vo
id)
10
Test code TDD/ActivateTestsmain.cpp
Report all tests.Success and failures
Report successes only
11
Build a project -- Steps 1 and 2
HolddownCTRLKey
12
Build a project Steps 3, 4, 5, 6
13
Build a project Steps 8, 9, 10
14
Adding files to project
15
Build and run commands
Build ANY CHANGED files (Use most of the time for
speed reasons)
Build THIS file
Build ALL files
Run the program Halt the program
16
Runs slowly in single cycle accurate Simulator
mode Run on real board in ICT320 using Summit
ICE JTAG
17
Some useful project menu options
About every 10 buildsor when thingsjust are
not going right Clean Update
dependenciesRebuild ALL
18
RectifyTests/HalfWaveDebug.cpp works but
contains a hidden bug
include Rectify/Rectify.h
19
Integer array tests ZERO-LENGTH ARRAY
  • Unspecified requirement shown as part of test
    functionality
  • Function return pointer NULL if error condition
    present

20
Fast generation of Release Code/Tests
  • Save a version of RectifyTests/
    HalfWaveDebugTests.cpp as RectifyTests/
    HalfWaveReleaseTests.cpp
  • Use editor to change function names from XXXDebug
    to XXXRelease
  • Save a version of Rectify/ HalfWaveDebug.cpp as
    Rectify/ HalfWaveRelease.cpp
  • Use editor to change function names from XXXDebug
    to XXXRelease

21
Fast generation of Release code/tests
  • Add RectifyTests/ HalfWaveReleaseTests.cpp and
    Rectify/ HalfWaveRelease.cpp to project
  • Compile and link to make sure that they work
  • Need to change compile option for Rectify/
    HalfWaveRelease.cpp to optimized

22
Steps for changing options of one file to
optimized / release mode
23
Float and assembly language tests-- Cut and
paste versions of integer tests
24
Speed tests integer code versions
25
Concepts covered
  • Stages in a conventional radio
  • Stages in a software radio
  • Goals for the long term project
  • Concept of test driven development
  • Digital rectification
  • Tests for integer array rectification
  • Tests for float array rectification (C
    compiler)
  • Tests for rectification in assembly code
  • More details of test driven development

26
Time for a demo
  • Need 1 student volunteer

27
Concepts
  • Stages in a conventional radio
  • Stages in a software radio
  • Goals for the long term project
  • Building a VisualDSP project using TDD
  • See web for more specific details
  • Demo if time is available
Write a Comment
User Comments (0)
About PowerShow.com