Your SlideShare is downloading. ×
0
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Kersten eder q4_2008_bristol_2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Kersten eder q4_2008_bristol_2

191

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
191
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Genetic Programming in automated test code generation for a multi-threaded microprocessor. Neow Way Yuh MSc. Machine Learning and Data Mining. Supervised by Dr. Kerstin Eder and Mr. Peter Hedinger
  2. Introduction • The complexity of modern microprocessors makes verification difficult. • Recent research on Coverage-Directed test Generation (CDG) uses machine learning approaches. • Genetic Programming (GP) is one of the machine learning methods used in CDG. • Initial experiments with GP in multi-threaded microprocessor verification show potential. • Presentation starts with introduction to GP and a case study with the XMOS multi-threaded microprocessor.
  3. Fundamentals of Genetic Programming (GP)‫‏‬ • GP is based on the natural evolution process. • Darwin Theorem: Natural selection promotes favourable heritable traits in successive generations. • In GP, each individual in a population is given a quantitative measurement to reflect the quality of an individual relative to the environment.
  4. GP in test code generation • Selection algorithm samples two individuals from the population based on their fitness values (e.g. Higher fitness value individuals get sampled more often). • The parents are merged using genetic operators to produce new individuals. • An external simulator is used to evaluate the fitness of the new individuals. • GP implementation in Coverage-Directed test Generation requires less expert knowledge compared to other methods (e.g. Bayesian Network).
  5. Case study: XMOS multi- threaded microprocessor • Software Defined Silicon (SDS). • Up to 8 threads running simultaneously in one single core. • Experiment focuses on channel communication. • Channel communication design requires a number of threads to exercise the corner cases. However, the timing window to trigger corner cases, such as race conditions, is very narrow.
  6. Implemented CDG loop • The experiment extends the existing MicoGP* program. • Expert knowledge is encoded in an instruction library. • An individual is a graph; the nodes in a graph are constructed from the basic building blocks in the library. • The extended MicroGP includes 2 crossover and 5 mutation operators. • A double looped system is used to enhance the performance of MicroGP. * MicroGP research group http://www.cad.polito.it/research/microgp.html
  7. Encoding multi-threaded test code in GP • A test program can be represented by a graph; a node in a graph maps to a channel operation and a branch represents the content of a new thread.
  8. Feedback measurements • Improves basic coverage measurements such as line coverage and branch coverage. • Minimises simulation cycles. • Minimises the main graph to encourage more threads in test code. • Balances the distribution of operations among the threads. • Increases operation on channel IO. • All feedback measurements are optimised together with different priority.
  9. Experiment Results Line Coverage Simulation Cycle 35000 80 30000 25000 Human Percentage (%) 75 20000 Unit Cycle Random MicroGP 15000 70 10000 5000 65 0 12 345 678 901 234 567 890 123 456 789 12 345 678 901 234 567 890 123 456 789 Random Seed Random Seed • Test code generated by MicroGP method is significantly better than human engineer and randomly generated sequences. • Actual line coverage improved to 94% and up to 50% cycle reduction.
  10. Thank you. Questions ?

×