Skip to content

yannl35133/minijazz

 
 

Repository files navigation

Compilation

Pour compiler MiniJazz, utilisez la commande suivante:

ocamlbuild mjc.byte

Utilisation

Il suffit de lancer le compilateur en lui donnant un fichier .mj:

./mjc.byte test/nadder.mj

Cela génère un fichier test/nadder.net contenant une net-list non ordonnée.

Pour obtenir les options du compilateur, utilisez l'option -h:

./mjc.byte -h

Une option importante est -m qui doit être suivi du nom du bloc principal du circuit. Par défaut, le compilateur recherche un bloc appelé main.

Pour la description du langage MiniJazz et du langage de net-list, voir le sujet du TP1 du cours L3 de systèmes numériques à l'ENS.

Modifications

Cette version est modifiée afin de tirer partie des simulateurs de net-list permettant l'application des opérations aux nappes.

Les opérateurs or,and,xor,nand, not et mux peuvent êtres utilisés sur des nappes:

o1 = n_or<n>(a,b)

reg peut être utilisé sur des nappes avec la même syntaxe que pour les fils.

n_zero<n>() créer une nappe initialisée à 0.

Voir n_ops.

Quelques changement ont été apportés au comportement de MiniJazz:

  • interprétation des marqueurs de lignes tels que produits par le préprocesseur cpp

  • optimisation des net-lists produites avec l'option -S: les chaînes de Earg sont court-circuitées, on supprime les Eslice qui ne sont utilisés que dans des Eslice ou Eselect

Crédits

Le langage Jazz a été conçu par Jean Vuillemin.

Le compilateur MiniJazz a été développé par Cédric Pasteur (certaines parties ont été supprimées de cette version accessible au public).

N'hésitez pas à faire des « Pull Requests » pour corriger des bogues ou proposer des améliorations. Merci de ne pas partager les solutions aux exercices.

About

The MiniJazz compiler

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 100.0%