Emacs

Emacs est un logiciel libre qui comporte de nombreuses fonctionnalité. Pour en connaitre tous les détail, consulter la page officielle.

Icone GNU

Pourquoi Emacs ?

Pourquoi un éditeur de plus alors qu’on va disposer d’un éditeur de texte dans l’outil de synthèse qui en plus sera tout de suite familier à l’utilisateur windows qui serait tout heureux de faire des CTRL-C et des CTRL-V à la pelle. Oui mais…. L’utilisateur est exigeant. Débutant, il désire une aide , confirmé il souhaite un véritable environnement spécialisé. Emacs va apporter cela. Donc pourquoi Emacs ?

  • A cause de son fantastique mode VHDL développé par Reto Zimmermann (maintainer) and Rod Whitby.
  • Il est multi-plateforme
  • Il est multi-fenêtres
  • Il peut se personnaliser (automatiser le style d’écriture)
  • Il est possible de débrayer le mode VHDL pour retrouver un éditeur de texte « normal »

Où le trouver ?

  • Unix, Linux : ici
  • Windows : ici
  • Mac OS X: on pourra prendre Aquamacs

Premier essai

Après avoir décompressé l’archive (ici la version 23.1.1)  et placé l’exécutable quelque part, on va réaliser notre premier écriture VHDL.

On lance runemacs.exe . On obtient la fenêtre suivante qui ne comporte pas de mode VHDL.

emacs_acceuil

Le fait de lire ou de créer un fichier avec l’extension .vhd ou .vhdl va initier le mode vhdl.

Donc , on commencera par file> Open file… (ou raccourcis C-x C-f) et on fixera un chemin et un non de fichier essai.vhd . Le mode VHDL apparait dans la barre des menus.

VHDL>template> Package>std_logic_1164 insère les deux lignes les plus habituelles

Maintenant Attention! pour bien voir la richesse de cet éditeur, suivez les indications à la letrre.

On écrit (tout en minuscule) : enti suivi d’une Tabulation, emacs va écrire entity, on a bénéficié de la complétion qui sera valable pour les mots clefs du langage et pour les identificateurs ( très utile lorqu’ils sont longs)

Maintenant : espace

La syntaxe va se dérouler ( intéressant pour l’apprentissage) . On remplit les valeurs des champs en bas dans la ligne de commande. si un champ est inutile on fait Enter

En bas , pour le champ name , remplir avec essai puis Enter, Enter encore pour generic, champ inutile ici, e1 pour Port, In etc… pour obtenir le résultat conforme à la figure ci-dessous.

emacs_essai

N’est ce pas génial ?

Vous constatez cependant que votre fichier affiche tout en minuscule alors que vous aimeriez bien une bonne fois pour toute adopter un style d’écriture où les mots clefs apparaissent en majuscules, les identificateurs en minuscules et les constantes avec une lettre majuscule suivie de minuscules. Pas de problème , il suffit de personnaliser votre éditeur et vous continuerez à écrire en minuscule. Un fichier importé pourra aussi bénéficier de votre normalisation.

Personnalisation du mode VHDL

Le VHDL étant insensible à la notion minuscule- majuscule, pour améliorer la lisibilité, il est cependant utile de choisir des conventions. Celleé-ci sont prévues dans le mode VHDL d’emacs. La frappe se fera ainsi toujours en minuscule, les majuscules se placerons  automatiquement. Ainsi:

VHDL>Options> style > Upper Case Kewords décide que tous les mots clés seront en majuscules

VHDL>Options> style > Upper Case Constants décide que tous les constantes commencent par une majuscule et terminent par des minuscules

VHDL> Fix case Buffer ou VHDL>Beautify buffer va vous donner le résultat attendu.

Quelques trucs:

  1. Coincé sur une commande ligne. CTRL-g pour en sortir
  2. Revenir ( temporairement) à un éditeur normal: VHDL>Options>mode dé valider electric
  3. Quels sont les instructions du langage ? VHDL> Template> VHDL Construct1 et Construct2 permet de visualiser les possibilités.
  4. Copie entre fichiers VHDL: les ouvrir tous les deux (voir Buffers qui affiche la liste), séparer en 2 fenêtres ( Fil> Split window), sélectionner avec la souris la zone à copier, puis dans la fenêtre destination clic souris. Ceci est la simple technique de copié-collé à la souris qui fonctionne à l’intérieur d’une même fenêtre, de la ligne de commande vers une fenêtre, bref dans la plupart des situations.

One Response to “Emacs”

  1. ATTENTION, il faut que votre fichier possède l’extension .vhd (conseillée) ou .vhdl ou .hdl

    Emacs est plus qu’un éditeur , c’est en soi un environnement de travail (trop ?) intelligent. On peut éditer mais aussi compiler, agir sur le système Etc…

Leave a Reply

You must be logged in to post a comment.