Project

General

Profile

Actions

Task #5670

closed

Examples of test templates using memory-related test situations (hit, miss)

Added by Andrei Tatarnikov about 9 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
03/03/2015
Due date:
% Done:

90%

Estimated time:
Detected in build:
svn
Published in build:

Description

Examples must be created an published.

Actions #1

Updated by Alexander Kamkin about 9 years ago

  • Subject changed from [template][docs] Examples of test templates using memory-related test situations (hit, miss) to Examples of test templates using memory-related test situations (hit, miss)
  • Category set to 58
  • Assignee set to Alexander Kamkin
  • Target version set to 2.3
Actions #2

Updated by Alexander Kamkin about 9 years ago

  • Priority changed from Urgent to Normal
Actions #3

Updated by Alexander Kamkin over 8 years ago

Samples having been discussed earlier.

Specification of a particular test case in terms of MMU-related events (hits/misses, control bits, exceptions, etc.). E.g. (the syntax is approximate) :

block {
  sb a0, s0 do situation(‘mmu’, :execution => [hit(‘DTLB’, equal(‘D’, 0))])
  sb a1, s1 do situation(‘mmu’, :execution => [miss(‘DTLB’), hit(‘JTLB’, equal(‘V’, 1)), hit(‘L1’)])
}

Specification of a family of test cases; the goal is to generate all possible execution paths and dependencies for instruction sequences of the specified length. E.g. (the syntax is approximate):

block (:engine => ‘mmu’, :length => 2) {
  sb a0, s0
  sb a1, s1
  lb a2, s2
  lb a3, s3
}
Actions #4

Updated by Andrei Tatarnikov over 8 years ago

  • Status changed from New to Open
Actions #5

Updated by Andrei Tatarnikov over 8 years ago

  • % Done changed from 0 to 10

r5417 - Classes for MMU-related constraints: BufferEventConstraint and MemoryAccessConstraints
r5419 - Builder for MemoryAccessConstraints
r5420 - ConstraintBuilder - class for building memory-related test situations from test templates
r5421 - MMU Test Templates: ConstraintBuilder supports Variate
r5422 - Ruby methods for MMU constraints (stubs)
r5424 - Support for defining memory-related constraints to be used in situations
r5425 - Packing primitive constraints (e.g. eg, hit, miss) into MemoryAccessConstraints
r5426 - Simplified SituationBuilder (now inner class of Situation) to relax type checks on attribute types

Actions #6

Updated by Andrei Tatarnikov over 8 years ago

  • % Done changed from 10 to 20
Actions #7

Updated by Andrei Tatarnikov over 8 years ago

  • % Done changed from 20 to 50
Actions #8

Updated by Andrei Tatarnikov over 8 years ago

  • % Done changed from 50 to 90

Implementation is done. Ruby code will look like this:

simple_dist = dist(range(:value => 0,      :bias => 50),
                   range(:value => 1..3,   :bias => 25),
                   range(:value => [5, 7], :bias => 25))

lw s0, 0, t0 do situation('access',
    :path => constraints(eq('L1.V', 0), hit('L1'))) end

lw s0, 0, t0 do situation('access',
    :path => constraints(eq('L1.V', [0, 2]), hit('L1'))) end

lw s1, 0, t1 do situation('access',
    :path => constraints(eq('L1.V', 0..3), miss('L1'))) end

lw s0, 0, t0 do situation('access',
    :path => constraints(eq('L1.V', simple_dist), hit('L1'))) end

lw s1, 0, t1 do situation('access',
    :path => constraints(eq('L1.V', 0), event('L1', :hit => 50, :miss => 50))) end
Actions #9

Updated by Andrei Tatarnikov over 7 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF