Update readme

This commit is contained in:
Arnaud Vergnet 2021-05-28 10:20:01 +02:00
parent 41fce59ed8
commit f66a81403e
2 changed files with 32 additions and 5 deletions

View file

@ -1,9 +1,26 @@
# Projet Système Info
### Yohan SIMARD - Arnaud VERGNET
4IR A1 2020-2021
Ce dépôt inclut notre compilateur, un cross assembleur et le code VHDL de notre processeur.
- [Fonctionnalités du parser](#fonctionnalités-du-parser)
- [Fonctionnalités du compilateur](#fonctionnalités-du-compilateur)
- [Fonctionnalités du processeur](#fonctionnalités-du-processeur)
- [Installation](#installation)
- [Description des dépôts](#description-des-dépôts)
* [Compilateur (compilator-2000)](#compilateur--compilator-2000-)
+ [Structure](#structure)
+ [Compilation et lancement](#compilation-et-lancement)
+ [Particularités de limplémentation](#particularités-de-l'implémentation)
- [Tables](#tables)
- [Tests unitaires](#tests-unitaires)
- [Fonctions utilitaires](#fonctions-utilitaires)
* [Cross-assembleur (crossassembler-2000)](#cross-assembleur--crossassembler-2000-)
+ [Compilation et lancement](#compilation-et-lancement-1)
* [Processeur (processor-2000)](#processeur--processor-2000-)
+ [Structure](#structure-1)
+ [Simulation et tests](#simulation-et-tests)
+ [Particularités de limplémentation](#particularités-de-l'implémentation-1)
- [Multiplexeurs](#multiplexeurs)
- [Tests dintégration](#tests-d'intégration)
## Fonctionnalités du parser
- Déclaration de variables
- Affectation de variables
@ -48,7 +65,7 @@ En plus des fichiers `al.lex` et `as.y` classiques, ce projet contient plusieurs
#### Compilation et lancement
Un `Makefile` est fourni pour compiler le projet, qui sutilise comme suit:
Un `Makefile`est fourni pour compiler le projet, qui sutilise comme suit:
- Compiler le compilateur
```shell
@ -104,6 +121,16 @@ make clean
```
### Processeur (processor-2000)
#### Structure
Ce projet contient un fichier `.vhd` pour chaque composant du processeur, à savoir lALU (`ALU.vhd`), la mémoire de données (`data_memory.vhd`), la mémoire dinstructions (`instruction_memory.vhd`), et le banc de registres (`registers.vhd`). Chacun de ces composants possède un fichier de test associé (nommés `COMPOSANT_test.vhd`). Ensuite, tous ces composants sont connectés grâce à une pipeline dans le fichier `CPU.vhd`, possédant lui aussi un fichier de test.
#### Simulation et tests
Ouvrir le projet dans ISE et lancer la simulation. Le fichier `config_simu.wcfg` contient une configuration du simulateur qui permet de visualiser tous les signaux intéressants.
#### Particularités de limplémentation
##### Multiplexeurs
Les multiplexeurs sont implémentés avec des `std_logic_vector`, pour lesquels chaque booléen correspond à une instruction. Cela permet d'ajouter facilement de nouvelles instructions : il suffit de rajouter à chaque vecteur un booléen.
## Tests dintégration
Nous avons testé les trois composants (compilateur, cross-assembleur et processeur) sur le fichier `test.c`. Nous avons constaté en simulation que la mémoire était bien mise à jour avec les bonnes valeurs. Nous navons cependant pas eu le temps de tester sur la carte physique.

Binary file not shown.