A Process Model of Developing Micro-code for a Network Processor - PowerPoint PPT Presentation

About This Presentation
Title:

A Process Model of Developing Micro-code for a Network Processor

Description:

Title: A Process Model of Developing Micro-code for a Network Processor Author: Jani Koski Last modified by: Raija Halkilahti Created Date: 6/10/2005 10:51:51 AM – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 23
Provided by: JaniK
Category:

less

Transcript and Presenter's Notes

Title: A Process Model of Developing Micro-code for a Network Processor


1
A Process Model of Developing Micro-code for a
Network Processor
  • 18.10.2005 Jani Koski

Author Jani Koski Supervisor Prof. Raimo
Kantola Instructor M.Sc Marko Lohjala
2
Contents
  • Introduction to the study
  • Network device
  • Network Processor (NP)
  • Micro code for NP
  • Why research was made
  • Research problem
  • How to make micro code?
  • Micro code SW process?
  • Research method
  • Search best SW model from literature
  • Lets take to account the nature of Micro code,
    environment, etc
  • gt case study
  • Case study
  • Project analysis
  • NP analysis
  • Micro code analysis
  • The result

3
Network device
Network Processor (NP)
4
Network Processor (NP)
Micro code
5
Why research was made
  • Previously micro code was done by Agere Systems
  • But also the Nokia had knowledge to produce the
    micro code
  • Faster SW integration if Nokia produce the micro
    code it selves?
  • Nokia did not have any process for producing
    APP550 specific micro code

6
Research problem
  • In what level micro code SW process should be
    investigated?
  • Schedule of micro code SW process? When to
    implement micro code?
  • How to implement micro code to support HW-test?
  • The nature of micro code? How does it differ from
    traditional coding?
  • How do we test micro code? What tools do we have?
  • Can we reuse some generic SW process models using
    literature?

7
Answers (Q1)
  • In what level should question micro code SW
    process? be investigated?
  • The level is Generic micro code SW process model.
  • It means that we will find different generic SW
    process models (e.g. Spiral model, Water Fall
    model) from literature and approach our question
    from academic point of view.
  • We avoid copy-paste method and existing Nokia
    SW process models are not used
  • To choose best model from literature we need
    information about nature of Micro code.

8
Answers (Q2)
  • Schedule of micro code SW process? When to
    implement micro code? Somewhere middle of HW and
    SW schedule?
  • HW must get some preliminary version from micro
    code to make their HW tests (HW MT). Without
    micro code it is not possible.
  • Schedule is most likely following

Final version
Test version to support HW test
simulation
Test board (e.g. Hydra)
9
Answers (Q2) cont.
  • How to map the micro code SW process to our HW
    milestone?
  • We have different kind of SW to be integrated
  • OS, SW, Micro code
  • For micro code at least four different versions
    can be identified
  • Preliminary micro code version 1 test with
    simulator
  • Preliminary micro code version 2 test with test
    board
  • Preliminary micro code version 3 to support HW
    test
  • Final micro code version 4 with all feature
    support

Final version
Test version to support HW test
simulation
Test board (e.g. Hydra)
10
Answers (Q3)
  • How to implement micro code to support HW-test?
  • We need some input from HW group to make
    sufficient first version from micro code to HW
    group.
  • After knowing requirements we can implements
    micro code.

11
Answers (Q4)
  • The nature of Micro code? How does it differ from
    traditional coding (like C, C, Java) or does it
    differ at all?
  • Yes, micro code differs from traditional coding.
    If we compare e.g. to C language and SW done with
    that, micro code is
  • Usually less code lines than in C
  • gt no big resources needed
  • Available memory is usually small
  • Big micro code software not possible
  • Available memory can not be used as in C (we have
    no pointers).
  • Instruction set smaller than in C
  • Same code editors can be used (emacs, UltraEdit)
  • Micro code can be simulated with simulator (SPA
    if APP is used)
  • Note that there are different versions of APP and
    simulators!
  • Debugging is different (and difficult) in micro
    code (printf(Hello world) is not possible).

12
Answers (Q4) cont.
  • The nature of Micro code? How does it differ from
    traditional coding (like C, C, Java) or does it
    differ at all?
  • Yes, micro code differs from traditional coding.
    If we compare e.g. to C language and SW done with
    that, micro code is (APP)
  • Real time programming
  • In micro code we have only very limited time to
    use per received cell or PDU
  • In micro code we may have dynamic changing code
    (using searching trees). Trees are usually
    modified by some host processor.
  • Micro code compiler gives similar kind of warning
    and error than e.g. gcc.

13
Answers (Q5)
  • How do we test micro code? What tools do we have?
  • HW can not be ready if it is not verified by HW
    MT (HardWare Module Testing). HW MT needs some
    preliminary micro code for testing. But how do we
    create micro code if we can not test that in some
    HW?
  • Chicken-Egg problem
  • Because we do not have HW ready for testing we
    need simulator. Usually manufacturer can offer a
    simulator for their NP (e.g. SPA for APP). But
    simulator may have some SW bugs and we can not be
    100 sure that micro code is really working.
  • We could use also test boards that include the
    real NP (delivered by manufacturer). E.g Ageres
    Hydra.
  • When our HW is ready we will continue testing
    with that.
  • Testing equipment needed! (e.g. packet generator
    etc.)
  • Simulator can be still used.

14
Answers (Q6)
  • Can we reuse some generic SW process models using
    literature?
  • Generic SW process models from literature
  • Other SW process models.
  • Agility methods in SW process models.

15
Choosing the SW process
  • Generic SW process models from literature
  • Water fall model is too heavy process model for
    micro code. It produce lot of documentation and
    its applicable for big process
  • Evolution model is a good model for producing
    complex SW. SW is produced iterative but that
    will cause lot of updates to documentation. The
    biggest disadvantage is poor SW architecture
    caused by this model.
  • Component model uses old SW as much as possible.
    This leads SW design where SW components are very
    generic. However, the result is usually big SW
    because code is not optimized.

16
Choosing the SW process
  • Other SW process models
  • Prototyping is very useful model for example
    finding out critical capacity questions
  • RUP (Rational Unified Process) is a combination
    of Water fall, Evolution Component models
  • Formal models is based on mathematical forms
  • 4 GT models are higher level tools for generating
    code
  • Code and fix model is a poor model
  • Spiral model is a model for minimizing risks

17
Choosing the SW process
  • Agility methods in SW process models
  • XP (Extreme Programming) was used as a main model
    for micro code
  • RAD (Rapid Application Development) is developed
    from 4 GT models

18
XP-model
  • Based on iteration
  • Pair programming
  • For small projects (e.g. about 2-12 programmers)
  • Promotes team work
  • Stresses customer satisfaction (e.g. other
    project)
  • Customer is part of the process
  • Developers, managers and customers are working
    together
  • Design unit test case before coding
  • Automatic testing

19
The Micro code SW process
Host processor interface specification
documentation DB
20
Detailed micro code SW process
21
Conclusion
  • Feature IP QoS was implemented by using the micro
    code SW process
  • Micro code SW process works but is it efficient?
  • Requires measurements later (out of this thesis)
  • Component model was used but XP model is
    dominating
  • Pair programming in XP model may face some
    problems. E.g cultural and behavioural problems

22
Questions?
Comments?
Any new ideas?
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com