exp-half

Transcription

exp-half
Tests du circuit HALF :
Cet exemple de circuit est tiré de l'article [BJMY02]. La spécification STG du circuit half décrite sous forme d'un graphe STG, son graphe de marquage et son implémentation sont donnés dans la figure 1.
(a)
(b)
(c)
Figure 1 : a) la spécification STG du circuit half. b) l'automate équivalent pour la spécification. c) l'implémentation du circuit.
Le code VHDL associé au circuit est donné comme suit :
ENTITY half IS PORT ( Ao
Ro
Ai
Ri
); END half; : out BIT; : out BIT; : in BIT; : in BIT ARCHITECTURE RTL OF half IS SIGNAL t1 : BIT; SIGNAL t2 : BIT; SIGNAL t3 : BIT; SIGNAL t4 : BIT; SIGNAL t5 : BIT; BEGIN t1 <= Ro or not t4; t2 <= Ai or not t1; t3 <= not Ro or Ao; t4 <= not Ri or Ao; t5 <= not Ri or not Ao; Ao <= Ro or not t5; Ro <= not t2 or not t3; END;
Nous avons effectué différents tests sur ce circuit. Parmi ces tests, nous allons présenter les deux tests effectués avec les deux environnements décrits ci­dessous. Les délais de traversée des portes du circuit sont tous définis à 27 unités de temps.
­­env1
Ai : 82 down, 245 up; Ri : 82 up, 245 down;
­­env2
Ai : 82 down, 217 up; Ri : 82 up, 245 down;
Analyse instanciée avec UPPAAL
Nous avons effectué l'analyse en utilisant le model­checker UPPAAL, pour chaque test, sur le modèle généré avec l'outil VHDL2TA (à partir des descriptions d'entrée) qui est décrit en format d'entrée d'UPPAAL. Le but est de vérifier si les comportements des signaux de sortie du circuit sont conformes à la spécification décrite par le graphe STG de la figure 1.
Les descriptions en Uppaal générées pour ces deux tests sont caractérisées par :
–
–
–
–
–
7 automates associés aux signaux internes et aux signaux de sortie du circuit + les automates d'environnement.
7 horloges locales correspondant aux automates + l'horloge globale.
2+7 variables discrètes associées aux signaux du circuit.
4x7 paramètres associés aux délais des fronts montants et descendants des signaux du circuit.
3 x 7 locations des automates associés aux portes du circuit + les locations associées aux automates d'environnement.
La commande employée pour générer la première description est mentionnée ci­dessous : vhdl2ta half.vhd ­t delay.tmp 2 ­e env1.env ­m ta ­o half.ta ­taf upl
Les propriétés TCTL que nous avons vérifié, pour chaque test, sur les deux signaux de sortie du circuit Ao et Ro en utilisant le model­checker d'UPPAAL sont données comme suit :
env1:
AG((t>190 & t<299 => ro = 1) & (((t>0 & t<190) or t>299) => ro = 0)).
AG((t>217 & t<326 => ao = 1) & (((t>0 & t<217) or t>326) => ao = 0)).
ro: 190 up, 299 down;
ao: 217 up, 326 down;
env2:
AG((t>190 & t<271 => ro = 1) & (((t>0 & t<190) or t>271) => ro = 0)).
AG((t>217 & t<299 => ao = 1) & (((t>0 & t<217) or t>299) => ao = 0)).
ro: 190 up, 271 down; ao: 217 up, 299 down;
Elles expriment pour chaque environnement testé, respectivement, le comportement attendu des deux signaux Ao et Ro.
Pour chaque test, l'analyse avec UPPAAL vérifie bien les deux propriétés TCTL sur le modèle décrit en UPPAAL. Donc, on confirme bien que le comportement de chacun des deux signaux de sortie Ro et Ao est conforme à la spécification STG comme le montre la figure 2, dans les deux tests. Nous avons constaté que le temps de génération des deux descriptions en Uppaal est inférieur à 0,1 sec ; et le temps de la vérification de chacune des deux propriétés TCTL pour chaque test est aussi inférieur à 0,1 sec.
(a) (b)
Figure 2 : les temps d'apparition des fronts des signaux I/O
dans la spécification STG du circuit half.
(a) test avec env1. (b) test avec env2.
Analyse d'accessibilité avec IMITATOR­2
L'analyse d'accessibilité a été bien effectuée sur les deux descriptions en IMITATOR­2 générées par l'outil VHDL2TA. Pour chaque test, le graphe d'atteignabilité produit par l'outil IMITATOR­2 lors l'analyse d'accessibilité du modèle décrit dans la description est donné dans la figure 3. Comme on peut le voir, les traces sont bien conformes aux comportements attendus des signaux de sortie Ro et Ao.
La commande employée pour générer la description en IMITATOR­2 dans le premier test est donnée comme suit :
vhdl2ta half.vhd ­t delay.tmp 2 ­e env1.env ­m ta ­o half.imi ­taf imi2
(a) (b)
Figure 3 : le graphe d'atteignabilité construit par IMITATOR­2.
(a) test avec env1. (b) test avec env2.
Bibliographie
[BJMY02] M. Bozga, H. Jianmin, O.Maler and S. Yovine, Verification of Asynchronous Circuits Using Timed Automata, In TPTS'02 Workshop, joint with ETAPS'02 Conference, Elsevier (2002).