2.0 KiB
2.0 KiB
Vortex Codebase
The directory/file layout of the Vortex codebase is as followed:
hw:unit_tests: contains unit test for RTL of cache and queuesyn: contains all synthesis scripts (quartus and yosys)quartus: contains synthesis scripts for Intel Quartus toolchainopae: contains synthesis scripts for Intel OPAE FPGA
simulate: contains RTL simulator (verilator)rtl: contains rtl source codecache: contains cache subsystem codefp_cores: contains floating point unit codeinterfaces: contains code that handles communication for each of the units of the microarchitecturelibs: contains general-purpose modules (i.e., buffers, encoders, arbiters, pipe registers)
driver: contains driver software implementation (software that is run on the host to communicate with the vortex processor)include: contains vortex.h which has the vortex API that is used by the driversopae: contains code for driver that runs on FPGArtlsim: contains code for driver that runs on local machine (driver built using verilator which converts rtl to c++ binary)simx: contains code for driver that runs on local machine (vortex)
runtime: contains software used inside kernel programs to expose GPGPU capabilitiesinclude: contains vortex API needed for runtimelinker: contains linker file for compiling kernelssrc: contains implementation of vortex API (from include folder)
simX: contains simX, the cycle approximate simulator for vortextests: contains tests suiteruntime: contains vortex runtime testsdriver: contains vortex driver testsopencl: contains opencl tests and benchmarksriscv: contains official riscv testsregression: contains regression testsvector: tests for vector instructions (not yet implemented)
ci: contain tests to be run during continuous integration (Travis CI)miscs: contains miscellaneous stuffs