pulp-platform / ara

The PULP Ara is a 64-bit Vector Unit, compatible with the RISC-V Vector Extension Version 1.0, working as a coprocessor to CORE-V's CVA6 core
Other
382 stars 132 forks source link

Test failures in Vector Permutation Instructions #168

Open ghost opened 2 years ago

ghost commented 2 years ago

Test failures in Vector Permutation Arithmetic Instructions

Last updated: November 21, 2022

Description:

Tests for the unit testing have been added and necessary environment changes have been made to run the tests on Spike and ARA. Following tests are found to be failing on the RTL. The tests can be verified by running on Spike using the usual Make targets in ara/apps (usingmake riscv_tests_spike)

In this issue, vector permutation instructions related failure have been reported. Other tests are also available. Each of these combination is a test file in ara/apps/riscv-tests/isa/rv64uv/ and is also listed in its Makefrag.

vslide1up

Failing:

vslide1up.vx_LMUL8SEW8

Hanging:

vslide1up.vx_LMUL1SEW16
vslide1up.vx_LMUL1SEW8
vslide1up.vx_LMUL2SEW16
vslide1up.vx_LMUL2SEW32
vslide1up.vx_LMUL4SEW32
vslide1up.vx_LMUL4SEW64
vslide1up.vx_LMUL8SEW64

vslideup

Failing:

vslideup.vi_LMUL8SEW8
vslideup.vx_LMUL8SEW8

Hanging:

vslideup.vi_LMUL1SEW16
vslideup.vi_LMUL1SEW8
vslideup.vi_LMUL2SEW16
vslideup.vi_LMUL2SEW32
vslideup.vi_LMUL4SEW32
vslideup.vi_LMUL4SEW64
vslideup.vi_LMUL8SEW64
vslideup.vx_LMUL1SEW16
vslideup.vx_LMUL1SEW8
vslideup.vx_LMUL2SEW16
vslideup.vx_LMUL2SEW32
vslideup.vx_LMUL4SEW32
vslideup.vx_LMUL4SEW64
vslideup.vx_LMUL8SEW64

vrgather

Failing:

vrgather.vi_LMUL1SEW16
vrgather.vi_LMUL1SEW32
vrgather.vi_LMUL1SEW64
vrgather.vi_LMUL1SEW8
vrgather.vi_LMUL2SEW16
vrgather.vi_LMUL2SEW32
vrgather.vi_LMUL2SEW64
vrgather.vi_LMUL2SEW8
vrgather.vi_LMUL4SEW16
vrgather.vi_LMUL4SEW32
vrgather.vi_LMUL4SEW64
vrgather.vi_LMUL4SEW8
vrgather.vi_LMUL8SEW16
vrgather.vi_LMUL8SEW32
vrgather.vi_LMUL8SEW64
vrgather.vi_LMUL8SEW8
vrgather.vv_LMUL1SEW16
vrgather.vv_LMUL1SEW32
vrgather.vv_LMUL1SEW64
vrgather.vv_LMUL1SEW8
vrgather.vv_LMUL2SEW16
vrgather.vv_LMUL2SEW32
vrgather.vv_LMUL2SEW64
vrgather.vv_LMUL2SEW8
vrgather.vv_LMUL4SEW16
vrgather.vv_LMUL4SEW32
vrgather.vv_LMUL4SEW64
vrgather.vv_LMUL4SEW8
vrgather.vv_LMUL8SEW16
vrgather.vv_LMUL8SEW32
vrgather.vv_LMUL8SEW64
vrgather.vv_LMUL8SEW8
vrgather.vx_LMUL1SEW16
vrgather.vx_LMUL1SEW32
vrgather.vx_LMUL1SEW64
vrgather.vx_LMUL1SEW8
vrgather.vx_LMUL2SEW16
vrgather.vx_LMUL2SEW32
vrgather.vx_LMUL2SEW64
vrgather.vx_LMUL2SEW8
vrgather.vx_LMUL4SEW16
vrgather.vx_LMUL4SEW32
vrgather.vx_LMUL4SEW64
vrgather.vx_LMUL4SEW8
vrgather.vx_LMUL8SEW16
vrgather.vx_LMUL8SEW32
vrgather.vx_LMUL8SEW64
vrgather.vx_LMUL8SEW8

vrgatherei16

Failing:

vrgatherei16.vv_LMUL1SEW16
vrgatherei16.vv_LMUL1SEW32
vrgatherei16.vv_LMUL1SEW64
vrgatherei16.vv_LMUL1SEW8
vrgatherei16.vv_LMUL2SEW16
vrgatherei16.vv_LMUL2SEW32
vrgatherei16.vv_LMUL2SEW64
vrgatherei16.vv_LMUL2SEW8
vrgatherei16.vv_LMUL4SEW16
vrgatherei16.vv_LMUL4SEW32
vrgatherei16.vv_LMUL4SEW64
vrgatherei16.vv_LMUL4SEW8
vrgatherei16.vv_LMUL8SEW16
vrgatherei16.vv_LMUL8SEW32
vrgatherei16.vv_LMUL8SEW64

vcompress

Failing:

vcompress.vm_LMUL1SEW16
vcompress.vm_LMUL1SEW32
vcompress.vm_LMUL1SEW64
vcompress.vm_LMUL1SEW8
vcompress.vm_LMUL2SEW16
vcompress.vm_LMUL2SEW32
vcompress.vm_LMUL2SEW64
vcompress.vm_LMUL2SEW8
vcompress.vm_LMUL4SEW16
vcompress.vm_LMUL4SEW32
vcompress.vm_LMUL4SEW64
vcompress.vm_LMUL4SEW8
vcompress.vm_LMUL8SEW16
vcompress.vm_LMUL8SEW32
vcompress.vm_LMUL8SEW64
vcompress.vm_LMUL8SEW8

Verification branch: main_verif_10x

Steps to recreate this issue:

  1. git clone https://github.com/pulp-platform/ara.git
  2. git remote add test_repo "https://github.com/10x-Engineers/ara"
  3. git fetch test_repo
  4. git checkout main_verif_10x
  5. cd apps
  6. make riscv_tests
  7. cd ../hardware
  8. make simv app="name of individual ELF" or make riscv_tests_simv -j4 to run regression
ghost commented 2 years ago

Issue updated with failing/hanging status of available tests.