No description
Find a file
2023-06-01 00:00:42 +02:00
asm big overhaul 2023-05-31 23:20:18 +02:00
compilateur last commit 2023-05-31 23:55:26 +02:00
cross-Compiler big overhaul 2023-05-31 23:20:18 +02:00
interpreter last commit 2023-05-31 23:59:24 +02:00
tests big overhaul 2023-05-31 23:20:18 +02:00
vhdl big overhaul 2023-05-31 23:20:18 +02:00
.gitignore updated gitignore and blocs 2023-04-18 11:44:32 +02:00
license add license 2023-06-01 00:00:42 +02:00
out big overhaul 2023-05-31 23:20:18 +02:00
Projet_Système_Aurélia_LEJEUNE_Raphaël_LACROIX_.pdf last commit 2023-05-31 23:55:26 +02:00
README.md last commit 2023-05-31 23:55:26 +02:00

Projet-Systemes-Informatiques

LEJEUNE AURÉLIA - LACROIX RAPHAËL

This project was carried out as part of our computer engineering training. The aim of this project is to design a C compiler and a microprocessor, the former being thought with the latter in mind.

The compiler is based on a simplified version of the C language. It supports basic arithmetic operations (addition, subtraction, integer division, multiplication), Boolean operations, while loops and complex conditions. It has been coded using Lex, Yacc and C. The resulting assembly code and object code can be produced using the cross-assembler (itself coded in Python). An interpreter is available in a GUI version to follow assembly code execution step by step in memory.

Compilation

  • $ make vhdl : compiles and run the compiler then convert its binary into VHDL format
  • $ make cli-inter : compiles and run the compiler then interprets its binary (GUI)
  • $ make gui-inter :compiles and run the compiler then interprets its binary

Microprocessor

The VHDL folder contains all the files needed to build our microprocessor. It also contains two test files, test_alu and test_cpu, for testing all ALU operations and simulating program execution, respectively.