mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-22 04:47:25 -04:00
As well as completely removing the existing non-cosim flow, this commit significantly refactors the build system to be less reliant on the makefile. While we still use the Makefile, it is relegated to only providing scheduling and dependency calculations between the different build steps. This is possible by moving all of the build metadata into a file on-disk, which is populated at the start of a new regression, then read and written to by the different scripts executing the build. Each build step only needs to be passed the location of this metadata at the top-level, and it can then import all the information it requires to calculate and perform the next build stage. This allows better observability into the build, as it is trivial to add new data to this file, which is also provided as a human-readable yaml version. It should also allow easier integration into different build systems, as the dependency on Make is much weaker. The file metadata.py and test_run_result.py contain the definitions for these metadata objects. metadata.py defines an object for the whole regression, while test_run_result.py defines objects for each individual test performed. The file riscvdv_interface.py has been created to better isolate the interface with that project. The file setup_imports.py has been created to centralize the importing of python modules from other projects (riscvdv/ot_lowrisc_ip etc.). Existing python code has been tidied to better conform to PEP8 standard formatting, and to be more python in general such as using pathlib.Path.
0 lines
Python
0 lines
Python