Skip to content

Sail Softfloat Replacement Verification #41

@jjscheel

Description

@jjscheel

Technical Group

Applications & Tools HC

ratification-pkg

Technical Debt

Technical Liaison

Bill McSpadden

Task Category

SAIL model

Task Sub Category

  • gcc
  • binutils
  • gdb
  • intrinsics
  • Java
  • KVM
  • ld
  • llvm
  • Linux kernel
  • QEMU
  • Spike

Ratification Target

3Q2023

Statement of Work (SOW)

Component names:
Sail RISC-V Model

Requirements:
This SOW is dependent on completion of the Sail Softfloat Replacement - #40 which describes the work to be done to port the SoftFloat library (written in C) to the Sail language.

This SOW describes the work needed to verify that the Sail implementation is correct, a not inconsequential effort.

These 2 SOWs are separately defined for the following reasons:

  1. Design and verification of a significant software package should be kept separate to ensure that at
    least 2 sets of eyes evaluate the implementation.
  2. Manpower effort. Both the design and verification of the Sail-SoftFloat are significant projects.

The particular requirements for the verification phase of this work, in this SOW, are:

  1. Create a set of “smoke tests” that check the basic functionality of all public interfaces to the library.
    This set of smoke tests are intended to be used as part of the CI of the package. Run time for this set of tests
    should be less than 30 minutes.

  2. Leverage existing FP test packages for more rigorous testing of the library. The implementor should evaluate the
    following, at a minimum:

    1. The TestFloat package that comes with the C SoftFloat package.
    2. The IBM FP testsuite. These tests form the basis for the ACTs. They are self-checking (or can easily be made so).
    3. Explore the possibility of using formal analysis methods to evaluate the Sail implementation. (Note: weakness of this approach: dependent upon Yet Another FP Model that exists in the Sail toolchain tree. Alasdair mentioned that the SMT is a bit buggy and will need some work.)

Deliverables:

  • An addition to the Sail-SoftFloat github repository that contains the FP tests and infrastructure needed to test the library.

Acceptance Criteria:

  • TBD. Likely will involve passing the completion of the verification test suite against both softfloat and Sail implementations.

Projected timeframe: (best guess date)

SOW Signoffs: (delete those not needed)

  • Development partner sign-off
  • ACT SIG sign-off (if ACT work)
  • Golden Model SIG sign-off (if SAIL work)

Waiver

  • Freeze
  • Ratification

Pull Request Details

No response

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status

As-planned

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions