Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added script to generate tests in rv64uv with a proper makefrag #14

Closed
wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Dec 2, 2022

Hi there,

This PR is being submitted to address the issues mentioned in issue (#13) regarding creation of vector tests for riscv-tests. Following are some key points to notice:

  1. As we know that in riscv-tests all the instructions should be covered along with all its legal combinations. Therefore, a regressive test generation script was desired. This PR will generate test exhaustively for all combinations. Exhaustive generation also tries invalid combinations, but either an invalid test is created is created or generator fails trying to do so. I'll address that problem in another PR. Meanwhile, this script will generate mostly (approx. > 90%) valid tests.
  2. All tests covering all instructions with all its variants and configuration should be placed in a directory which have a structure consistent with riscv-tests. This includes all the test placed in one folder (rv64uv in this case) with a makfrag listing all those tests that can be included in test environment (riscv-test-env) later. Header files (whether scalar or vector) should be included in a single directory (rv64uv/macros) and no changes should have to be made in the environment itself (or at the worst, least changes are desired) that uses those tests after compiling according to any target, spike or DUT etc. This PR covers that aspect.
  3. A lot of boiler plate coding is tried to be avoided. Since some redundancy is there, but can be addressed later. As of now, it is not hurting the regressive generation.
  4. Inclusion of relevant header files is not addressed yet. I'll address that in another PR along with other issues mentioned above. As of now, it still includes the same file name (as in #include "test_macros_vector.h") but the environment wouldn't know which one to include. I propose to rename that in test text as a unique identifier and keep that relevant file with that unique name in proper directory (rv64uv/macros/vector etc.) As mentioned earlier, I'll address these soon.

Finally, we will have what we can easily use in riscv-tests with riscv-tests-env in any ACT suite. An example of generated tests is available at my repo, in rvv-atg/rv64uv folder as well as logs in rvv-atg/generate_all_logs folder.

Looking forward to contribute more in to this amazing generator in future!

Regards,
Quswar Abid

@ghost ghost changed the title added script to generate tests in rv64uv with a proper makefrag added script to generate tests in rv64uv with a proper makefrag Dec 2, 2022
@ghost ghost changed the title added script to generate tests in rv64uv with a proper makefrag added script to generate tests in rv64uv with a proper makefrag Dec 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant