Skip to content
Snippets Groups Projects
Commit 431df191 authored by dam1n19's avatar dam1n19
Browse files

Added wrapper readme

parent f37a2799
No related branches found
No related tags found
No related merge requests found
Pipeline #10204 failed
...@@ -4,7 +4,8 @@ This repo is the top-level project repository which is used as a base for other ...@@ -4,7 +4,8 @@ This repo is the top-level project repository which is used as a base for other
Please Fork this repository in order to build your own custom project. This can be done through the git.soton.ac.uk/soclabs/accelerator-project website and create your own custom project folder which you can then customise to suit your needs. Please Fork this repository in order to build your own custom project. This can be done through the git.soton.ac.uk/soclabs/accelerator-project website and create your own custom project folder which you can then customise to suit your needs.
## Cloning this repository ### Cloning this repository
---
This Repository contains multiple sub-repositories. In order to clone them with this repository, please use the following command: This Repository contains multiple sub-repositories. In order to clone them with this repository, please use the following command:
...@@ -12,13 +13,15 @@ This Repository contains multiple sub-repositories. In order to clone them with ...@@ -12,13 +13,15 @@ This Repository contains multiple sub-repositories. In order to clone them with
This will clone this base repository. Change the url in the command above to clone your fork instead of the base repository. This will clone this base repository. Change the url in the command above to clone your fork instead of the base repository.
## Setting up the Project Environment ### Setting up the Project Environment
---
In order to checkout all the sub-repositories in your project to their branches and set up your local environment variables, from the top-level of this project run: In order to checkout all the sub-repositories in your project to their branches and set up your local environment variables, from the top-level of this project run:
`source set_env.sh` `source set_env.sh`
## Adding a Custom Accelerator Repository ### Adding a Custom Accelerator Repository
---
Custom accelerator repsitories can be added to your forked project using the following commands: Custom accelerator repsitories can be added to your forked project using the following commands:
...@@ -36,7 +39,8 @@ The last thing you will wish to do it to modify the `env/dependency_env.sh` file ...@@ -36,7 +39,8 @@ The last thing you will wish to do it to modify the `env/dependency_env.sh` file
`source set_env.sh` `source set_env.sh`
## Setting up your environment ### Setting up your environment
---
Every time you wish to run commands in this project, you will need to make sure the set environment script has been run for your current terminal session. This is done by moving to the top-level of the project and running: Every time you wish to run commands in this project, you will need to make sure the set environment script has been run for your current terminal session. This is done by moving to the top-level of the project and running:
...@@ -44,7 +48,8 @@ Every time you wish to run commands in this project, you will need to make sure ...@@ -44,7 +48,8 @@ Every time you wish to run commands in this project, you will need to make sure
This sets the environment variables related to this project and creates visability to the scripts in the flow directory. This sets the environment variables related to this project and creates visability to the scripts in the flow directory.
## Updating Subrepositories ### Updating Subrepositories
---
Once you have run a `source set_env.sh` in your current terminal, you are then able to update all your repositories to their latest version by running: Once you have run a `source set_env.sh` in your current terminal, you are then able to update all your repositories to their latest version by running:
...@@ -52,17 +57,25 @@ Once you have run a `source set_env.sh` in your current terminal, you are then a ...@@ -52,17 +57,25 @@ Once you have run a `source set_env.sh` in your current terminal, you are then a
This runs a git pull on all repositories in your project. This runs a git pull on all repositories in your project.
# Project Structure ## Project Structure
---
The core of the SoC is NanoSoC. This is an example, configurable system that is the main framework. It has many different memory-mapped regions, one of which is designed for the connection of accelerator subsystems called the expansion region. The core of the SoC is NanoSoC. This is an example, configurable system that is the main framework. It has many different memory-mapped regions, one of which is designed for the connection of accelerator subsystems called the expansion region.
The expansion region is able to instantiate an accelerator_subsystem by default. This means that anyone using NanoSoC as a platform for accelerator experimentation will need to build an `accelerator_subsystem` rtl module. The expansion region is able to instantiate an accelerator_subsystem by default. This means that anyone using NanoSoC as a platform for accelerator experimentation will need to build an `accelerator_subsystem` rtl module.
### Accelerator Subsystem
---
`accelerator_subsystem` can either directly contain an accelerator (or multiple) or can instantiate accelerator wrappers which in turn instantiate accelerators. `accelerator_subsystem` can either directly contain an accelerator (or multiple) or can instantiate accelerator wrappers which in turn instantiate accelerators.
This module is expected to be found in `system/src/accelerator_subsystem.v`. This module is expected to be found in `system/src/accelerator_subsystem.v`.
### Accelerator Wrapper
---
Accelerator wrappers are located in `wrapper/src`. These should instantiate accelerators and can use wrapper components within the `accelerator_wrapper_tech` repository to allow a conversion of valid//ready interfaces to a memory-mapped AHB interface.
## Running the simulation ## Running the simulation
---
socsim is a tool that SoC Labs have developed that allows for running of shell scripts anywhere within your project environment. The idea is these scripts can be customised to run scripts for different simulators. socsim is a tool that SoC Labs have developed that allows for running of shell scripts anywhere within your project environment. The idea is these scripts can be customised to run scripts for different simulators.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment