FR2544523A1 - Reseau logique programmable de facon conditionnelle - Google Patents

Reseau logique programmable de facon conditionnelle Download PDF

Info

Publication number
FR2544523A1
FR2544523A1 FR8403857A FR8403857A FR2544523A1 FR 2544523 A1 FR2544523 A1 FR 2544523A1 FR 8403857 A FR8403857 A FR 8403857A FR 8403857 A FR8403857 A FR 8403857A FR 2544523 A1 FR2544523 A1 FR 2544523A1
Authority
FR
France
Prior art keywords
logic
logical
stage
signals
output
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR8403857A
Other languages
English (en)
Other versions
FR2544523B1 (fr
Inventor
David Richard Resnick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Control Data Corp
Original Assignee
Control Data Corp
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 Control Data Corp filed Critical Control Data Corp
Publication of FR2544523A1 publication Critical patent/FR2544523A1/fr
Application granted granted Critical
Publication of FR2544523B1 publication Critical patent/FR2544523B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Abstract

L'INVENTION CONCERNE LES RESEAUX LOGIQUES PROGRAMMABLES. UN RESEAU LOGIQUE PROGRAMMABLE COMPREND UN ENSEMBLE D'ETAGES LOGIQUES QUI PRODUISENT DES SIGNAUX DE SORTIE QUI SONT UNE FONCTION PREDETERMINEE DES SIGNAUX D'ENTREE DE L'ETAGE. CERTAINS ETAGES SONT CONSTITUES PAR DES ELEMENTS FONCTIONNELS 12, 14, 16, ETC. CHACUN DE CES ELEMENTS FONCTIONNELS COMPREND DES BASCULES EN NOMBRE EQUIVALENT AU NOMBRE D'ETATS DE SORTIE POSSIBLES, DE FACON A CONSERVER UNE INDICATION LOGIQUE PREDETERMINEE DE L'ETAT DE SORTIE ASSOCIE, CORRESPONDANT A LA FONCTION LOGIQUE QUI EST REALISEE. DES DISPOSITIFS DE TRANSMISSION 40, 42, ETC. ASSURENT UNE INTERCONNEXION SELECTIVE ENTRE LES DIFFERENTS ETAGES D'ELEMENTS FONCTIONNELS. DES DONNEES DE CARACTERISATION INTRODUITES DANS LE RESEAU DEFINISSENT ENTIEREMENT LA FONCTION LOGIQUE DU RESEAU, SANS AUCUNE MODIFICATION PHYSIQUE IRREVERSIBLE. APPLICATION A L'INFORMATIQUE.

Description

La présente invention concerne les réseaux lo-
giques programmables de façon conditionnelle.
On incorpore de façon caractéristique des ré-
seaux logiques programmables dans des puces de circuit inté-
gré à haut niveau d'intégration ou à très haut niveau d'in- tégration Ces puces de réseaux logiques programmables sont d'un type dans lequel la fonction logique particulière du
circuit n'est pas déterminée au moment de la fabrication.
Une puce de réseau logique programmable est conçue de fa-
çon que sa fonction logique puisse être déterminée ulté-
rieurement La plupart des puces de l'art antérieur de ce type sont programmables de façon ferme ou permanente dans la mesure o elles contiennent des fusibles ou d'autres
éléments qui sont détruits de façon permanente pour déter-
miner la fonction logique du dispositif L'invention con-
cerne un réseau logique programmable de façon condition-
nelle, dans la mesure o n'importe quel dispositif parti-
culier peut être programmé de façon répétée avec la même fonction logique ou des fonctions logiques différentes, par un processus d'introduction de données fonctionnelles
logiques, qu'on appelle quelquefois des données de carac-
térisation Bien qu'un réseau logique programmable de fa-
çon conditionnelle exige le chargement de données de carac-
térisation pour pouvoir fonctionner, un réseau logique pro-
grammable de façon conditionnelle conforme à l'invention n'est pas simplement un dispositif de mémoire On utilise les données de caractérisation pour commander les fonctions logiques particulières à accomplir à des niveaux logiques particuliers dans le réseau logique programmable de façon conditionnelle De plus, un réseau logique programmable de façon conditionnelle conforme à l'invention peut comporter quatre quadrants ou secteurs et des circuits de commande sur chaque puce, de façon qu'une seule puce comporte plusieurs
réseaux indépendants avec une commande fonctionnelle commune.
Le brevet des E U A N O 3 818 252 montre un ensem-
ble de lignes de mot et de lignes de bit constituant des entrées d'un réseau qui contient des fusibles en tant qu'
éléments programmables Ce brevet montre en fait une va-
riante d'un réseau logique programmable standard ayant deux niveaux pour produire une fonction du type "somme de
produits", mais il ne décrit pas le réseau logique pro-
grammable de façon conditionnelle à plusieurs niveaux de la présente invention Le brevet des E U A N O 4 233 667 montre également un réseau logique programmable mais il
ne décrit pas la structure ou les possibilités correspon-
dant à la présente invention.
Le brevet des E U A N O 3 912 914 montre un mo-
dule de commutation programmable qui peut devenir extrême-
ment complexe pour toute fonction de commutation particu-
lièrement étendue qui doit être utilisée, du fait que la commande de programmation pour une fonction de commutation quelconque doit être sortie de la puce particulière par
des fils individuels, pour commander la fonction de commu-
tation Le réseau de la présente invention peut être pro-
grammé par l'introduction d'un train de données de carac-
térisation qui commande les divers éléments logiques sous l'effet d'un processus de caractérisation Les brevets des E.U A N O 3 855 536, 3 976 983 et 4 293 783 montrent tous des réseaux logiques mais ou bien ces réseaux exigent une commande de programmation par des broches logiques externes, ou bien ils présentent des limitations sur les fonctions
logiques particulières qui peuvent être réalisées.
Bien que l'invention concerne essentiellement une entité ou une opération originales, ou une combinaison
originale d'entités ou d'opérations, décrites ici etiou re-
présentées sur les dessins annexés, un aspect particulier
de l'invention auquel celle-ci n'est cependant en rien limi-
tée, porte sur un réseau logique programmable de façon con-
ditionnelle qui comprend: un ensemble d'étages logiques, ayant chacun des entrées logiques et des sorties logiques 25445 t 5 qui correspondent à une fonction prédéterminée de l'entrée,
chaque étage consistant en éléments fonctionnels et cha-
que élémentfonctionnel comportant des entrées connectées de façon à recevoir des signaux d'entrée de données, et des sorties de données qui représentent des équations logi-
ques des signaux d'entrée de données, chaque élément fonc-
tionnel comportant un ensemble d'entrées connectées à au
moins une sortie de façon que la sortie puisse être n'im-
porte quelle fonction logique des entrées, chacun de ces éléments fonctionnels comportant un ensemble de bascules, en nombre équivalent au nombre d'états de sortie possibles, de façon à conserver une indication logique prédéterminée de l'état de sortie associé qui correspond à la fonction logique réalisée; un ensemble d'étages de dispositifs de transmission à bascule ayant des entrées connectées de façon à recevoir les sorties de l'un des étages logiques, et des sorties connectées aux entrées d'un autre des étages
logiques et à la sortie du réseau logique, chacun des dispo-
sitifs de transmission pouvant inverser une condition logi-
que et transmettre cette condition sans retard, ou bien mé-
moriser une condition logique jusqu'à salibération, sous
la dépendance d'une fonction logique prédéterminée à réali-
ser; et des moyens de commande destinés à conditionner tous les éléments fonctionnels et les dispositifs de transmission
pour réaliser une fonction logique prédéterminée.
Le réseau logique comprend de préférence un pre-
mier étage logique de huit éléments fonctionnels connectés
de façon à recevoir des signaux d'entrée de données; un se-
cond étage logique de six éléments fonctionnels connectés aux sorties du premier étage logique; un troisième étage de
six dispositifs de transmission à bascule connectés aux sor-
ties du second étage logique; un quatrième étage logique de
quatre éléments fonctionnels connectés aux sorties du troisiè-
me étage; un cinquième étage de quatre dispositifs de trans-
mission à bascule connectés aux sorties du quatrième étage
logique; un sixième étage logique de deux éléments fonc-
tionnels connectés aux sorties du cinquième étage; un
septième étage de deux dispositifs de transmission à bas-
cule connectés aux sorties du sixième étage logique; et un huitième étage de douze portes de validation de sortie
connectées aux sorties des troisième, cinquième et septiè-
me étages.
Au cours du fonctionnement, la sortie de cha-
que porte de validation de sortie peut être forcée à 1 ' état haut, bas ou flottant dans un premier mode, ou bien elle peut transmettre en sortie la fonction prédéterminée de l'entrée, dans un autre mode de fonctionnement Chaque
élément fonctionnel peut ainsi avoir trois entrées de don-
nées, huit entrées de commande logique et une sortie Dans le mode de réalisation préféré, chaque élément fonctionnel comprend un multiplexeur huit-un et huit circuits de porte
ET/bascule RS connectés aux entrées du multiplexeur.
Selon un aspect non limitatif supplémentaire de
l'invention, un réseau logique programmable de façon condi-
tionnelle comprend: un premier étage logique d'éléments fonctionnels, chacun d'eux produisant des signaux de sortie fonctionnels logiques qui sont des fonctions prédéterminées
des signaux d'entrée; un second étage d'éléments fonction-
nels connectés au premier étage, chacun de ces éléments pro-
duisant des signaux de sortie fonctionnels logiques qui sont des fonctions logiques prédéterminées des signaux d'entrée
un troisième étage consistant en dispositifs de transmis-
sion à bascule connectés au second étage de façon à accom-
plir une fonction de transmission non retardée, avec inver-
sion, ou une fonction de mémorisation, sous la dépendance d'une
fonction prédéterminée; un quatrième étage d'éléments fonc-
tionnels qui sont connectés de façon à recevoir des signaux
d'entrée provenant du troisième étage de dispositifs de trans-
mission, chacun de ces éléments fonctionnels produisant des
signaux de sortie fonctionnels logiques qui sont des fonc-
tions logiques prédéterminées des signaux d'entrée; un
cinquième étage constitué par des dispositifs de transmis-
sion à bascule connectés au quatrième étage de façon à accomplir une fonction de transmission non retardée, avec inversion, ou une fonction de mémorisation, sous la dépen-
dance d'une fonction prédéterminée; un sixième étage d'élé-
ments fonctionnels connectés de façon à recevoir des si-
gnaux d'entrée à partir du quatrième étage de dispositifs de transmission, chacun d'eux produisant des signaux de
sortie fonctionnels logiques qui sont des fonctions logi-
ques prédéterminées des signaux d'entrée; un septième éta-
ge de dispositi 2 de transmission à bascule qui sont con-
nectés de façon à recevoir des signaux d'entrée de données provenant du sixième étage, pour accomplir une fonction de transmission non retardée, avec inversion, ou une fonction
de mémorisation, sous la dépendance d'une fonction prédé-
terminée; un étage de validation de sortie connecté de fa-
çon à recevoir des signaux d'entrée provenant des troisiè-
me, cinquième et septième étages de dispositifs de transmis-
sion, pour fournir des signaux de sortie de données pour le réseau logique; et des moyens de commande connectés à la totalité des éléments fonctionnels et des dispositifs de transmission, pour commander le réseau logique et pour lui appliquer des signaux d'horloge, ainsi que pour produire des signaux d'entrée de mémorisation pour positionner tous les éléments fonctionnels et les dispositifs de transmission à bascule, afin de réaliser une fonction logique prédétermi-n née. Un autre aspect non restrictif de l'invention
procure un réseau logique programmable de façon condition-
nelle qui comprend un ensemble de secteurs logiques, chaque
secteur ayant des entrées et des sorties logiques indépendan-
tes des autres secteurs; un ensemble d'étages logiques, cha-
que étage logique étant formé d'éléments fonctionnels et cha-
que étage logique ayant ses entrées connectées de façon à 25445 t 3 recevoir des signaux d'entrée de données, et produisant
des signaux de sortie de données qui représentent des fonc-
tions logiques des signaux d'entrée de données, chaque
élément fonctionnel comportant un ensemble d'entrées con-
nectées à au moins une sortie de façon que la sortie puis- se correspondre à n'importe quelle fonction logique des entrées, ces éléments fonctionnels comprenant un ensemble
de bascules en nombre équivalent au nombre d'états de sor-
tie possibles, de façon à conserver une indication logique
de l'état de sortie associé correspondant à la fonction lo-
gique réalisée; et un ensemble d'étages de dispositifs de
transmission à bascule ayant des entrées connectées de fa-
çon à recevoir des signaux de sortie de l'un des étages lo-
giques, et des sorties connectées aux entrées d'un autre des étages logiques et à la sortie dudit secteur, chacun
d'eux pouvant inverser une condition logique et transmet-
tre cette condition sans aucun retard, ou bien mémoriser
une condition logique jusqu'à sa libération, sous la dépen-
dance d'une fonction logique prédéterminée à réaliser; et des moyens de commande pour tous les secteurs, destinés à
positionner tous les éléments fonctionnels et tous les dis-
positifs de transmission pour réaliser des fonctions logiques
prédéterminées dans chaque secteur.
Un autre aspect non restrictif supplémentaire de l'invention procure un réseau logique programmable de façon
conditionnelle destiné à réaliser une fonction logique pré-
sélectionnée sur une fonction d'entrée de données, compre-
nant: un premier étage d'éléments logiques, chacun de ces éléments logiques consistant en éléments fonctionnels ayant
un ensemble de lignes de réception de signaux d'entrée de don-
nées, au moins une ligne de sortie de données et des moyens
pour recevoir et mémoriser des signaux de commande représenta-
tifs de la fonction à réaliser, connectés de façon à recevoir les signaux d'entrée de données dirigés vers le système, et un premier ensemble de signaux logiques destinés à positionner les bascules du premier étage d'éléments logiques; un second
étage d'éléments logiques connecté au premier étage d'élé-
ments logiques, consistant en éléments fonctionnels ayant
chacun un ensemble de lignes de réception de signaux d'en-
trée de données connectées au premier étage, au moins une ligne de sortie de données et des moyens pour recevoir et mémoriser des signaux de commande représentatifs de la
fonction à réaliser, connectés de façon à recevoir des si-
gnaux d'entrée de données appliqués au second étage et un second ensemble de signaux logiques destinés à positionner
les bascules du second étage d'éléments logiques; un troi-
sième étage d'éléments logiques connectés au second étage et consistant en dispositifs de transmission à bascule qui comportent des moyens destinés à recevoir et à mémoriser un troisième ensemble de signaux logiques pour commander la fonction réalisée par les dispositifs de transmission; un quatrième étage d'éléments logiques, chacun de ces éléments
logiques consistant en éléments fonctionnels comportant cha-
cun un ensemble de lignes de réception de signaux d'entrée de données, au moins une ligne de sortie de données et des moyens destinés à recevoir et à mémoriser des signaux de com-a mande représentatifs de la fonction à réaliser, connectés de façon à recevoir des signaux d'entrée provenant du troisième
étage de dispositifs de transmission, et comportant des mo-
yens pour recevoir et mémoriser un quatrième ensemble de si-
gnaux logiques, afin de positionner les bascules des éléments
fonctionnels dans le but de réaliser la fonction logique pré-
déterminée; un cinquième étage d'éléments logiques connectés
au quatrième étage et consistant en dispositifs de transmis-
sion à bascule comportant des moyens destinés à recevoir et à
mémoriser un cinquième ensemble de signaux logiques, pour com-
mander la fonction réalisée par les dispositifs de transmis-
sion; un sixième étage d'éléments logiques consistant en élé-
ments fonctionnels connectés au cinquième étage, chacun d'eux
comprenant un ensemble de lignes de réception de signaux d'en-
trée de données, au moins une ligne de sortie de données
et des moyens destinés à recevoir et à mémoriser des si-
gnaux de commande représentatifs de la fonction à réaliser,
connectés de façon à recevoir des signaux d'entrée de don-
nées provenant du cinquième étage de dispositifs de trans- mission, et comportant des moyens destinés à recevoir un sixième ensemble de signaux logiques, pour positionner les bascules des éléments fonctionnels de façon à réaliser les
fonctions logiques prédéterminées; un septième étage d'élé-
ments logiques connectés au sixième étage et consistant en
dispositifs de transmission, chacun d'eux comprenant un en-
semble de lignes de réception de signaux d'entrée de don-
nées, au moins une ligne de sortie de données et des moyens
pour recevoir et mémoriser des signaux de commande représen-
tatifs de la fonction prédéterminée à réaliser; et un éta-
ge de validation de sortie connecté de façon à recevoir des
signaux d'entrée provenant des troisième, cinquième et sep-
tième étages de dispositifs de transmission, pour fournir
des signaux de sortie de données pour le réseau logique.
Le réseau logique peut en outre comprendre des moyens de commande destinés à produire un train série de signaux de commande destiné à être appliqué à l'entrée de toutes les bascules des éléments fonctionnels, et un train
de signaux de commande de positionnement de bascules, desti-
né à provoquer le chargement du signal de commande de bascu-
le approprié dans la bascule appropriée.
Le réseau logique comprend de préférence des mo-
yens de commande d'horloge destinés à commander la transmis-
sion sélective des signaux de commande appropriés vers les
éléments fonctionnels appropriés, dans l'ordre des étages lo-
giques, pendant le fonctionnement du réseau logique.
Le réseau logique peut comprendre un compteur con-
çu de façon à être incrémenté à la réception de signaux de commande individuels dans le train de données série d'entrée, et le compte de sortie de ce compteur commande l'adressage des éléments fonctionnels X
D'autres caractéristiques et avantages de l'in-
vention seront mieux compris à la lecture de la descrip-
tion qui va suivre d'un mode de réalisation et en se ré-
férant aux dessins annexés sur lesquels: Les figures 1 A, 1 B et 1 C sont destinées à être observées côte à côte en étant placées dans l'ordre, de gauche à droite, et elles représentent un schéma logique
détaillé d'un mode de réalisation d'un réseau logique pro-
grammable de façon conditionnelle conforme à l'invention La figure 2 est un schéma logique détaillé de
l'un des éléments fonctionnels du réseau logique représen-
té sur les figures 1 A, 1 B et 1 C; La figure 3 est un schéma logique détaillé d'un
dispositif de transmission/blocage du réseau logique re-
présenté sur les figures l A, 1 B et 1 C; La figure 4 est un schéma logique détaillé d'un élément logique de validation de sortie de la partie du réseau logique qui est représentée sur la figure 1 C; La figure 5 est un schéma logique d'un circuit de commande du réseau logique représenté sur les figures l A, 1 B et 1 C; La figure 6 est un schéma logique du circuit de commande pour la logique de caractérisation destinée à commander le réseau logique des figures l A, 1 B et 1 C; et La figure 7 est un schéma logique simplifié du réseau logique représenté sur les figures l A, 1 B et 1 C,
montrant seulement les interconnexions logiques essentielles.
Les figures l A, 1 B et 1 C montrent un mode de réa-
lisation d'un réseau logique programmable de façon condi-
tionnelle, 10, conforme à l'invention Des signaux d'en-
trée de données logiques apparaissent du côté gauche de
la figure l A et progressent dans les divers niveaux logi-
ques de façon que des signaux de sortie, correspondant à la fonction logique programmée prédéterminée, apparaissent du côté droit de la figure 1 C. Un ensemble d'éléments fonctionnels 12, 14, 16, 18, 20, 22, 24, 26 constituent un premier niveau logique du réseau logique 10 Les éléments fonctionnels 12 à 26 sont tous identiques et la structure de l'élément fonc-
tionnel 12 est représentée en détail sur la figure 2 Cha-
que élément fonctionnel comporte trois entrées de données.
Les entrées de données de l'élément fonctionnel 12 sont
désignées par A, B et C, avec un indice numérique pour in-
diquer le numéro de l'élément fonctionnel particulier On utilise une notation similaire pour les entrées de données
de l'ensemble des huit éléments fonctionnels du premier ni-
veau logique Chaque élément fonctionnel 12 à 26 comporte une seule sortie qui est interconnectée au reste du réseau logique 10 Un second niveau logique est formé par six
éléments fonctionnels 28, 30, 32, 34, 36, 38 Les six élé-
ments fonctionnels 28 à 38 sont connectés à six dispositifs
de transmission/blocage 40, 42, 44, 46, 48, 50 Ces disposi-
tifs de transmission/blocage sont tous identiques et un schéma détaillé du dispositif de transmission/blocage 40 est représenté sur la figure 3 Ces six dispositifs de
transmission/blocage constituent un troisième niveau logi-
que Les sorties de ces six dispositifs de transmission,
blocage sont connectées à un quatrième niveau logique.
Le quatrième niveau logique consiste en quatre
éléments fonctionnels 52, 54, 56, 58 Les sorties des qua-
tre éléments fonctionnels du quatrième niveau logique sont
connectées aux entrées de quatre dispositifs de transmis-
sion/blocage 60, 62, 64, 66 Les dispositifs de transmis-
sion/blocage 60 à 66 constituent le cinquième niveau logi-
que Un sixième niveau logique est formé par deux éléments fonctionnels 68, 70 Les sorties des éléments fonctionnels 68, 70 appliquent des signaux d'entrée à des éléments de
fonction/transmission 72, 74 qui constituent le huitième ni-
veau logique Chaque élément fonctionnel est désigné par un il préfixe FE associé à un numéro d'élément particulier De
façon similaire, tous les dispositifs de transmissioniblo-
cage sont désignés par un numéro particulier et par le
préfixe FP.
Le circuit logique de sortie consiste en un élé-
ment à deux étages qu'on peut considérer comme correspon-
dant à une seule fonction Le premier étage de chaque élé-
ment à deux étages est une porte de validation de sortie qui est représentée en détail sur la figure 4 La porte de validation de sortie est connectée à un circuit séparateur à trois états dont les états de sortie possibles sont l'état "haut", l'état "bas" et l'état "flottant" Dans le cas de
l'état de sortie flottant, le niveau de signal sur la li-
gne de sortie est flottant, en supposant que d'autres dis-
positifs logiques actifs sont également connectés à la mê-
me ligne logique Par conséquent, dans le mode de réalisa-
tion représenté, la configuration logique de sortie est dé-
terminée par 12 paires de dispositifs de sortie comportant 12 portes de validation de sortie 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124 Chaque porte de validation de
sortie est associée à un séparateur à trois états respec-
tifs 82, 86, 90, 94, 98, 102, 106, 110, 114, 118, 122, 126.
Le réseau logique représenté sur les figures l A, 1 B et 1 C peut être réalisé de préférence sous la forme d'un quadrant ou d'un secteur parmi quatre quadrants ou secteurs
identiques destinés à être-placés sur une seule puce de cir-
cuit à très haut niveau d'intégration Dans différents modes
de réalisation, on peut utiliser un nombre différent de sec-
* teurs avec un système de commande commun Ainsi, une seule
puce de circuit à très haut niveau d'intégration contien-
drait quatre réseaux logiques, chacun d'eux étant identique
à celui représenté sur les figures l A, l B et 1 C, associés en-
semble en quadrants avec un seul circuit de commande; comme
celui représenté sur les figures 5 et 6 Le circuit de la fi-
gure 6 est conçu de façon à pouvoir commander quatre circuits séparés du type représenté sur les figures 1 A, 1 B et 1 C. Les diverses lignes de commande qui entrent dans la figure
*A acheminent des signaux qui sont produits par le cir-
cuit de commande représenté sur la figure 6, qu'on décri-
ra ultérieurement en détail. Les signaux de sortie du circuit de commande dirigés vers chaque quadrant individuel sont appliqués à un décodeur 140, du type 3 entrées-8 sorties, représenté
sur la figure l A Les lignes d'entrée C 5, C 4, C 3 provien-
nent du circuit de commande de la figure 6, tandis que la ligne de commande C'9 met le décodeur en fonction ou hors
fonction, selon qu'il s'agit ou non du quadrant particu-
lier qui est adressé, parmi les quatre quadrants De fa-
çon similaire, un décodeur 142 consiste en un élément de
décodage du type 2 entrées-4 sorties dont les signaux d'en-
trée proviennent du circuit de commande de la figure 6, tandis que la ligne C'8 met le décodeur en fonction ou hors fonction, sur la base de signaux d'entrée, conformément à
la figure 6 Des ensembles de portes ET 144, 146, 148 dé-
terminent la distribution des signaux de commande exigés
dans le but de charger le programme pour une fonction logi-
que programmable particulière à réaliser.
On va maintenant considérer la figure 2 qui est un schéma logique détaillé de l'élément fonctionnel 12 L' élément fonctionnel comporte un multiplexeur 8 bits-1 bit,
, dans lequel la sortie FD représente la sortie de don-
nées L'entrée de données est représentée par des lignes de signal d'entrée A, B, C qui sont les lignes de commande de sélection du multiplexeur, mais qui forment les entrées de données pour l'élément fonctionnel Pour chacune des huit lignes d'entrée du multiplexeur, il existe un circuit de
porte ET/bascule RS, 202, 204, 206, 208, 210, 212, 214, 216.
Les signaux d'entrée de données fonctionnelles ou de carac-
térisation qui sont destinés à commander le signal de sortie fonctionnel du multiplexeur 200, sont appliqués sur des entrées de programme SO à 57 On expliquera en relation avec le
circuit de commande de la figure 6 les fonctions corres-
pondant au signal de mise à zéro et au signal de valida-
tion d'écriture Lorsqu'il est programmé avec un signal d'entrée fonctionnel, chacun des circuits *de bascule RS
202 à 216 conserve ou bloque le signal d'entrée fonction-
nel pour toutes les opérations du circuit Le signal de mise à zéro met toutes les portes à zéro, dans le cadre du processus d'initialisation Le signal de validation d'
écriture doit être validé pour l'écriture ou la programma-
tion d'une fonction quelconque.
On sait d'après la description fonctionnelle
d'un multiplexeur qu'un multiplexeur 8 bits-1 bit ayant
trois entrées de commande peut sélectionner en tant-que si-
gnal de sortie l'un quelconque des signaux d'entrée possi-
bles, en utilisant un signal de commande à 3 bits Récipro-
quement, on sait que toute fonction logique de trois bits de données est nécessairement un bit de données haut ou bas En programmant correctement les huit bits d'entrée du multiplexeur 200 avec des bits hauts et bas, on peut faire en sorte que la sortie du multiplexeur 200 corresponde à
n'importe quelle fonction logique des trois bits de don-
nées qui sont appliqués sur les lignes de commande A, B, C Ceci représente alors la structure logique de l'élément
fonctionnel 12 qui constitue un élément constitutif du ré-
seau logique.
On va maintenant considérer la figure 3 qui re-
présente en détail le dispositif de transmission/blocage 40.
Le dispositif de transmission/blocage 40 comprend un élément de bascule RS 220 muni d'une porte ET, une bascule 222 et une porte ET 224, tous connectés de la manière représentée.
Si l'élément de bascule 220 est positionné dans le cadre de
la fonction de caractérisation, le signal d'entrée de don-
nées provenant de la section précédente fait fonctionner la porte ET 224 et le dispositif à la manière d'un circuit de
transmission de données, et inverse les données à leur pas-
sage dans ce circuit, sans retard notable Si l'élément de bascule 220 n'est pas positionné, le passage de données à
travers le dispositif exige qu'un signal d'horloge déclen-
che la-bascule 222, en plus de l'application des données,
pour que la porte ET 224 transmette les données.
En considérant la figure 4, on note que la por-
te de validation de sortie 80 est constituée par un cir-
cuit de bascule RS 230 associé à une porte 232 Si la sor-
tie de la porte 232 est à l'état actif, le circuit sépara-
teur 82 prend l'état haut ou l'état bas, sous l'effet du
signal d'entrée de données qui lui est appliqué Si la li-
gne de validation de sortie de la porte 232 n'est pas va-
lidée, le circuit séparateur associé est inactif, ou flot-
tant, indépendamment du signal d'entrée de données Les li-
gnes de commande d'entrée qui attaquent la porte 232 fonc-
tionnent de la manière suivante: H maintient ou force la
porte à l'état inactif; F est une entrée de test et force.
la validation de la sortie; et E est l'entrée de fonction-
de validation normale.
La figure 5 montre un registre de système de com-
mande 281 qui applique un signal d'entrée de fonction de commande FOR AGE à une porte 283, comme le montre la figure
i C, et il en est respectivement de même pour les autres qua-
drants similaires.
On va maintenant considérer la figure 6 qui re-
présente un circuit de commande 300 destiné à commander le
réseau logique de la figure 1 qui est l'un des quatre ré-
seaux logiques identiques Le circuit de commande 300 compor-
te une horloge de commande 302 Le train de données de test
d'entrée est appliqué sur une entrée 304 Le train de don-
nées de test d'entrée peut être fourni dans le cadre classi-
que d'un ordinateur sous la forme d'une fonction du système
logique de maintenance et de test, de façon externe aux che-
mins de données normaux, dans le cadre de la fonction d'ini-
tialisation L'horloge 302 accomplit une fonction "posi-
tionnement, mise à zéro et oubli" Ceci signifie qu'elle
prépare un signal de multivibrateur monostable pour comman-
der les divers bits de mise à zéro, sur une sortie de mise à zéro 306, de façon que tous les circuits soient initia-
lement mis à zéro, mais du fait de la formation d'un mul-
tivibrateur monostable, il n'est pas nécessaire d'arrêter
le signal de mise à zéro, celui-ci s'arrête automatiquement.
Un décodeur 308 travaille en association avec un compteur 310 pour former un canal de sortie à 8 bits
destiné à la transmission sélective en commun vers les dif-
férents éléments fonctionnels tels que l'élément fonction-
nel 12 Le train de données série d'entrée sur un canal à
1 bit est ainsi commandé par le compteur 310 et par le dé-
codeur 308 de façon que chaque élément fonctionnel, comme l'élément fonctionnel 12, qui est adressé par, le canal de sortie à 8 bits,ait-ses entrées de programme déclenchées séquentiellement Un compteur 312 applique des signaux de commande de sortie sur des lignes C, comme le montre la figure 1, pour déterminer quelle logique de sélection ou
quels éléments fonctionnels ou quels dispositifs de trans-
mission/blocage sont déclenchés pour l'adressage de la
fonction de programmation Le compteur 310 détermine égale-
ment quelle est la porte de validation de sortie qui est adressée,
On va maintenant considérer la figure 7 qui mon-
tre un schéma logique simplifié du réseau logique des figu-
res 1 A, 1 B et 1 C Les dispositifs logiques sont représentés
seulement de façon symbolique-et les diverses lignes de pro-
grammation et de fonction de commande ne sont pas indiquées.
Les références 12, 16, 18, 20, 22, 24, 26 sont ainsi utili-
sées sur la figure 7 pour désigner les éléments fonction-
nels, exactement comme sur la figure l A, du fait qu'on dési-
re identifier l'élément et sa fonction Ainsi, la figure 7 montre le même réseau logique que sur les figures l A, 1 B et
2544523-
1 C, avec huit niveaux de logique et un niveau de sortie,
formant le réseau logique programmable de façon condition-
nelle, 10 La différence-importante sur la figure 7 con-
siste en ce que les paires d'éléments de sortie à deux éta-
ges, représentées sur la figure 1 C, sont simplifiées en
un seul élément de sortie sur la figure 7 Ainsi, les dis-
positifs combinés comprenant une porte de validation de
sortie et un circuit séparateur à trois états, sont indi-
qués sur la figure 7 par les références numériques respec-
tives 82 A, 86 A, etc, jusqu'à 126 A, pour indiquer la cor-
respondance avec les circuits séparateurs à trois états 82, 86, 90, etc, jusqu'à 126, qui sont représentés sur la figure 1 C.
Le réseau logique programmable de façon condi-
tionnelle conforme à l'invention et décrit ci-dessus est conçu dans le but de résoudre l'un-des problèmes qui se posent continuellement en conception logique, à savoir
"l'accaparement" de parties d'un système pour l'accomplis-
sement de fonctions de commande simples Ceci est à dis-
tinguer de fonctions arithmétiques importantes, comme cel-
les d'additionneurs ou de multiplicateurs qui sont habi-
tuellement conçus spécialement Bien que le réseau logi-
que puisse être conçu pour remplir une fonction d'addition ou de multiplication, il aurait de façon caractéristique
une mauvaise efficacité pour de telles fonctions On consi-
dère que le réseau logique est le plus efficace dans la réa-
lisation de fonctions restantes diverses, du genre néces-
saire pour compléter la logique d'un système effectuant des
opérations arithmétiques ou booléennes dans un ordinateur.
Par exemple, si un système d'ordinateur comporte quatre addi-
tionneursà 16 bits séparés, ou même des multiplicateurs, qui
fonctionnent séparément dans un mode à 16 bits, il serait uti-
le d'utiliser un réseau logique programmable de façon condi-
tionnelle pour permettre la réalisation de fonctions logiques et de commande permettant de faire fonctionner en parallèle les
quatre systèmes séparés, dans un mode à 64 bits On n'en-
visage pas l'utilisation du réseau logique pour réaliser entièrement la section de commande d'une unité centrale d'ordinateur Des fonctions microprogrammées spécialisées et des fonctions arithmétiques ou booléennes spécialisées
seraient plus efficaces pour d'aussi grandes structures.
Le réseau logique est au contraire intéressant pour des
fonctions telles que la détection de dépassement de capa-
cité dans une unité arithmétique et logique ou la comman-
de de distribution pour l'utilisation d'un bus à trois états.
On a utilisé dans l'art antérieur des techni-
ques faisant appel à des fusibles pour réaliser des ré-
seaux logiques programmables Il n'existe cependant aucun
moyen utile ou économique pour introduire une logique pro-
grammable du type à fusibles dans des circuits à très haut niveau d'intégration L'invention satisfait un tel besoin
en permettant de disposer de fonctions logiques combina-
toires ou séquentielles qui peuvent être sélectionnées et mélangées par l'utilisateur, grâce à l'emploi de données
de caractérisation.
L'élément fonctionnel de base du réseau logique est un élément fonctionnel tel que l'élément fonctionnel 12, auquel on peut donner une configuration lui permettant de
réaliser n'importé quelle fonction logique de trois entrées.
On connecte ensemble un certain nombre de niveaux ou d'éta-
ges logiques de ces éléments fonctionnels pour former le ré-
seau logique d'ensemble Un premier étage des éléments fonc-
tionnels est connecté aux broches d'entrée et les sorties du
premier étage d'éléments fonctionnels attaquent l'étage d'élé-
ments fonctionnels immédiatement suivant Il y a quatre grou-
pes séparés d'éléments fonctionnels dans le mode de réalisa-
tion de l'invention qui est représenté Il y a quatre ré-
seaux logiques séparés sur une seule puce de circuit à très haut niveau d'intégration et on appelle chaque réseau logique un secteur ou un quadrant, du fait qu'il constitue l'un
des réseaux d'un ensemble de quatre réseaux logiques iden-
tiques Dans chaque quadrant, il y a dans un premier étage
huit éléments fonctionnels qui sont connectés à 24 bro-
ches d'entrée Il y a six éléments fonctionnels dans un second étage logique, quatre éléments fonctionnels dans un
troisième étage logique et, enfin, deux éléments fonction-
nels dans un quatrième étage logique Toutes les sorties fonctionnelles du second étage et des étages suivants sont connectées à des broches de sortie de la puce, outre le fait qu'elles appliquent des signaux de sortie aux étages suivants Ceci signifie qu'un utilisateur peut réaliser jusqu'à six équations logiques de complexité modérée ou
jusqu'à 12 équations logiques à termes mélangés, ou seule-
ment deux équations logiques complexes, en utilisant les
diverses combinaisons d'éléments fonctionnels dans les éta-
ges L'équation la plus complexe qu'on peut programmer dans un réseau logique donné du type représenté sur les figures 1 A, 1 B et 1 C peut englober sept éléments fonctionnels avec
21 broches d'entrée.
A la sortie de chaque élément fonctionnel dans chaque étage, sauf aux sorties du premier étage, se trouve une bascule pouvant être sélectionnée, ou un dispositif de transmission/blocage On peut sélectionner chaque bascule de façon à la faire fonctionner à la manière d'un registre de
blocage pendant un seul cycle, ou pour transmettre les don-
nées directement, sans mémorisation des données et avec un retard minimal Chaque bascule comporte une entrée qui permet
de forcer à zéro toutes les bascules sous la commande du sys-
tème, pour le test.
A chaque broche de sortie de la puce est associé un élément de sortie qui commande la ligne de commande des
trois états de chaque circuit séparateur de broche de sortie.
Un utilisateur peut forcer la broche de sortie de façon qu'elle
soit validée en permanence, c'est-à-dire que la sortie de don-
nées n'est jamais mise hors fonction, et il peut égale-
ment valider une broche de sortie associée à chacun des quatre quadrants pour commander la ligne de commande des
trois états de chaque broche de sortie d'un-quadrant.
Chaque élément fonctionnel, comme l'élément fonctionnel 12, contient un multiplexeur du type 8-1 qui est attaqué par huit bascules de mémorisation et par trois
entrées de sélection A, B et C, qui sont décodées-pour sé-
lectionner l'état d'une bascule pour la transmission à la sortie du multiplexeur Les huit bascules de données sont
positionnées et mises à zéro pour réaliser la fonction lo-
gique désirée des entrées A, B, C Les huit bascules de données forment une table de vérité complète pour trois
entrées, ce qui permet de réaliser n'importe quelle fonc-
tion logique de trois bits en positionnant et en mettant à zéro les bascules de données nécessaires A titre d'exemple simple, on obtient FD=A*B*C en mettant à zéro toutes les bascules de données, sauf celle qui est associée à 57, qui est positionnée Plusieurs méthodes logiques bien connues permettent de trouver aisément la table de vérité pour
n'importe quelle fonction logique exigée.
Toutes les bascules sont initialisées par des
circuits commandés par le circuit de commande qui est repré-
senté sur la figure 6 Toutes les bascules sont mises à zéro
au même instant, puis elles sont positionnées conditionnelle-
ment et séquentiellement par des données qui arrivent sur
l'entrée 304 Dans chaque élément fonctionnel, le bit de bas-
cule zéro est échantillonné en premier, puis les bits de bas-
cule sont échantillonnés dans l'ordre, avec le bit de bascule
7 apparaissant en dernier.
Le dispositif de transmission/blocage 40, repré-
senté sur la figure 3, est un multiplexeur 3-1 qui est com-
mandé par un bit de bascule qui est identique à celui de 1 ' élément de bascule 220 dans l'élément fonctionnel 12 Les
éléments de bascule sont également commandés de la même maniè-
2544523-
re sous la dépendance des fonctions de commande du systè-
me qu'exerce le circuit de commande de la figure 6 Si l'élément debascule est mis à zéro, les données d'entrée
provenant de l'élément fonctionnel d'attaque sont transmi-
ses directement vers la sortie du multiplexeur, et ensuite
vers la broche de sortie et des éléments fonctionnels sui-
vants, s'il y en a Dans ce cas, les données sont inver-
sées On doit tenir compte de ceci lorsqu'on écrit les
équations logiques d'étages successifs d'éléments fonction-
nels Si l'élément de bascule est positionné, la sortie de
la bascule 222 est connectée à la sortie du multiplexeur.
On notera que dans ce cas, les données ne sont pas inver-
sées entre l'entrée et la sortie, comme dans le cas de la transmission directe Ce changement d'inversion entre le mode de bascule et le mode de transmission ne crée aucun
problème, du fait que la bascule de données est un disposi-
tif dans lequel l'écriture n'a lieu qu'une seule fois, au
moment de la mise sous tension Elle ne peut donc pas chan-
ger pendant l'utilisation On peut tenir compte du fait que
les données sont inversées en produisant le complément logi-
que de la fonction logique exigée, dans l'élément fonction-
nel qui attaque l'entrée particulière.
La bascule 222 reçoit continuellement un signal d'horloge, sans transmission sélective par une porte Ceci
signifie que pour construire des circuits séquentiels, la sor-
tie d'un élément fonctionnel doit être ramenée sur une entrée de la puce, en tant que signal d'entrée pour les équations logiques de définition La bascule comporte une entrée de restauration qui reçoit un signal provenant du dispositif de commande représenté sur la figure 6, qu'on peut utiliser pour initialiser les bascules, pour l'utilisation ou le test La porte de validation de sortie 80, représentée sur la figure 4,
est connectée à la ligne de commande des trois états de cha-
que broche de sortie fonctionnelle La validation de sortie
comporte trois modes de fonctionnement différents.
Dans le premier mode de validation de sortie, si un bit de données d'enregistrement est positionné, la ligne de commande respective pour les trois états est maintenue à l'état haut avec la sortie validée, avec une exception qui consiste en ce que la broche de sortie peut être forcée à l'état inactif par le bus d'invalidation de sortie. La seconde condition opérationnelle consiste en
ce que si le bit de données est mis à zéro, la broche d'en-
trée/sortie qui est commune à chaque dispositif de valida-
tion de sortie dans un quadrant peut commander la ligne de commande des trois états Un niveau haut sur cette broche
valide tous les circuits séparateurs de sortie et le qua-
drant de réseau logique correspondant, à l'exception du fait que le bus d'invalidation de sortie peut à nouveau
exercer une action prioritaire sur la ligne de validation.
Le troisième mode de fonctionnement consiste en ce que chaque sortie dans un quadrant peut être forcée à l'état actif, c'est-à-dire que la sortie est validée, par un bit de fonction contenu dans le registre du système de commande 281 qui est représenté sur la figure 5 Il y a
ainsi quatre bits de commande individuels Bien qu'on pré-
voie que cette facilité sera normalement utilisée pour la
maintenance, rien n'interdit son utilisation dans le fonc-
* tionnement du système Le circuit de commande représenté sur
la figure 6 fait partie intégrante du réseau logique pro-
grammable de façon conditionnelle et il assure l'initialisa-
tion avec des données de caractérisation ou de test Ceci
vient du fait que le réseau logique n'a aucune fonction jus-
qu'à ce que le circuit de commande charge les bascules de données qui décrivent la fonction logique sélectionnée On charge les bascules de données qui réalisent les fonctions logiques exigées en mettant tout d'abord à zéro toutes les
bascules de données dans tous les quadrants, puis en posi-
tionnant individuellement chaque bascule, si nécessaire, avec
les données qui proviennent de l'entrée de données de test.
Il existe sur la puce un compteur de bits qui compte de
zéro à sept-cent-soixante-sept Sur les sept-cert-soixante-
huit états de comptage, 736 correspondent à des bascules de bit, soit 184 bascules dans chaque quadrants-plus huit
états de comptage supplémentaires Chaque bascule de fonc-
tion est positionnée si le bit d'entrée de données de test
est un " 1 ", et le compteur est ensuite incrémenté Ce comp-
teur est simplement incrémenté d'une unité si le bit d'en-
trée est un "zéro" Les descriptions des bits de fonctions
pour les fonctions de commande sont les suivantes: la fonction ECRITF est active si le bit un du registre de
commande est positionné lorsqu'une broche d'entrée d'échan-
tillonnage de test est active La fonction ECRIT Fdoit être
active pour valider l'écriture des bascules de description
de fonction On peut positionner ECRITF dans le même mot de commande que INITF et ZEROF Lorsque ECRITF est active et lorsque la broche d'entrée de validation d'horloge de test est à l'état haut, l'état de la broche d'entrée de
données de test est écrit dans la bascule courante adres-
sée.
La fonction INITF est activée si le bit 2 du re-
gistre de commande est positionné lorsque la broche d'en-
trée d'échantillonnage de test est active INITF accomplit deux fonctions: 1) elle met à zéro les compteurs d'adresse
qui sélectionnent des bits de bascule de fonction indivi-
duels, et 2) elle met également à zéro toutes les bascules inter-étages dans l'ensemble des quatre quadrants de réseaux
logiques INITF est une fonction du genre "monostable", c'est-
à-dire qu'elle n'est active que pendant une période d'horloge sur le front avant correspondant au passage à l'état actif du
signal d'échantillonnage de test Ceci signifie que cette fonc-
tion peut être dans le même mot de commande de fonction que ECRITF, pour simplifier les séquences de commande exigées
dans le but d'écrire dans les bascules de description de fonc-
tion On effectue ceci en maintenant à l'état bas ou inac-
tif la ligne de commande de validation d'horloge de test lorsqu'on fait passer le signal d'échantillonnage de test à l'état haut Après un retard d'au moins deux cycles d'horloge, on peut faire passer le signal de validation
d'horloge de test à l'état haut et écrire dans les bascu-
les de description.
La fonction ZEROF est activée si le bit 3 du registre de commande est positionné lorsque la broche d'entrée d'échantillonnage de test est active ZEROF met
à zéro toutes les bascules de description de fonction dans
tous les quadrants On doit effectuer ceci au moment de la mise sous tension, lorsqu'on écr it pour la première fois dans le réseau logique, et on peut l'effectuer à d' autres moments pour changer la fonction de la puce ZEROF n'est pas nécessaire s'il faut remplacer par un "un" le
contenu d'une bascule de description qui contient un
"zéro" On utilise une fonction ECRITF/INITF avec un
train de données comportant des zéro dans toutes les po-
sitions, sauf aux positions de changement exigées, qui
contiennent des uns ZEROF est une fonction du genre "monos-
table" dans la mesure o elle n'est active que pendant un
cycle d'horloge sur le front avant d'un signal d'échantil-
lonnage de test devenant actif Ceci signifie que cette fonction peut être incorporée dans le même mot de commande
de fonction que ECRITF pour fournir les séquences de com-
mandes exigées dans le but d'écrire dans les bascules de
description de fonction On effectue ceci en maintenant à
l'état bas le signal de validation d'horloge de test pen-
dant qu'on fait passer à l'état haut le signal d'échan'til-
lonnage de test Après un-retard d'au moins deux cycles d'horloge, on peut faire passer à l'état haut le signal de
validation d'horloge de test et on peut écrire dans les bas-
cules de description.
Les quatre fonctions FORCEF O à FORCEF 3, repré-
sentant respectivement les bits 4, 5, 6 et 7 du registre du système de commande 281, forcent à l'état actif toutes les broches de sortie dans les quadrants respectifs Cette fonction exerce une action prioritaire par rapport à l'état de la broche de validation de sortie, à l'état du bus d'in-
validation de sortie et à l'état de toute bascule de des-
cription de fonction dans les portes de validation de sor-
tie Bien qu'on prévoit que ces bits de fonction seront
utilisés essentiellement pour des diagnostics, on peut éga-
lement les utiliser pendant le fonctionnement normal du système Les quatre bits sont chargés dans un registre de
blocage statique sur un front avant d'un signal de valida-
tion d'horloge de test.
La fonction BLOCF est active si le bit 8 du re-
gistre du système de commande est actif lorsque le signal
d'entrée d'échantillonnage de test est actif BLOOF inva-
lide toutes les broches de sortie dans tous les quadrants.
Cette fonction exerce une action prioritaire sur les bro-
ches de validation de-sortie et'sur l'état de toute bas-
cule de description de fonction, dans n'importe quel dispo-
sitif de validation de sortie BLOCF force le bus d'invali-
dation de sortie dans le mode d'invalidation BLOCF n'exer-
ce pas une action prioritaire sur une fonction FORCEF ac-
tive quelconque.
Le réseau logique conforme à l'invention et dé-
crit ci-dessus possède plusieurs caractéristiques souhaita-
bles Premièrement, on donne au réseau logique la configura-
tion qui correspond à la fonction qui est accomplie Si le composant ou le réseau est déplacé d'un emplacement dans le
système vers un autre emplacement, il met en oeuvre les équa-
tions logiques pour le nouvel emplacement en ne nécessitant aucun changement physique Le retard d'un signal logique dans le composant est proportionnel à la complexité de l'équation logique qui est mise en oeuvre On peut réaliser plusieurs
équations simples, ou un nombre plus ou moins grand d'équa-
tions complexes, ce qui offre une souplesse supplémentai-
re au concepteur logique Le réseau logique permet de réa-
liser des fonctions variables portant sur un ensemble fixe
d'entrées, contrairement aux configurations de l'art anté-
rieur permettant de réaliser des équations fixes portant sur des entrées variables Les bascules, qui font partie du chemin logique, peuvent être utilisées pour réaliser des équations d'état, ou bien elles peuvent être mises
hors fonction pour réaliser un circuit logique combinatoi-
re.
Le premier étage d'éléments fonctionnels atta-
que le second étage d'éléments fonctionnels Chaque élé-
ment fonctionnel individuel du second étage peut alors at-
taquer sa propre broche de sortie ou bien il peut attaquer le troisième étage d'éléments fonctionnels qui attaque des
broches de sortie Le troisième étage peut à son tour atta-
quer le quatrième étage d'éléments fonctionnels Du fait
de cette interconnexion, toutes les sorties du second ni-
veau du réseau logique peuvent être actives, ce qui fait que le réseau logique est capable de résoudre jusqu'à six
équations modérément complexes Lorsque de grandes équa-
tions deviennent de plus en plus complexes, on peut utili-
ser les troisième et quatrième étages d'éléments fonction-
nels pour incorporer dans l'équation logique des exprès-
sions de plus en plus longues correspondant aux premier et second niveaux, et résoudre ainsi des équations logiques de
plus en plus complexes.
On peut utiliser simultanément les deux types de
solutions logiques En d'autres termes, des équations logi-
ques simples peuvent donner des signaux qui peuvent égale-
ment être incorporés dans des équations logiques plus com-
plexes Les sorties des second et troisième niveaux peuvent être actives en même temps que les sorties des troisième et quatrième niveaux, ce qui permet de produire simultanément des fonctions logiques simples et complexes En choisissant l'état des dispositifs de transmission/blocage, de façon
qu'ils bloquent ou transmettent les données, on peut fai-
re en sorte que certaines équations logiques soient des équations d'état et que d'autres équations logiques soient des équations purement combinatoires Il va de soi que de nombreuses modifications peuvent être apportées au dispositif décrit et représenté,
sans sortir du cadre de l'invention.

Claims (11)

REVENDICATIONS
1 Réseau logique programmable de façon condi-
tionnelle, caractérisé en ce qu'il comprend: un ensemble
d'étages logiques, chacun d'eux comportant des entrées lo-
giques et des sorties-logiques qui correspondent à une
fonction prédéterminée de l'entrée, chaque étage étant for-
mé par des éléments fonctionnels ( 12, 14, 16, etc), chaque élément fonctionnel comportant des entrées connectées de façon à recevoir des signaux d'entrée de données, et des sorties de données qui représentent des équations logiques
des signaux d'entrée de données, chaque élément fonction-
nel comportant un ensemble d'entrée connectées à au moins une sortie, de façon que la sortie puisse correspondre à n'importe quelle fonction logique des entrées, et chacun de ces éléments fonctionnels comportant un ensemble de bascules ( 202, 204, etc) en nombre équivalent au nombre
d'états de sortie possibles, pour conserver une indica-
tion logique prédéterminée de l'état de sortie associé cor-
respondant à la fonction logique qui est mise en oeuvre;
un ensemble d'étages de dispositifs de transmission à bas-
cule ( 40, 42, etc) ayant des entrées connectées de façon
à recevoir les signaux de sortie de l'un des étages logi-
ques, et des sorties connectées aux entrées d'un autre des étages logiques et à la sortie du réseau logique, chacun des dispositifs de transmission pouvant inverser une condition logique et transmettre cette condition sans aucun retards ou bien mémoriser une condition logique jusqu'à sa libération, sous la dépendance d'une fonction logique prédéterminée à
réaliser; et des moyens de commande ( 300) destinés à posi-
tionner tous les éléments fonctionnels et les dispositifs de
transmission pour réaliser une fonction logique prédéterminée.
2 Réseau logique selon la revendication 1, carac-
térisé en ce qu'il comprend: un premier étage logique de huit éléments fonctionnels ( 12 à 26) connectés de façon à recevoir des signaux d'entrée de données; un second étage logique de six éléments fonctionnels ( 28 à 38) connectés aux sorties
du premier étage logique; un troisième étage de six dis-
positifs de transmission à bascule ( 40 à 50) connectés aux sorties du second étage logique; un quatrième étage logique de quatre éléments fonctionnels ( 52 à 58) connec-
tés aux sorties du troisième étage logique; un cinquiè-
me étage de quatre dispositifs de transmission à bascule
( 60 à 66) connectés aux sorties du quatrième étage logi-
que; un sixième étage logique de deux éléments fonction-
nels ( 68, 70) connectés aux sorties du cinquième étage un septième étage de deux dispositifs de transmission à bascule ( 72, 74) connectés aux sorties du sixième étage
logique; et un huitième étage de douze portes de valida-
tion de sortie ( 80 à 124) connectées aux sorties des troi-
sième, cinquième et septième étages.
3 Réseau logique selon la revendication 2, ca-
ractérisé en ce que la sortie de chaque porte de valida-
tion de sortie ( 80 à 124) peut, pendant le fonctionnement, être forcée à l'état haut, bas ou flottant dans un premier mode, ou bien elle peut présenter en tant que signal de sortie la fonction prédéterminée de l'entrée, dans un autre
mode de fonctionnement.
4 Réseau logique selon l'une quelconque des re-
vendications 2 ou 3, caractérisé en ce que chaque élément fonctionnel comporte trois entrées de données, huit entrées
de commande logique et une sortie.
Réseau logique selon la revendication 4, carac-
térisé en ce que chaque élément fonctionnel comprend un mul-
tiplexeur du type huit-un ( 200) et huit circuits de porte ET/
bascule RS ( 202 à 216) connectés aux entrées du multiplexeur.
6 Réseau logique programmable de façon condi-.
tionnelle, caractérisé en ce qu'il comprend: un premier éta-
ge logique d'éléments fonctionnels ( 12 à 26), chacun d'eux produisant des signaux de sortie fonctionnels qui sont des fonctions logiques prédéterminées des signaux d'entrée; un second étage d'éléments fonctionnels ( 28 à 38) connectés au premier étage, chacun d'eux produisant des signaux de
sortie logiques fonctionnels qui sont des fonctions logi-
ques prédéterminées des signaux d'entrée; un troisième éta-
ge consistant en dispositifs de transmission à bascule ( 40 à 50) connectés au second étage de façon à remplir une fonction de transmission non retardée, avec inversion, ou une fonction de mémorisation, sous la dépendance d'une
fonction prédéterminée; un quatrième étage d'éléments fonc-
tionnels ( 52 à 58) connectés de façon à recevoir des si-
gnaux d'entrée provenant du troisième étage de dispositifs de transmission, chacun d'eux produisant des signaux de
sortie logiques fonctionnels qui sont des fonctions logi-
ques prédéterminées des signaux d'entrée; un cinquième éta-
ge consistant en dispositifs de transmission à bascule ( 60
à 66) connectés au quatrième étage pour accomplir une fonc-
tion de transmission retardée avec inversion, ou une fonc-
tion de mémorisation, sous la dépendance d'une fonction pré-
déterminée; un sixième étage d'éléments fonctionnels ( 68,
70) connectés de façon à recevoir des signaux d'entrée pro-
venant du quatrième étage de dispositifs de transmission,
chacun d'eux produisant des signaux de sortie logiques fonc-
tionnels qui sont des fonctions logiques prédéterminées des entrées; un septième étage de dispositifs de transmission à bascule ( 72, 74) connectés de façon à recevoir des signaux
d'entrée de données provenant du sixième étage, pour accom-
plir une fonction de transmission non retardée avec inversion, ou une fonction de mémorisation, sous la dépendance d'une fonction prédéterminée; un étage de validation de sortie ( 80 à 124) connecté de façon à recevoir des signaux d'entrée
provenant des troisième, cinquième et septième étages de dis-
positifs de transmission, pour fournir un signal de sortie de données pour le réseau logique; et des moyens de commande ( 300) connectés à tous les éléments fonctionnels et à tous
les dispositifs de transmission, pour commander le réseau lo-
gique et pour lui appliquer des signaux d'horloge, ainsi que pour appliquer des signaux d'entrée de mémorisation destinés à positionner tous les éléments fonctionnels et les dispositifs de transmission à bascule, pour réaliser une fonction logique prédéterminée.
7 Réseau logique selon la revendication 6, ca-
ractérisé en ce que chaque élément fonctionnel comporte
trois entrées de données, huit entrées de commande logi-
que et une sortie de données, et il est formé par un mul-
tiplexeur du type huit-un ( 200) et par huit circuits de porte ET/bascule RS ( 202 à 216) qui attaquent les entrées
du multiplexeur.
8 Réseau logique programmable caractérisé en
ce qu'il comprend un ensemble de secteurs logiques, cha-
que secteur comprenant: des entrées et des sorties logi-
ques indépendantes des autres secteurs; un ensemble d'éta-
ges logiques, chaque étage logique étant formé par des élé-
ments fonctionnels ( 12, 14, 16, etc), dans lesquels les entrées de chaque étage logique sont connectées de façon à recevoir des signaux d'entrée de données et chaque étage
logique produit des signaux de sortie de données qui repré-
sentent des fonctions logiques des signaux d'entrée de don-
nées, chaque élément fonctionnel comportant un ensemble d'entrées connectées à au moins une sortie, de façon que la sortie puisse correspondre à n'importe quelle fonction logique des entrées, ces éléments fonctionnels comprenant
un ensemble de bascules ( 202, 204, etc) en nombre équiva-
lent au nombre d'états de sortie possible, pour conserver
une indication logique de l'état de sortie associé qui cor-
respond à la fonction logique réalisée; et un ensemble d'éta-
ges de dispositifs de transmission à bascule ( 40, 42, etc) ayant des entrées connectées de façon à recevoir des signaux
de sortie de l'un des étages logiques, et des sorties connec-
tées aux entrées d'un autre des étages logiques et à la sor-
tie du secteur, chacun de ces dispositifs pouvant inverser une condition logique et transmettre cette condition sans
aucun retard, ou bien mémoriser une condition logique Jus-
qu'à sa libération, sous la dépendance d'une fonction lc-
gique prédéterminée à réaliser, et des moyens de commande ( 300) pour tous les secteurs, destinés à positionner tous
les éléments fonctionnels et tous les dispositifs de trans-
mission, pour réaliser des fonctions logiques prédétermi-
nées dans chaque secteur.
9 Réseau logique selon la revendication 8, ca-
ractérisé en ce que chaque secteur comprend un premier étage d'éléments logiques ( 12 à 26) connectés de façqn à
recevoir des signaux d'entrée de données appliqués au sys-
tème, et comportant des entrées destinées à recevoir un premier ensemble de signaux logiques, pour positionner
les bascules du premier étage d'éléments logiques; un se-
cond étage d'éléments logiques ( 28 à 38) connectés au pre-
mier étage d'éléments logiques, consistant en éléments fonctionnels et ayant des entrées destinées à recevoir un second ensemble de signaux logiques pour positionner les bascules du second étage d'éléments logiques; un troisième étage de dispositifs de transmission à bascule ( 40 à 50) comportant des entrées destinées à recevoir un troisième ensemble de signaux logiques pour positionner les bascules
du troisième étage de dispositifs de transmission; un qua-
trième étage d'éléments logiques ( 52 à 58) connectés de fa-
çon à recevoir des signaux d'entrée provenant du troisième étage de dispositifs de transmission et ayant des entrées
destinées à recevoir un quatrième ensemble de signaux logi-
ques, pour positionner les bascules des éléments logiques; un cinquième étage de dispositifs de transmission à bascule ( 60 à 66) connectés de façon à recevoir des signaux d'entrée provenant du quatrième étage d'éléments logiques et ayant des entrées destinées à recevoir un cinquième ensemble de signaux logiques pour positionner les bascules du cinquième
étage de dispositifs de transmission; un sixième étage d'élé-
-32 ments logiques ( 68 à 70) connectés de façon à recevoir des signaux d'entrée de données provenant du cinquième étage de dispositifs de transmission et ayant des entrées
destinées à recevoir un sixième ensemble de signaux logi-
ques, pour positionner les bascules du sixième étage d'élé- ments fonctionnels; un septième étage de dispositifs de
transmission à bascule ( 72, 74) connectés de façon à re-
cevoir des signaux d'entrée de données provenant du si-
xième étage d'éléments logiques et ayant des entrées des-
tinées à recevoir un septième ensemble de signaux logiques, pour positionner les bascules du septième étage d'éléments
fonctionnels; et un huitième étage de portes de valida-
tion de sortie ( 80 à 124) connectées de façon à recevoir des signaux d'entrée provenant des troisième, cinquième et septième étages de dispositifs de transmission à bascule, pour produire un signal de sortie de données pour le réseau logique, et comportant des entrées qui sont destinées à recevoir un huitième ensemble de signaux logiques, pour
positionner les bascules des portes de validation de sor-
tie.
Réseau logique selon la revendication 9, ca-
ractérisé en ce que chaque élément fonctionnel comporte trois entrées de données, huit entrées de commande logique et une sortie de données, et il est constitué par un multiplexeur
du type huit-un ( 200) et par huit circuits de porte ET/bas-
cule RS ( 202 à 216) qui attaquent les entrées du multiple-
xeur.
11 Réseau logique programmable de façon condi-
tionnelle destiné à la réalisation d'une fonction logique présélectionnée à partir d'une fonction d'entrée de données,
caractérisé en ce qu'il comprend: un premier étage d'élé-
ments logiques, chacun de ces éléments logiques consistant en éléments fonctionnels ( 12 à 26) ayant un ensemble de lignes
de réception de signaux d'entrée de données, au moins une li-
gne de sortie de données et des moyens pour recevoir et mé-
moriser des signaux de commande représentatifs de la fonction à réaliser, connectés de façon à recevoir des signaux d'entrée de données appliqués au système, et un
premier ensemble de signaux logiques destinés à position-
ner les bascules du premier étage d'éléments logiques; un second étage d'éléments logiques ( 28 à 38) connectés au premier étage d'éléments logiques, consistant en éléments fonctionnels, chacun d'eux ayant un ensemble de lignes de
réception de signaux d'entrée de données qui sont connec-
tées au premier étage, au moins une ligne de sortie de
données et des moyens pour recevoir et mémoriser des si-
gnaux de commande représentatifs de la fonction à réali-
ser, connectés de façon à recevoir des signaux d'entrée de données appliqués au second étage, et un second ensemble de signaux logiques destinés à positionner les bascules du second étage d'éléments logiques; un troisième étage
d'éléments logiques connectés au second étage et consis-
tant en dispositifs de transmission à bascule ( 40 à 50)
comportant des moyens pour recevoir et mémoriser un troi-
sième ensemble de signaux logiques, afin de commander la
fonction qui est réalisée par les dispositifs de transmis-
sion; un quatrième étage d'éléments logiques ( 52 à 58),
chacun de ces éléments logiques consistant en éléments fonc-
tionnels, chacun d'eux ayant un ensemble de lignes de ré-
ception de signaux d'entrée de données, au moins une ligne
de sortie de données et des moyens pour recevoir et mémori-
ser des signaux de commande représentatifs de la fonction à réaliser, connectés de façon à recevoir des signaux d'entrée provenant du troisième étage de dispositifs de transmission, et ayant des moyens destinés à recevoir et à mémoriser un quatrième ensemble de signaux logiques, pour positionner les
bascules des éléments fonctionnels afin de réaliser la fonc-
tion logique prédéterminée; un cinquième étage d'éléments lo-
giques connectés au quatrième étage et consistant en disposi-
tifs de transmission à bascule ( 60 à 66), ayant des moyens
-44523
destinés à recevoir et à mémoriser un cinquième ensemble de signaux logiques pour commander la fonction qui est
réalisée par les dispositifs de transmission; un sixiè-
me étage d'éléments logiques ( 68 à 70) consistant en élé-
ments fonctionnels connectés au cinquième étage, chacun d'eux comportant un ensemble de lignes de réception de signaux d'entrée de données, au moins une ligne de sortie
de données et des moyens destinés à recevoir et à mémori-
ser des signaux de commande représentatifs de la fonction
à réaliser, connectés de façon à recevoir des signaux d'en-
trée de données provenant du cinquième étage de dispositifs de transmission, et ayant des moyens destinés à -recevoir un sixième ensemble de signaux logiques, pour positionner les bascules des éléments fonctionnels afin de réaliser les fonctions logiques prédéterminées; un septième étage
d'éléments logiques connectés au sixième étage et consis-
tant en dispositifs de transmission ( 72, 74), chacun d'eux comportant un ensemble de lignes de réception de signaux
d'entrée de données, au moins une ligne de sortie de don-
nées et des moyens destinés à recevoir et à mémoriser des
signaux de commande représentatifs de la fonction prédéter-
minée à réaliser; et un étage de validation de sortie ( 80 à 124) connecté de façon à recevoir des signaux d'entrée
provenant des troisième, cinquième et septième étage de dis-
positifs de transmission, pour fournir un signal de sortie
de données pour le réseau logique.
12 Réseau logique selon la revendication 11, ca-
ractérisé en ce que chaque élément fonctionnel comporte trois entrées de données, huit entrées de commande logique et une sortie de données, et il est constitué par un multiplexeur du type huit-un ( 200) et par huit circuits de porte ET/bascule
RS ( 202 à 216) qui attaquent les entrées du multiplexeur.
13 Réseau logique selon l'une quelconque des re-
vendications 1 i ou 12, caractérisé en ce qu'il comprend en outre des moyens de commande ( 300) destinés à produire un
train série de signaux de commande destiné à être appli-
qué à l'entrée de toutes les bascules des éléments fonc-
tionnels, et un train de signaux de commande de position-
nement de bascule, destiné à charger le signal de commande de bascule approprié dans la bascule appropriée. 14 Réseau logique selon l'une quelconque des
revendications 11 à 13, caractérisé en ce qu'il comprend
des moyens de commande d'horloge ( 302) destinés à comman-
der la transmission des signaux de commande appropriés vers les éléments fonctionnels appropriés, dans l'ordre des étages logiques, pendant le fonctionnement du réseau logique. Réseau logique selon l'une quelconque des
revendications 11 à 14, caractérisé en ce qu'il comprend
un compteur ( 310) qui est incrémenté à la réception de si-
gnaux de commande individuels dans le train de données sé-
rie d'entrée, et le compte de sortie de ce compteur com-
mande l'adressage des éléments fonctionnels.
FR8403857A 1983-04-14 1984-03-13 Reseau logique programmable de facon conditionnelle Expired - Fee Related FR2544523B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US48508083A 1983-04-14 1983-04-14

Publications (2)

Publication Number Publication Date
FR2544523A1 true FR2544523A1 (fr) 1984-10-19
FR2544523B1 FR2544523B1 (fr) 1990-02-09

Family

ID=23926845

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8403857A Expired - Fee Related FR2544523B1 (fr) 1983-04-14 1984-03-13 Reseau logique programmable de facon conditionnelle

Country Status (6)

Country Link
JP (1) JPS59200526A (fr)
AU (1) AU567538B2 (fr)
CA (1) CA1206534A (fr)
DE (1) DE3342354A1 (fr)
FR (1) FR2544523B1 (fr)
GB (2) GB2171826B (fr)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4551814A (en) * 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures
US4551815A (en) * 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures with logic selection means
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
GB2171231B (en) * 1985-02-14 1989-11-01 Intel Corp Software programmable logic array
US5023775A (en) * 1985-02-14 1991-06-11 Intel Corporation Software programmable logic array utilizing "and" and "or" gates
US4706216A (en) 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
GB2202355B (en) * 1985-02-27 1989-10-11 Xilinx Inc Configurable storage circuit
AU614426B2 (en) * 1988-08-31 1991-08-29 Fujitsu Limited Constitution for expanding logic scale of a programmable logic array
GB8828828D0 (en) * 1988-12-09 1989-01-18 Pilkington Micro Electronics Semiconductor integrated circuit
IT1225638B (it) * 1988-12-28 1990-11-22 Sgs Thomson Microelectronics Dispositivo logico integrato come una rete di maglie di memorie distribuite
US5198705A (en) 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5936426A (en) 1997-02-03 1999-08-10 Actel Corporation Logic function module for field programmable array

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3912914A (en) * 1972-12-26 1975-10-14 Bell Telephone Labor Inc Programmable switching array
US4157589A (en) * 1977-09-09 1979-06-05 Gte Laboratories Incorporated Arithmetic logic apparatus
EP0031431A2 (fr) * 1979-12-26 1981-07-08 International Business Machines Corporation Réseau logique séquentiel programmable

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3912914A (en) * 1972-12-26 1975-10-14 Bell Telephone Labor Inc Programmable switching array
US4157589A (en) * 1977-09-09 1979-06-05 Gte Laboratories Incorporated Arithmetic logic apparatus
EP0031431A2 (fr) * 1979-12-26 1981-07-08 International Business Machines Corporation Réseau logique séquentiel programmable

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 21, no. 6, novembre 1978, pages 2474-2475, New York, US; F.E. SAKALAY: "Programmable boolean function generator" *
L'ONDE ELECTRIQUE, vol. 59, no. 11, novembre 1979, pages 81-86, Paris, FR; Z. LOTFI et al.: "Utilisation de multiplexeurs pour la réalisation de fonctions logiques" *

Also Published As

Publication number Publication date
CA1206534A (fr) 1986-06-24
AU567538B2 (en) 1987-11-26
GB2171826B (en) 1987-07-22
FR2544523B1 (fr) 1990-02-09
GB2171826A (en) 1986-09-03
DE3342354A1 (de) 1984-10-18
GB8401927D0 (en) 1984-02-29
GB2138188A (en) 1984-10-17
AU2420384A (en) 1984-10-18
JPS59200526A (ja) 1984-11-13
GB8605831D0 (en) 1986-04-16
GB2138188B (en) 1987-07-22

Similar Documents

Publication Publication Date Title
EP3660849B1 (fr) Circuit mémoire adapté à mettre en oeuvre des opérations de calcul
EP0712072B1 (fr) Procédé de mise en oeuvre de réduction modulaire selon la méthode de Montgomery
EP0104293B1 (fr) Dispositif pour le chargement et la lecture de différentes chaînes de bascules dans un système de traitement de données
FR2544523A1 (fr) Reseau logique programmable de facon conditionnelle
FR2522232A1 (fr) Dispositif de traitement de signaux numeriques
EP0558125B1 (fr) Processeur neuronal à cellules synaptiques reparties
BE897441A (fr) Calculateur associatif permettant une multiplication rapide
FR2513407A1 (fr) Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun
BE897586A (fr) Circuit parallele de controle de redondance cyclique
EP0578540B1 (fr) Procédé pour tester le fonctionnement d'un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant
FR2593652A1 (fr) Reseau logique programmable a logique dynamique a horloge unique.
EP0006478B1 (fr) Dispositif programmable de verrouillage de signaux de commande dans un système de traitement de données
EP0020202A1 (fr) Système multiprocesseur de traitement de signal
EP0490738B1 (fr) Circuit intégré avec contrÔleur de test périphérique
EP0683454B1 (fr) Procédé pour tester le déroulement d'un programme d'instructions
FR2491654A1 (fr) Appareil de commande par microprogramme
EP0051525B1 (fr) Réseau logique intégré à programmation électrique simplifiée
FR2508669A1 (fr) Dispositif logique programmable de prise, traitement et transmission de donnees
EP0171856A1 (fr) Processeur pour le traitement de signal et structure de multitraitement hiérarchisée comportant au moins un tel processeur
EP1803061B1 (fr) Systeme de processeur parallele reconfigurable, modulaire et hierarchique
FR2601531A1 (fr) Generateur de sequence de registre a decalage
EP0638904B1 (fr) Mémoire à double accès
EP0809255B1 (fr) Cellule pour registre à décalage
FR2595474A1 (fr) Dispositif de controle et de verification du fonctionnement de blocs internes a un circuit integre
FR3064136A1 (fr) Ligne a retard configurable

Legal Events

Date Code Title Description
ST Notification of lapse