BSG Replicant: Cosimulation and Emulation Infrastructure for running HammerBlade
Contents
This repository contains the following folders:
build
: Vivado scripts for building FPGA Design Checkpoint Files to upload to AWS-F1hardware
: HDL sources, ROM scripts, and package fileslibraries
: C/C++ driver and CUDA-lite Runtime library sourcesregression
: C/C++ Regression tests for co-simuation and AWS F1 Executiontestbenches
: Testbench makefiles for C/C++ Co-Simulationmachines
: CustomizedMakefile.machine.include
file for different designs.
This repository contains the following files:
Makefile
: Contains targets for Co-Simulation, Bitstream Generation, F1 Regressionmachine.mk
: Defines the path to the current Machine Configuration for co-simulationREADME.md
: This filecadenv.mk
: A makefile fragment for deducing the CAD tool environmentenvironment.mk
: A makefile fragment for deducing the build environment.hdk.mk
: A makefile fragment for deducing the AWS-FPGA HDK build environment.
Machine Configurations
Each Manycore configuration is called a "Machine" and defines a size,
memory type, memory hierarchy, cache type, and many other
parameters. Each machine is defined by Makefile.machine.include
file.
To switch machines set BSG_MACHINE_PATH
, defined in
machine.mk, to define the current target for
simulation. To switch machines, modify the value of BSG_MACHINE_PATH
to point to any subdirectory of the machines
directory.
See machines/README.md for more documentation.
Quick-Start
The simplest way to use this project is to clone it's meta-project: BSG Bladerunner.
BSG Bladerunner tracks this repository, BSG Manycore, and BaseJump STL repositories as submodules and maintains a monotonic versionining scheme. BSG Bladerunner also contains cosimulation instructions.
Dependencies
To simulate/co-simulate/build these projects you must have the following tools.
- Vivado 2019.1
- A clone of aws-fpga
- Synopsys VCS (We use O-2018.09-SP2, but others would work)
This repository depends on the following repositories: