diff --git a/sim/FPbuild.txt b/sim/FPbuild.txt new file mode 100644 index 000000000..edb4a645c --- /dev/null +++ b/sim/FPbuild.txt @@ -0,0 +1,60 @@ +Procedure for Runnning SoftFloat/TestFloat with Wally + +1.) First, compile SoftFloat and TestFloat by going to the addins +directory and finding the specific build directory (e.g., +Linux_x86_64-GCC. Currently, we are using v3e of +SoftFloat/TestFloat. I am not sure of the order, but I always compile +SoftFloat first as I believe TestFloat uses the static library +SoftFloat creates. + +2.) Once compiled both, go to the tests/fp directory and run the +create_vectors.sh Linux script. In the past, we have automated this, +but I believe this has fallen into more of a manual state lately. + +3.) Then, run remove_spaces.sh which will remove spaces from the +output and put underscores between vectors (this helps differentiate +the vectors that are generated). Again, this can be combined with +Step 2. + +4.) TestFloat is run from wally/cvw/sim and sim-testfloat-batch with +its respective test. The format is ./sim-testfloat-add add. All of +the tests are listed below. This can be augmented or added to for +other FP tests given by the great SoftFloat/TestFloat output. + + cvtint - test integer conversion unit (fcvtint) + cvtfp - test floating-point conversion unit (fcvtfp) + cmp - test comparison unit's LT, LE, EQ opperations (fcmp) + add - test addition + fma - test fma + mul - test mult with fma + sub - test subtraction + div - test division + sqrt - test square root + all - test everything + +4a.) Each test will test all its vectors - if you want to test a +subset of the vectors (e.g., only binary16), you should modify the +cvw/testbench/tests-fp.h and comment out the tests you do not want to +test. The best way to do this is to comment out each item out with +the // comment option in SV. For example, + +string f128div[] = '{ +// "f128_div_rne.tv", +// "f128_div_rz.tv", +// "f128_div_ru.tv", +// "f128_div_rd.tv", +// "f128_div_rnm.tv" +}; + + + + + + + + + + + + +