2.2 KiB
2.2 KiB
Vortex Codebase
The directory/file layout of the Vortex codebase is as followed:
benchmark: contains opencl, risc-v, and vector testsopencl: contains basic kernel operation tests (i.e. vector add, transpose, dot product)riscv: contains official riscv tests which are pre-compiled into binariesvector: tests for vector instructions (not yet implemented)
ci: contain tests to be run during continuous integration (Travis CI)- driver, opencl, riscv_isa, and runtime tests
driver: contains driver software implementation (software that is run on the host to communicate with the vortex processor)opae: 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)include: contains vortex.h which has the vortex API that is used by the drivers
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)tests: contains runtime testssimple: contains test for GPGPU functionality allowed in vortex
simx: contains simX, the cycle approximate simulator for vortexmiscs: contains old code that is no longer usedhw:unit_tests: contains unit test for RTL of cache and queuesyn: contains all synthesis scripts (quartus and yosys)quartus: contains code to synthesis cache, core, pipeline, top, and vortex stand-alone
simulate: contains RTL simulator (verilator)testbench.cpp: runs either the riscv, runtime, or opencl tests
opae: contains source code for the accelerator functional unit (AFU) and code which programs the fpgartl: 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)