FR 3063855 A1 20180914 FR 1751903 A 20170308 1 Circuit logique programmable de commande d'une installation électrique, en particulier une installation nucléaire, dispositif et procédé de commande associés La présente invention concerne un circuit logique programmable de commande d'une installation électrique, en particulier une installation nucléaire, le circuit logique programmable comprenant une unité fonctionnelle comprenant : - une pluralité de types de blocs fonctionnels, deux types de blocs fonctionnels distincts étant propres à exécuter au moins une fonction distincte, - au moins un module de traitement propre à recevoir au moins une séquence de bloc(s) fonctionnel(s) à exécuter, et - au moins une mémoire interne configurée pour stocker au moins ladite séquence. Par ailleurs, la présente invention concerne également un dispositif de commande d'une installation électrique, en particulier une installation nucléaire, le dispositif de commande comprenant au moins un tel circuit logique programmable. De plus, la présente invention concerne également un procédé de commande d'une installation électrique, mis en oeuvre, au moins en partie par le dispositif de commande d'une installation électrique précité. On connaît du document EP 2 988 420 Al un système de commande d'installation électrique basé sur une carte électronique comprenant deux circuits logiques programmables FPGA (de l'anglais Field Programmable Gate Array). Un premier FPGA joue le rôle de maître et comprend un ensemble de blocs fonctionnels comprenant autant de blocs fonctionnels de même type, par exemple de type « ET », que le nombre d'instances de ce type de bloc pour une application donnée de contrôle commande d'une installation nucléaire. Le deuxième FPGA est connecté point à point aux entrées et sortie du premier FPGA et joue le rôle de matrice de connexion physique des blocs fonctionnels du premier FPGA. A chaque modification de l'application de contrôle commande considérée ou en cas de changement d'application de contrôle commande, une reprogrammation en langage de description de matériel VHDL (de l'anglais very high speed integrated circuit (VHSIC) hardware description language (HDL)) ou Verilog et une requalification du deuxième FPGA connectant les blocs fonctionnels les uns aux autres est nécessaire. En effet dans un contexte de contrôle commande d'installation nucléaire, chaque conception de FPGA doit être qualifiée très soigneusement en employant des processus complexes de développement et de vérification. 3063855 2 Une telle étape de reprogrammation en langage de description de matériel, VHDL ou Verilog par exemple, requiert de l'opérateur des connaissances de ce langage, et la requalification requiert temps et efforts de vérification. Afin de pallier ces inconvénients une solution est décrite dans le document EP 5 3 107 212 Al et basée, sur la mise en oeuvre d'un FPGA comprenant également un ensemble de blocs fonctionnels exécutés en parallèle selon plusieurs cycles successifs pour obtenir le résultat d'une application donnée de contrôle commande d'une installation nucléaire. Selon cette solution le circuit FPGA comprend au moins autant de blocs fonctionnels de même type que le nombre d'instances de ce type de bloc. De plus, dans 10 ce document, un convoyeur de données permet de faire transiter des valeurs binaires et analogiques entre les blocs fonctionnels présentant chacune une architecture spécifique leur permettant respectivement d'extraire du convoyeur et de transmettre au convoyeur leurs données d'entrée et de sortie. Toutefois, cette solution requiert un nombre de blocs fonctionnels de même type 15 important et défini de manière empirique à partir de l'expérience acquise en conception de système de contrôle commande d'installation nucléaire. De plus, l'exécution en parallèle des blocs fonctionnels au cours de plusieurs cycles successifs nécessaires pour obtenir le résultat associé à une application, requiert la mise en oeuvre d'une synchronisation, notamment au moyen de temporisation(s), de sorte à garantir le déterminisme des 20 données transitant entre chaque bloc fonctionnel et entre chaque cycle. Le but de l'invention est donc de proposer une solution alternative, pour le contrôle commande d'installation nucléaire, basée sur la mise en oeuvre de circuit logique programmable pour laquelle, en cas de changement d'application de contrôle commande, 25 une reprogrammation en langage VHDL ou une requalification du module de traitement est évitée, tout en réduisant le nombre de ressources logiques mises en oeuvre et tout en répondant plus simplement aux exigences de démonstration déterministe de sûreté requises pour un dispositif de sûreté, tel qu'un dispositif de commande d'une installation nucléaire. 30 A cet effet, l'invention a pour objet un circuit logique programmable du type précité, dans lequel le circuit logique programmable comprend un seul bloc fonctionnel de chaque type, un même bloc fonctionnel étant propre à être appelé plusieurs fois, et un module d'exécution configuré pour exécuter en série le ou les bloc(s) fonctionnel(s) appelés selon ladite séquence. 3063855 3 Le circuit logique programmable selon l'invention permet alors de réduire significativement le nombre de ressources logiques et donc la taille et la consommation énergétique du circuit logique programmable, tout en garantissant le déterminisme de l'application de contrôle commande grâce à l'exécution en série des blocs fonctionnels 5 appelés selon leur séquence (i.e. ordre) d'exécution au cours d'un unique cycle (un cycle correspondant à un temps durant lequel les données d'entrée du circuit logique programmable sont fixées en mémoire et ne seront réévaluées qu'au cycle suivant). En d'autres termes, selon la présente invention, un seul cycle, correspondant à l'exécution de la série de blocs fonctionnels listée dans la séquence, est nécessaire pour obtenir le 10 résultat d'une application de contrôle commande donnée. Suivant d'autres aspects avantageux de l'invention, le circuit logique programmable comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : le circuit logique programmable est de type FPGA ; 15 le module d'exécution est une machine d'état ; l'unité fonctionnelle comprend en outre une pluralité d'unités de calcul en virgule flottante parallélisables ; au moins un module de traitement est propre à recevoir un programme applicatif correspondant à un groupe de fichiers informatiques de configuration comprenant 20 ladite séquence et au moins un autre fichier informatique appartenant au groupe comprenant : un fichier de configuration de la mémoire correspondant à une table associant à au moins un signal d'entrée/sortie du circuit logique programmable une adresse dans sa mémoire, 25 un fichier de valeur(s) de paramètre(s) de bloc(s) fonctionnel(s) propre(s) à exécuter au moins une fonction utilisant un paramètre, un fichier listant, pour chaque bloc fonctionnel, la ou les adresse(s) de la mémoire allouée(s) à une ou des entrée(s) de ce bloc fonctionnel, un fichier listant, pour chaque bloc fonctionnel, la ou les adresse(s) de la 30 mémoire allouée(s) à une ou des sortie(s) de ce bloc fonctionnel ; les valeurs de paramètres sont ordonnée(s) au sein de leur fichier en fonction de ladite séquence de bloc(s) fonctionnel(s) à exécuter ; la mémoire comprend au moins deux espaces de stockage de données dédiés respectivement à des données binaires et à des données analogiques ; chaque espace de stockage comprend au moins trois sous-espaces dédiés: 3063855 4 au moins un sous-espace dédié aux données d'entrées du circuit logique programmable, au moins un sous-espace dédié aux données de sorties du circuit logique programmable, 5 au moins un sous-espace dédié à des données temporaires obtenues en cours d'exécution de ladite séquence ; les sous-espaces dédiés aux données d'entrée ou les sous-espaces dédiés aux données de sortie sont des registres à bascule(s) synchrone(s). L'invention a également pour objet un dispositif de commande tel que défini ci- 10 dessus. Suivant d'autres aspects avantageux de l'invention, le dispositif de commande comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : le dispositif de commande comprend une pluralité de circuits logiques 15 programmables du type précité ; le dispositif de commande comprend en outre : au moins un module d'alimentation, des modules auxiliaires parmi un ou des modules dédiés à l'acquisition de données d'entrées distinctes, un ou des modules dédiés à la publication de 20 données de sortie distinctes, et un ou des modules de maintenance et de diagnostic, et - un bus de communication configuré pour relier le ou les circuit(s) logique(s) programmable(s) aux modules auxiliaires ; le bus de communication comprend quatre liaisons de transmission différentielle 25 basse tension (M-LVDS) dédiées respectivement aux données d'entrée et aux données de sortie de chaque circuit logique programmable dans chaque sens de transmission ; le dispositif de commande comprend un réseau de communication fibre optique configuré pour relier la pluralité de circuits logiques programmables. 30 dispositif de commande dans lequel un circuit logique programmable maitre, parmi la pluralité de circuits logiques programmables, est propre à être connecté à une horloge et est configuré pour synchroniser les autres circuits logiques programmables de la pluralité de circuits logiques programmables par le biais du réseau de communication fibre optique ; 3063855 5 dispositif de commande dans lequel le circuit logique programmable maitre est également configuré pour synchroniser les modules auxiliaires par le biais du bus de communication ; dispositif de commande dans lequel la pluralité de circuits logiques 5 programmables est logée dans un même logement. dispositif de commande dans lequel les circuits logiques programmables (de la pluralité des circuits logiques programmables sont séparés dans au moins deux logements distincts. L'invention a également pour objet un procédé de commande d'une installation 10 électrique, mis en oeuvre, au moins en partie par le dispositif de commande d'une installation électrique comprenant un circuit logique programmable comprenant une unité fonctionnelle comprenant : une pluralité de types de blocs fonctionnels, deux types de blocs fonctionnels distincts étant propres à exécuter au moins une fonction distincte, 15 au moins un module de traitement propre à recevoir au moins une séquence de bloc(s) fonctionnel(s) à exécuter, au moins une mémoire interne configurée pour stocker au moins ladite séquence, le circuit logique programmable comprenant un seul bloc fonctionnel de chaque type, un 20 même bloc fonctionnel étant propre à être appelé plusieurs fois, et comprenant un module d'exécution configuré pour exécuter en série le ou les bloc(s) fonctionnel(s) appelé(s) selon ladite séquence, le procédé comprenant au moins : la réception d'au moins une séquence de bloc(s) fonctionnel(s) à exécuter, 25 l'exécution en série du ou des bloc(s) fonctionnel(s) appelé(s) selon ladite séquence. Suivant d'autres aspects avantageux de l'invention, le procédé de commande comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : 30 - la mise en oeuvre du procédé est distribuée sur plusieurs entités distinctes à savoir un générateur de programme applicatif d'une centrale de maintenance, et un dispositif de commande du type précité comprenant au moins un module de maintenance et de diagnostic et au moins un circuit logique programmable du type précité ; 35 - le procédé comprenant en outre : 3063855 6 la programmation des blocs fonctionnels du ou des circuit(s) logique(s) programmable(s), l'élaboration d'un fichier bibliothèque décrivant les caractéristiques des fonctions pouvant être mises en oeuvre par chaque bloc fonctionnel tel que 5 programmé, et stockage dudit fichier bibliothèque dans une mémoire d'un générateur de programme applicatif; l'élaboration de diagrammes fonctionnels représentant une application de contrôle commande de l'installation électrique à l'aide d'un éditeur graphique relié au générateur de programme applicatif, 10 la conversion des données des diagrammes fonctionnels par le générateur de programme applicatif en au moins une séquence de blocs fonctionnels à exécuter, chaque bloc fonctionnel de la séquence mettant en oeuvre les fonctions conformes à celles préalablement programmées et répertoriées dans le fichier bibliothèque, 15 la connexion du générateur de programme applicatif au dispositif de commande d'une installation électrique par un module de maintenance et de diagnostic, le chargement d'au moins la séquence de blocs fonctionnels à exécuter dans le dispositif de commande. 20 le fichier bibliothèque comprend, pour chaque bloc fonctionnel programmé: son type, la description d'au moins une fonction qu'il est propre à mettre en oeuvre, son identifiant correspondant à un code de langage de description de matériel prédéterminé, 25 son nombre et/ou sorte d'entrées, son nombre et/ou sorte de sortie, son nombre et/ou sorte de paramètre(s) qu'il est propre à utiliser. Ces caractéristiques et avantages de l'invention apparaitront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif, et faite en 30 référence aux dessins annexés, sur lesquels : - la figure 1 est une représentation schématique d'un circuit logique programmable selon l'invention; - la figure 2 est une représentation illustrant un exemple d'application de contrôle commande à exécuter; 3063855 7 - la figure 3 est une représentation schématique de la connexion du circuit logique programmable selon l'invention à un module de maintenance et de diagnostic ; - la figure 4 est une représentation schématique d'un dispositif de commande selon l'invention comprenant, selon un mode de réalisation, le circuit logique 5 programmable de la figure 1 ; - les figures 5 et 6 représentent respectivement deux variantes de dispositifs de commande comprenant une pluralité de circuits logiques programmables représentés en figure 1. Sur la figure 1, le circuit logique programmable 10 est un module de traitement 10 (PM de l'anglais Processing Module). Plus précisément, le circuit logique programmable 10 est réalisé sous forme d'une structure électronique, telle qu'un réseau de portes programmables ou FPGA (de l'anglais Field-Programmable Gate Array). Un tel FPGA 10 comprend un module 12 de contrôle des signaux d'entrées, une unité fonctionnelle 14 (OPU de l'anglais Operating Unit), et un module 16 de contrôle des 15 signaux de sortie. L'unité fonctionnelle 14 comprend une pluralité 18 de N types de blocs fonctionnels FI31, FBN distincts avec N un entier et i l'indice de type de bloc fonctionnel compris entre un et N. Deux types de blocs fonctionnels distincts sont propres à exécuter au moins une 20 fonction distincte. Par « fonction », on entend une fonction propre à être mise en oeuvre par un FPGA. Selon la présente invention, l'unité fonctionnelle comprend un seul bloc fonctionnel de chaque type. Chaque bloc fonctionnel est par ailleurs qualifié une bonne fois pour toute lors de 25 la conception du circuit logique programmable et, selon la présente invention, est par la suite uniquement appelé pour être exécuté au cours d'une application de contrôle commande sans qu'aucune requalification ne soit nécessaire en cas de changement/modification d'application de contrôle commande. Chaque instance de bloc peut en outre disposer, si nécessaire, d'un espace de 30 mémoire interne 20 dédié d'un module 22 d'exécution de l'unité fonctionnelle 14, permettant de stocker des valeurs persistantes d'un cycle d'exécution à l'autre. L'ensemble des fonctions propres à être mises en oeuvre par un FPGA selon la présente invention sont donc implémentées (i.e. programmés selon une étape préliminaire) une bonne fois pour toute en VHDL. Leurs caractéristiques sont par exemple 35 listées et mémorisées au sein d'un fichier bibliothèque 100 stocké au sein d'une mémoire, 3063855 8 non représentée, d'un générateur automatique 110 de données de configuration d'une centrale de maintenance 76 (illustrée sur la figure 3) distante et distincte du circuit logique programmable 10 selon la présente invention. En d'autres termes, le fichier bibliothèque 100 décrit les caractéristiques des 5 fonctions pouvant être mises en oeuvre par chaque bloc fonctionnel tel que programmé. Un tel fichier bibliothèque 100 comprend par exemple pour chaque bloc fonctionnel : son type, la description d'au moins une fonction qu'il est propre à mettre en oeuvre, 10 son identifiant correspondant à un code arbitraire prédéterminé son nombre et/ou sorte d'entrées, son nombre et/ou sorte de sorties, son nombre et/ou sorte de paramètres qu'il est propre à utiliser. Un tel fichier bibliothèque 100 est élaboré préalablement et utilisé par un 15 générateur automatique 110 de données de configuration de la centrale de maintenance 76, permettant de traduire automatiquement un ensemble de diagrammes fonctionnels 120 en programme applicatif 34. La figure 2 illustre un diagramme fonctionnel 120 d'un exemple d'application de contrôle commande à exécuter. Une telle application correspond à la détection de 20 température limite en quatre points distincts d'un réacteur nucléaire. Une telle application est générée par un opérateur à partir d'un éditeur graphique relié au générateur automatique 110 de programme applicatif 34 sans requérir de connaissances particulières en langage de description de matériel VHDL ou Verilog. Le générateur automatique 110 de programme applicatif 34 est propre à convertir 25 les données d'un tel diagramme fonctionnel 120 par le générateur 110 de programme applicatif 34 en au moins une séquence 46 de blocs fonctionnels à exécuter, chaque bloc fonctionnel de la séquence mettant en oeuvre les fonctions conformes à celles préalablement programmées et répertoriées dans le fichier bibliothèque 100. Quatre types 24, 26, 28, 30 de blocs fonctionnels distincts sont nécessaires pour 30 la mise en oeuvre d'une telle application de contrôle commande, à savoir les quatre types LIN, THR, VOTER et AND qui sont graphiquement reliés par des liaisons orientées représentant les relations de causalité entre blocs fonctionnels. Plus précisément, l'opérateur définit graphiquement le nombre de signaux d'entrée de l'application de contrôle commande à savoir El, E2, E3, et E4 qui correspondent, par 35 exemple à différents points de mesure d'un réacteur nucléaire. 3063855 9 Selon cette application de contrôle commande, les signaux électriques des points Ei (i=1 à 4) sont ensuite chacun propres à être convertis au moyen d'un bloc fonctionnel de type LIN en une donnée physique, ici une température. Puis, la température obtenue en sortie du bloc fonctionnel 24 de type LIN est 5 comparée à un seuil de température au moyen d'un bloc fonctionnel 26 de type THR ayant pour paramètre ce seuil de température à savoir par exemple 100°C. L'application de contrôle commande visée comprend ensuite une fonction de vote mise en oeuvre par bloc fonctionnel 28 VOTER appliquée aux quatre signaux associés à chaque point d'entrée. La fonction de vote est par exemple une fonction de vote 2/4 apte 10 à confirmer ou infirmer (i.e. résultat binaire) la comparaison au seuil de température, à partir du moment où au moins deux comparaisons sur quatre ont le même résultat. Enfin, l'application de contrôle commande visée est propre à prendre en compte, au moyen d'un bloc fonctionnel 30 AND, l'activation d'un bouton poussoir 32 (propre à être actionné manuellement par un opérateur) inhibiteur de résultat. En d'autres termes, le 15 bloc fonctionnel 30 AND reçoit deux entrées binaires correspondant respectivement aux signaux de sortie du bouton poussoir 32 et du bloc fonctionnel 28 VOTER et délivre en sortie le résultat 33 binaire du bloc fonctionnel VOTER si le bouton poussoir 32 n'a pas été actionné, et le résultat 33 binaire contraire sinon. Ainsi, pour cet exemple d'application de contrôle commande, le fichier bibliothèque 20 100 utilisé par le générateur automatique 110 est par exemple sous la forme du tableau suivant : Type Code arbitrai Description fonction Entrées Sorties Paramètres re du FB LIN 0x01 Conversion linéaire 1 1 aucun d'un signal électrique analogique analogique en une donnée physique THR 0x02 Comparaison à une 1 1 binaire 1 analogique: valeur seuil analogique valeur de seuil VOTER 0x03 Fonction de vote 2/4 4 binaires 1 binaire aucun AND 0x04 Fonction logique 2 binaires 1 binaire aucun « ET» entre deux entrées 3063855 10 En relation avec la figure 1, le bloc fonctionnel F131 est par exemple de type LIN et le code 0x01 lui est alloué sur la carte FPGA, le bloc fonctionnel FB,=5 est de type THR et le code 0x02 lui est alloué, le bloc fonctionnel FB,=12 est de type VOTER et le code 0x03 lui est alloué, et le bloc fonctionnel FB,=15 est de type AND et le code 0x04 lui est alloué. 5 A partir du diagramme représenté sur la figure 2, et du fichier bibliothèque 100 décrit ci-dessus, un ensemble de fichiers informatiques de configuration formant un programme applicatif 34 est automatiquement généré. Un tel programme applicatif 34 comprend notamment : un fichier de configuration 36 de la mémoire 38 de l'unité fonctionnelle 14 10 correspondant à une table associant à au moins un signal d'entrée/sortie du circuit logique programmable 10 une adresse dans sa mémoire, - un fichier 40 de valeur(s) de paramètre(s) de bloc(s) fonctionnel(s) propre(s) à exécuter au moins une fonction utilisant un paramètre, un fichier 42 listant, pour chaque bloc fonctionnel, la ou les adresse(s) de la 15 mémoire allouée(s) à une ou des entrée(s) de ce bloc fonctionnel, un fichier 44 listant, pour chaque bloc fonctionnel, la ou les adresse(s) de la mémoire allouée(s) à une ou des sortie(s) de ce bloc fonctionnel, une séquence 46 de bloc(s) fonctionnel(s) à exécuter La mémoire 38 de l'unité fonctionnelle 14 comprend au moins deux espaces 48 et 20 50 de stockage de données dédiés respectivement à des données binaires (booléens codés sur deux bits distincts) et à des données analogiques (nombres flottants codés par exemple sur trente-deux bits). Dans une variante non représentée, la mémoire 38 de l'unité fonctionnelle 14 comprend en outre un espace de stockage de données dédié aux valeurs de paramètres du fichier 40. 25 L'espace 48 de stockage de données binaires est lui-même hiérarchisé en au moins trois sous-espaces, à savoir : un premier sous-espace 52 dédié aux données binaires d'entrées du circuit logique programmable 10, un deuxième sous-espace 54 dédié aux données binaires temporaires obtenues en cours d'exécution de la séquence 46, un troisième sous-espace 56 dédié aux données binaires de sorties du circuit logique 30 programmable. De même, l'espace 50 de stockage de données analogiques est lui-même hiérarchisé en au moins trois sous-espaces, à savoir : un premier sous-espace 58 dédié aux données d'entrées analogiques du circuit logique programmable 10, un deuxième sous-espace 60 dédié aux données analogiques temporaires obtenues en cours 3063855 11 d'exécution de la séquence 46, un troisième sous-espace 58 dédié aux données analogiques de sorties du circuit logique programmable. Le fichier de configuration 36 de la mémoire 38 est configuré pour être lu par le module d'exécution 22 de l'unité fonctionnelle 14 au cours d'un unique cycle d'exécution 5 l'application de contrôle commande (correspondant par exemple à celle représentée sur la figure 2). Lors de l'exécution de la séquence 46, le module d'exécution 22 lit dans le fichier de configuration 36 où sont stockées dans la mémoire 38 les valeurs des entrées et sorties de l'application dans son ensemble. 10 En d'autres termes, le fichier de configuration 36 est un tableau d'allocation, dans les différents sous-espaces (i.e. registres) mémoire, d'adresses mémoire aux entrées et sorties du circuit logique programmable 10. Les cinq valeurs d'entrées sont, selon l'exemple d'application de contrôle commande représenté sur la figure 2, à quatre valeurs analogiques ina El , ina E2, 15 ina E3 et ina E4 correspondant aux signaux électriques représentatifs de mesures de température respectivement aux points El à E4 et une valeur binaire inb P1 représentative de l'activation/désactivation du bouton poussoir 32. La valeur de sortie outb ACT est délivrée après exécution des blocs fonctionnels selon la séquence 46 de blocs fonctionnels. 20 Ainsi, pour cet exemple d'application de contrôle commande illustré sur la figure 2, le fichier de configuration 36 est, par exemple, sous la forme du tableau suivant : Type espace Analogique 50 Binaire 48 de stockage Sous-espace Entrée 58 Entrée 52 Sortie 56 Adresse(s) Ox0001 0x0005 à 0x0009 à 0x0013 à 0x0000 OxF800 mémoire à 0x0008 0x0012 0x0014 Ox0004 Nom de la ina El ina E2 ina E3 ina E4 inb P1 outb ACT valeur Selon la présente invention, la séquence 46 de bloc(s) fonctionnel(s) à exécuter est un fichier informatique listant, à partir des liens de causalité du diagramme, l'ordre d'instanciation des blocs fonctionnels à exécuter en série par le module d'exécution 22 de 25 l'unité fonctionnelle 14 pour réaliser l'application de contrôle commande désirée. La séquence 46 est un fichier informatique, par exemple, représenté sous la forme du tableau ordonné suivant : 3063855 12 CODE du FB FB TYPE Instance 0x01 LIN LIN, 0x02 THR THR, 0x01 LIN LIN2 0x02 THR THR2 0x01 LIN LIN3 0x02 THR THR3 0x01 LIN LIN4 0x02 THR THR4 0x03 VOTER VOTER 0x04 AND AND 0x00 STOP STOP Autrement dit, selon la présente invention un seul bloc fonctionnel FB (dont le code est indiqué dans le fichier bibliothèque précédemment décrit) est éxécuté à la fois, selon les instances successives de la série de blocs fonctionnels indiquée dans le fichier informatique de séquence 46 ci-dessus. 5 Une telle exécution en série garantit le déterminisme d'éxécution de l'application de contrôle commande puisque les données de sortie de chaque blocs fonctionnels sont stockées et/ou réinjectées en entrée du bloc fonctionnel suivant au fur et à mesure des instances. Selon l'art antérieur, pour réaliser l'application de contrôle commande représentée 10 sur la figure 2, il est nécessaire que le FPGA comprenne quatre blocs fonctionnels de type LIN, quatre blocs fonctionnels de type THR, un bloc fonctionnel de type VOTER et un bloc fonctionnel de type AND soit au total environ dix blocs fonctionnels distincts. Au contraire, selon la présente invention un seul bloc fonctionnel de chaque type est nécessaire et « appelé » autant de fois que requis selon l'application de contrôle 15 commande à exécuter. Ainsi, en relation avec l'exemple d'application de la figure 2, le nombre de blocs fonctionnels nécessaires pour exécuter une telle application est réduit de dix à quatre, ce qui permet une réduction de la taille du FPGA (i.e. optimisation de la compacité) et/ou la possibilité d'y intégrer des blocs fonctionnels appelables pour d'autres applications de contrôle commande. 20 En d'autres termes, l'empreinte matérielle (e.g. empreinte VHDL) du circuit logique programmable selon l'invention est unique et permanente, un bloc fonctionnel qualifié étant propre à être réutilisé d'une application de contrôle commande à une autre. Selon l'invention, seul le programme applicatif 34 est distinct d'une application de contrôle 3063855 13 commande à une autre, un même bloc fonctionnel étant par exemple appelé en première instance pour une première application de contrôle commande et en dernière instance pour une deuxième application de contrôle commande différente de la première. Le fichier informatique 40 de valeur(s) paramètre(s) de blocs fonctionnel(s) 5 comprend quant à lui les valeurs des paramètres nécessaires lors de l'exécution de la séquence 46, ces valeurs de paramètres étant ordonnées en tenant compte de la séquence 46 d'exécution des blocs fonctionnels. Le fichier informatique 40 de valeurs de paramètres est représenté, par exemple sous la forme du tableau ordonné suivant : Valeur de paramètre Instance du bloc Valeur de fonctionnel paramètre 0x0000000042c80000 THR, 100.0 0x0000000042c80000 THR2 100.0 0x0000000042c80000 THR3 100.0 0x0000000042c80000 THR4 100.0 10 En d'autres termes, pour l'exemple d'application de contrôle commande représenté sur la figure 2, le même bloc fonctionnel FB,=5 de type THR est instancié quatre fois avec la même valeur de paramètre à savoir une température de 100°C. Selon d'autres exemples d'applications de contrôle commande, des valeurs différentes de paramètres sont propres à être associées aux différentes instances du bloc 15 fonctionnel FB,=5 de type THR. Ainsi, sans modification de l'empreinte matérielle (e.g. empreinte VHDL), et en conséquence sans requalification du circuit programmable, la présente invention permet un changement de paramètre d'un même bloc fonctionnel au cours de la vie d'un système de contrôle commande, ou encore d'une application à l'autre. L'évolution de fonctionnement du circuit programmable est donc facilitée. 20 De plus, comme indiqué précédemment le programme applicatif 34 comprend également deux fichiers informatiques 42 et 44 listant respectivement pour chaque bloc fonctionnel d'une part la ou les adresses de la mémoire 38 allouée(s) à une ou des opérandes d'entrées de ce bloc fonctionnel, et d'autre part la ou les adresses de la mémoire allouée(s) à une ou des opérandes de sortie de ce bloc fonctionnel. 25 En relation avec l'application représentée sur la figure 2, ces deux fichiers informatiques 42 et 44 sont, par exemple, respectivement sous la forme suivante : 3063855 14 Adresse(s) mémoire Nom de la Utilisée valeur de en sortie sortie de : 0x0800 wa a1 LIN 0x0804 wb b1 THR 0x0805 wa a2 LIN 0x0809 wb b2 THR Ox080A wa a3 LIN Ox080E wb b3 THR Ox080F wa a4 LIN 0x0813 wb b4 THR 0x0814 wb c VOTER OxF800 outb ACT AND Adresse(s) Nom de la Utilisée en mémoire valeur d'entrée entrée de : 0x0001 ina E1 LIN 0x0800 wa a1 THR 0x0005 ina E2 LIN 0x0805 wa a2 THR 0x0009 ina E3 LIN Ox080A wa a3 THR 0x0013 ina E4 LIN Ox080F wa a4 THR 0x0804 wb b1 VOTER 0x0809 wb b2 VOTER Ox080E wb b3 VOTER 0x0813 wb b4 VOTER 0x0000 lnb P1 AND 0x0814 wb c AND 5 Le module d'exécution 22 fonctionne alors comme une machine d'état et distribue et/ou stocke automatiquement à chaque instance de bloc fonctionnel les valeurs d'entrées et de sortie aux adresses mémoires indiquées dans les fichiers 42 et 44 du programme applicatif 34. Un pointeur permet au module d'exécution 22 de connaitre pour chaque instance 10 de bloc fonctionnel l'emplacement de départ des adresses des valeurs d'entrées et de sortie à lire dans les fichiers 42 et 44. A l'issu de l'exécution de chaque instance de bloc fonctionnel, celui-ci met à jour le pointeur en fonction du nombre de valeurs d'entrée lues et du nombre de valeurs de sortie générées, permettant au module d'exécution 22 de connaitre les adresses à lire dans les fichiers 42 et 44 pour l'instance de bloc suivante. 15 En d'autres termes, les fichiers informatiques du programme applicatif 34 ont un effet de synergie de sorte que le module d'exécution 22 est configuré pour tous les prendre en compte en parallèle afin de mettre en oeuvre une exécution en série sans qu'aucun lien ne soit physiquement créé entre les différents blocs fonctionnels. Ainsi, en relation avec l'exemple d'application de contrôle commande illustré sur la 20 figure 2, le module d'exécution 22 est configuré pour lire la séquence 46 et déterminer quel est le premier bloc fonctionnel à exécuter. 3063855 15 Ce premier bloc est le bloc fonctionnel F131 de type LIN, et le module d'exécution 22 est alors configuré pour lui distribuer en entrée, conformément au fichier informatique 42 associé aux données d'entrées de chaque bloc fonctionnel, la valeur analogique de ina E1 qui est mémorisée à l'adresse 0x0001 du sous-espace 58 dédié aux données 5 analogiques d'entrée de la mémoire 38. Le bloc fonctionnel F131 de type LIN est alors exécuté et la valeur analogique de wa a1 délivrée en sortie est stockée à l'adresse 0x0800 du sous-espace mémoire 60 dédié aux données analogiques temporaires conformément au fichier informatique 44 associé aux données de sortie de chaque bloc fonctionnel. 10 Puis, le module d'exécution 22 est configuré pour lire la séquence 46 et déterminer quel est le deuxième bloc fonctionnel à exécuter. Ce deuxième bloc est le bloc fonctionnel FB,.5 de type THR et le code 0x02 lui est alloué sur la carte FPGA. Le module d'exécution 22 est alors configuré pour lui distribuer en entrée la valeur de wa a1 qui est mémorisée à l'adresse 0x0800 ainsi que la valeur de paramètre 100.0 qui est la prochaine valeur sur 15 la pile des valeurs de paramètres analogiques. Le bloc fonctionnel FB5 de type THR est alors exécuté et la valeur binaire de wb b1 délivrée en sortie est écrite et stockée, par le module d'exécution 22 à l'adresse 0x0804 du sous-espace 54 dédié aux données binaires temporaires. Ensuite, conformément à la séquence 46, le troisième bloc fonctionnel à exécuter 20 est à nouveau le bloc fonctionnel F131 de type LIN. Lors de cette deuxième instance de ce même bloc fonctionnel F131 de type LIN le module d'exécution 22 est alors configuré pour lui distribuer en entrée la valeur analogique de ina E2 qui est mémorisée à l'adresse 0x0005 du sous-espace 58 dédié aux données analogiques d'entrée de la mémoire 38. Le bloc fonctionnel F131 de type LIN est alors exécuté pour la deuxième fois et la 25 valeur analogique de wa a2 délivrée en sortie est stockée à l'adresse 0x0805 du sous- espace mémoire 60 dédié aux données analogiques temporaires, et ainsi de suite jusqu'à ce que l'ensemble de la séquence 46 soit complètement exécutée (i.e. jusqu'à ce que le code 0x00 d'arrêt soit lu par le module d'exécution 22). Ainsi, selon la présente invention un seul bloc fonctionnel est exécuté à la fois à un 30 instant donné. Selon l'exemple représenté sur la figure 1, l'unité fonctionnelle 14 comprend en outre une pluralité 64 de M unités de calcul en virgule flottante (FPU de l'anglais « floating point units ») parallélisables, avec M un entier. De telles unités de calcul sont par exemple propres à mettre en oeuvre des calculs 35 de racine carrée ou de logarithme et sont parallélisées, pour la mise en oeuvre de calculs 3063855 16 complexes requis lors de l'exécution d'un blocs fonctionnel tel que la détermination du rapport entre le flux thermique d'apparition de la crise d'ébullition et le flux thermique réel dans le coeur d'un réacteur appelé rapport de flux thermique critique/RFTC (DBNR de anglais Departure from Nucleate Boiling Ratio). Un tel pool d'unités de calcul en virgule 5 flottante est partagé pour l'ensemble des blocs fonctionnels de l'unité fonctionnelle 14 et permet d'accélérer la capacité de calcul d'un bloc fonctionnel lorsque celui-ci est configuré pour mettre un calcul analogique complexe. La scalabilité du circuit logique programmable 10 est en conséquence accrue. L'unité fonctionnelle 14 comprend également une interface 66 d'entrée sortie 10 propre à recevoir et à retransmettre respectivement les données d'entrée ina E1, ina E2, ina E3, ina E4 et de sortie inb P1 et outb ACT répertoriées dans le fichier de configuration 36, et associées à l'application de contrôle commande dans son ensemble. L'interface 66 est propre à recevoir le programme applicatif 34 via un bus de configuration interne (ICB de l'anglais Internai Configuration Bus) connecté au module 12 15 de contrôle des signaux d'entrées et à transmettre via ce même bus de données des données de contrôle et de diagnostic au module 16 de contrôle des signaux de sortie. Le module 12 de contrôle des signaux d'entrées comme le module 16 de contrôle des signaux de sortie sont externes à l'unité fonctionnelle 14 et sont propres à communiquer avec des appareils et/ou circuits externes au circuit logique programmable 20 10. Ce module de contrôle de signaux d'entrées 12 et ce module de contrôle des signaux de sortie 16 sont eux-mêmes chacun une machine d'état comprenant un ou plusieurs espaces mémoires dédiés respectivement à des données analogiques et binaires non représentés. 25 Parmi ces espaces mémoires dédiés, certains sont dédiés au contrôle des données d'entrée et de sorties échangées avec un réseau de communication et propres à recevoir/transmettre des données émises/transmises de manière asynchrone au regard du cycle de fonctionnement du circuit logique programmable 10. Pour ce faire, ces espaces mémoires dédiés spécifiquement aux données réseaux sont des registres à 30 bascule(s) synchrone(s) (i.e. à double port, de l'anglais flip-flop) de sorte à stocker les données réseaux reçues/transmises en cours de cycle courant pendant que les données réseaux reçues/transmises au cours du cycle précédent sont utilisées par l'unité fonctionnelle 14 au cours du cycle courant. Le circuit logique programmable 10 possède de ce fait un certain nombre de connecteurs fibre optique permettant d'émettre/recevoir 35 ces données sur des réseaux de communication. 3063855 17 Les modules 12 et 16 sont notamment configurés pour assurer la communication avec un module 68 de maintenance et de diagnostic (SMD de l'anglais Service Maintenance Diagnosis Module) représenté sur la figure 3. Un tel module de maintenance et de diagnostic 68 permet notamment de charger, 5 sur le circuit logique programmable 10, le programme applicatif 34 associé à l'application à exécuter ou encore des changements de paramètres de blocs fonctionnel (e.g. un changement de seuil de température de 100°C à 120-q, de lancer périodiquement des tests de maintenance sur le circuit logique programmable 10, ou encore de transférer du circuit logique programmable 10 selon l'invention au module de maintenance et de 10 diagnostic 68 des données de traitement. Ces échanges de données entre le circuit logique programmable 10 et le module de maintenance et de diagnostic 68 sont sécurisés au moyen d'une liaison tel qu'un bus 70 connecté à la face arrière (de l'anglais backplane bus) des boitiers logeant respectivement le circuit logique programmable 10 et le module de maintenance et de diagnostic 68. 15 Le module de maintenance et de diagnostic 68 comprend également un circuit logique programmable 72, par exemple FPGA et un microprocesseur 74, et est propre à communiquer selon une procédure sécurisée avec une centrale de maintenance 76 comprenant, par exemple, le générateur automatique 110, au moyen d'une liaison 78 de type Ethernet et un commutateur 80 propre à communiquer avec d'autres dispositifs de 20 commande d'installation électrique, un dispositif de commande comprenant au moins un circuit logique programmable 10 selon l'invention tel que décrit précédemment. La centrale de maintenance 76 est, par exemple, distante de l'installation électrique nucléaire sur laquelle le circuit logique programmable 10 est mis en oeuvre. Au sein de cette centrale de maintenance 76, un opérateur de maintenance réalise au moyen 25 d'un éditeur graphique (ne requérant pas de connaissance préalable en langage VHDL ou encore Verilog) les applications de contrôle commande à mettre en oeuvre au sein de l'installation électrique nucléaire, sous forme de diagrammes fonctionnels 120 comme représentés par exemple, sur la figure 2. Comme indiqué précédemment, les diagrammes fonctionnels 120 sont ensuite convertis en programme applicatif 34, par le générateur 30 automatique 110 qui utilise le fichier bibliothèque 100 pour garantir que le programme applicatif 34 s'exécutera sans affecter la configuration qualifiée du circuit logique programmable 10. Le programme applicatif 34 est ensuite chargé via le module de maintenance et de diagnostic 68 dans le circuit logique programmable 10. Trois variantes d'architectures d'un tel dispositif de commande 81 sont 35 respectivement représentées sur les figures 4 à 6. 3063855 18 Sur la figure 4, le dispositif de commande 81 est « mono-» circuit logique programmable 10. En d'autres termes, le dispositif de commande 81 comprend un logement 82 (de l'anglais rack) formant boitier, par exemple de taille 6U (U étant l'unité de hauteur d'un rack), dans lequel un seul circuit logique programmable 10 est intégré. Le 5 logement 82 est propre à comprendre en outre un module d'alimentation 84, et des modules auxiliaires, à savoir un ou des modules 86 dédiés à l'acquisition de données d'entrées distinctes, et un ou des modules 88 dédiés à la publication de données de sortie distinctes, et un ou des modules de maintenance et de diagnostic 68 précédemment décrit. Par ailleurs, le circuit logique programmable 10 comprend des connecteurs (par 10 exemple sept connecteurs non représentés) permettant, par exemple au moyen de fibre(s) optique(s), une connexion à un réseau de communication. Une connexion du générateur automatique 110 de programme applicatif 34 au dispositif de commande 81 est propre à être établie via le ou les modules de maintenance et de diagnostic 68, qui est notamment configuré pour charger la séquence 46 de blocs 15 fonctionnels à exécuter dans dispositif de commande 81 une fois qu'une telle connexion est établie. Au sein du logement 82, le circuit logique programmable 10 est maître et contrôle la communication avec les modules auxiliaires 86, 88, et 68 au travers d'un bus 70 utilisant par exemple non limitatif des liaisons de transmission différentielle basse tension 20 (M-LVDS de l'anglais Multipoint-Low Voltage Differential Signaling), opérant par exemple à 50MHz, et dédiées respectivement aux données d'entrée binaires et analogiques et aux données de sortie binaires et analogiques du circuit logique programmable 10. Avantageusement, chaque type de données (entrée ou sortie) dispose d'une liaison de transmission indépendante pour les données binaires et les données analogiques. Dans 25 le cas de figure cela fait donc quatre liaisons de transmission différentielle basse tension. De nombreuses variantes de réalisation non représentées pourront être mises en oeuvre sans pour autant sortir de la portée de l'invention. Par exemple les modules 86 dédiés à l'acquisition des données d'entrées, et les modules 88 dédiés à la publication des données de sortie pourront être logés sur une même carte électronique du type « 30 GPIO » (de l'anglais general purpose input output) connue par ailleurs. Le module d'alimentation 84 délivre une alimentation stabilisée en puissance aux autres modules du logement 82 et est également configuré pour mettre en oeuvre une conversion de tension, par exemple de 24 volts en courant continu à 5 volts pour alimenter chaque module du logement 82. 3063855 19 Les figures 5 et 6 représentent deux variantes de dispositifs de commande 81 comprenant une pluralité de circuits logiques programmables 10 représentés en figure 1. Une telle architecture « multi-» circuits logiques programmables 10 permet d'accroitre le nombre d'interface réseau par dispositif de commande, de dupliquer des 5 opérations de contrôle commande dans au moins deux circuits logiques programmables 10 à des fins de contrôle de sureté imposant des règles de redondance, ou encore optimiser le routage inter-modules au sein d'un logement 82. Dans une telle architecture « multi-» circuits logiques programmables 10, la pluralité de circuits logiques programmables 10 est synchronisée, cette synchronisation 10 est réalisée par l'intermédiaire d'un circuit logique maître 10a parmi les circuits logiques programmables 10, connecté à une horloge. Le circuit logique programmable maître 10a est notamment propre à émettre, via le module 12 de contrôle des signaux représenté sur la figure 1, une impulsion de synchronisation en début et/ou en fin de cycle (un cycle ayant par exemple une durée de 15 2ms) et une requête d'état vers les modules 86 dédiés à des données d'entrées distinctes, les modules 88 dédiés à des données de sortie distinctes, ou encore vers les autres circuits logiques programmables 10 afin de synchroniser et rafraichir à chaque cycle les données d'entrées/sorties du cycle suivant (nouvelle itération de la même application de contrôle commande). En conséquence, contrairement aux échanges via 20 des réseaux de communication, ces échanges de données au sein d'une même pluralité de circuits logiques programmables sont effectués sur un mode synchrone. Ainsi, tous les circuits logiques programmables 10 de la pluralité sont configurés pour fonctionner simultanément au sein d'un même cycle. Deux variantes non limitatives d'une telle architecture « multi-» circuits logiques 25 programmables 10, sont représentées sur les figures Set 6 à titre d'illustration. Sur la figure 5, trois circuits logiques programmables, comprenant un circuit logique programmable maitre 10a et deux autres circuits logiques programmables 10, sont, logés dans le même logement 82, les circuits logiques programmables 10 et 10a, étant propres à communiquer entre eux et avec les modules auxiliaires 86, 88, 68 du 30 logement 82 de manière synchrone. Dans le mode de réalisation représenté par la figure 5 les circuits logiques programmables 10a et 10 communiquent entre eux de manière synchrone par fibre optique 92, des connecteurs étant spécifiquement dédiés à cette communication inter-circuit logique programmable au sein d'une architecture « multi-» - circuits. Par ailleurs, le circuit logique programmable 10a maitre communique de manière 35 synchrone avec les modules auxiliaires 86, 88, 68 du logement 82 au moyen du bus 70. 3063855 20 Sur la figure 6, une architecture de dispositif de commande 81 « multi- » circuit logique programmable 10a et 10 et « multi-» logements 90A, 90B, 900, est représentée. Selon cette architecture multi-circuit et multi-logement, chaque logement 90A, 90B, 900 correspond à un arrangement décrit dans la figure 4 (Mono-Circuit) ou dans la figure 5 5 (Multi-Circuit). Chaque logement peut comprendre en outre des modules auxiliaires 86, 88, 68. De façon préférée, un des logements 90A est « maître » et comprend le circuit logique programmable maitre 10a pour l'ensemble des circuits logiques programmables 10 du dispositif de commande 81 multi-circuits et multi-logements, et assurant la 10 synchronisation des modules auxiliaires 86, 88, 68 de son logement par le biais du bus 70A. Les circuits logiques programmables 10 du dispositif de commande 81 sont propres à communiquer d'un logement à l'autre et au sein d'un même logement de manière synchrone par fibre optique 92. 15 Chaque logement 90B, 900 « esclave » du logement maître 90A comprend parmi ses circuits logiques programmables 10 un circuit logique programmable de sychonisation10b pour synchroniser les modules auxiliaires 86, 88, 68 de son logement par le biais du bus 70B, 700 du logement Dans les modes de réalisations des figures 5 et 6, et sans que cela ne soit une 20 limitation de la portée de l'invention, un seul module de maintenance et de diagnostic 68 est mis en oeuvre par dispositif de commande 81, indépendamment du nombre de circuit(s) logique(s) programmable(s) 10 ou du nombre de logement(s) qu'il comprend. Dans les modes de réalisations des figures 5 et 6, et sans que cela ne soit une limitation de la portée de l'invention, seuls le circuit logique programmable maître 10a et 25 les circuits logiques programmables de synchronisation 10b sont reliés aux modules auxiliaires 86, 88, 68 de leur logement respectif 90A, 90B, 900 par le biais de leur bus respectif 70A, 70B, 700. Les autres circuits logiques programmables 10 d'un logement sont reliés aux modules auxiliaires 86, 88, 68 de leur logement par l'intermédiaire, respectivement, du circuit logique programmable maitre 10a ou du circuit logique 30 programmable de synchronisation 10b, et du réseau de fibre optique 92. Dans cette configuration, un bus 70A, 70B, 700 comprend avantageusement quatre liaisons de transmission différentielle basse tension (M-LVDS de l'anglais Multipoint-Low Voltage Differential Signaling), opérant par exemple à 50MHz. dans chaque sens de transmission. Dans un autre mode de réalisation non représenté, les bus 70A, 70B, 700 peuvent 35 être dimensionnés pour permettre à chaque circuit logique programmable 10 d'être 3063855 21 connecté aux modules auxiliaires 86, 88, 68 de son logement à travers le bus 70A, 70B, 700. REVENDICATIONS1. Circuit logique programmable (10) de commande d'une installation électrique, en particulier une installation nucléaire, le circuit logique programmable comprenant une unité fonctionnelle (14) comprenant : - une pluralité de types de blocs fonctionnels (FB1, FB,, FBN), deux types de blocs fonctionnels distincts étant propres à exécuter au moins une fonction distincte, - au moins un module de traitement propre à recevoir au moins une séquence (46) de bloc(s) fonctionnel(s) à exécuter, - au moins une mémoire (38) interne configurée pour stocker au moins ladite séquence (46), caractérisé en ce que le circuit logique programmable comprend un seul bloc fonctionnel de chaque type, un même bloc fonctionnel étant propre à être appelé plusieurs fois, et un module d'exécution (22) configuré pour exécuter en série le ou les bloc(s) fonctionnel(s) appelé(s) selon ladite séquence (46). 2. Circuit logique programmable (10) selon la revendication 1, dans lequel le circuit logique programmable (10) est de type FPGA. 3. Circuit logique programmable (10) selon la revendication 1 ou 2, dans lequel le module d'exécution (22) est une machine d'état. 4. Circuit logique programmable (10) selon l'une quelconque des revendications précédentes, dans lequel l'unité fonctionnelle (14) comprend en outre une pluralité (64) d'unités de calcul en virgule flottante (FPU) parallélisables. 5. Circuit logique programmable (PM) selon l'une quelconque des revendications précédentes, dans lequel au moins un module de traitement est propre à recevoir un programme applicatif (34) correspondant à un groupe de fichiers informatiques de configuration comprenant ladite séquence et au moins un autre fichier informatique appartenant au groupe comprenant : un fichier de configuration (36) de la mémoire (38) correspondant à une table associant à au moins un signal d'entrée/sortie du circuit logique programmable (PM) une adresse dans sa mémoire (38), 3063855 23 un fichier (40) de valeur(s) de paramètre(s) de bloc(s) fonctionnel(s) propre(s) à exécuter au moins une fonction utilisant un paramètre, un fichier (42) listant, pour chaque bloc fonctionnel, la ou les adresse(s) de la mémoire allouée(s) à une ou des entrée(s) de ce bloc fonctionnel, 5 un fichier (44) listant, pour chaque bloc fonctionnel, la ou les adresse(s) de la mémoire allouée(s) à une ou des sortie(s) de ce bloc fonctionnel. 6. Circuit logique programmable (PM) selon la revendication 5, dans lequel les valeurs de paramètres sont ordonnée(s) au sein de leur fichier (40) en fonction de 10 ladite séquence de bloc(s) fonctionnel(s) à exécuter. 7. Circuit logique programmable (PM) selon l'une quelconque des revendications précédentes, dans lequel la mémoire (38) comprend au moins deux espaces (48, 50) de stockage de données dédiés respectivement à des données binaires 15 et à des données analogiques. 8. Circuit logique programmable (PM) selon la revendication 7, dans lequel chaque espace (48, 50) de stockage comprend au moins trois sous-espaces dédiés: au moins un sous-espace (52,58) dédié aux données d'entrées du circuit 20 logique programmable (10), au moins un sous-espace (56,62) dédié aux données de sorties du circuit logique programmable (10), au moins un sous-espace (54,60) dédié à des données temporaires obtenues en cours d'exécution de ladite séquence (46). 25 9. Circuit logique programmable (PM) selon la revendication 8, dans lequel les sous-espaces (52, 58) dédiés aux données d'entrée ou les sous-espaces dédiés (56, 62) aux données de sortie sont des registres à bascule(s) synchrone(s). 30 10. Dispositif de commande d'une installation électrique, en particulier une installation nucléaire, caractérisé en ce que le dispositif de commande comprend au moins un circuit logique programmable (10) selon l'une quelconque des revendications précédentes 1 à 9. 3063855 24 11. Dispositif de commande d'une installation électrique selon la revendication 10, dans lequel le dispositif de commande comprend une pluralité de circuits logiques programmables (10) selon l'une quelconque des revendications précédentes 1 à 9. 5 12. Dispositif de commande d'une installation électrique selon les revendications 10 ou 11 comprenant en outre : au moins un module d'alimentation (84), des modules auxiliaires parmi un ou des modules (86) dédiés à l'acquisition de données d'entrées distinctes, un ou des modules (88) dédiés à la publication de 10 données de sortie distinctes, et un ou des modules de maintenance et de diagnostic (68), et un bus de communication (70) configuré pour relier le ou les circuit(s) logique(s) programmable(s) (10) aux modules auxiliaires (86, 88, 68). 15 13. Dispositif de commande d'une installation électrique selon la revendication 12 dans lequel le bus de communication (70) comprend quatre liaisons de transmission différentielle basse tension (M-LVDS) dédiées respectivement aux données d'entrée et aux données de sortie de chaque circuit logique programmable (10) dans chaque sens de transmission. 20 14. Dispositif de commande d'une installation électrique selon l'une quelconque des revendications 11 à 13, comprenant un réseau de communication fibre optique (92) configuré pour relier la pluralité de circuits logiques programmables (10). 25 15. Dispositif de commande d'une installation électrique selon l'une quelconque des revendications 11 à 14, dans lequel un circuit logique programmable maitre (10a), parmi la pluralité de circuits logiques programmables (10), est propre à être connecté à une horloge et est configuré pour synchroniser les autres circuits logiques programmables de la pluralité de circuits logiques programmables (10) par le biais du 30 réseau de communication fibre optique (92). 16. Dispositif de commande d'une installation électrique selon la revendication 15, dans lequel le circuit logique programmable maitre (10a) est également configuré pour synchroniser les modules auxiliaires par le biais du bus de communication (70). 35 3063855 25 17. Dispositif de commande d'une installation électrique selon l'une quelconque des revendications 11 à 16, dans lequel la pluralité de circuits logiques programmables (10, 10a, 10b) est logée dans un même logement (82). 5 18. Dispositif de commande d'une installation électrique selon l'une quelconque des revendications 11 à 17, dans lequel les circuits logiques programmables (10, 10a, 10b) de la pluralité des circuits logiques programmables sont séparés dans au moins deux logements distincts (90A, 90B, 90c). 10 15