Main Page
TODO: project overview here
Contents
Getting started
This section shows how to approach with nu+ project for simulating or implementing a kernel for nu+ architecture.
Required software
Simulation or implementation of any kernel relies on the following dependencies:
- Git
- Xilinx Vivado 2018.2 or lower or ModelSim
- nu+ toolchain
Building process
First step is to obtain the source code of nu+ architecture from official repository by cloning a repository from [1]
In Ubuntu Linux environment, this step is fulfilled by starting following command:
$ git clone 'https://gitlab.com/vincenscotti/nuplus'
In nu+ repository, toolchain consist in a sub-module of repository, so is needed to update. In Ubuntu Linux environment, just type the following command in a root folder of repository:
$ git submodule update --init
Then, third step is to install a toolchain. This process is described [here].
At this point, in a root folder of repository, there are a few sub-folder. Two of this sub-folder are of particular interest for the purpose:
- software, where are stored all kernels (in a sub-folder kernel);
- tools, where are stored all scripts for simulate one or more kernel.
Simulate a kernel
For simulate a kernel there are three way:
- starting test.sh script
- starting setup_project.sh from a root folder of repository, if simulator software chosen is Vivado;
- starting simulate.sh from a root folder of repository, if simulator software chosen is ModelSim.
First of all, is needed to load Vivado or ModelSim function in the shell by source command. This step is mandatory for all ways.
test.sh script
For start test.sh script, type following command with some options in a nuplus/tools folder:
& ./test.sh [option]
Options that can be use are:
- -h, --help show this help
- -t, --tool=vsim or vivado specify the tool to use, default: vsim
- -cn, --core-numb=VALUE specify the core number, default: 1
- -tn, --thread-numb=VALUE specify the thread number, default: 8
This script allows to start one or more kernel defined in an array of script. The test.sh script provide to compile kernels and run them on nu+ and x86 architecture. Once simulation is terminated, for each kernel, results of both execution are compared by a Python script for verifying correctness of result of nu+ architecture.
In folder tools there is a log file, called cosim.log, where are stored some information about simulation.
setup_project.sh script
TODO: opzioni script da help comando
This script allow to start a kernel specified in a command. Kernel will compile and run on nu+ architecture. Simulation is performed by Vivado.
simulate.sh script
TODO: opzioni script da help comando
This script allow to start a kernel specified in a command. Kernel will compile and run on nu+ architecture. Simulation is performed by ModelSim.
Implement a kernel
TODO: creazione, compilazione
TODO: clone repository, struttura cartelle
... then you can simulate or implement the system on a supported board...
Documentation
The nu+ Instruction Set Architecture
The nu+ Emulator TODO: da rimuovere?
TODO Writing nu+ applications: spiegazione workflow kernel, scrittura-compilazione-file generati (altrove sara' spiegata la simulazione e il loading su scheda)
Example of nu+ applications TODO spostare contenuti in una sezione "Examples" da includere nella pagina di sopra
Progetto di Tile Eterogenea TODO: spostare altrove
Contributing to nu+ TODO: spostare i contenuti marcati come tali nel wiki
Further information on MediaWiki
TODO: da rimuovere/salvare altrove
The nu+ project documentation will be based on MediaWiki. For information and guides on using MediaWiki, please see the links below:
- User's Guide (for information on using the wiki software)
- Configuration settings list
- MediaWiki FAQ
- MediaWiki release mailing list
- Localise MediaWiki for your language
- Learn how to combat spam on your wiki