I. Objet du projet Simple-CPU

Le projet Simple-CPU a pour objet la création d'un processeur de type RISC libre (diffusé sous license GPL) caractérisé par :

Le processeur est écrit en langage VHDL pour une cible en développement de type FPGA Xilinx. Il est initialement conçu autour d'un kit de démarrage Spartan-3. La chaine de développement utilisée est entièrement sous Linux.

Simple-CPU est bati autour d'une architecture 32 bits de type RISC, Load/Store. Il utilise pour communiquer avec les autres périphériques un bus Wishbone lui assurant une interconnectivité maximale avec les IPs libres distribuées par le projet OpenCores.

Une suite logicielle complète accompagne ce processeur :

II. Etat du projet

Février 2006 :
Avec pas mal de boulo, de nouveaux cours à préparrer et d'autres projets perso... simple cpu suit doucement son cours en ce moment. Toutefois, les étudiants de l'IUT terminent le compilo assembleur et commencent le simulateur. Le projet de portage de GCC est en stand-by, cette phase s'avérant trop longue pour le temps de projet des étudiants. Une doc va cependant être mise en ligne pour en décrire les principaux éléments.

Decembre 2005 :
Peu d'activité sur le processeur en lui même le mois dernier. Ce n'est pas pour autant que rien ne se passe, bien au contraire : Wilfrid et Michel, tous deux étudiants à l'ISIMA ont commencé l'étude de l'adaptation de GCC pour le SC91 et Bacem, Jing et Guillaume, de l'IUT de clermont on démarré l'écriture du compilateur assembleur. Les sources de tout ce travail sont publiées au fur et à mesure dans l'espace CVS.

Novembre 2005 :
L'ecriture du coeur du processeur est globalement terminée. Il manque les interruptions et surtout le test du processeur. Dans le mois devraient démarrer les projet d'assembleur et de simulateurs qui permettront de faciliter la tâche de test. Dans le même temps la faisabilité du portage de gcc pour simple-cpu est en cours. La version alpha du code est publiée dans la zone téléchargement.

Octobre 2005 :
Le processeur tourne sur 7 instructions simples, sans RAM et sur un ROM de petite taille ... Le développement continue avec pour objectif de rapidement couvrir tout le jeu d'instruction et publier très bientot une première version des sources.

Septembre 2005 :
Le bloc des registres est au point avec quelque tests in-situ concluant ... La suite de dev sous Linux marche super... La construction continue !

Juillet 2005 :
Je ne suis pas vraiement en avance sur le planning, mais le jeu d'instruction est maintenant bien défini et les pages en relation sont écrites. L'implémentation va donc pouvoir débuter.

Juin 2005 :
Les idées se précisent et il est temps de coucher sur la toile les prémisses de ce projet - l'été est propice aux développements - puisque la documentation sera un point clef pour répondre à la cible autant pédagogique qu'industrielle.

Mai 2005 :
Le kit de développement est arrivée, la chaîne de compilation est installée et fonctionne sur mon environnement Linux... Il faut maintenant réflechir au projet...

III. Phases du projet

TâcheDate débutDate finStatut
Création du jeu d'instruction et documentation01/07/200508/02/2005Finalisation
Documentation de l'architecture générale10/07/200530/07/2005En cours
Ecriture du coeur processeur et tests01/08/200501/11/2005En cours
Ecriture des interfaces processeur01/11/200501/02/2006A démarrer
Ajout des périphériques01/01/200601/05/2006A démarrer
Compilateur Assembleur15/10/200515/03/2006En cours
Ecriture du Simulateur01/02/200615/03/2006En cours
Ecriture du Loader01/03/200601/06/2006A démarrer
Portage de GCCNANADémarrage
Portage de XINUNANAA planifier
Portage de eCosNANAA planifier
Portage de LinuxNANAA planifier

IV. Origine du projet

Ce projet est né de plusieurs idées, tout d'abord le souhait personnel de travailler sur un projet matériel alors que mon activitée professionnelle m'en a détournée ces dernières années. Ensuite, la volonté de réaliser ce à quoi je réfléchi depuis deja plusieurs années la réalisation d'un système informatique complet en partant de rien ou presque, comme ont pu le faire les pionniers de l'informatique des années 60 (la technologie d'aujourd'hui en plus). Une sorte de retour aux sources des temps modernes pour comprendre mais aussi expliquer comment un ordinateur fonctionne.
Je souhaite par ce projet démistifier l'ordinateur, son fonctionnement interne ; mettre à disposition de la communauté un support pour des cours et TP et offrir, à ceux qui trouveront à ce projet un fort interet, un outil pour la création de produits commerciaux.
Ce projet est une brique parmis d'autre dans la monde de l'informatique libre, celle que l'on ne réalise pas que pour les bénéfices mais aussi pour l'offrir aux autres. J'espère ainsi que ce travail ammènera d'autres individus à transformer créer de cela des applications, plus complexes, utiles à la société.

Les contributeurs de tous poils, privés, professionnels, particuliers, entreprises, ados, adultes, retraités, hommes, femmes, Français ou Chinois sont les bienvenues à bord de ce projet que je ne pourrai concevoir totalement seul. C'est ainsi que pour les raison ci-dessus je prends à ma charge et pour mon plaisir la création d'une V1 fonctionant du coeur mais que je vous encourage à proposer votre aide pour faire vivre ce projet et l'enrichir.

Disk91

Simple-Cpu The Simple CPU project The Simple CPU project
Un projet de disk91
Small CPU project