Télécharger la présentation
1
Chaire Algorithmes, machines et langages
L’électricité est constructive : un modèle intuitionniste de la stabilisation électrique des circuits cycliques Gérard Berry Collège de France Chaire Algorithmes, machines et langages Cours 7, 26 mars 2014
2
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
3
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
4
Cycles sains en logiciel (Esterel)
E. Ledinot, Dassault aviation, séminaire du 16/04/2013 input TOP_HORLOGE, INDICATEUR_ON ; relation TOP_HORLOGE # INDICATEUR_ON ; signal FIN, REARMEMENT in abort await TOP_HORLOGE ; emit FIN end when REARMEMENT || every INDICATEUR_ON ; emit REARMEMENT when FIN end signal TOP_HORLOGE # INDICATEUR_ON FIN # REARMEMENT G. Berry, Collège de France 26/03/2014
5
Partage de ressources cycles combinatoires
O if C then F(G(I)) else G(F(I)) F G C I O 1 Sharad Malik, Analysis of Cyclic Combinational Circuits IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, VOL. 13, NO. 7, JULY 1994 G. Berry, Collège de France 26/03/2014
6
Partage de ressources cycles combinatoires
O if C then F(G(I)) else G(F(I)) F G C I O 1 cycle G. Berry, Collège de France 26/03/2014
7
Partage de ressources cycles combinatoires
C 1 O if C then F(G(I)) else G(F(I)) 1 1 F 1 1 I O 1 G 1 G. Berry, Collège de France 26/03/2014
8
Partage de ressources cycles combinatoires
C 0 O if C then F(G(I)) else G(F(I)) 1 F 1 I O 1 G Le cycle ne pose ni problème logique, ni problème électrique ! G. Berry, Collège de France 26/03/2014
9
Ordonnanceur round-robin à jeton
ok req G. Berry, Collège de France 26/03/2014
10
Ordonnanceur round-robin à jeton
ok Cycle combinatoire ! ok req G. Berry, Collège de France 26/03/2014
11
Ordonnanceur round-robin à jeton
req ok le cycle est sain car coupé à une porte ou ok req G. Berry, Collège de France 26/03/2014
12
le point de coupure avec
req ok Le registre à 1 change à chaque cycle, le point de coupure avec ok req G. Berry, Collège de France 26/03/2014
13
Ordonnanceur round-robin à jeton
ok Cycle incorrect si aucun registre à 1 au départ ! ok req G. Berry, Collège de France 26/03/2014
14
ILD Instruction Length Decoder
1 4 6 2 3 5 Buffer circulaire 16 octets arrivant aléatoirement Longueur dépendant du premier octet puis des suivants Longueur potentiellement quelconque Design naturellement cyclique et dur à rendre acyclique G. Berry, Collège de France 26/03/2014
15
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
16
Les trois sortes de circuits cycliques
Bons : stabilisation électrique, solution logique unique exemples précédents Mauvais : pas de stabilisation électrique, pas de solution logique unique X X X X X Bizarres : solution logique unique, mais stabilisation électrique dépendant des délais des fils et portes X X X D E pas de stabilisation électrique en partant de X0 avec D2 et E5 G. Berry, Collège de France 26/03/2014
17
Electricité Logique constructive ?
Hamlet : ToBe ToBe or not ToBe ToBe Calcule 1 en logique classique mais pas en logique constructive (sans tiers exclu) ! Peut-on caractériser logiquement les « bons circuits », i.e., ceux qui se stabilisent électriquement à cause de la propagation toute bête des signaux des entrées jusqu’aux sorties ? G. Berry, Collège de France 26/03/2014
18
Notre objectif Etudier de façon vraiment formelle la relation entre une vision « raisonnablement électrique » et une vision logique Modéliser la stabilisation, en faisant l’impasse sur les transitoires et autres phénomènes électriques non pertinents pour le besoin Aller de la théorie aux algorithmes pratiques : détection de correction, construction d’un circuit acyclique équivalent, vérification formelle par rapport à un autre circuit Théorème (Mendler-Shiple-Berry): circuit constructif sorties électriquement stable vers une valeur unique pour tous délais sorties calculable vers 0 ou 1 en logique constructive sorties 0 ou 1 dans le point fixe en logique ternaire {, 0, 1} algorithmes pour tester la stabilité électrique G. Berry, Collège de France 26/03/2014
19
Logique Booléenne constructive
Circuit C, vecteur d’entrées : I entrées → {0,1} Formules : I ⊢ e b, abrégées en e b si I constant I I(I) I entrée e 0 e 1 e 1 e 0 e 0 e e’ 0 e’ 0 e e’ 1 e 1 e’ 1 e 1 e e’ 1 e’ 1 e e’ 0 e 0 e’ 0 x e C e b x b G. Berry, Collège de France 26/03/2014
20
Intuitionnisme absence de tiers exclu
Règles dérivables : I ⊢ e 1 I ⊢ e e 1 I ⊢ e 0 I ⊢ e e 1 Règle non dérivable – le vrai tiers exclu : I ⊢ e e 1 Principe intuitionniste : pour prouver e e’, il faut prouver e ou prouver e’ Fait électrique : l’électricité est intuitionniste, car les électrons ne sont pas au courant du tiers exclu ! G. Berry, Collège de France 26/03/2014
21
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
22
Circuits avec délais Portes logiques : délai nul, groupement possible
notation polynomiale : y1 x, s2 s1xs2 s1xs2 Nœuds explicites pour les délais Au minimum un délai par cycle G. Berry, Collège de France 26/03/2014
23
Histoires « électriques »
1 t u u Histoire : h : ℝ+→ Bn continue à droite (avec B {0,1}) Intervalle semi-ouvert : t,u , t u { | t u } souvent noté t,u Tranche d’histoire : ht,u : la partie de h dans l’intervalle [t,u Tranche d’histoire : h0,∞ h Satisfaction d’un prédicat P par une tranche : ht,u ⊨ P modèle G. Berry, Collège de France 26/03/2014
24
Délai « électrique » UN et stabilité
h d d h’ t td Délai UN : dℝ+ ht,ub et td u h’td,ub Une histoire h est stable à b après un délai d si hd,∞ b Sinon, h est dite instable ou oscillante G. Berry, Collège de France 26/03/2014
25
Circuits UN-constructifs
Définition : un circuit est UN-constructif pour des d’entrées stables et un jeu de délais si toutes ses sorties se stabilisent vers les mêmes valeurs dans toute exécution Définition : un circuit est uniformément UN-constructif pour des entrées stables s’il est UN-constructif pour tout jeu de délais. Définition : un circuit est uniformément UN-constructif s’il est uniformément UN-constructif pour toutes entrées stables G. Berry, Collège de France 26/03/2014
26
Les prédicats UN et le modèle temporel
R Bn : région prédicat booléen à n variables booléennes ex. : x y y z ou encore Ø (vide, faux) (n.b. : symboles utilisés pour les prédicats) ht,u ⊨ R : si t,u. hR i.e., l’histoire h reste dans la région R entre t et u ht,u ⊨ x dans h, x est stable à 1 entre t et u ht,u ⊨ x dans h, x est stable à 0 entre t et u ht,u ⊨ x y dans h, x est stable à 1 et y stable à 0 ht,u ⊨ x y entre t et u G. Berry, Collège de France 26/03/2014
27
Conjonction, disjonction et délai
ht,u ⊨ ssi ht,u ⊨ et ht,u ⊨ ht,u ⊨ ssi ht,u ⊨ ou ht,u ⊨ ht,u ⊨ d ssi td u et htd,u ⊨ est constamment satisfait après un délai d dans t,u 1 t td u u ht,u ⊨ x ht,u ⊨ dx G. Berry, Collège de France 26/03/2014
28
La négation constructive
Objectif : représenter la porte not x stable à 1 : ht,u ⊨ x opposé logique : ht,u ⊨ x mais l’opposé logique est satisfait par tout signal instable or nous voulons x stable à 0, i.e. x x, ce qui est différent! 1 t u ni ht,u) ⊨ x ni ht,u) ⊨ x ht,u ⊨ ssi t’,u’t,u. ht’,u’ ⊨ n’est jamais satisfaite par h sur t,u différent de n’est pas satisfaite par h ! G. Berry, Collège de France 26/03/2014
29
Implication, équivalence
Implication notée pour éviter la confusion avec doit utiliser les sous-intervalles, car x x Ø ht,u ⊨ si t’,u’t,u. ht’,u’ ⊨ ht’,u’ ⊨ ht,u ⊨ si t’,u’t,u. ht’,u’ ⊨ ht’,u’ ⊨ G. Berry, Collège de France 26/03/2014
30
Résumé des règles de la logique UN
ht,u ⊨ R si t,u. hR ht,u ⊨ si ht,u ⊨ et ht,u ⊨ ht,u ⊨ si ht,u ⊨ ou ht,u ⊨ ht,u ⊨ si t’,u’t,u. ht’,u’ ⊨ ht,u ⊨ si t’,u’t,u. ht’,u’ ⊨ ht’,u’ ⊨ ht,u ⊨ si t’,u’t,u. ht’,u’ ⊨ ht’,u’ ⊨ ht,u ⊨ d si td u et htd,u ⊨ Notation : ⊨ ssi h,t,u. ht,u ⊨ ht,u ⊨ G. Berry, Collège de France 26/03/2014
31
Propriétés de la logique UN
La logique exprime bien la stabilité : x stable dans ht,u ht,u ⊨ x x noté x Le tiers exclu est faux en général ex. : h[t,u ⊨ x x si h instable pour x dans [t,u La disjonction est intuitionniste : elle choisit son camp ht,u ⊨ ht,u ⊨ globalement ou ht,u ⊨ globalement G. Berry, Collège de France 26/03/2014
32
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
33
Codage des circuits Principes : coder les circuits par des formules
coder les valeurs d’une entrée par 0x pour 1 et 0x pour 0 coder les portes directement par les opérateurs booléens coder les délais par des « affectations à retard » : y d x défini par x dy yx ou équivalent x dy)x dy Exemple : z x y y s1 s2 s1 d y s2 e y z x y s1 d e s2 s1 d s1s2 s2 e s1 s2 : forme normale des délais stabiliser les délais stabilise tous les fils ! G. Berry, Collège de France 26/03/2014
34
C s1 d1 x s2 d2 xs1s2
d2 d1 C s1 d1 x s2 d2 xs1s2 circuit C avec x1 : (C,x C 0x circuit C avec x0 : C,x C 0x cas général : circuit C avec valeurs d’entrées I : C,I G. Berry, Collège de France 26/03/2014
35
Théorème 1: bonne représentation des circuits
une histoire h est UN-correcte pour C et les entrées I ssi h ⊨ C,I Corollaire : caractérisation UN de la constructivité Un circuit C est constructif pour les délais donnés et une entrée I ssi il existe une unique valeur S des variables d’état et un délai d tels que C,I ⊨ dS G. Berry, Collège de France 26/03/2014
36
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
37
Formules du calcul déductif : ⊢ vs. ⊨
Région temporisée : dR Région temporisée : kK k pour K fini ou infini C,I ⊢ Séquents syntaxiques clauses de Horn ⊢ sS s d e) xI1 0x yI0 0y kK k ? C,I ⊨ modèle : G. Berry, Collège de France 26/03/2014
38
Calculs déductions (Curry Howard)
1. C,I ⊢ dR ssi il existe une séquence d0R0, d1R1,..., dnRn dR telle que, pour tout i, di est dans (i.e., une entrée) ou dérivable des dj, ji par une règle de déduction 2. C,I ⊢ kK k ssi il existe un kK tel que C,I ⊢ k G. Berry, Collège de France 26/03/2014
39
Les règles de déduction
true pour C,I fixé, C,I ⊢ ... implicite partout d1 dR d e RS eS bool affaiblissement chaîne les transitions y e x x ey)x ey deS dR R eS chain dS eT maxd,eS∩T join rassemble les entrées d’une porte + règles booléennes pour les régions (valables car appliquées à des signaux stables) + opérations arithmétiques sur les délais G. Berry, Collège de France 26/03/2014
40
C s1 d1 x s2 d2 xs1s2
bool 0x 0xs1s2 chain chain cas x0 i.e. 0x d1s1 d2s2 join max(d1,d2) s1s2 x0 région s1s2 atteinte en temps max(d1,d2) G. Berry, Collège de France 26/03/2014
41
C s1 d1 x s2 d2 xs1s2
chain d1s1 bool 0x d1xs1s2 cas x1 i.e. 0x chain chain d1s1 d1d2s2 join max(d1, d1d2) s1s2 x1 région s1s2 atteinte en temps d1d2 G. Berry, Collège de France 26/03/2014
42
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
43
Les théorèmes centraux
Théorème 2 : équivalence de ⊨ et ⊢ pour les circuits C,I,. C,I ⊨ C,I ⊢ Théorème 3 : Intuitionnisme de ⊨ C,I,. C,I ⊨ . C,I ⊨ Une disjonction, même infinie, ne peut être validée que par un de sens membres (résulte immédiatement du théorème 2 et de la définition de C,I ⊢ ) G. Berry, Collège de France 26/03/2014
44
Le résultat central Corollaire : déterminisme de la stabilisation
Soit s un délai de C et I un vecteur d’entrées. Alors les histoires h de s dans C,I ont deux comportements possibles : tous les h se stabilisent à la même valeur il existe au moins une histoire oscillante un circuit est constructif ssi ses sorties ne peuvent pas osciller Preuve : soit 1s 1s 2s 2s 3s 3s ... Preuve ::alors (infini) dit que s se stabilise un jour cas 1 : C,I ⊨ . Alors C,I ⊨ k pour un k par thm.3 (intuitionnisme), par exemple k ms. Donc h. h ⊨ C,I h ⊢ ms, tout h devient stable à 1 cas 2 : C,I ⊨ . Alors h. h ⊨ C,I h ⊨ est impossible, donc h. h ⊨ C,I h ⊨ , et cet h oscille pour s G. Berry, Collège de France 26/03/2014
45
Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014
46
Logique Booléenne constructive
Circuit C, vecteur d’entrées : I entrées → {0,1} Formules : I ⊢ e b, abrégées en e b si I constant I I(I) I entrée e 0 e 1 e 1 e 0 e 0 e e’ 0 e’ 0 e e’ 1 e 1 e’ 1 e 1 e e’ 1 e’ 1 e e’ 0 e 0 e’ 0 X : e C e b X b G. Berry, Collège de France 26/03/2014
47
Exemple de transformation de preuves
C s1 d1 x s2 d2 xs1s2 cas x0 i.e. 0x 0x bool 0x d1s1 chain 0xs1s2 chain d2s2 join max(d1,d2) s1s2 UN-logic Constructive Boolean Logic I(x)0 ⊢ x0 s1x C x0 s2 xs1s xs1s2 1 s11 s2 1 s11 s21 G. Berry, Collège de France 26/03/2014
48
On arrive au bout ! Pour des délais fixés, la UN-prouvabilité vs. ⊢ est une CNS pour la UN-stabilisation vs. ⊨ Mais toute preuve avec délais peut être transcrite en preuve Booléenne constructive sans délais, et réciproquement ! Autrement dit : la prouvabilité en logique booléenne constructive sans délais caractérise exactement la UN-constructivité uniforme G. Berry, Collège de France 26/03/2014
49
Conclusion Etude complète de la stabilisation des circuits cycliques dans le modèle de délais UN, en reliant modèle ⊨ et déduction syntaxique ⊢, et en ignorant transitoires, oscillations, métastabilité etc. (qu’on peut aussi étudier) stabilisation électrique prouvabilité constructive booléenne (avec délais) des sorties (sans délais) A suivre au prochain cours : constructivité pour toutes entrées constructivité des circuits séquentiels (avec registres) algorithmes efficaces de calcul de la constructivité G. Berry, Collège de France 26/03/2014
50
Références Constructive Boolean Circuits and the Exactness of Timed Ternary Simulation M. Mendler, T. Shiple et G. Berry. Formal Methods in System Design, Vol.40, No.3, pp , Springer (2012). Constructive Analysis of Cyclic Circuits T. Shiple, G. Berry et H. Touati. Proc. Int. Design and Testing Conference IDTC'96, Paris, France (1996). Asynchronous Circuits J. Brzozowski et C-J. Seger. Springer-Verlag (1995). G. Berry, Collège de France 26/03/2014
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.