EP0465002B1

Programmable power reduction circuit for programmable logic device

Abstract

This record has no abstract on file.

EP0465002B1, drawing sheet 1
Sheet 1 of 1

Term

Term ended

Expired 23 May 2011, 15.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

18 claims: 18 independent, 0 dependent

  1. 1
    A programmable logic device (11) comprising:a plurality of inputs (24,26);a logic array (10), connected to said inputs (24,26), to define a logic function thereof;a storage element (28,30) connected to each input (24,26) for storing configuration information for selectively disabling its associated input (24,26);a plurality of outputs (44,46) connected to said array, characterised in that there is provided;a programming buffer (82) for holding programming data to program a portion of the device;a plurality of memory elements (84) connected to said programming buffer (82) for storing a copy of the programming data held previously by the programming buffer (82);comparison circuitry (86) connected to said programming buffer (82) and said memory elements (84) for generating a comparison signal indicative of a match between data in said programming buffer (82) and data in said plurality of memory elements (84);andmeans for storing configuration information in said storage elements (28,30) based upon the comparison signal. Dispositif logique programmable (11) comprenant : une pluralité d'entrées (24, 26) ;un réseau logique (10) connecté aux entrées (24, 26) pour définir une fonction logique de celles-ci ;un élément de mémorisation (28, 30) connecté à chaque entrée (24, 26) pour mémoriser des informations de configuration pour invalider sélectivement son entrée associée (24, 26) ;une pluralité de sorties (44, 46) connectées au réseau, caractérisé en ce qu'il comprend :un tampon de programmation (82) pour stocker des données de programmation pour programmer une partie du dispositif ;une pluralité d'éléments mémoire (84) connectés au tampon de programmation (82) pour stocker une copie des données de programmation précédemment contenues dans le tampon de programmation (82) ;un circuit de comparaison (86) connecté au tampon de programmation (82) et aux éléments mémoire (84) pour produire un signal de comparaison indicatif d'un accord entre des données dans le tampon de programmation (82) et des données dans la pluralité d'éléments mémoire (84) ;etun moyen pour stocker des informations de configuration dans les éléments de mémorisation (28, 30) sur la base du signal de comparaison. Progammierbares Logikbauelement (11), das folgendes aufweist: eine Anzahl von Eingängen (24, 26);eine Logikanordnung bzw. ein Logikbaustein (10), die bzw. der mit den Eingängen (24, 26) verbunden ist, um eine ihrer bzw. seiner Logikfunktionen festzulegen;eine Speichereinrichtung (28, 30), die mit jedem Eingang (24, 26) verbunden ist, um eine Konfigurationsinformation zum selektiven Sperren bzw. Deaktivieren seiner zugehörigen Eingänge (24, 26) zu speichern;eine Anzahl von Ausgängen (44, 46), die mit der Anordnung bzw. dem Baustein verbunden sind, dadurch gekennzeichnet, daß folgendes vorgesehen ist:ein Programmierpuffer (82) zum Halten von Programmierdaten. um einen Abschnitt des Bauelements zu programmieren;eine Anzahl von Speichervorrichtungen (84), die mit dem Programmierpuffer (82) zum Speichern einer Kopie der Programmierdaten verbunden sind, die zuvor von dem Programmierpuffer (82) gehalten wurden;eine Vergleichsschaltung (86), die mit dem Programmierpuffer (82) und der Speichervorrichtung (84) zum Erzeugen eines Vergleichssignals verbunden ist, das eine Übereinstimmung zwischen Daten in dem Programmierpuffer (82) und Daten in der Anzahl von Speichervorrichtungen (84) anzeigt;undeine Einrichtung zum Speichern von Konfigurationsinformation in den Speichereinrichtungen (28, 30), und zwar basierend auf dem Vergleichssignal.
  2. 2
    Bauelement nach Anspruch 1, bei welchem jede Speichereinrichtung eine Speichervorrichtung (28, 30) aufweist, in die während der Programmierung des Bauelements geschrieben werden kann. Dispositif selon la revendication 1, dans lequel chaque élément de mémorisation comprend un élément mémoire (28, 30) dans lequel on peut écrire pendant la programmation du dispositif. The device of claim 1, wherein each storage element comprises a memory element (28,30) which can be written to during programming of said device.
  3. 3
    Bauelement nach Anspruch 1 oder 2, bei welchem jede Speichereinrichtung (28, 30) ein SRAM aufweist. Dispositif selon la revendication 1 ou 2, dans lequel chaque élément de mémorisation (28, 30) comprend une SRAM. The device of claim 1 or 2, wherein each storage element (28,30) comprises a SRAM.
  4. 4
    Bauelement nach Anspruch 1 oder 2, bei welchem jede Speichereinrichtung eine programmierbare Nur-Lese-Speichereinrichtung (28, 30) aufweist. Dispositif selon la revendication 1 ou 2, dans lequel chaque élément de mémorisation comprend un élément de mémorisation programmable à lecture seulement (28, 30). The device of claim 1 or 2, wherein each storage element comprises programmable read only storage element (28,30).
  5. 5
    Bauelement nach irgendeinem der Ansprüche 1 bis 4, bei welchem jeder Eingang mit der Anordnung bzw. dem Baustein (10) über einen Eingangspuffer (20;52) verbunden ist, und bei welchem die zugeordnete Speichereinrichtung (28, 30) eingestellt ist, um den Eingangspuffer (20;52) basierend auf einer Konfigurationsinformation in der Anordnung bzw. in dem Baustein (10) freizugeben oder zu sperren. Dispositif selon l'une quelconque des revendications 1 à 4, dans lequel chaque entrée est connectée au réseau (10) par l'intermédiaire d'un tampon d'entrée (20 ;52) et dans lequel l'élément de mémorisation associé (28, 30) est réglé pour valider ou invalider le tampon d'entrée (20 ;52) sur la base d'informations de configuration du réseau (10). The device of any one of claims 1 to 4, wherein each input is connected to said array (10) through an input buffer (20;52), and wherein the associated storage element (28,30) is set to enable or disable the input buffer (20;52) based on configuration information in said array (10).
  6. 6
    Dispositif logique programmable selon l'une quelconque des revendications 1 à 5, dans lequel le tampon de programmation comprend un registre à décalage série (82). Programmierbares Logikbauelement nach irgendeinem der Ansprüche 1 bis 5, bei welchem der Programmierpuffer ein serielles Schieberegister (82) aufweist. The programmable logic device of any one of claims 1 to 5, wherein said programming buffer comprises a serial shift register (82).
  7. 7
    Dispositif logique programmable selon l'une quelconque des revendications 1 à 6, dans lequel les éléments mémoire (84) mémorisent une copie de l'entrée de données d'une rangée qui a été programmée immédiatement avant la rangée en cours. Programmierbares Logikbauelement nach irgendeinem der Ansprüche 1 bis 6, bei welchem die Speichervorrichtungen (84) eine Kopie von Daten speichern, die bezüglich einer Reihe bzw. Zeile eingegeben wurden, die unmittelbar bevor der aktuellen Reihe bzw. Zeile programmiert worden ist. The programmable logic device of any one of claims 1 to 6, wherein said memory elements (84) store a copy of data input for a row which was programmed immediately prior to the current row.
  8. 8
    A device as claimed in any preceding claim, wherein the comparison circuitry is arranged to compare the addresses of the data in the programming buffer and the memory elements and to compare the data stored in the programming buffer with the data stored in the memory elements, wherein if the addresses are complements of each other and the data is identical, a comparison signal indicating that the input is not used is generated. Bauelement wie in irgendeinem der vorhergehenden Ansprüche beansprucht, bei welchem die Vergleichsschaltung dazu angeordnet ist, die Adressen von den Daten in dem Programmierpuffer und den Speichervorrichtungen zu vergleichen und die Daten, die in dem Programmierpuffer gespeichert sind, mit den Daten zu vergleichen, die in den Speichervorrichtungen gespeichert sind, wobei, falls die Adressen zueinander Komplimente darstellen und die Daten identisch sind, ein Vergleichssignal erzeugt wird, das anzeigt, daß der Eingang bzw. Eingabe nicht verwendet wird. Dispositif selon l'une quelconque des revendications précédentes dans lequel le circuit de comparaison est disposé pour comparer les adresses des données dans le tampon de programmation et les éléments mémoire et pour comparer les données mémorisées dans le tampon de programmation aux données stockées dans les éléments mémoire, dans lequel, si les adresses sont les compléments l'une de l'autre et que les données sont identiques, il est produit un signal de comparaison indiquant que l'entrée n'est pas utilisée.
  9. 9
    A circuit block for a programmable logic device (10), comprising:a programming buffer (82) for holding programming data to program a portion of the device (10);a plurality of storage elements (84) connected to said programming buffer (82) for storing a copy of the programming data held previously by the programming buffer (82);and comparison circuitry (86) connected to said programming buffer (82) and said storage elements (84) for generating a comparison signal indicative of a match between data in said buffer and data in said plurality of storage elements, the said programming of a portion of the device (10) being enabled or disabled based on said comparison signal. Bloc de circuit pour un dispositif logique programmable (10) comprenant : un tampon de programmation (82) pour mémoriser des données de programmation pour programmer une partie du dispositif (10) ;une pluralité d'éléments de mémorisation (84) connectés au tampon de programmation (82) pour stocker une copie des données précédemnent mémorisées par le tampon de programmation (82) ;etun circuit de comparaison (86) connecté au tampon de programmation (82) et aux éléments de mémorisation (84) pour produire un signal de comparaison indicatif d'un accord entre des données dans le tampon et des données dans la pluralité d'éléments de mémorisation, la programmation d'une partie du dispositif (10) étant validée ou invalidée sur la base du signal de comparaison. Schaltungsblock für ein programmierbares Logikbauelement (10), der folgendes aufweist: einen Programmierpuffer (82) zum Halten von Programmierdaten, um einen Abschnitt des Bauelements (10) zu programmieren;eine Anzahl von Speichereinrichtungen (84), die mit dem Programmierpuffer (82) zum Speichern einer Kopie der Programmierdaten verbunden sind, die zuvor von dem Programmierpuffer (82) gehalten wurden;eine Vergleichsschaltungsanordnung (86), die mit dem Programmierpuffer (82) und den Speicherelementen (84) zum Erzeugen eines Vergleichssignals verbunden sind, das eine Übereinstimmung zwischen Daten in dem Puffer und Daten in der Anzahl von Speichereinrichtungen anzeigt, wobei das Programmieren eines Abschnitts des Bauelements (10) basierend auf dem Vergleichssignal freigegeben oder gesperrt wird.
  10. 10
    Bloc de circuit selon la revendication 9, dans lequel le tampon de programmation comprend un registre à décalage série (82). Schaltungsblock nach Anspruch 9, bei welchem der Programmierpuffer ein serielles Schieberegister (82) aufweist. The circuit block of claim 9, wherein said programming buffer comprises a serial shift register (82).
  11. 11
    Bloc de circuit selon la revendication 9 ou 10, dans lequel chaque élément de mémorisation (84) comprend une mémoire à accès aléatoire dans laquelle on peut écrire et lire pendant la programmation du dispositif. Schaltungsblock nach Anspruch 9 oder 10, bei welchem jede Speichereinrichtungen (84) einen Speicher mit wahlfreiem Zugriff aufweist, in den geschrieben werden kann und von dem während der Programmierung der Vorrichtung gelesen werden kann. The circuit block of claim 9 or 10, wherein each storage element (84) comprises random access memory which can be written to and read from during programming of said device.
  12. 12
    Bloc de circuit selon la revendication 9, 10 ou 11, dans lequel le circuit de comparaison (86) comprend une combinaison de portes logiques (96, 98, 104, 106). Schaltungsblock nach Anspruch 9. 10 oder 11, bei welchem die Vergleichsschaltung (86) eine Kombination von Logikgattern (96, 98, 104, 106) aufweist. The circuit block of claim 9, 10 or 11, wherein said comparison circuitry (86) comprises a combination of logic gates (96,98,104,106).
  13. 13
    Circuit selon la revendication 9, 10, 11 ou 12, dans lequel les éléments de mémorisation (84) stockent une copie de l'entrée de données d'une rangée qui a été programmée immédiatement avant la rangée en cours. Schaltung nach Anspruch 9, 10, 11 oder 12, bei welchem die Speichereinrichtungen (84) eine Kopie von Daten speichern, die bezüglich einer Reihe bzw. Zeile eingegeben wurden, die unmittelbar vor der gegenwärtigen Reihe bzw. Zeile programmiert wurde. The circuit of claim 9, 10, 11 or 12, wherein said storage elements (84) store a copy of data input for a row which was programmed immediately prior to the current row.
  14. 14
    A method for determining whether an input (24,26) to a programmable logic device (10) will be used in a logic function, comprising the steps of:loading programming data for a first row corresponding to the input into a programming buffer (82);comparing the loaded data to data previously loaded corresponding to a different row which is complementary to the first row;andif the loaded data matches the row which is its complement, then generating a signal indicating that the input will not be used for programming said first row. Procédé de détermination du fait qu'une entrée (24, 26) d'un dispositif logique programmable (10) sera utilisée dans une fonction logique, comprenant les étapes suivantes : charger des données de programmation pour une première rangée correspondant à l'entrée d'un tampon de programmation (82) ;comparer les données chargées aux données précédemment chargées correspondant à une rangée différente complémentaire de la première rangée ;etsi les données chargées s'adaptent à la rangée qui est leur complément, produire un signal indiquant que l'entrée ne sera pas utilisée pour la programmation de la première rangée. Verfahren zum Bestimmen, ob ein Eingang (24, 26) zu einem programmierbaren Logikbauelement (10) bei einer Logikfunktion verwendet wird, das die folgende Schritte aufweist: Programmierdaten für eine erste Reihe bzw. Zeile, die der Eingabe entspricht, werden in einen Programmierpuffer (82) geladen;die geladenen Daten werden mit zuvor geladenen Daten verglichen, die einer anderen Reihe bzw. Zeile entsprechen, die zu der ersten Reihe bzw. Zeile komplementär ist;undfalls die geladenen Daten mit der Reihe bzw. Zeile übereinstimmen, die ihr Kompliment darstellt, dann wird ein Signal erzeugt, das anzeigt, daß der Eingang zum Programmieren der ersten Reihe nicht verwendet werden wird.
  15. 15
    Procédé selon la revendication 14, dans lequel l'étape de comparaison consiste à comparer les données chargées aux données de programmation utilisées pour programmer une rangée précédant immédiatement la rangée de données chargées. The method of claim 14, wherein said comparing step comprises comparing the loaded data to programming data used to program a row immediately prior to the loaded data row. Verfahren nach Anspruch 14, bei welchem der Vergleichsschritt das Vergleichen der geladenen Daten mit den Programmierdaten umfaßt, die verwendet werden, um eine Reihe bzw. Zeile unmittelbar vor der geladenen Datenreihe bzw. -zeile zu programmieren.
  16. 16
    Procédé selon la revendication 14 ou 15, comprenant en outre l'étape suivante :si une entrée (24, 26) ne doit pas être utilisée, invalider un tampon d'entrée (20 ;52) associé à cette entrée. The method of claim 14 or 15, further comprising the step of:    if an input (24,26) will not be used, disabling an input buffer (20;52) associated with such input. Verfahren nach Anspruch 14 oder 15, das weiter den folgenden Schritt aufweist: falls ein Eingang (24, 26) nicht verwendet werden wird, wird ein Eingangspuffer (20;52), der zu einem derartigen Eingang gehört, gesperrt bzw. deaktiviert.
  17. 17
    Bauelement, wie im Anspruch 5 oder in irgendeinem davon abhängigen bzw. daren angehängten Anspruch beansprucht ist, bei welchem der Eingangspuffer (20) mit der zugehörigen Speichereinrichtung (28, 30) und dem zugehörigen Eingang (24, 26) verbunden ist, bei welchem der Eingangspuffer (20) gesperrt bzw. deaktiviert ist, falls das Speichereinrichtung (28, 30) einen ersten Wert aufweist, und freigegeben wird, falls das Speichereinrichtung (28. 30) einen zweiten Wert aufweist. und bei welchem der Eingangspuffer ein NAND Gatter (70), das mit der Speichereinrichtung (28, 30) und dem Eingang (24) verbunden ist, einen ersten Inverter (72), der mit dem Ausgang des NAND Gatters (70) verbunden ist, und einen zweiten Inverter (76) der mit dem Ausgang des ersten Inverters (72) verbunden ist, aufweist, bei welchem die Ausgänge der ersten und zweiten Inverters (72, 76) wahre und komplimentäre Ausgänge (12, 14) des Eingangspuffers (20) festlegen. Dispositif selon la revendication 5, ou l'une quelconque des revendications qui en dépendent, dans lequel le tampon d'entrée (20) est connecté à l'élément de mémorisation associé (28, 30) et à l'entrée associée (24, 26), dans lequel le tampon d'entrée (20) est invalidé si l'élément de mémorisation (28, 30) a une première valeur, et est validé si l'élément de mémorisation (28, 30) a une seconde valeur, et, dans lequel le tampon d'entrée comprend une porte NON ET 70 connectée à l'élément de mémorisation (28, 30) et à ladite entrée (24), un premier inverseur (72) connecté à la sortie de la porte NON ET (70) et un deuxième inverseur (76) connecté à la sortie du premier inverseur (72), dans lequel les sorties des premier et second inverseurs (72, 76) définissent des sorties vraie et complémentaire (12, 14) du tampon d'entrée (20). The device as claimed in claim 5 or any claim appended thereto, wherein said input buffer (20) is connected to said associated storage element (28,30) and said associated input (24,26), wherein said input buffer (20) is disabled if said storage element (28,30) has a first value, and is enabled if said storage element (28,30) has a second value, and wherein said input buffer comprises a NAND gate (70) connected to said storage element (28,30) and said input (24), a first inverter (72) connected to the output of said NAND gate (70), and a second inverter (76) connected to the output of said first inverter (72), wherein the outputs of the first and second inverters (72,76) define true and complement outputs (12,14) of said input buffer (20).
  18. 18
    Bauelement, wie im Anspruch 5 oder Anspruch 6, 7 oder 8, wenn davon abhängig bzw. daran angehängt, beansprucht, bei welchem der Eingangspuffer (54) mit der zugehörigen Speichereinrichtung (28, 30) und den zugehörigen Eingang (24, 26) verbunden ist, bei welchem der Eingangspuffer (54) gesperrt bzw. deaktiviert wird, falls die Speichereinrichtung (28, 30) einen ersten Wert aufweist, und freigegeben wird, falls die Speichereinrichtung (28, 30) einen zweiten Wert aufweist, bei welchem es der Eingangspuffer (54) ermöglicht, eine optionale Auswahl einer Eingangssignalleitung (24) oder einer Rückkopplungs-Signalleitung (110) davon auszugeben, wobei der Wert in der Speichereinrichtung (28, 30) sowohl die Eingangssignalleitung (24) als auch die Rückkopplungs-Signalleitung (110) freigibt oder sperrt. Dispositif selon la revendication 5 ou la revendication 6, 7 ou 8, prises dans leur dépendance de la revendication 5, dans lequel le tampon d'entrée (54) est connecté à l'élément de mémorisation associé (28, 30) et à ladite entrée associée (24, 26), dans lequel le tampon d'entrée (54) est invalidé si l'élément de mémorisation (28, 30) a une première valeur et est validé si l'élément de mémorisation (28, 30) a une deuxième valeur, et dans lequel le tampon d'entrée (54) permet une sélection optionnelle d'une ligne de signal d'entrée (24) ou d'une ligne de signal de réaction (110), dans lequel la valeur dans l'élément de mémorisation (28, 30) valide ou invalide la ligne de signal d'entrée (24) et la ligne de signal de réaction (110). The device as claimed in claim 5 or claims 6, 7 or 8 when appended thereto, wherein the input buffer (54) is connected to said associated storage element (28,30) and said associated input (24,26), wherein said input buffer (54) is disabled if said storage element (28,30) has a first value, and is enabled if said storage element (28,30) has a second value, and wherein said input buffer (54) allows optional selection of an input signal line (24) or a feedback signal line (110) to be output therefrom, wherein the value in said storage element (28,30) enables or disables both the input signal line (24) and the feedback signal line (110).
Independent claims18