490 likes | 664 Views
L ’électricité est constructive : u n 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.
E N D
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
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
Partage de ressources cycles combinatoires O if C then F(G(I)) else G(F(I)) C 1 0 F C 1 0 O I 1 0 G C 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
Partage de ressources cycles combinatoires O if C then F(G(I)) else G(F(I)) C cycle 1 0 F C 1 0 O I 1 0 G C G. Berry, Collège de France
Partage de ressources cycles combinatoires C 1 Oif C then F(G(I)) else G(F(I)) 1 1 0 F 1 1 0 O I 1 0 G 1 G. Berry, Collège de France
Partage de ressources cycles combinatoires C 0 Oif CthenF(G(I)) else G(F(I)) 0 1 0 F 0 1 0 O I 1 0 G 0 Le cycle ne pose ni problème logique, ni problème électrique! G. Berry, Collège de France
Ordonnanceur round-robin à jeton req ok ok req req ok ok req G. Berry, Collège de France
Ordonnanceur round-robin à jeton ok Cycle combinatoire ! ok req G. Berry, Collège de France
Ordonnanceur round-robin à jeton req ok le cycle est sain car coupé à une porte ou ok req G. Berry, Collège de France
req ok Le registre à 1 change à chaque cycle, le point de coupure avec ok req G. Berry, Collège de France
Ordonnanceur round-robin à jeton ok Cycle incorrect si aucun registre à 1 au départ ! ok req G. Berry, Collège de France
ILD Instruction Length Decoder 1 • 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 4 2 6 3 5 G. Berry, Collège de France
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
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 • Bizarres : solution logique unique, mais stabilisation électrique dépendant des délais des fils et portes X X X X pas de stabilisation électrique en partant de X0 avec D2 et E5 D E G. Berry, Collège de France
Electricité Logique constructive ? • Calcule 1 en logique classique mais pas en logique constructive (sans tiers exclu) ! ToBe 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 ? • Hamlet : ToBeToBe or not ToBe G. Berry, Collège de France
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
Logique Booléenne constructive • Circuit C, vecteur d’entrées : I entrées → {0,1} • Formules : I ⊢eb, abrégées en eb si I constant e0 e1 Ientrée e0 e1 e’0 e’1 II(I) e 1 e 0 e e’0 e e’1 e e’0 e e’1 e0 e1 e’0 e’1 e e’0 e e’1 x e Ceb xb G. Berry, Collège de France
Intuitionnisme absence de tiers exclu • Règles dérivables : I ⊢e1 I ⊢e0 I⊢ e e1 I⊢ e e1 I⊢ e e1 • Règle non dérivable – le vrai tiers exclu : • Principe intuitionniste : pour prouver ee’, 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
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
Circuits avec délais d1 • 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 d2 G. Berry, Collège de France
Histoires « électriques » 1 0 0 t u u Histoire : h : ℝ+→ Bncontinue à droite (avec B {0,1}) Intervalle semi-ouvert : t,u , t u { | tu } 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
Délai « électrique » UN et stabilité d d h d d h’ t td Délai UN : dℝ+ ht,ub et tdu h’td,ub • Une histoire h est stable à b après un délai d si hd,∞ b • Sinon, h est diteinstable ou oscillante G. Berry, Collège de France
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
Les prédicats UN et le modèle temporel : R d R Bn: région prédicat booléen à n variables booléennes ex. : xyyzouencoreØ(vide, faux) (n.b. : symboles utilisés pour les prédicats) ht,u⊨R : sit,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 entret et u ht,u⊨x dans h,x est stable à0 entret et u ht,u⊨x y dans h, x est stable à1 et y stable à 0 ht,u⊨x y entret et u G. Berry, Collège de France
Conjonction, disjonction et délai ht,u⊨ssiht,u⊨etht,u⊨ ht,u⊨ssiht,u⊨ouht,u⊨ ht,u⊨dssitd u ethtd,u⊨ est constamment satisfait après un délaiddanst,u 1 0 0 t td u u ht,u⊨ x ht,u⊨dx G. Berry, Collège de France
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 ht,u⊨ssit’,u’t,u. ht’,u’⊨ n’est jamais satisfaitepar h surt,u différent den’est pas satisfaitepar h! 0 0 t u niht,u)⊨x ni ht,u)⊨x G. Berry, Collège de France
Implication, équivalence • Implication notée pour éviter la confusion avec doit utiliser les sous-intervalles, car x x Ø ht,u⊨sit’,u’t,u. ht’,u’⊨ht’,u’⊨ ht,u⊨sit’,u’t,u. ht’,u’⊨ht’,u’⊨ G. Berry, Collège de France
Résumé des règles de la logique UN ht,u⊨R sit,u. hR ht,u⊨siht,u⊨etht,u⊨ ht,u⊨sit’,u’t,u. ht’,u’⊨ ht,u⊨siht,u⊨ouht,u⊨ ht,u⊨sit’,u’t,u. ht’,u’⊨ ht’,u’⊨ ht,u⊨sit’,u’t,u. ht’,u’⊨ht’,u’⊨ ht,u⊨dsitd u ethtd,u⊨ Notation : ⊨ssih,t,u.ht,u⊨ ht,u⊨ G. Berry, Collège de France
Propriétés de la logique UN • La logique exprime bien la stabilité : xstable dansht,uht,u⊨ xx notéx • La disjonction est intuitionniste : elle choisit son camp ht,u⊨ ht,u ⊨globalement ouht,u ⊨globalement • Le tiers exclu est faux en général ex. : h[t,u ⊨xx si h instable pour x dans [t,u G. Berry, Collège de France
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
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 dx défini par x dyyx ou équivalentxdy)xdy • Exemple : z xy y s1s2 s1 dy s2ey x z s1 y d e s2 s1 ds1s2 s2 es1s2 : forme normale des délais stabiliser les délais stabilise tous les fils ! G. Berry, Collège de France
d1 d2 C s1 d1 x s2d2 xs1s2 circuit C avec x0 : C,x C 0x circuit C avec x1 :(C,x C 0x cas général : circuit C avec valeurs d’entrées I : C,I G. Berry, Collège de France
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
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
Formules du calcul déductif : ⊢vs. ⊨ clauses de Horn⊢ • Séquents syntaxiques C,I ⊢ sSs d e) xI1 0x yI0 0y kKk ? C,I ⊨ modèle : G. Berry, Collège de France Région temporisée : dR Région temporisée : kKkpour K fini ou infini
Calculs déductions (Curry Howard) 1. C,I ⊢ dR ssi il existe une séquence d0R0, d1R1,..., dnRn dR telle que, pour tout i, diest dans (i.e., une entrée) ou dérivable des dj,jipar une règle de déduction 2.C,I ⊢ kKk ssi il existe un kK tel que C,I ⊢ k G. Berry, Collège de France
Les règles de déduction true pourC,I fixé, C,I⊢ ... implicite partout d1 dRd e RS bool affaiblissement eS dR ReS chaîne les transitions yexxey)xey chain deS dS eT join rassemble les entrées d’une porte maxd,eS∩T + 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
d1 d2 C s1 d1 x s2d2 xs1s2 0x bool 0x 0xs1s2 chain chain d1s1 d2s2 cas x0 i.e.0x join max(d1,d2)s1s2 x0 régions1s2 atteinteen tempsmax(d1,d2) G. Berry, Collège de France
d1 d2 C s1 d1 x s2d2 xs1s2 0x chain bool d1xs1s2 0x cas x1 i.e.0x d1s1 d1s1 chain chain d1d2s2 max(d1,d1d2)s1s2 join x1 régions1s2 atteinteen tempsd1d2 G. Berry, Collège de France
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
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
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 stabiliseun jour cas 1 :C,I ⊨ . AlorsC,I ⊨ k pour un k par thm.3 (intuitionnisme), par exemple k ms. Donch. h⊨C,I h⊢ms, touth devient stable à 1 cas 2 :C,I ⊨ . Alorsh. h ⊨ C,I h⊨ est impossible, donch. h ⊨C,I h⊨ , etcet h oscillepour s G. Berry, Collège de France
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
Logique Booléenne constructive • Circuit C, vecteur d’entrées : I entrées → {0,1} • Formules : I ⊢eb, abrégées en eb si I constant e0 e1 Ientrée e0 e1 e’0 e’1 II(I) e 1 e 0 e e’0 e e’1 e e’0 e e’1 e0 e1 e’0 e’1 e e’0 e e’1 X: e Ceb Xb G. Berry, Collège de France
Exemple de transformation de preuves bool chain chain d2s2 d1s1 join C s1 d1 x s2d2 xs1s2 max(d1,d2)s1s2 UN-logic 0x Constructive Boolean Logic 0x 0xs1s2 I(x)0 ⊢x0 s2xs1s xs1s2 1 s1x C x0 cas x0 i.e.0x s11 s2 1 s11 s21 G. Berry, Collège de France
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
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
Références Constructive Boolean Circuits and the Exactness of Timed Ternary Simulation M. Mendler, T. Shipleet 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