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 http://www.college-de-france.fr/site/gerard-berry gerard.berry@college-de-france.fr Cours 7, 26 mars 2014
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
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
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
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
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
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
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
Ordonnanceur round-robin à jeton ok req G. Berry, Collège de France 26/03/2014
Ordonnanceur round-robin à jeton ok Cycle combinatoire ! ok req G. Berry, Collège de France 26/03/2014
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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. 283-329, 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