La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Traduction automatique d'une description

Présentations similaires


Présentation au sujet: "Traduction automatique d'une description"— Transcription de la présentation:

1 Traduction automatique d'une description
VALMEM Traduction automatique d'une description comportementale VHDL + annotations temporelles en automates temporisés Je vais vous présenter aujourd’hui mon travail de dea encadré par M. Laurent Vigneron et qui s’intitule la vérification des protocoles cryptographique A. BARA, E. ENCRENAZ LIP6

2 Situation dans la méthode

3 Syntaxe VHDL acceptée Architecture : signaux in /out de type bit
Entity : VHDL comportemental Affectations concurrentes Processus (forme restreinte)

4 Modèle d'automates temporisés
Réseau d'automates concurrents Horloges Variables discrètes Stocke la valeur courante d'un signal Permet la détection des fronts ('event / 'transaction) Paramètres Délais de propagation des fronts

5 Principes de traduction (1/2)
1 affectation concurrente : 1 automate temporisé s <= f(a,b,c, ...); front sur a, b, c, ... pour f --> 0 Disjonction de tous les cas !! front sur a, b, c, ... pour f --> 1

6 Principes de traduction (2/2)
1 process : 1 à 3 automates temporisés Process (a,b,c, ...) begin if a = 1 then s <= b; elsif c = 1 then s <= not b; end Automate condition 1 (optionnel) Automate condition 2 (optionnel) Automate affectation sortie

7 Insertion des informations temporelles
Récupération des délais dans le fichier temporel Affectation aux paramètres des TA Deux paramètres de délais pour chaque signal Front montant / front descendant Intervalle des valeurs de délai pour toutes les configuration d'entrées et front induisant un front sur le signal de sortie

8 Modélisation de l'environnement
Un (réseau d') automate représentant l'évolution des signaux d'entrée est ajouté. Format de fichier environnement. a : 5 up, 20 down; b : 10 down, 25 up; clock ck with thi 15 tlo 10 ncycles 2; d : 20 up;

9 Programme VHDL2TA Vhdl2Ta
b_up c_0 d_0 a_up 4 b_dn c_1 d_1 a_dn 3 a <= b or c xor d; process (a,b) begin if a = 1 then... Fichier temporel b : 5 up, 20 down; c : 10 down, 25 up; d : 15 up; Fichier environnement VHDL comportemental Vhdl2Ta Un protocole de sécurité est un ensemble des règles d’échange de message entre agents communicants Réseau d'automates temporisés (Hytech, Uppaal)

10 Exemples passés Exemples de programme VHDL passés sur le programme :
BLUEB_LSV : abstraction manuelle de SPSMALL lors du projet BLUEBERRIES (1 mot de 1 bit). BLUEB_LSV2 : extension de BLUEB_LSV avec deux points mémoires. D-flip-flop [Clariso & Cortadella]. And-or [Clariso & Cortadella]. Circuit BRO1 [Brozowski]. Circuit BRO2 [Brozowski]. SPSMALL extraite par Pirouz (avec des délais à 1).

11 Exemples – BLUEB_LSV (1/5)‏
Architecture complète abstraite dans le projet BLUEBERRIES (1 mot de 1 bit) / simplifications manuelles. Traduction (Hytech [HHW95], Uppaal [LPY97]): 1291 lignes dans la description en Uppaal (en hytech lignes). 27 automates + l'automate asscocié à l'environnement. 28 horloges. 28+4 variables discrètes. 62 paramètres.

12 Exemples – BLUEB_LSV (2/5)‏
AFTG de l'implémentation SPSMALL (SP1) [CEFX06 (wseas)].

13 Exemples – BLUEB_LSV (3/5)‏
Environnement pour SP1:

14 Exemples – BLUEB_LSV (4/5)‏
Temps de réponse + setup optimums (SP1): Résultats cités dans [CEFX06] Résultats obtenus par le programme

15 Exemples – BLUEB_LSV (5/5)‏
Temps de réponse + setup optimums (SP2): Résultats cités dans [CEFX06] Résultats obtenus par le programme

16 Exemples – BLUEB_LSV2 (1/5)‏
Extension de l'architecture précédente avec deux points mémoires. Traduction (Hytech, Uppaal): 2026 lignes dans la description en Uppaal (en hytech lignes). 34 automates + l'automate asscocié à l'environnement. 35 horloges. 35+4 variables discrètes. 78 paramètres.

17 Exemples – BLUEB_LSV2 (2/5)‏
AFTG de l'implémentation SP2.

18 Exemples – BLUEB_LSV2 (3/5)‏
Environnement pour SP1:

19 Exemples – BLUEB_LSV2 (4/5)‏
Temps de réponse + setup optimums (SP1): Résultats cités dans [CEFX06] & [Xu06] Résultats obtenus par le programme

20 Exemples – BLUEB_LSV2 (5/5)‏
Temps de réponse + setup optimums (SP2) [CEFX06]: Résultats cité dans [Xu06] & [CEFX06] Résultats obtenus par le programme

21 Exemples – D-flip-flop (1/2)‏
D-Flip-flop (Clariso & Cortadella) : Délais considérés dans [ACEF08] Temps de réponse ∈ [23,26]

22 Exemples – D-flip-flop (2/2)‏
Le graphe d'atteignabilité obtenu avec les tests :

23 Exemples – And-or‏ (1/2) And-or (Clariso & Cortadella) :
Délais considérés dans [ACEF09]

24 Exemples – And-or‏ (2/2) Tests avec 1 environnement :

25 Exemples – BRO1 Le circuit 3 décrit dans [Fri09] :
Tous les délais dee portes sont dans [83,85]. Analyse exhaustive, cité dans [Fri09], est confirmée :

26 Exemples – BRO2 Le circuit 4 est décrit dans [Fri09]: Tests réalisés :
Les délais de portes (yi) = 5ns, temps de stabilité = 20ns pour ce pattern. (y3) = (y5) = 2.5ns, temps de stabilité = 35ns.

27 Exemples – SPSMALL1*2 Architecture complète abstraite automatiquement par LIP6 dans VALMEM Adaptations préalables à la traduction : bit_vector --> bit retrait de 8 processus (monstrueux) signaux non connectés supprimés Les délais des portes et des latchs sont tous mis à 1. Traductions : Sans opt : 90 automates / 90 horloges / 112 var / 178 paramètres Avec opt : 56 automates / 56 horloges / 68 var / 134 paramètres Le graphe d'atteignabilité est construit (en utilisant uppaal)

28 Autres circuits envisagés
GASP FIFO (FIFO asynchrone) Cortadella & Clariso Ring Oscillator Rambus

29 Limitations actuelles
Syntaxe VHDL Type bit uniquement (pas de bit_vector / std_logic) Process très limités Combinatoire !!! Taille des automates (combinatoire des transitions). Produit d'automates avant l'analyse : Outil HyTech limité à une dizaine d'automates

30 Bibliographie [ACEF08]. É. André, Th. Chatain, E. Encrenaz and L. Fribourg. An Inverse Method for Parametric Timed Automata. In RP'08, ENTCS 223, pages Elsevier Science Publishers, 2008. [ACEF09] E.André, T. Chatain, E. Encrenaz, L. Fribourg, An inverse method for parametric timed automata, International Journal of foundations of Computer Sciences, vol 20, no 5, pages , World Scientific Publishing Company. [CEFX06]. R. Chevallier, E. Encrenaz, L. Fribourg, W. Xu, Timing Analysis of an Embedded Memory: SPSMALL, WSEAS 10th international conference on circuits, july 2006, Greece.

31 Bibliographie [Fri09]. Laurent Fribourg, Analyse temporisée des systèmes concurrentes : l'exemple illustratif des circuits numériques, ETR 2009. [HHW95]. T. A. Henzinger, P. Ho, and H. Wong-Toi. A user guide to HyTech. In TACAS, page 41-71, 1995. [LPY97]. K. Larsen, P. Pettersson, and W. Yi. UPPAAL in a Nutshell. International Journal on Software Tools for Technology Transfer, 1:134–152, 1997. [Xu06]. W. Xu, Timing Analysis of SPSMALL, internal report, june 06.

32 Merci pour votre attention


Télécharger ppt "Traduction automatique d'une description"

Présentations similaires


Annonces Google