WO2009095620A1 - Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants - Google Patents

Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants Download PDF

Info

Publication number
WO2009095620A1
WO2009095620A1 PCT/FR2009/050133 FR2009050133W WO2009095620A1 WO 2009095620 A1 WO2009095620 A1 WO 2009095620A1 FR 2009050133 W FR2009050133 W FR 2009050133W WO 2009095620 A1 WO2009095620 A1 WO 2009095620A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
electronic circuit
server
data
reconfiguration
Prior art date
Application number
PCT/FR2009/050133
Other languages
English (en)
Inventor
Pierre Bomel
Jean-Philippe Diguet
Guy Daniel Gogniat
Original Assignee
Centre National De La Recherche Scientifique (C.N.R.S)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National De La Recherche Scientifique (C.N.R.S) filed Critical Centre National De La Recherche Scientifique (C.N.R.S)
Priority to JP2010544763A priority Critical patent/JP2011511544A/ja
Priority to EP09706793A priority patent/EP2245794A1/fr
Priority to US12/865,752 priority patent/US20110078284A1/en
Publication of WO2009095620A1 publication Critical patent/WO2009095620A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play

Definitions

  • the present invention relates to a method for reconfiguring a set of components of an electronic circuit provided with memory resources, said circuit being connected to a network.
  • It also relates to a reconfiguration system and a corresponding data transmission method.
  • the invention relates to FPGAs ("Field Programmable Gate Array”) which conventionally consist of prediffused networks of programmable logic components or configurable before being used for a particular function.
  • FPGAs Field Programmable Gate Array
  • FPGAs thus provide reconfigurable systems-on-chips for building systems on demand.
  • the reconfiguration of FPGA circuits is of paramount importance in a large number of industrial applications.
  • the reconfiguration of an FPGA for a given function is performed by downloading circuit reconfiguration data from an external memory.
  • the user wishes to use the FPGA circuit for another function, it is necessary to reconfigure the circuit by downloading new configuration data from another external memory.
  • it is necessary to provide as many external memories as functions of the FPGA circuit.
  • the object of the invention is to solve these problems. More particularly, the invention aims to provide an inexpensive high-performance solution for partial reconfiguration of an FPGA circuit.
  • the subject of the invention is a method of reconfiguring a set of components of an electronic circuit provided with internal memory resources, said circuit being connected to a network, characterized in that it comprises a downloading step configuration data of said set to the memory resources of the electronic circuit from a server connected to said network.
  • the method comprises one or more of the following characteristics, taken separately or in any technically possible combination:
  • the server is connected to a second server via a second network
  • the electronic circuit is an FPGA circuit
  • the network is a local network
  • the local network is an Ethernet network
  • the network is a Wi-Fi wireless local area network
  • the network is a CAN network
  • the step of downloading configuration data is implemented according to an adaptive data link level protocol capable of adapting to the memory resources of the electronic circuit, the step of downloading configuration data is associated with a step of regulating the flow of the downloaded configuration data implemented by the adaptive protocol,
  • the step of downloading configuration data is associated with a step of detecting transmission errors of said data implemented by the adaptive protocol.
  • the subject of the invention is also a system for reconfiguring a set of components of an electronic circuit provided with internal memory resources, said circuit being connected to a network, characterized in that it comprises means for downloading data from configuring said set to the memory resources of the electronic circuit from a server connected to said network.
  • the invention also relates to a data link level data transmission method, characterized in that it implements a data link between a server and an electronic circuit provided with internal memory resources, said data link being capable of adapting to the memory resources of the electronic circuit.
  • the method comprises one or more of the following characteristics, taken separately or in any technically possible combination:
  • the invention makes it possible to overcome the drawbacks of Virtex's dynamic partial reconfiguration method by avoiding the use of external memories for storing the FPGA circuit configuration data.
  • the invention is based on access, via a local area network, to a remote server comprising the configuration data at the data link layer (layer 2 of the OSI model). Since the server is connected to the same network as the FPGA circuit, it is not necessary to provide a routing mechanism for the network layer (layer 3 of the OSI model). Thus, the invention provides a simple inexpensive solution for the reconfiguration of FPGA circuits.
  • FIG. 1 is a block diagram illustrating the structure of a reconfiguration system according to a first embodiment of the invention
  • FIG. 2 is a block diagram illustrating the structure of a reconfiguration system according to a second embodiment of the invention
  • FIG. 3 is a block diagram illustrating the structure of the hardware means implemented in the reconfiguration system according to the invention.
  • FIG. 4 is a block diagram illustrating the structure of the software means implemented in the reconfiguration system according to the invention.
  • FIG. 5 is a flowchart illustrating the operation of the data transmission protocol according to the invention.
  • the system according to the invention allows partial reconfiguration of an electronic circuit connected to a network by downloading configuration data of the relevant portion of the circuit from a server connected to said network.
  • FIG. 1 illustrates the structure of such a partial reconfiguration system of an FPGA electronic circuit.
  • Such an FPGA electronic circuit is designated by the general reference 2.
  • the reconfiguration relates to a set 4 of components of the FPGA circuit 2.
  • Memory resources 6 are provided in the FPGA circuit 2 for storing digital data comprising bitstreams.
  • the FPGA circuit 2 is connected to a local area network 8 to which is also connected a server 10 in which configuration data of different sets of components of the FPGA circuit 2 are stored.
  • the local network 8 is in the following description an Ethernet network.
  • the local area network 8 is a WiFi network. This is interesting especially for communication applications and mobile computing.
  • the local network 8 is a CAN network. This is interesting especially for automotive electronic systems.
  • the local server 10 is connected, via a standard network such as an IP network 11, to a second global server 12. This allows the local server
  • the global server 12 is an integral part of the hierarchy of the configuration data servers. In normal operation, it allows the data of the local server 10 to be refreshed at a lower rate, depending on the type of FPGA circuit 2 connected to the latter using any type of standard data transfer protocol. Similarly, it allows, at a lower rate, to transfer reconfiguration data to the FPGA circuit 2 in the event of absence or failure of the local server 10.
  • the system for reconfiguring the assembly 4 of components of the FPGA circuit 2 comprises means for downloading configuration data from the set 4 from the server 10 connected to the local network 8. These downloading means comprise both means hardware and software resources.
  • FIG. 3 is a block diagram illustrating the structure of the hardware means implemented in the reconfiguration system according to the invention.
  • FPGA 2 is provided with an information processing unit of the type for example
  • PowerPC 13 for executing the download of configuration data and a configuration port 14 for controlling the contents of the set 4 of reconfigurable components.
  • the interface of the FPGA circuit 2 with the Ethernet network 8 is realized using two buses 16 and 18.
  • the bus 16 is called the PLB bus ("Processor Local Bus”) and is connected on one side to the PowerPC 13 of the FPGA circuit 2 and on the other hand to the Ethernet network 8.
  • the bus 18 is called the OPB bus ("On -chip Peripheral Bus ”) and it is connected to the configuration port 14.
  • a bridge 20 connects the PLB bus 16 and the OPB bus 18.
  • the PowerPC 13 is also associated with two memories 22 and 24 for storing executable programs and data.
  • the memory 22 is called program memory or IOCM ("Instruction On Chip Memory") and the memory 24 is called data memory or DOCM ("Data On Chip Memory").
  • IOCM Instruction On Chip Memory
  • DOCM Data On Chip Memory
  • the dashed arrows in FIG. 3 represent the transmission of configuration data in the form of bitstreams from the server 10 via the Ethernet network 8 to the FPGA circuit 2 in order to reconfigure the set 4 of components.
  • the bitstreams representing the configuration data of the set 4 are downloaded from the server 10 via the Ethernet network 8 by the PowerPC 13.
  • the received configuration data bitstreams are then interpreted by a dedicated data transmission protocol which will be described in detail with reference to FIG. 5 and transmitted to the configuration port 14 via the PLB buses 16 and OPB 18.
  • FIG. 4 is a block diagram illustrating the structure of the software means implemented in the reconfiguration system according to the invention.
  • the software means implemented in the system according to the invention comprise a driver 26 of the configuration port 14, a driver 28 of the Ethernet network 8 and a processing of the data transmission protocol dedicated to the reconfiguration designated by the reference 30.
  • the goal of the software architecture shown in Figure 4 is to eliminate as much as possible the stack of software layers to work at the lowest level of the OSI model is the layer 2 (data link layer).
  • the nature of the data transmission protocol for the configuration according to the invention is a source of performance gain because this protocol allows data exchange as efficient as possible between the Ethernet network 8 and the configuration port 14.
  • the system according to the invention provides for a producer-consumer exchange between the Ethernet network 8 and the configuration port 14 in order to decoupling the loading of the configuration port 14 from the communication via the Ethernet network 8.
  • the Ethernet driver 28 fills an intermediate circular buffer (not shown) of configuration data packets.
  • This reception of packets is made in bursts of size at most equal to half the capacity of the buffer.
  • the configuration protocol processing 30 runs in parallel and transfers the packets received from the Ethernet 8 network buffer into the configuration port 14 before initiating the reconfiguration of the FPGA 2 chipset assembly 4.
  • the sizing of the buffer intermediate is a critical point which makes it possible to simultaneously operate the reception of the packets and the reconfiguration via the configuration port 14.
  • the maximum number of packets of a burst depends on the available memory resources 6 and the configuration protocol proposed by the invention supports different memory configurations and even variables over time in order to adapt the bit rate to the resources available at the time of download. The goal is to allocate the minimum size buffer that ensures maximum throughput.
  • Fig. 5 is a flowchart illustrating the operation of the data transmission protocol for reconfiguration according to the invention.
  • the left-hand part describes the behavior of the server 10 and the right-hand part describes the behavior of the FPGA circuit 2.
  • the data transmission protocol according to the invention is located at layer 2 of the OSI model and implements a data link with error detection and flow control.
  • the adaptability of this protocol corresponds to the ability to adapt to the available memory resources 6 on the FPGA circuit 2.
  • the reconfiguration is instantly stopped after signaling to the transmitter of the 'error.
  • the Ethernet driver 28 detects any packet transmitted incorrectly and through a sequential numbering of 1 to N packets, it is possible to detect any packet missing, duplicated, or moved in the stream.
  • a strategy of immediately breaking communication at the bit stream is performed.
  • a strategy of immediately breaking the communication at the packet level is performed.
  • a flow control mechanism by the FPGA circuit is provided. It consists in sending information to the server 10. Since this feedback suspends the transmission of data, it is necessary to send as few flow control packets to the server as possible.
  • a positive acknowledgment system for all the P packets is provided, P being determined by the protocol processing 30 as a function of the memory resources 6 available at the time of downloading.
  • the protocol can be used in two different modes. In “master” or “auto-reconfiguration” mode, the FPGA circuit 2 decides the time of the reconfiguration and transmits at 32 to the server 10 a download request including the identity of the reconfiguration data 34 (a file name of bits in a tree as an example). In “slave” mode, it receives the file directly without knowing its identity.
  • the server 10 sends to the FPGA circuit 2 the total number of packets N which will be transmitted and the FPGA circuit 2 responds at 38 with the value of P.
  • the server 10 sends at 42, P packets in bursts and waits for the next acknowledgment at 44.
  • the transmission thus consists of N / P bursts of P packets up to the Nth packet at 44 which terminates the download session.
  • the FPGA circuit 2 In case of error detection at 46 or hardware reset, the FPGA circuit 2 returns to its standby position 48 of the number N of the protocol.
  • a timer is provided to detect the sudden disappearance of one of the ends and replace the server 10 and / or the FPGA circuit 2 in their respective standby positions 48 and 50.
  • the system according to the invention makes it possible to have a solution for partial reconfiguration of ultra-light and low-cost FPGA-type electronic circuits.
  • This solution consists of hardware and software as well as a specific data transmission protocol implementation. to obtain reconfigurable FPGA circuits via a standard network such as Ethernet. These FPGA chips are intended for embedded applications with very few hardware resources and taking advantage of dedicated architectures.
  • the solution of the invention does not require external memories to store the executive code of the configuration data nor of the communication protocol buffer since the data transmission protocol of the invention is at the level of the layer 2 of the OSI model.
  • the embodiment shown in Figure 2 allows a hierarchy of reconfiguration data servers and the use of two different types of protocols.
  • the invention makes it possible, according to the results obtained during experiments, to reach reconfiguration rates at least ten times faster than the best existing solutions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Transceivers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Ce procédé de reconfiguration d'un ensemble (4) de composants d'un circuit électronique (2) muni de ressources mémoires (6) internes, ledit circuit (2) étant connecté à un réseau (8), est caractérisé en ce qu'il comporte une étape de téléchargement de données de configuration dudit ensemble (4) vers les ressources mémoires (6) du circuit électronique (2) à partir d'un serveur (10) connecté audit réseau (8).

Description

Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procédé de transmission de données correspondants
La présente invention concerne un procédé de reconfiguration d'un ensemble de composants d'un circuit électronique muni de ressources mémoires, ledit circuit étant connecté à un réseau.
Elle concerne également un système de reconfiguration et un procédé de transmission de données correspondants.
Plus particulièrement, l'invention se rapporte aux circuits FPGA ("Field Programmable Gâte Array") qui sont classiquement constitués de réseaux prédiffusés de composants logiques programmables ou configurables avant d'être utilisés pour une fonction particulière.
Les circuits FPGA fournissent ainsi des systèmes sur puce reconfigurables permettant de construire des systèmes à la demande. Dans ce contexte, la reconfiguration des circuits FPGA revêt une importance capitale dans un grand nombre d'applications industrielles.
Classiquement, la reconfiguration d'un FPGA pour une fonction donnée est effectuée grâce à un téléchargement de données de reconfiguration du circuit à partir d'une mémoire externe. Lorsque l'utilisateur souhaite utiliser le circuit FPGA pour une autre fonction, il est nécessaire de reconfigurer le circuit en téléchargeant de nouvelles données de configuration à partir d'une autre mémoire externe. Ainsi, il est nécessaire de prévoir autant de mémoires externes que de fonctions du circuit FPGA.
Récemment, il a été proposé un procédé de reconfiguration d'un circuit FPGA permettant de reconfigurer uniquement un ensemble élémentaire des composants du circuit FPGA. Ce procédé est connu sous l'appellation de reconfiguration partielle et dynamique de Virtex. Il présente l'avantage de ne pas avoir à reconfigurer l'intégralité d'un circuit FPGA pour chaque fonction et permet ainsi de prévoir des circuits FPGA de moindre surface de silicium. Cependant, ce procédé nécessite d'avoir plus de fichiers de données de configuration adaptées à chaque fonction d'un ensemble élémentaire des composants du circuit FPGA. Ainsi, il est nécessaire de disposer de ressources mémoires supplémentaires pour stocker tous les blocs de données de reconfiguration partielle.
Ainsi, l'économie réalisée sur les composants eux-mêmes des circuits FPGA est perdue en partie dans les mémoires. Il y a donc en quelque sorte une migration des millimètres carrés de silicium des circuits FPGA vers les mémoires.
Par conséquent, le bénéfice engendré par la réutilisation accrue d'un même circuit FPGA est masqué par la nécessité de disposer de nombreuses mémoires de stockage des données de reconfiguration qui ont un faible taux de réutilisation.
Le but de l'invention est de résoudre ces problèmes. Plus particulièrement, l'invention vise à fournir une solution performante peu coûteuse de reconfiguration partielle d'un circuit FPGA.
A cet effet, l'invention a pour objet un procédé de reconfiguration d'un ensemble de composants d'un circuit électronique muni de ressources mémoires internes, ledit circuit étant connecté à un réseau, caractérisé en ce qu'il comporte une étape de téléchargement de données de configuration dudit ensemble vers les ressources mémoires du circuit électronique à partir d'un serveur connecté audit réseau.
Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles :
- le serveur est connecté à un deuxième serveur par l'intermédiaire d'un deuxième réseau,
- il comprend une étape de transmission par le circuit électronique d'une requête de téléchargement vers le serveur, ladite requête comprenant l'identité des données de configuration,
- le circuit électronique est un circuit FPGA,
- le réseau est un réseau local,
- le réseau local est un réseau Ethernet,
- le réseau est un réseau local sans fil Wi-Fi, - le réseau est un réseau CAN,
- l'étape de téléchargement de données de configuration est mise en œuvre selon un protocole adaptatif de niveau liaison de données capable de s'adapter aux ressources mémoires du circuit électronique, - l'étape de téléchargement de données de configuration est associée à une étape de régulation du flux des données de configuration téléchargées mise en œuvre par le protocole adaptatif,
- l'étape de téléchargement de données de configuration est associée à une étape de détection d'erreurs de transmission desdites données mise en œuvre par le protocole adaptatif.
L'invention a également pour objet un système de reconfiguration d'un ensemble de composants d'un circuit électronique muni de ressources mémoires internes, ledit circuit étant connecté à un réseau, caractérisé en ce qu'il comporte des moyens de téléchargement de données de configuration dudit ensemble vers les ressources mémoires du circuit électronique à partir d'un serveur connecté audit réseau.
L'invention a encore pour objet un procédé de transmission de données de niveau liaison de données, caractérisé en ce qu'il met en œuvre une liaison de données entre un serveur et un circuit électronique muni de ressources mémoires internes, ladite liaison de données étant capable de s'adapter aux ressources mémoires du circuit électronique.
Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles :
- il met en œuvre une régulation du flux de données entre le serveur et le circuit électronique,
- il met en œuvre une détection d'erreurs de transmission des données entre le serveur et le circuit électronique. Ainsi, l'invention permet de pallier les inconvénients de la méthode de reconfiguration partielle dynamique de Virtex en s'affranchissant de l'utilisation de mémoires externes pour stocker les données de configuration de circuits FPGA.
L'invention est fondée sur l'accès, à travers un réseau local, à un serveur distant comprenant les données de configuration au niveau de la couche liaison de données (couche 2 du modèle OSI). Le serveur étant connecté au même réseau que le circuit FPGA, il n'est pas nécessaire de prévoir un mécanisme de routage de la couche réseau (couche 3 du modèle OSI). Ainsi, l'invention fournit une solution simple peu coûteuse pour la reconfiguration des circuits FPGA. On va maintenant décrire des modes de réalisation de l'invention de façon plus précise mais non limitative en regard des dessins annexés, sur lesquels :
- la figure 1 est un schéma synoptique illustrant la structure d'un système de reconfiguration selon un premier mode de réalisation de l'invention ; - la figure 2 est un schéma synoptique illustrant la structure d'un système de reconfiguration selon un deuxième mode de réalisation de l'invention ;
- la figure 3 est un schéma synoptique illustrant la structure des moyens matériels mis en œuvre dans le système de reconfiguration selon l'invention ;
- la figure 4 est un schéma synoptique illustrant la structure des moyens logiciels mis en œuvre dans le système de reconfiguration selon l'invention ; et
- la figure 5 est un organigramme illustrant le fonctionnement du protocole de transmission de données selon l'invention.
Le système selon l'invention permet la reconfiguration partielle d'un circuit électronique connecté à un réseau grâce au téléchargement de données de configuration de la partie concernée du circuit à partir d'un serveur connecté audit réseau.
On a illustré sur la figure 1 , la structure d'un tel système de reconfiguration partielle d'un circuit électronique FPGA.
Un tel circuit électronique FPGA est désigné par la référence générale 2. Dans l'exemple représenté sur la figure 1 , la reconfiguration concerne un ensemble 4 de composants du circuit FPGA 2.
Des ressources mémoire 6 sont prévues dans le circuit FPGA 2 pour le stockage de données numériques comprenant des trains de bits.
Par ailleurs, le circuit FPGA 2 est connecté à un réseau local 8 auquel est également connecté un serveur 10 dans lequel sont stockées des données de configuration de différents ensembles de composants du circuit FPGA 2.
Le réseau local 8 est dans la suite de la description un réseau Ethernet.
Dans un autre mode de réalisation, le réseau local 8 est un réseau WiFi. Ceci est intéressant notamment pour les applications de communication et de calcul nomade.
Dans un autre mode de réalisation, le réseau local 8 est un réseau CAN. Ceci est intéressant notamment pour les systèmes électroniques automobiles. Selon un deuxième mode de réalisation de l'invention représenté sur la figure 2, le serveur local 10 est relié, par l'intermédiaire d'un réseau standard tel un réseau IP 11 , à un deuxième serveur global 12. Ceci permet au serveur local
10 de rafraîchir les données de configuration à partir du serveur global 12. Le serveur global 12 fait partie intégrante de la hiérarchie des serveurs de données de configuration. Il permet en fonctionnement normal de rafraîchir à moindre débit les données du serveur local 10 en fonction du type de circuit FPGA 2 connecté à ce dernier à l'aide de tout type de protocole standard de transfert de données. De même, il permet, à moindre débit de transférer des données de reconfiguration au circuit FPGA 2 en cas d'absence ou de panne du serveur local 10.
La structure et le fonctionnement détaillés du système de reconfiguration selon l'invention sont décrits dans la suite de la description en référence aux figures 3 à 5.
Le système de reconfiguration de l'ensemble 4 de composants du circuit FPGA 2 comprend des moyens de téléchargement de données de configuration de l'ensemble 4 à partir du serveur 10 connecté au réseau local 8. Ces moyens de téléchargement comprennent à la fois des moyens matériels et des moyens logiciels.
La figure 3 est un schéma synoptique illustrant la structure des moyens matériels mis en œuvre dans le système de reconfiguration selon l'invention.
Dans l'exemple d'architecture matérielle du système de l'invention, le circuit
FPGA 2 est muni d'une unité de traitement d'informations de type par exemple
PowerPC 13 pour l'exécution du téléchargement de données de configuration et d'un port de configuration 14 pour le pilotage du contenu de l'ensemble 4 de composants reconfigurables.
L'interface du circuit FPGA 2 avec le réseau Ethernet 8 est réalisée à l'aide de deux bus 16 et 18.
Le bus 16 est appelé bus PLB ("Processor Local Bus") et il est relié d'un côté au PowerPC 13 du circuit FPGA 2 et d'un autre côté au réseau Ethernet 8. Le bus 18 est appelé bus OPB ("On-chip Peripheral Bus") et il est relié au port de configuration 14.
Par ailleurs un pont 20 relie le bus PLB 16 et le bus OPB 18. Le PowerPC 13 est également associé à deux mémoires 22 et 24 pour le stockage de programmes exécutables et de données.
La mémoire 22 est appelée mémoire programme ou IOCM ("Instruction On Chip Memory") et la mémoire 24 est appelée mémoire de données ou DOCM ("Data On Chip Memory").
Les flèches en pointillés de la figure 3 représentent la transmission des données de configuration sous forme de trains de bits à partir du serveur 10 par l'intermédiaire du réseau Ethernet 8 vers le circuit FPGA 2 afin de reconfigurer l'ensemble 4 de composants. Ainsi les trains de bits représentant les données de configuration de l'ensemble 4 sont téléchargés du serveur 10 via le réseau Ethernet 8 par le PowerPC 13.
Les trains de bits de données de configuration reçus sont ensuite interprétés par un protocole de transmission de données dédié qui sera décrit de manière détaillée en référence à la figure 5 et transmises au port de configuration 14 via les bus PLB 16 et OPB 18.
La figure 4 est un schéma synoptique illustrant la structure des moyens logiciels mis en œuvre dans le système de reconfiguration selon l'invention.
Les moyens logiciels mis en œuvre dans le système selon l'invention comprennent un pilote 26 du port de configuration 14, un pilote 28 du réseau Ethernet 8 et un traitement du protocole de transmission de données dédié à la reconfiguration désigné par la référence 30.
Le but recherché par l'architecture logicielle représentée dans la figure 4 est d'éliminer au maximum l'empilement de couches logicielles permettant ainsi de travailler au niveau le plus bas du modèle OSI soit la couche 2 (couche de liaison de données).
La nature du protocole de transmission de données pour la configuration selon l'invention est une source de gain en performance car ce protocole permet un échange de données aussi efficace que possible entre le réseau Ethernet 8 et le port de configuration 14.
Le système selon l'invention prévoit un échange de type producteur- consommateur entre le réseau Ethernet 8 et le port de configuration 14 afin de découpler le chargement du port de configuration 14 de la communication via le réseau Ethernet 8.
Ainsi, le pilote Ethernet 28 remplit un tampon circulaire intermédiaire (non représenté) de paquets de données de configuration. Cette réception de paquets est faite par rafales de taille au maximum égale à la moitié de la capacité du tampon. Le traitement de protocole de configuration 30 s'exécute en parallèle et transfère les paquets reçus du tampon du réseau Ethernet 8 dans le port de configuration 14 avant de lancer la reconfiguration de l'ensemble 4 de composants du circuit FPGA 2. Le dimensionnement du tampon intermédiaire est un point critique qui permet de faire fonctionner simultanément la réception des paquets et la reconfiguration via le port de configuration 14. Le nombre maximal de paquets d'une rafale dépend des ressources mémoires 6 disponibles et le protocole de configuration proposé par l'invention supporte des configurations mémoires différentes et même variables dans le temps afin d'adapter le débit aux ressources disponibles à l'instant du téléchargement. L'objectif est d'allouer le tampon de taille minimale qui assure le débit maximal.
La figure 5 est un organigramme illustrant le fonctionnement du protocole de transmission de données pour la reconfiguration selon l'invention. Sur la figure 5, la partie de gauche décrit le comportement du serveur 10 et la partie de droite décrit le comportement du circuit FPGA 2.
Le protocole de transmission de données selon l'invention se situe au niveau de la couche 2 du modèle OSI et met en oeuvre une liaison de données avec détection d'erreurs et contrôle de flux. L'adaptativité de ce protocole correspond à la faculté qu'il a de s'adapter aux ressources mémoires 6 disponibles sur le circuit FPGA 2. En cas d'erreur de transmission, la reconfiguration est instantanément arrêtée après signalisation à l'émetteur de l'erreur. Pour cela le pilote Ethernet 28 détecte tout paquet mal transmis et grâce à une numérotation en séquence de 1 à N des paquets, il est possible de détecter tout paquet manquant, dupliqué, ou déplacé dans le flux.
Selon un mode de réalisation, une stratégie de rupture immédiate de la communication au niveau du train de bits est effectuée. Selon un autre mode de réalisation, une stratégie de rupture immédiate de la communication au niveau des paquets est effectuée.
Un mécanisme de régulation de flux par le circuit FPGA est prévu. Il consiste à envoyer de l'information au serveur 10. Etant donné que cette rétroaction suspend la transmission de données, il est nécessaire d'envoyer aussi peu de paquets de contrôle de flux au serveur 10 que possible. Selon un mode de réalisation, un système d'acquittement positif tous les P paquets est prévu, P étant déterminé par le traitement de protocole 30 en fonction des ressources mémoires 6 disponibles à l'instant du téléchargement. Le protocole peut être utilisé dans deux modes différents. En mode "maître" ou "auto-reconfiguration", le circuit FPGA 2 décide du moment de la reconfiguration et transmet en 32 au serveur 10 une requête de téléchargement comprenant l'identité des données de reconfiguration 34 (un nom de fichier de trains de bits dans une arborescence à titre d'exemple). En mode "esclave" il reçoit directement le fichier sans en connaître l'identité.
En début de transmission 36, le serveur 10 envoie au circuit FPGA 2 le nombre total de paquets N qui seront transmis et le circuit FPGA 2 répond en 38 avec la valeur de P.
En début de transmission 36 et après chaque acquittement positif 40, le serveur 10 envoie en 42, P paquets en rafales puis attend l'acquittement suivant en 44.
La transmission est ainsi constituée de N/P rafales de P paquets jusqu'au Nιeme paquet en 44 qui termine la session de téléchargement.
En cas de détection d'erreur en 46 ou de réinitialisation du matériel, le circuit FPGA 2 revient à sa position d'attente 48 du nombre N du protocole.
Dans un mode de réalisation, un temporisateur est prévu pour détecter la disparition subite de l'une des extrémités et replacer le serveur 10 et/ou le circuit FPGA 2 dans leurs positions d'attente respectives 48 et 50.
Ainsi dans la pratique, le système selon l'invention permet d'avoir une solution de reconfiguration partielle de circuits électroniques de type FPGA ultra légère et de faible coût.
Cette solution est constituée de moyens matériels et logiciels ainsi que d'une mise en œuvre d'un protocole de transmission de données spécifiques afin d'obtenir des circuits FPGA reconfigurables via un réseau standard tel que l'Ethernet. Ces circuits FPGA sont destinés aux applications embarquées ayant très peu de ressources matérielles et tirant profit d'architectures dédiées.
La solution de l'invention ne nécessite pas de mémoires externes pour stocker le code de l'exécutif des données de configuration ni de tampon de protocoles de communication étant donné que le protocole de transmission de données de l'invention se situe au niveau de la couche 2 du modèle OSI.
Par ailleurs, le mode de réalisation représenté dans la figure 2 permet une hiérarchisation des serveurs de données de reconfiguration et l'utilisation de deux types distincts de protocoles. Il s'agit, dans ce mode de réalisation de mettre en œuvre un protocole au niveau de la couche 2 du modèle OSI sur le réseau local pour communiquer avec le serveur local et de tout type de protocole standard au niveau des couches supérieures ou égales à 3 du modèle OSI pour accéder au serveur global via un réseau global. L'invention permet, selon les résultats obtenus lors d'expériences, d'atteindre des débits de reconfiguration au moins dix fois plus rapides que les meilleures solutions existantes.

Claims

REVENDICATIONS
1.- Procédé de reconfiguration d'un ensemble (4) de composants d'un circuit électronique (2) muni de ressources mémoires (6) internes, ledit circuit (2) étant connecté à un réseau (8), caractérisé en ce qu'il comporte une étape de téléchargement (42) de données de configuration dudit ensemble (4) vers les ressources mémoires (6) du circuit électronique (2) à partir d'un serveur (10) connecté audit réseau (8).
2.- Procédé de reconfiguration selon la revendication 1 , caractérisé en ce que le serveur (10) est connecté à un deuxième serveur (12) par l'intermédiaire d'un deuxième réseau (11 ).
3.- Procédé de reconfiguration selon la revendication 1 ou 2, caractérisé en ce qu'il comprend une étape de transmission (32) par le circuit électronique (2) d'une requête de téléchargement vers le serveur (10), ladite requête comprenant l'identité (34) des données de configuration.
4.- Procédé de reconfiguration selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le circuit électronique (2) est un circuit FPGA.
5.- Procédé de reconfiguration selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le réseau (8) est un réseau local.
6.- Procédé de reconfiguration selon la revendication 5, caractérisé en ce que le réseau local (8) est un réseau Ethernet.
7.- Procédé de reconfiguration selon la revendication 5, caractérisé en ce que le réseau (8) est un réseau local sans fil Wi-Fi.
8.- Procédé de reconfiguration selon la revendication 5, caractérisé en ce que le réseau (8) est un réseau CAN.
9.- Procédé de reconfiguration selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'étape de téléchargement (42) de données de configuration est mise en œuvre selon un protocole adaptatif de niveau liaison de données capable de s'adapter aux ressources mémoires (6) du circuit électronique (2).
10.- Procédé de reconfiguration selon la revendication 9, caractérisé en ce que l'étape de téléchargement (42) de données de configuration est associée à une étape de régulation du flux des données de configuration téléchargées mise en œuvre par le protocole adaptatif.
11.- Procédé de reconfiguration selon la revendication 9 ou 10, caractérisé en ce que l'étape de téléchargement (42) de données de configuration est associée à une étape de détection d'erreurs de transmission desdites données mise en œuvre par le protocole adaptatif.
12.- Système de reconfiguration d'un ensemble (4) de composants d'un circuit électronique (2) muni de ressources mémoires (6) internes, ledit circuit (2) étant connecté à un réseau (8), caractérisé en ce qu'il comporte des moyens de téléchargement de données de configuration dudit ensemble vers les ressources mémoires (6) du circuit électronique (2) à partir d'un serveur (10) connecté audit réseau (8).
13.- Procédé de transmission de données de niveau liaison de données, caractérisé en ce qu'il met en œuvre une liaison de données entre un serveur (10) et un circuit électronique (2) muni de ressources mémoires (6) internes, ladite liaison de données étant capable de s'adapter aux ressources mémoires (6) du circuit électronique.
14.- Procédé de transmission selon la revendication 13, caractérisé en ce qu'il met en œuvre une régulation du flux de données entre le serveur (10) et le circuit électronique (2).
15.- Procédé de transmission selon la revendication 13 ou 14, caractérisé en ce qu'il met en œuvre une détection d'erreurs de transmission des données entre le serveur (10) et le circuit électronique (2).
PCT/FR2009/050133 2008-02-01 2009-01-29 Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants WO2009095620A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010544763A JP2011511544A (ja) 2008-02-01 2009-01-29 電子回路の要素セットを再構成するための方法、対応する再構成システム及び対応するデータ送信方法
EP09706793A EP2245794A1 (fr) 2008-02-01 2009-01-29 Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants
US12/865,752 US20110078284A1 (en) 2008-02-01 2009-01-29 Method for reconfiguring a set of components of an electronic circuit, corresponding reconfiguration system and corresponding data transmission method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0850641 2008-02-01
FR0850641A FR2927212B1 (fr) 2008-02-01 2008-02-01 Procede de reconfiguration d'un ensemble de composants d'un circuit electronique, systeme de reconfiguration et protocole de transmission de donnees correspondants.

Publications (1)

Publication Number Publication Date
WO2009095620A1 true WO2009095620A1 (fr) 2009-08-06

Family

ID=39884857

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2009/050133 WO2009095620A1 (fr) 2008-02-01 2009-01-29 Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants

Country Status (5)

Country Link
US (1) US20110078284A1 (fr)
EP (1) EP2245794A1 (fr)
JP (1) JP2011511544A (fr)
FR (1) FR2927212B1 (fr)
WO (1) WO2009095620A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US10216555B2 (en) 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US9819542B2 (en) 2015-06-26 2017-11-14 Microsoft Technology Licensing, Llc Configuring acceleration components over a network
US10326651B1 (en) 2017-04-18 2019-06-18 Amazon Technologies, Inc. Client configurable hardware logic and corresponding signature

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802290A (en) * 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
JP2005258996A (ja) * 2004-03-15 2005-09-22 Meidensha Corp Fpgaのリモートメンテナンス方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310884B1 (en) * 1998-05-21 2001-10-30 Lsi Logic Corporation Data transfer method and apparatus that allocate storage based upon a received relative offset
US6573748B1 (en) * 2001-11-06 2003-06-03 Xilinx, Inc. Programmable logic device with output register for specifying memory space during reconfiguration
US7584262B1 (en) * 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
TWI236264B (en) * 2002-09-05 2005-07-11 Winbond Electronics Corp Single wire serial communication protocol method and circuit
JP4587042B2 (ja) * 2003-09-30 2010-11-24 ソニー株式会社 コンテンツ取得方法、コンテンツ取得装置、コンテンツ取得プログラム及びコンテンツ取得システム
DE10354494B4 (de) * 2003-11-21 2019-04-11 Siemens Healthcare Gmbh Verfahren zur Daten- und Signalübertragung zwischen unterschiedlichen Teileinheiten einer medizintechnischen Anlage
JP2006113743A (ja) * 2004-10-13 2006-04-27 Oki Techno Creation:Kk 情報処理システム、情報処理方法および情報処理プログラム
US7363573B1 (en) * 2005-01-10 2008-04-22 Xilinx, Inc. Method and apparatus for a dedicated cyclic redundancy check block within a device
JP4626349B2 (ja) * 2005-03-18 2011-02-09 コニカミノルタホールディングス株式会社 ハードウェアコンフィグレーション装置
JP2007019992A (ja) * 2005-07-08 2007-01-25 Konica Minolta Business Technologies Inc 電子機器及び画像形成装置
JP2007207136A (ja) * 2006-02-06 2007-08-16 Nec Corp データ処理装置、データ処理方法、及びデータ処理プログラム
US8213870B2 (en) * 2007-10-15 2012-07-03 Marvell World Trade Ltd. Beamforming using predefined spatial mapping matrices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802290A (en) * 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
JP2005258996A (ja) * 2004-03-15 2005-09-22 Meidensha Corp Fpgaのリモートメンテナンス方式

Also Published As

Publication number Publication date
US20110078284A1 (en) 2011-03-31
EP2245794A1 (fr) 2010-11-03
JP2011511544A (ja) 2011-04-07
FR2927212B1 (fr) 2010-07-30
FR2927212A1 (fr) 2009-08-07

Similar Documents

Publication Publication Date Title
WO2009095620A1 (fr) Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants
FR2961048A1 (fr) Reseau sur puce avec caracteristiques de qualite-de-service
FR3006532A1 (fr) Procede pour realiser une interface generique et microcontroleur comportant une telle interface
EP1884875A1 (fr) Système de gestion de messages transmis dans un réseau d'interconnexions sur puce
EP4205362A1 (fr) Réseau de flux priorisés de données embarqué dans un vehicule
EP2923461A1 (fr) Dispositif et procede de retransmission de donnees dans un commutateur reseau
FR2998125A1 (fr) Procede de transmission de paquets de donnees entre deux modules de communication ainsi que module emetteur et module recepteur
WO2015145382A1 (fr) Composant electronique a reponse deterministe
WO2007107674A2 (fr) Procede de communication de donnees entre des systemes de traitement heterogenes connectes en reseau local et systeme de communication mettant en oeuvre ce procede
EP1845456B1 (fr) Système d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
EP2751959B1 (fr) Procédé d'échange de données entre noeuds d'une grappe de serveurs et grappe de serveurs mettant en oeuvre ce procédé
EP0812084A1 (fr) Dispositif de communication entre une pluralité de modules fontionnels installés dans une unité locale et un bus externe de type ethernet
EP3039827B1 (fr) Procédé et dispositif de contrôle de la transmission de trames de réponse, issues d'organes esclaves appartenant à un réseau lin, à un réseau d'un autre type
FR3085567A1 (fr) Reseau de communication embarque d'un vehicule, equipement abonne d'un tel reseau de communication et procede correspondant
FR3030162A1 (fr) Procede d'echange de trames de donnees numeriques et systeme de communication associe
FR3001310A1 (fr) Interface de reseau sur puce dotee d'un systeme adaptatif de declenchement d'envoi de donnees
EP1217865B1 (fr) Dispositif et procédé de contrôle de flux dans un réseau commuté
FR3055504A1 (fr) Procede de controle de la charge d'une passerelle de concentration de donnees pour un reseau de communication sans fil
WO2020109733A2 (fr) Gestion des données pour le stockage de trames de données dans la mémoire d'un système de transmission de données
EP1517474A1 (fr) Procédé et dispositif correspondant de détection automatique du débit d'un réseau, notamment de type CAN (Controller Area Network), et de configuration du réseau au débit détecté
EP3888330A1 (fr) Procédé de configuration d'un commutateur ethernet d'un réseau embarqué d'un véhicule automobile
EP1716670A1 (fr) Passerelle et systeme de transmission de donnees pour reseau de diagnostic de vehicule automobile
WO2014111589A1 (fr) Interface reseau d'un soc comportant un controleur de communication ameliore
CN117917051A (zh) 用于虚拟核心的文件处理
WO2009118481A1 (fr) Système de routage de données

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09706793

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009706793

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010544763

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12865752

Country of ref document: US