Update readme
This commit is contained in:
parent
41fce59ed8
commit
f66a81403e
2 changed files with 32 additions and 5 deletions
37
README.md
37
README.md
|
@ -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 l’implé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 l’implémentation](#particularités-de-l'implémentation-1)
|
||||
- [Multiplexeurs](#multiplexeurs)
|
||||
- [Tests d’inté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 s’utilise comme suit:
|
||||
Un `Makefile`est fourni pour compiler le projet, qui s’utilise 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 l’ALU (`ALU.vhd`), la mémoire de données (`data_memory.vhd`), la mémoire d’instructions (`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 l’implé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 d’inté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 n’avons cependant pas eu le temps de tester sur la carte physique.
|
||||
|
|
BIN
README.pdf
BIN
README.pdf
Binary file not shown.
Loading…
Reference in a new issue