Signaux virtuels (modelsim)

Nous, pauvres électroniciens, sommes souvent rebelles à ce qui nous semble trop d’informatique. Et pourtant, ce vieux TCL utilisé comme langage de commande dans Modelsim, Quartus , partout où on le souhaite, comme il peut nous simplifier les projets! Parmi ses nombreuses possibilités,  Modelsim offre celle de créer des signaux « virtuels » utiles chaque fois que l’on veut afficher quelque chose de non standard.

C’est le cas lorsqu’on travaille sur un projet comportant un processeur. Si l’on veut visualiser en simulation le bon déroulement d’un programme, il est fastidieux sinon quasiment impossible de se contenter de l’opcode binaire ou hexadécimal. L’outil simulation se présente alors comme passablement inadapté.  Si le code machine est suffisamment structuré en champs de bits, il est par contre possible de se fabriquer un désassembleur qui, appliqué à ce même code, pourra, via un signal virtuel, afficher en clair les mnémoniques. Muni du fichier listing assembleur, on pourra aisément alors se repérer.

Nous en avons un bon exemple dans le fichier virtual.do du projet PIC. On commence (virtual type) par définir un type énuméré dont les 64 éléments sont tous les mnémoniques possibles classés selon leurs 6 bits de codage. Ensuite, on définit un signal virtuel correspondant au champ de ces  6 bits (virtual signal). Enfin on crée un nouveau signal qui va extraire l’élément énuméré (comme un élément de tableau) et donc le mnémonique de l’intruction à afficher (virtual function).

Leave a Reply

You must be logged in to post a comment.