Difference between revisions of "Main Page"

From NaplesPU Documentation
Jump to: navigation, search
(Getting started)
(Getting started)
Line 21: Line 21:
 
<code> $ git submodule update --init </code>
 
<code> $ git submodule update --init </code>
  
Then, third step is to install a toolchain. This process is described [[http://www.naplespu.com/doc/index.php?title=Toolchain|here]].
+
Then, third step is to install a toolchain. This process is described [[http://www.naplespu.com/doc/index.php?title=Toolchain 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:
 
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:
Line 37: Line 37:
 
==== test.sh script ====
 
==== test.sh script ====
 
TODO: opzioni script da help comando
 
TODO: opzioni script da help comando
 +
 
This script allows to start one or more kernel defined in a array of script. Kernels will run on nu+ and x86 architecture. Once simulation is terminated, results are compared by a Python script for verifying correctness of result of nu+ architecture.
 
This script allows to start one or more kernel defined in a array of script. Kernels will run on nu+ and x86 architecture. Once simulation is terminated, results are compared by a Python script for verifying correctness of result of nu+ architecture.
  

Revision as of 23:43, 1 April 2019

TODO: project overview here

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:

$ 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 script 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 step is to load Vivado or ModelSim function in the shell by typing source command. This step is mandatory for all ways.

test.sh script

TODO: opzioni script da help comando

This script allows to start one or more kernel defined in a array of script. Kernels will run on nu+ and x86 architecture. Once simulation is terminated, results are compared by a Python script for verifying correctness of result of nu+ architecture.

setup_project.sh script

TODO: opzioni script da help comando

simulate.sh script

TODO: opzioni script da help comando

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+ Hardware Architecture

The nu+ Toolchain

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

Deeping in nu+ aspects

nu+ HowTo

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: