next up previous
Next: Les processus élémentaires Up: SPECIFICATION DES ALGORITHMES Previous: LANGAGES SYNCHRONES

PRESENTATION DE SIGNAL

SIGNAL est un langage FLOT DE DONNEES, SYNCHRONE, permettant de décrire des relations entre des suites d'événements valués, les signaux. Il y a trois types de relation :

une relation de précédence entre les événements d'un même signal, ce qui permet de les compter et donc de dater leurs valeurs
une relation de simultanéité entre événements de signaux différents, on peut toujours savoir s'ils coïncident ou sont distincts
des relations de dépendances opératoire éventuellement conditionnées qui définissent des signaux de sorties, résultats d'opérations faites sur des signaux d'entrée. Quand elles sont conditionnées certains événements des signaux de sortie peuvent être absents

L'hypohtèse synchrone consiste à supposer que les sorties produites par une dépendance opératoire éventuellement conditionnée, sont simultanées avec ses entrées. On ne prend pas en considération à ce niveau les caractéristiques matérielles, le concept de durée n'existe qu'au travers du comptage des événements d'un signal. Deux signaux sont synchrones si leur événements sont deux à deux simultanés (présent en même temps), ce qui définit une relation d'équivalence. La classe d'équivalence d'un signal X est appelée son horloge, , qui définit ses Présences/absences relativement à d'autres signaux. On définit également l'horloge des valeurs vraies d'un signal booléen b qui sert au conditionnement (). A l'aide du calcul ensembliste (implanté par du calcul booléen naturel sur {présent, absent}) on définit les relations temporelles de base sur les horloges des signaux :

On dispose de quatre processus élémentaires pour décrire des relations opératoires et d' une instruction de composition de processus élémentaires ``|`` réalisant des connexions par identité de nom de signaux identiques.

Un programme ou Processus en SIGNAL est la composition de processus élémentaires et/ou de processus (encapsulation, modularité).

Les algorithmes sont représentés par un graphe orienté dans lequel :

Le compilateur :

  1. effectue les vérifications standards sur les valeurs (type, indices tableaux)
  2. recherche les cycles instantanés (retard pour casser les cyles)
  3. tente de résoudre le système d'équations d'horloges qui décrit les contraintes temporelles que doit satisfaire le programme
    Si celui-ci ne peut se résoudre, deux cas peuvent se présenter :
    - trop de contraintes (redondance dans le calcul d'horloge)
    - pas assez de contraintes (horloges non déterminées, utiliser la directive de compilation SYNCHRO)
  4. génère un programme séquentiel exécutable en C, à partir du graphe flot de données, conditionné où chaque sommet et chaque arc est étiqueté par une horloge d'activation exprimée en fonction de signaux booléens
Le programme C généré permet de faire une simulation en termes de valeurs et d'ordre d'événements.

SYNTAXE ET SEMANTIQUE DES PROCESSUS ELEMENTAIRES



next up previous
Next: Les processus élémentaires Up: SPECIFICATION DES ALGORITHMES Previous: LANGAGES SYNCHRONES



Yves Sorel
Thu Nov 20 19:17:30 MET 1997