DE19945451C2 - Digitale Schaltung zum Zählen gleicher Signale in einem Datenwort - Google Patents
Digitale Schaltung zum Zählen gleicher Signale in einem DatenwortInfo
- Publication number
- DE19945451C2 DE19945451C2 DE19945451A DE19945451A DE19945451C2 DE 19945451 C2 DE19945451 C2 DE 19945451C2 DE 19945451 A DE19945451 A DE 19945451A DE 19945451 A DE19945451 A DE 19945451A DE 19945451 C2 DE19945451 C2 DE 19945451C2
- Authority
- DE
- Germany
- Prior art keywords
- transmission gates
- signal
- series
- active
- active outputs
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/20—Conversion to or from n-out-of-m codes
- H03M7/22—Conversion to or from n-out-of-m codes to or from one-out-of-m codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Dc Digital Transmission (AREA)
- Logic Circuits (AREA)
Description
Die vorliegende Erfindung bezieht sich allgemein auf das Ge
biet digitaler Schaltungen und spezieller auf ein System und
ein Verfahren zum Zählen der Anzahl von entweder Einsen oder
Nullen in einem Datenwort.
Daten werden in digitalen Computerprozessoren in binärer
Form gespeichert und gehandhabt. Binäre Daten bestehen aus
einer Reihe von Stellen, entweder Nullen oder Einsen, die
Zahlen in dem binären, oder Basis-2-, Zahlensystem darstel
len. Binäre Daten sind allgemein in Datenworte, Zahlen, die
verschiedene Längen, beispielsweise acht Stellen oder Bits,
aufweisen können, unterteilt. Typische Längen für Datenworte
in digitalen Computern umfassen 4, 8, 16, 32, 64 oder 128
Bit.
Binäre Daten werden häufig verwürfelt oder verschlüsselt, um
dieselben sicher und privat zu halten. Ein Datenverschlüsse
lungsalgorithmus wird bezüglich der Zieldaten angewendet, um
die Daten in eine unlesbare Form zu verwürfeln. Die ver
schlüsselten Daten können dann nur durch jemanden wiederge
wonnen werden, der einen Schlüssel oder eine Zahl, die er
möglicht, daß ein Entschlüsselungsalgorithmus die Daten ent
würfelt, besitzt. Beispielsweise können Finanzinformationen,
die durch Banken in Computern gespeichert werden, verschlüs
selt werden, um Schutz davor zu bieten, daß Kontoinhaberin
formationen verfälscht werden. Kommerzielle Transaktionen,
die über E-Mail oder durch das Internet ausgeführt werden,
können verschlüsselt sein. Digitale Mobiltelephonanrufe kön
nen verschlüsselt werden, um die Privatsphäre der Anrufer zu
schützen. Da digitale Daten mit zunehmender Verbreitung ver
wendet werden, wird eine Verschlüsselung wichtiger.
Die Geschwindigkeit ist für Verschlüsselungsalgorithmen sehr
wichtig. Verschlüsselungsalgorithmen umfassen komplexe ma
thematische Gleichungen, die langsam und komplex sein kön
nen. Allgemein gilt, daß der verwendeten Verschlüsselungsal
gorithmus um so langsamer ist, je sicherer er ist.
Bestimmte Datenverschlüsselungsalgorithmen erfordern eine
Anzahl von gleichen Signalen in einem Datenwort, entweder
die Anzahl von Einsen oder die Anzahl von Nullen. Frühere
Lösungen, die sich auf Zähler oder Addierer stützten, um die
Anzahl von gleichen Signalen zu berechnen, sind durch den
langsamen Betrieb der Zähler oder Addierer begrenzt. Bei
spielsweise muß jedes Bit eines Datenworts einzeln in einen
Zähler geschoben werden, um die Anzahl von gleichen Signalen
zu zählen. Dieser Prozeß kann mehrere Taktzyklen für jedes
Bit, das in den Zähler geschoben wird, erfordern, was eine
Verzögerung von einigen zehn oder sogar hunderten von Takt
zyklen, um die Anzahl von gleichen Signalen in einem Daten
wort typischer Länge, beispielsweise 64 Bit, zu berechnen,
zur Folge hat. Wenn dieser Prozeß in einem Mikroprozessor
stattfindet, können typische Befehle in einem oder nur eini
gen wenigen Taktzyklen durchgeführt werden. Bei einem Super
skalar-Mikroprozessor können mehrere Befehle in nur einem
Taktzyklus durchgeführt werden. In jedem Fall verlangsamt
die Verzögerung, die durch einen Zähler erforderlich ist,
die Ausführung eines Verschlüsselungsalgorithmusses stark.
Sobald der Mikroprozessor die Berechnung der Anzahl von
gleichen Signalen in einem Datenwort auslöst, muß derselbe
warten oder sich einer anderen Aufgabe zuwenden, während ein
Zähler oder ein Addierer die Aufgabe langsam durchführt.
Die JP 06-18617 A beschreibt ein Verfahren zum Verifizieren
des Betriebs von getakteten Elementen einer integrierten
Schaltung. Um es zu ermöglichen, den Zeitablauf des Betriebs
eines getakteten Invertierers und eines Übertragungsgatters,
welche mittels einer integrierten Schaltung getaktet werden,
zu verifizieren, wird eine Verzögerungszeit berechnet, die
ein Signal benötigt, um eine Baumstruktur zu durchlaufen.
Die DE 32 46 211 C2 beschreibt eine Schaltungsanordnung zur
Detektion von Folgen identischer Binärwerte in einem Daten
strom, wobei die Folge eine Mindestbitlänge überschreitet.
Die Anordnung zur Erfassung einer Folge identischer Binär
werte umfaßt eine Mehrzahl von Flip-Flops sowie einen Zäh
ler, die aus dem Datenstrom eine Folge identischer Binär
werte bestimmen.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine
Vorrichtung und ein Verfahren zum schnellen Zählen der An
zahl von gleichen Signalen in einem Datenwort zu schaffen.
Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 sowie
durch eine Vorrichtung nach Anspruch 15 gelöst.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird
ein Verfahren geschaffen, welches aus dem Ausgangssignal der
Vorrichtung ein Ausgangssignal erzeugt, das die gleiche
Länge wie das Datenwort hat, und das die Anzahl der gleichen
Signale angibt.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß
dieselbe ein Verfahren und eine Vorrichtung zum schnellen
Zählen der Anzahl von gleichen Signalen in einem Datenwort
schafft, die lediglich eine minimale Anzahl von Taktzyklen
benötigen. Ein zusätzlicher Vorteil besteht darin, daß die
vorliegende Erfindung eine Schaltung schafft, die erweitert
werden kann, um Datenworte unterschiedlicher Länge zu zäh
len, und die einen Zählwert für ausgewählte Abschnitte eines
Datenworts schaffen kann.
Um die obige Aufgabe zu lösen, entwickelten die Erfinder ei
ne digitale Schaltung, um die Anzahl von gleichen Signalen
in einem Datenwort zu zählen. Die Schaltung kann eine Mehr
zahl von Serienwegen von einer ersten Signalquelle zu einer
Mehrzahl von Einer-Aktiv-Ausgängen (one-hot-outputs) aufwei
sen. Die erste Signalquelle kann mit einer Eingangslei
stungsschiene verbunden sein, entweder Masse oder Leistung,
Vdd. Jeder Einer-Aktiv-codierte Ausgang zeigt eine unter
schiedliche Anzahl von gleichen Signale in dem Eingangsda
tenwort an.
Die Mehrzahl von Serienwegen wird durch eine Mehrzahl von
Übertragungsgattern, die seriell in jedem Serienweg plaziert
sind, geöffnet oder geschlossen. Eine Mehrzahl von Signal
wegen, die einen Wahr-Signalweg und einen Komplementär-Si
gnalweg für jedes Bit eines Eingangsdatenworts aufweisen,
ist mit den Steuereingängen der Übertragungsgatter verbun
den. Jedes Übertragungsgatter wird durch ein einzelnes
Wahr-Signal oder Komplementär-Signal von der Mehrzahl von
Signalwegen gesteuert, die die Bits eines Eingangsdaten
worts, das gezählt werden soll, darstellen. Jeder Serienweg
wird durch einen unterschiedlichen Teilsatz der Mehrzahl von
Signalwegen zu den Steuereingängen der Übertragungsgatter
gesteuert. Folglich wird nur einer der Mehrzahl von Serien
wegen durch jeden Zustand des Eingangsdatenworts aktiviert.
Bestimmte der Einer-Aktiv-Ausgänge werden durch mehrere Se
rienwege aktiviert. Die mehreren Serienwege, die ein gemein
sames Verhältnis von Wahr-Signalwegen zu Komplementär-Si
gnalwegen aufweisen, führen zu einem gemeinsamen Einer-Ak
tiv-Ausgang.
Die Serienwege können optimiert sein, um Übertragungsgatter
gemeinsam zu verwenden, indem dieselben in einer Baumstruk
tur verschaltet sind, bei der die mehreren Serienwege ge
meinsame Übertragungsgatter zusammen verwenden, wenn diesel
ben gemeinsame Steuersignale von der Mehrzahl von Signalwe
gen erfordern. Nach der gemeinsamen Verwendung der Übertra
gungsgatter divergieren die Serienwege, wenn dieselben un
terschiedliche Steuersignale für die Mehrzahl von Signalwe
gen erfordern.
Die Serienwege können ferner optimiert sein, um Übertra
gungsgatter gemeinsam zu verwenden, indem dieselben in einer
Gitterstruktur verschaltet sind, bei der die mehreren Si
gnalwege gemeinsame Übertragungsgatter zusammen verwenden,
wenn dieselben gemeinsame Steuersignale von der Mehrzahl von
Signalwegen erfordern. Nach der gemeinsamen Verwendung der
Übertragungsgatter divergieren die Serienwege, wenn diesel
ben unterschiedliche Steuersignale von der Mehrzahl von Si
gnalwegen erfordern. Die Serienwege können wieder konvergie
ren, um wiederum Übertragungsgatter gemeinsam zu verwenden,
wenn dieselben wieder gemeinsame Steuersignale von der Mehr
zahl von Signalwegen erfordern.
Unterabschnitte des Eingangsdatenworts können getrennt in
unabhängigen Serien-, Baum- oder Gitter-Strukturen gezählt
und dann in nachfolgenden Kombinationsstufen der Schaltung
kombiniert werden. Dies liefert den Vorteil des Erzeugens
eines Zählwerts gleicher Signale für Unterabschnitte des
Eingangsdatenworts ebenso wie eines Zählwerts gleicher Si
gnale für das gesamte Eingangsdatenwort.
Der resultierende Eines-Aktiv-codierte Zählwert gleicher Si
gnale kann dann durch eine Abschlußstufe der Zählschaltung
binär codiert werden.
Bevorzugte Ausführungsbeispiele der vorliegenden Anmeldung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung einer Gitterstruktu
rierten Schaltung zum Erzeugen eines Eines-Aktiv
codierten Zählwerts von gleichen Signalen in einem
Vier-Bit-Datenwort;
Fig. 2 ein Signalflußdiagramm der Schaltung von Fig. 1;
Fig. 3 ein Blockdiagramm einer Erste-Stufe-Schaltung, um
gleiche Signale in einem 64-Bit-Datenwort zu zäh
len;
Fig. 4 ein schematisches Diagramm einer Zweite-Stufe-
Schaltung, um die Ausgangssignale von Erste-Stufe-
Schaltungen, die in Fig. 3 gezeigt sind, zu kombi
nieren;
Fig. 5 eine schematische Darstellung einer Zweite-Stufe-
Schaltung, die komplementierte und gepufferte Aus
gänge aufweist;
Fig. 6A-6J schematische Darstellungen einer Dritte-Stu
fe-Schaltung, um die Ausgangssignale der Zweite-
Stufe-Schaltungen, die in den Fig. 4 und 5 gezeigt
sind, zu kombinieren;
Fig. 7A-7G schematische Darstellungen eines Codierers, um
das 65-Bit-Eines-Aktiv-Ausgangssignal der Schaltung
von Fig. 3 in ein binäres 7-Bit-Ausgangssignal zu
übersetzen; und
Fig. 8 eine schematische Darstellung einer Baumstruktu
rierten Schaltung zum Erzeugen eines Eines-Aktiv
codierten Zählwerts gleicher Signale in einem
Vier-Bit-Datenwort.
Eine Schaltung, um die Anzahl von gleichen Signalen in einem
Datenwort zu zählen, kann bei einem Computer oder jedem an
deren Datenverarbeitungssystem, das binäre Datenworte ver
wendet, verwendet werden. Die Schaltung, um gleiche Signale
zu zählen, kann in den Computer integriert oder kann extern
mit demselben verbunden sein. Die Schaltung kann konfigu
riert sein, um entweder die Anzahl von Nullen in dem Daten
wort oder die Anzahl von Einsen zu zählen. Wenn ein Vier-
Bit-Datenwort die Zahl 7 enthält, wird dasselbe in dem Com
puter in binärer Form als "0111" dargestellt. Eine Schal
tung, die konfiguriert ist, um die Anzahl von Einsen in dem
obigen Vier-Bit-Datenwort zu zählen, wird 3 als Ergebnis ha
ben. Eine Schaltung, die konfiguriert ist, um die Anzahl von
Nullen in dem obigen Vier-Bit-Datenwort zu zählen, wird 1
als Ergebnis haben.
Der Zählwert gleicher Signale kann in einer "Eines-Aktiv"-
codierten Form geliefert werden, bei der eine Reihe von Aus
gangssignalen geliefert wird, eines für jede mögliche Anzahl
von gleichen Signalen in dem Bereich von Null zu der Anzahl
von Bits in dem Datenwort. Für jede mögliche Anzahl von
gleichen Signalen in dem Eingangsdatenwort wird eines der
Ausgangssignale aktiv sein, während der Rest inaktiv sein
wird.
Beispielsweise wird eine Schaltung, um die Anzahl von glei
chen Signalen in einem 64-Bit-Datenwort zu zählen, 65 Aus
gangssignale liefern. Wenn die Schaltung konfiguriert ist,
um die Anzahl von Einsen in dem Datenwort zu zählen, zeigt
das erste Ausgangssignal an, daß keine Einsen in dem Daten
wort existieren. Das zweite Ausgangssignal zeigt an, daß ei
ne Eins existiert, das dritte, daß zwei Einsen existieren,
usw., wobei das 65-ste oder letzte Ausgangssignal anzeigt,
daß 64 Einsen in dem Datenwort existieren. Für jedes gege
bene Eingangssignal ist nur ein Ausgangssignal aktiv, wäh
rend der Rest inaktiv ist.
Das Eines-Aktiv-codierte Ausgangssignal kann dann unverän
dert verwendet werden, oder in ein binäres Format oder jedes
andere gewünschte Format codiert werden. Darüberhinaus kön
nen mehrere codierte Ausgangssignale geliefert werden, wenn
es erwünscht ist, die die Anzahl von gleichen Signalen in
dem gesamten Eingangsdatenwort und die Anzahl von gleichen
Signalen in ausgewählten Abschnitten des Eingangsdatenworts
anzeigen. Beispielsweise kann ein binäres codiertes Aus
gangssignal für das gesamte 64-Bit-Eingangsdatenwort gelie
fert werden, ein weiteres binäres codiertes Ausgangssignal
kann für die ersten 32 Bit des 64-Bit-Eingangsdatenworts ge
liefert werden, und ein drittes binäres codiertes Ausgangs
signal kann für die letzten 32 Bits des 64-Bit-Eingangsda
tenworts geliefert werden. Die gelieferten Ausgangssignale
und der Typ der auf die Ausgangssignale angewendeten Codie
rung können abhängig von den Anforderungen des Zielsystems
variieren.
Bei einem bevorzugten Ausführungsbeispiel wird das Datenwort
in mehrere Vier-Bit-Datenworte unterteilt. Die Anzahl von
gleichen Signalen wird für jedes Vier-Bit-Datenwort in einer
ersten Stufe der Schaltung getrennt gezählt. Fig. 1 zeigt
eine erste Stufe 2 einer Schaltung zum Zählen der Anzahl von
gleichen Signalen in den Bits 0-3 eines 64-Bit-Datenworts.
Acht Eingangssignale werden zugeführt, die vier Eingangsbits
0-3 (0H 20, 1H 22, 2H 24 und 3H 26) und ihre Komplemente (0L
10, 1L 12, 2L 14 und 3L 16).
Abhängig von der in dem Computer oder dem anderen Zielsystem
verwendeten Technologie können die Signale und deren Komple
mente ohne weiteren hinzugefügten Schaltungsaufbau verfügbar
sein. Andernfalls können die Signalkomplemente mit Invertern
erhalten werden.
Die tatsächlichen Spannungs-Pegel oder -Zustände der Signale
sind nicht wichtig, da dieselben abhängig von dem Typ der
verwendeten Schaltungstechnologie, beispielsweise CMOS, va
riieren können. Jedoch kann zur Unterstützung der Beschrei
bung dieses Ausführungsbeispiels angenommen werden, daß die
Anzahl von Einsen in dem Eingangsdatenwort gezählt wird. Da
her ist ein Signal mit einem Suffix 'L' aktiv, wenn es einen
tiefen Pegel aufweist, oder 0 ist, während ein Signal mit
einem Suffix 'H' aktiv ist, wenn es einen hohen Pegel auf
weist, oder 1 ist.
Eine Mehrzahl von Signalwegen ist von den Bits des Eingangs
datenworts gebildet, die einen Wahr-Signalweg (beispielswei
se 20) und einen Komplementär-Signalweg (beispielsweise 10)
für jedes Bit des Eingangsdatenworts aufweisen. Eine Mehr
zahl von Serienwegen, die durch eine Mehrzahl von Übertra
gungsgattern (beispielsweise 30, 60 und 76) gesteuert wer
den, leitet Elektrizität zwischen einer Signalquelle 4 und
einem Einer-Aktiv-Ausgang 118-122. Jedes Übertragungsgatter
(beispielsweise 30) besitzt einen Steuereingang 32 und zwei
Anschlüsse, einen Eingang oder Signaleingang 34 und einen
Ausgang oder Signalausgang 36. Ein Übertragungsgatter 30
leitet Elektrizität zwischen seinen Anschlüssen 34 und 36,
wenn sein Steuereingang 32 aktiv ist. Wenn 0L aktiv ist, ist
der Steuereingang 32 des Übertragungsgatters 30 aktiv und
der Eingang 34 ist mit dem Ausgang 36 verbunden. Der Eingang
4 zu der Mehrzahl von Serienwegen ist auf Masse geschaltet,
während die Ausgängen 40, 42, 44, 46 und 48 der Mehrzahl von
Serienwegen durch Vorladeeinrichtungs-Transistoren 50-54 mit
einer Leistung, oder Vdd, verbunden sind. In den Figuren ist
Vdd durch einen horizontalen Balken angezeigt.
Es ist wichtig, anzumerken, daß zu Zwecken dieser Beschrei
bung und der beigefügten Ansprüche der Ausdruck "Übertra
gungsgatter" allgemein verwendet wird und sich auf einen
einzelnen Transistor, ein Paar von Transistoren oder jeg
liche Vorrichtung oder Schaltung, die die oben beschriebene
Funktion durchführt, beziehen kann, und ferner in jeder ge
eigneten Technologie, beispielsweise CMOS, implementiert
sein kann.
Die Vorladeeinrichtungstransistoren 50-54 werden durch ein
Taktsignal, oder CK, das zwei Phasen aufweist, gesteuert.
Bei dem bevorzugten Ausführungsbeispiel umfassen die Vorla
deeinrichtungstransistoren 50-54 P-Kanal-FETs, die durch
schalten, wenn das Steuersignal auf einem tiefen Pegel ist.
In der ersten, oder Vorlade-, Phase von CK, wenn CK auf ei
nem tiefen Pegel ist, sind die Vorladeeinrichtungstransisto
ren eingeschaltet. In der zweiten, oder Auswertungs-, Phase
von CK, wenn CK auf einem hohen Pegel ist, sind die Vorla
deeinrichtungstransistoren ausgeschaltet und der Zustand der
Schaltung wird ausgewertet. Die Ausgänge 40, 42, 44, 46 und
48 sind daher während der Vorladephase von CK mit Leistung
verbunden und sind in einem hohen Zustand, es sei denn, die
selben werden durch die Übertragungsgatter (beispielsweise
30) während der Auswertungsphase von CK auf die Masse an dem
Eingang 4 heruntergezogen.
Die Mehrzahl von Serienwegen, die zu der Mehrzahl von Ei
ner-Aktiv-Ausgängen führt, kann auf eine Anzahl von Konfi
gurationen angeordnet sein, mit verschiedenen Optimierungs
pegeln.
Bei einem Ausführungsbeispiel ist jeder Serienweg unabhän
gig, ohne eine gemeinsame Verwendung von Übertragungsgat
tern. Bei einem weiteren Ausführungsbeispiel sind die Se
rienwege in eine Baumstruktur 600 kombiniert, wie in Fig. 8
gezeigt ist, wobei Übertragungsgatter in der Nähe des Ein
gangs 602 des Baums gemeinsam verwendet werden, wobei jedoch
jeder Serienweg divergiert, bis jeder Serienweg an den Aus
gängen A0L, A4L 604-614 unabhängig ist. Bei einem bevorzug
ten Ausführungsbeispiel, das in Fig. 1 gezeigt ist, sind die
Serienwege in einer Gitterstruktur angeordnet, wobei Über
tragungsgatter in der Nähe des Eingangs 4 des Gitters wie
bei der obigen Baumstruktur gemeinsam verwendet werden. Se
rienwege divergieren dann gemäß den unterschiedlichen Steu
ereingangssignalen, und konvergieren dann wieder, um Über
tragungsgatter mit gemeinsamen Steuersignalen gemeinsam zu
verwenden.
Jeder Ausgang 40-48 des Gitters, das in Fig. 1 gezeigt ist,
zeigt eine unterschiedliche Anzahl von gleichen Signalen in
den Eingangsdatenbits an. Der erste Ausgang 40 zeigt an, daß
keine Einsen in den Eingangsdatenbits 0-3 existieren. Der
Ausgang 40 ist auf Masse heruntergezogen, was anzeigt, daß
er der aktive Ausgang ist, wenn die Eingangssignale 0L 10,
1L 12, 2L 14 und 3L 16 alle aktiv sind, was bewirkt, daß die
denselben zugeordneten Übertragungsgatter 30, 60, 62 und 64
schließen oder aktiviert sind und Elektrizität leiten. Der
Weg von der Masse an dem Eingang 4 durch die Übertragungs
gatter 30, 60, 62 und 64 zu dem Ausgang 40 ist der einzige
Weg durch das Gitter, der den gesamten Weg von dem Eingang 4
zu dem Ausgang 40 leitet, weshalb der Ausgang 40, der an
zeigt, daß keine Einsen vorliegen, der einzige aktive Aus
gang ist. In diesem Fall sind die verbleibenden Ausgänge 42,
44, 46 und 48 alle inaktiv oder auf Vdd hochgezogen. Wenn
die Eingangssignale 0L 10, 1L 12, 2L 14 und 3L 16 allesamt
aktiv sind, sind die Eingangssignale 0H 20, 1H 22, 2H 24 und
3H 26 allesamt inaktiv, wobei alle weiteren Wege durch das
Gitter durch zumindest ein offenes Übertragungsgatter
blockiert sind.
Der zweite Ausgang 42 zeigt an, daß eine Eins in den Ein
gangsdatenbits 0-3 existiert, oder daß eines der Eingangs
signale 0H 20, 1H 22, 2H 24 und 3H 26 Eins ist, während der
Rest Null ist. Es gibt vier Wege durch das Gitter, die von
dem Eingang 4 zu dem zweiten Ausgang 42 führen, da vier mög
liche Kombinationen der Eingangsdatenbits 0-3 existieren,
die eine Eins zur Folge haben. Der erste der vier Wege ist
aktiv, wenn die Bits 0-2 Null sind und das Bit 3 Eins ist.
In diesem Fall sind die Eingangssignale 0L 10, 1L 12, 2L 14
und 3H 26 aktiv, so daß die Übertragungsgatter 30, 60, 62
und 70 geschlossen (aktiv) sind. Der zweite der vier Wege
ist aktiv, wenn die Bits 0, 1 und 3 Null sind und das Bit 2
Eins ist. In diesem Fall sind die Eingangssignale 0L 10, 1L
12, 2H 24 und 3L 16 aktiv, so daß die Übertragungsgatter 30,
60, 72 und 74 geschlossen sind. Der dritte der vier Wege ist
aktiv, wenn die Bits 0, 2 und 3 Null sind und das Bit 1 Eins
ist. In diesem Fall sind die Eingangssignale 0L 10, 1H 22,
2L 14 und 3L 16 aktiv, so daß die Übertragungsgatter 30, 76,
80 und 74 geschlossen sind. Der vierte der vier Wege ist ak
tiv, wenn die Bits 1, 2 und 3 Null sind und das Bit 0 Eins
ist. In diesem sind die Eingangssignale 0H 20, 1L 12, 2L 14
und 3L 16 aktiv, so daß die Übertragungsgatter 84, 86, 80
und 74 geschlossen sind. Wenn irgendeiner dieser vier Wege
aktiv ist, ist der Ausgang 42, der eine Eins anzeigt, aktiv
(auf tiefem Pegel, mit Masse verbunden), während die ver
bleibenden Ausgänge 40, 44, 46 und 48 inaktiv (hoch, mit Vdd
verbunden, sind).
Es ist wichtig, anzumerken, daß die Schaltung, die in Fig. 1
gezeigt ist, optimiert ist, um eine minimale Anzahl von Gat
tern oder Transistoren zu verwenden. Fachleute könnten die
Schaltung in einen nicht-optimierten Zustand umordnen, um
die gleiche Funktion durchzuführen. Beispielsweise verwenden
die fünf Wege, die zu den Ausgängen 40 und 42 führen, die
oben erläutert sind, Übertragungsgatter gemeinsam, um die
erforderlichen Elemente zu minimieren. Die gleiche Funktion
könnte auf eine weniger effiziente Art und Weise ohne eine
gemeinsame Verwendung von Übertragungsgattern erreicht wer
den. Jeder Weg zu einem Ausgang könnte teilweise oder voll
ständig unabhängig von allen anderen ausgeführt sein. Bei
spielsweise könnte jeder Weg seine eigenen vier Übertra
gungsgatter besitzen, wobei die Ergebnisse dann zu den glei
chen fünf Ausgangssignalen kombiniert werden könnten. Jedoch
würde die Verwendung einer solchen nicht-optimierten Form
der Schaltung, die in Fig. 1 offenbart ist, nicht von den
hierin offenbarten erfinderischen Konzepten abweichen.
Der dritte Ausgang 44 zeigt an, daß in den Eingangsdatenbits
0-3 zwei Einsen existieren, oder daß zwei der Eingangssigna
le 0H 20, 1H 22, 2H 24 und 3H 26 Eins sind, während die an
deren Null sind. Es existieren sechs Wege durch das Gitter,
die von dem Eingang 4 zu dem dritten Ausgang 44 führen, wie
auch sechs mögliche Kombinationen in den Eingangsdatenbits
0-3, die zwei Einsen zur Folge haben, existieren. Wenn die
Bits 0 und 1 Eins sind (0H 20 und 1H 22 sind aktiv), findet
der aktive Weg durch das Gitter durch die Übertragungsgatter
84, 94, 96 und 92 statt. Wenn die Bits 0 und 2 Eins sind (0H
20 und 2H 24 sind aktiv), findet der aktive Weg durch das
Gitter durch die Übertragungsgatter 84, 86, 90 und 92 statt.
Wenn die Bits 0 und 3 Eins sind (0H 20 und 3H 26 sind ak
tiv), existiert der aktive Weg durch das Gitter durch die
Übertragungsgatter 84, 86, 80 und 82. Wenn die Bits 1 und 2
Eins sind (1H 22 und 2H 24 sind aktiv), existiert der aktive
Weg durch das Gitter durch die Übertragungsgatter 30, 76, 90
und 92. Wenn die Bits 1 und 3 Eins sind (1H 22 und 3H 26
sind aktiv), existiert der aktive Weg durch das Gitter durch
die Übertragungsgatter 30, 76, 80 und 82. Wenn die Bits 2
und 3 Eins sind (2H 24 und 3H 26 sind aktiv), existiert der
aktive Weg durch das Gitter durch die Übertragungsgatter 30,
60, 72 und 82.
Der vierte Ausgang 46 zeigt an, daß drei Einsen in den Ein
gangsdatenbits 0-3 existieren, oder daß drei der Eingangs
signale 0H 20, 1H 22, 2H 24 und 3H 26 Eins sind, während das
verbleibende Eingangssignal Null ist. Es existieren vier We
ge durch das Gitter, die von dem Eingang 4 zu dem vierten
Ausgang 46 führen. Erstens existiert, wenn die Bits 0, 1 und
2 Eins sind (0H 20, 1H 22 und 2H 24 sind aktiv) der aktive
Weg durch das Gitter durch die Übertragungsgatter 84, 94,
102 und 104. Zweitens existiert der aktive Weg durch das
Gitter durch die Übertragungsgatter 84, 94, 96 und 100, wenn
die Bits 0, 1 und 3 Eins sind (0H 20, 1H 22 und 3H 26 sind
aktiv). Drittens existiert, wenn die Bits 1, 2 und 3 Eins
sind (1H 22, 2H 24 und 3H 26 sind aktiv) der aktive Weg
durch das Gitter durch die Übertragungsgatter 30, 76, 90 und
100. Viertens existiert, wenn die Bits 0, 2 und 3 Eins sind
(0H 20, 2H 24 und 3H 26 sind aktiv) der aktive Weg durch das
Gitter durch die Übertragungsgatter 84, 86, 90 und 100.
Der fünfte und letzte Ausgang 48 zeigt, daß vier Einsen in
den Eingangsdatenbits 0-3 existieren, oder daß alle vier
Eingänge 0H 20, 1H 22, 2H 24 und 3H 26 Eins sind. Es exi
stiert nur ein Weg durch das Gitter, der von dem Eingang zu
dem fünften Ausgang 48 führt. Der aktive Weg von dem Eingang
4 zu dem fünften Ausgang 48 durch das Gitter existiert durch
die Übertragungsgatter 84, 94, 102 und 106.
Jedes Übertragungsgatter (beispielsweise 30) besitzt einen
Spannungsabfall über dasselbe, so daß die Ausgänge (bei
spielsweise 40) nicht vollständig auf die Masseebene am Ein
gang 4 heruntergezogen werden. Um dies zu kompensieren, sind
Puffer 112 bis 116 mit den Ausgängen verbunden, um den voll
ständigen Spannungshub für die beliebige verwendete Techno
logie (beispielsweise CMOS) wiederherzustellen. Bei dem be
vorzugten Ausführungsbeispiel sind Inverter 112 bis 116 ver
wendet. Der Ausgang 40, der aktiv ist, wenn er auf einem
tiefen Pegel ist, wird zu einem Ausgangssignal 118 AOH in
vertiert, das aktiv ist, wenn es auf einem hohen Pegel ist.
Die Ausgangssignale der ersten Stufe 2 mit den Eingangsbits
0-3, A0H 118, A1H 119, A2H 120, A3H 121 und A4H 122 sind auf
einem hohen Pegel, wenn sie aktiv sind, und auf einem tiefen
Pegel, wenn sie inaktiv sind.
Bei dem bevorzugten Ausführungsbeispiel sind die Eingangssi
gnale 0L-3L 10-16 und 0H-3H 20-26 während bestimmter Takt
phasen inaktiv. Wenn die Vorladeeinrichtungsgatter 40-48 und
die Eingangssignale 0L-3L 10-16 und 0H-3H 20-26 gleichzeitig
inaktiv sind, sind die Ausgangswege schwebend belassen. Bei
einer schnellen Schaltung ist dies allgemein kein Problem,
da die Ladung auf den Ausgangswegen nicht schnell genug
leckt, um zu bewirken, daß sich logische Zustände ändern.
Jedoch wird bei den bevorzugten Ausführungsbeispielen dieser
schwebende Zustand vermieden, indem Haltetransistoren 55-59
zu der Schaltung hinzugefügt sind. Ein Haltetransistor (bei
spielsweise 55) ist mit jedem Ausgangsweg verbunden, wobei
der Signaleingang mit Vdd verbunden ist, während der Signal
ausgang vor dem Inverter (beispielsweise 112) mit dem Aus
gangsweg verbunden ist. Der Steuereingang des Haltetransi
stors (beispielsweise 55) ist mit dem Ausgang des Inverters
(beispielsweise 112) verbunden. Daher sind die Ausgangswege
immer auf einen hohen Pegel gezogen (inaktiv), wenn die Vor
ladeeinrichtungsgatter 40-48 und die Dateneingänge inaktiv
sind, und der Ausgang des Inverters auf einem tiefen Pegel
ist. Die Haltetransistoren 55-59 machen es schwieriger, den
Zustand eines Ausgangswegs und seines zugeordneten Inverters
(beispielsweise 112) zu ändern, so daß die Bedürfnisse der
Zielanwendung betrachtet werden müssen, wenn entschieden
wird, ob Haltetransistoren 55-59 aufgenommen werden.
Die Schaltung, die in Fig. 1 gezeigt ist, ist unter Verwen
dung von CMOS-Übertragungsgattern dargestellt. Jedoch kann
die Schaltung durch jede derzeit bekannte Technologie oder
durch Technologien, die in der Zukunft entwickelt werden,
implementiert sein, ohne von den hierin offenbarten erfinde
rischen Konzepten abzuweichen. Beispielsweise könnte die
Schaltung durch CMOS-Gatter, NMOS-, NMOS-PMOS-Paare, und
dergleichen implementiert sein. Das bevorzugte Ausführungs
beispiel ist unter Verwendung von CMOS-Übertragungsgattern
implementiert, um die Anzahl von erforderlichen Transistoren
zu minimieren. Jedoch besitzen Übertragungsgatter einen in
härenten Spannungsabfall über jedes Gatter, so daß das Aus
gangssignal durch einen Puffer, wie er oben beschrieben ist,
auf normale Betriebspegel zurückverstärkt werden kann.
Die Schaltung kann überdies als aktiv-hoch oder aktiv-tief
implementiert sein, da es die Informationen, die in dem Si
gnal codiert sind, sind, die wichtig sind, nicht der Zustand
des Signals. Die Wahl der Technologie oder des spezifischen
Layouts der Schaltung hängt von den Anforderungen des Ge
samtsystems ab und kann nach Bedarf durch Fachleute angepaßt
werden. Es ist wichtig, anzumerken, daß die erste Stufe der
Schaltung, wie sie in Fig. 1 gezeigt ist, nicht auf ein
Vier-Bit-Datenwort begrenzt ist. Die erste Stufe, wie sie in
Fig. 1 gezeigt ist, könnte reduziert sein, um bezüglich ei
nes Datenworts, das eine Größe von zwei Bits aufweist, wirk
sam zu sein, oder könnte erweitert sein, um mit einem Daten
wort einer beliebigen Breite, die größer ist als zwei Bits,
zu arbeiten. Die Vier-Bit-Breite des bevorzugten Ausfüh
rungsbeispiels kann die Belastung auf jedem Ausgangsknoten
optimieren, abhängig von der verwendeten Technologie.
Fig. 2 ist ein Diagramm, das die Wege der Schaltung von Fig.
1 allgemein zeigt, ohne die Invertierungspuffer 55-59 und
112-116. Jede Linie (beispielsweise 124) entspricht einem
Gatter eines bestimmten Typs, sei es ein CMOS-Übertragungs
gatter, ein Gatter einer bestimmten anderen Technologie oder
ein Element einer anderen Konfiguration. Die Ausgangssignale
sind die aktiv-tiefen Ausgangssignale A0L 40, A1L 42, A2L
44, A3L 46 und A4L 48. A0L zeigt, daß keine Einsen in den
Eingabebits 0-3 existieren, A1L zeigt, daß eine Eins, A2L,
daß zwei Einsen, A3L, daß drei Einsen und A4L, daß vier Ein
sen in den Eingangsbits existieren.
Wie oben erwähnt wurde, wird bei dem bevorzugten Ausfüh
rungsbeispiel das Eingangsdatenwort von 64 Bits in kleinere
Vier-Bit-Datenworte aufgebrochen. Die Anzahl gleicher Signa
le, in diesem Fall von Einsen, in jedem Vier-Bit-Datenwort
wird durch die Schaltung von Fig. 1, die oben beschrieben
ist, gezählt. Die resultierenden Zählworte für jedes Vier-
Bit-Datenwort werden dann in nachfolgenden Stufen der Zähl
schaltung kombiniert, bis ein Ergebnis für das gesamte 64-
Bit-Eingangsdatenwort erhalten wird. Fig. 3 ist ein Block
diagramm, das diesen Prozeß für ein 32-Bit-Datenwort zeigt,
ist jedoch auf größere Eingangsdatenworte erweiterbar. Ein
erstes Gitter 2 mit Eingangsbits 0-3 des 32-Bit-Datenworts
erzeugt ein Eines-Aktiv-codiertes Ausgangssignal A0H-A4H
130. Ein zweites Gitter 132 mit Eingangsbits 4-7 erzeugt ein
Eines-Aktiv-codiertes Ausgangssignal B0H-B4H 134. Die zwei
Ausgangssignale A0H-A4H 130 und B0H-B4H 134 werden in einer
zweiten Stufe 136 kombiniert, die ein Eines-Aktiv-codiertes
9-Bit-Ausgangssignal I0L-I8L 138 erzeugt.
Der 9-Bit-Zählwert J0H-J8H 152 von Einsen für die zweiten
acht Bits des Eingangsdatenworts, die Bits 8-15, wird in
gleicher Weise erzeugt. Ein Gitter 140 erzeugt eine Ausgabe
C0H-C4H 142 basierend auf Eingangsbits 8-11, während ein
Gitter 144 ein Ausgangssignal D0H-D4H 146 basierend auf Ein
gangsbits 12-15 erzeugt. Diese zwei Ausgangssignale 142 und
146 werden in einer zweiten Stufe 150 kombiniert, die den
9-Bit-Zählwert J0H-J8H 152 erzeugt.
Die zwei 9-Bit-Ausgangssignale I0L-I8L 138 und J0H-J8H 152
werden in einer dritten Stufe 154, die ein 17-Bit-Ausgangs
signal M0L-M16L 156 erzeugt, kombiniert. Das Ausgangssignal
M0L-M16L 156 ist ein Eines-Aktiv-codierter Zählwert der Ein
sen in den Eingangsbits 0-15. Wie detaillierter nachfolgend
beschrieben wird, ist die Anzahl von Übertragungsgattern,
die für die dritte Stufe 154 erforderlich ist, bei einem be
vorzugten Ausführungsbeispiel minimiert, indem ein Satz von
Eingangssignalen I0L-I8L 128 als aktiv-tief und der andere
Satz von Eingangssignalen J0H-J8H 152 als aktiv-hoch erzeugt
wird. Diese Technik kann in weiteren Stufen der Schaltung
nach Wunsch verwendet werden, basierend auf der verwendeten
Technologie. Das Minimieren des kritischen zeitlichen Wegs
durch die gesamte Schaltung oder das Minimieren der Anzahl
von verwendeten Gattern wird unterschiedliche Techniken er
fordern, abhängig von der Technologie, und kann von Fachleu
ten angepaßt werden, ohne von den hierin angegebenen erfin
dungsgemäßen Konzepten abzuweichen.
Bei einem weiteren Ausführungsbeispiel ist die Gatteranzahl
minimiert, indem der Eingang auf einen hohen Pegel gebunden
und die Ausgänge auf einen tiefen Pegel vorgeladen sind.
Beispielsweise kann in Fig. 5 der Eingang 270 auf Vdd gelegt
sein, und nicht auf Masse, und die Vorladegatter 287, 289,
291, 293, 295, 297, 299, 301 und 303 können auf Masse gelegt
sein, so daß ein inaktiver Weg auf einem Massepegel ist,
während ein aktiver Weg in Richtung Vdd hochgezogen ist. Je
doch begrenzen bestimmte Zieltechnologien und Geschwindig
keitsanforderungen für die Signalschwingzeit die Anwendbar
keit dieses Ausführungsbeispiels.
Ein zweites 17-Bit-Ausgangssignal N0H-N16H 162 wird in einem
weiteren Dritte-Stufe-Element 160 basierend auf Bits 16-31
des 32-Bit-Eingangsdatenworts erzeugt. Das Ausgangssignal
N0H-N16H 162 wird in einer Reihe von Erste- und Zweite-Stu
fe-Elementen erzeugt, wie oben bezüglich des Ausgangssignals
M0L-M16L 156 beschrieben ist. Die Bits 16-19 werden in einem
Erste-Stufe-Element 131 gezählt, wobei Aktiv-Hoch-Ausgangs
signale E0H-E4H erzeugt werden. Die Bits 20-23 werden in ei
nem Erste-Stufe-Element 133 gezählt, wobei Aktiv-Hoch-Aus
gangssignale F0H-F4H erzeugt werden. Die Erste-Stufe-Aus
gangssignale E0H-E4H und F0H-F4H werden in einem Zweite-Stu
fe-Element 135 kombiniert, wobei Aktiv-Tief-Ausgangssignale
K0L-K8L erzeugt werden. Die Bits 24-27 werden in einem Er
ste-Stufe-Element 137 gezählt, wobei Aktiv-Hoch-Ausgänge
G0H-G4H erzeugt werden. Die Bits 28-31 werden in einem Er
ste-Stufe-Element 139 gezählt, wobei Aktiv-Hoch-Ausgangssi
gnale H0H-H4H erzeugt werden. Die Erste-Stufe-Ausgangssigna
le G0H-G4H und H0H-H4H werden in einem Zweite-Stufe-Element
141 kombiniert, wobei Aktiv-Hoch-Ausgangssignale L0H-L8H er
zeugt werden. Die Zweite-Stufe-Ausgangssignale K0L-K8L und
L0H-L8H werden in einem Dritte-Stufe-Element 160 kombiniert,
wobei Aktiv-Hoch-Ausgangssignale N0H-N16H erzeugt werden,
die einen Zählwert der Anzahl von Einsen in den Bits 16-31
des 32-Bit-Eingangsdatenworts darstellen.
Die zwei 17-Bit-Ausgangssignale M0L-M16L 156 und N0H-N16H
162 werden in einer vierten Stufe 164 kombiniert, wobei ein
Eines-Aktiv-codiertes 32-Bit-Ausgangssignal O0H-O32H 166 er
zeugt wird. Wie oben erwähnt wurde, ist das Dritte-Stufe-
Ausgangssignal M0L-M16L aktiv-tief, während das Ausgangssi
gnal N0H-N16H 162 aktiv-hoch ist, um die erforderliche An
zahl von Gattern in der vierten Stufe 164 zu minimieren.
Fig. 4 ist eine schematische Darstellung der Schaltung des
Zweite-Stufe-Elements 136, das in Fig. 3 gezeigt ist. Die
Zweite-Stufe-Schaltung 136 kombiniert die Eines-Aktivco
dierten 5-Bit-Ausgangssignale A0H-A4H 130 und B0H-B4H 134
der Erste-Stufe-Zählschaltungen 2 und 132. Der erste Satz
von Steuereingangssignalen zu der Zweite-Stufe-Schaltung
136, A0H-A4H 130, ist ein Eines-Aktiv-codierter Zählwert der
Anzahl von Einsen in den Bits 0-3 des 32-Bit-Eingangsdaten
worts. Der zweite Satz von Steuereingangssignalen zu der
Schaltung 136, B0H-B4H 134, ist ein Eines-Aktiv-codierter
Zählwert der Anzahl von Einsen in den Bits 4-7 des 32-Bit-
Eingangsdatenworts. Durch diese Schaltung 136 wird ein Ei
nes-Aktiv-codiertes 9-Bit-Ausgangssignal I0L-I8L 138 als ein
Zählwert der Anzahl von Einsen in den Bits 0-7 des 32-Bit-
Eingangsdatenworts erzeugt.
Ein Signaleingang 170 zu der Zweite-Stufe-Schaltung 136 ist
auf Masse gelegt, während die Ausgänge I0L-I8L 138 durch
Vorladeeinrichtungsgatter 187, 189, 191, 193, 195, 197, 199,
201 und 203 auf Vdd hochgezogen sind. Jedes des ersten Sat
zes von Steuereingangssignalen A0H-A4H 130 ist als das
Steuereingangssignal von einem Übertragungsgatter (bei
spielsweise 174) wirksam. Jedes des zweiten Satzes von Steu
ereingangssignalen B0H-B4H 134, ist als das Steuereingangs
signal von fünf Übertragungsgattern (beispielsweise 186),
eines für jedes der fünf ersten Steuereingangssignale A0H-
A4H 130, wirksam.
Ein erster Ausgang I0L 260 zeigt, daß keine Einsen in den
Eingangsdatenbits 0-7 existieren. Es existiert nur ein Weg
durch die Zweite-Stufe-Schaltung 136, der zu dem ersten Aus
gang I0L 260 führt. In anderen Worten heißt das, daß nur ei
ne Kombination von Eingangssignalen A0H-A4H 130 und B0H-B4H
134 existiert, die anzeigt, daß keine Einsen in den Ein
gangsdatenbits 0-7 existieren. Wenn A0H und B0H aktiv sind,
was anzeigt, daß keine Einsen in den ersten Stufen 2 und 132
existieren, sind die Übertragungsgatter 174 und 186 ge
schlossen, was den Ausgang I0L 260 auf die Masse an dem Ein
gang 170 herunterzieht. In diesem Fall sind die übrigen Aus
gänge I1L-I8L (261-268) inaktiv oder durch die Vorladeein
richtungsgatter 187, 189, 191, 193, 195, 197, 199, 201 und
203 auf Vdd hochgezogen.
Ein zweiter Ausgang I1L 261 zeigt, daß eine Eins in den Ein
gangsdatenbits 0-7 existiert. Es existieren zwei Wege durch
die Zweite-Stufe-Schaltung 136, die diesen Ausgang aktivie
ren, entweder wenn nur A1H aktiv oder wenn nur B1H aktiv
ist. Der erste Weg existiert durch die Übertragungsgatter
174 und 190, während der zweite durch die Übertragungsgatter
176 und 200 existiert.
Ein dritter Ausgang I2L 262 zeigt, daß zwei Einsen in den
Eingangsdatenbits 0-7 existieren. Es existieren drei Wege zu
diesem Ausgang. Der erste existiert durch die Übertragungs
gatter 174 und 192, wenn A0H und B2H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 176 und 202 wenn A1H
und B1H aktiv sind. Der dritte existiert durch die Übertra
gungsgatter 180 und 212, wenn A2H und B0H aktiv sind.
Ein vierter Ausgang I3L 263 zeigt, daß drei Einsen in den
Eingangsdatenbits 0-7 existieren. Es existieren vier Wege zu
diesem Ausgang. Der erste existiert durch die Übertragungs
gatter 174 und 194, wenn A0H und B3H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 176 und 204, wenn A1H
und B2H aktiv sind. Der dritte existiert durch die Übertra
gungsgatter 180 und 214, wenn A2H und B1H aktiv sind. Der
vierte existiert durch die Übertragungsgatter 182 und 224,
wenn A3H und B0H aktiv sind.
Ein fünfter Ausgang I4L 264 zeigt, daß vier Einsen in den
Eingangsdatenbits 0-7 existieren. Es existieren fünf Wege zu
diesem Ausgang. Der erste existiert durch die Übertragungs
gatter 174 und 196, wenn A0H und B4H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 176 und 206, wenn A1H
und B3H aktiv sind. Der dritte existiert durch die Übertra
gungsgatter 180 und 216, wenn A2H und B2H aktiv sind. Der
vierte existiert durch die Übertragungsgatter 182 und 226,
wenn A3H und B1H aktiv sind. Der fünfte existiert durch die
Übertragungsgatter 184 und 236, wenn A4H und B0H aktiv sind.
Ein sechster Ausgang I5L 265 zeigt, daß fünf Einsen in den
Eingangsdatenbits 0-7 aktiv sind. Es gibt vier Wege zu die
sem Ausgang. Der erste existiert durch die Übertragungsgat
ter 176 und 210, wenn A1H und B4H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 180 und 220, wenn A2H
und B3H aktiv sind. Der dritte existiert durch die Übertra
gungsgatter 182 und 230, wenn A3H und B2H aktiv sind. Der
vierte existiert durch Übertragungsgatter 184 und 240, wenn
A4H und B1H aktiv sind.
Ein siebter Ausgang I6L 266 zeigt, daß sechs Einsen in den
Eingangsdatenbits 0-7 existieren. Es existieren drei Wege zu
diesem Ausgang. Der erste existiert durch die Übertragungs
gatter 180 und 222, wenn A2H und B4H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 182 und 232, wenn A3H
und B3H aktiv sind. Der dritte existiert durch die Übertra
gungsgatter 184 und 242, wenn A4H und B2H aktiv sind.
Ein achter Ausgang I7L 267 zeigt, daß sieben Einsen in den
Eingangsdatenbits 0-7 existieren. Es existieren zwei Wege zu
diesem Ausgang. Der erste existiert durch die Übertragungs
gatter 182 und 234, wenn A3H und B4H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 184 und 244, wenn A4H
und B3H aktiv sind.
Der neunte und letzte Ausgang I8L 268 zeigt, daß alle acht
Eingangsdatenbits 0-7 Eins sind, weshalb lediglich ein Weg
zu dem Ausgang existiert. Wenn sowohl A4H als auch B4H aktiv
sind, sind die Übertragungsgatter 184 und 246 geschlossen.
Fig. 5 ist eine schematische Ansicht der Schaltung des Zwei
te-Stufe-Elements 150, das in Fig. 3 gezeigt ist. Die Zwei
te-Stufe-Schaltung 150 kombiniert die Eines-Aktiv-codierten
5-Bit-Ausgangssignale C0H-C4H 142 und D0H-D4H 146 der Er
ste-Stufe-Zählschaltungen 140 und 144. Diese Zweite-Stufe-
Schaltung 150 ist im wesentlichen die gleiche wie die Zwei
te-Stufe-Schaltung 136, die oben beschrieben ist, mit der
Ausnahme, daß die Ausgangssignale J0H-J8H 152 invertiert
sind. Wie detaillierter nachfolgend beschrieben wird, ermög
licht dies, daß die erforderliche Anzahl von Gattern in der
dritten Stufe der Zählschaltung minimiert ist.
Der erste Satz von Steuereingangssignalen zu der Zweite-Stu
fe-Schaltung 150, C0H-C4H 142 ist ein Eines-Aktiv-codierter
Zählwert der Anzahl von Einsen in den Bits 8-11 des 32-Bit-
Eingangsdatenworts. Der zweite Satz von Steuereingangssigna
len zu der Schaltung 150, D0H-D4H 146, ist ein Eines-Aktiv
codierter Zählwert der Anzahl von Einsen in den Bits 12-15
des 32-Bit-Eingangsdatenworts. Ein Eines-Aktiv-codiertes 9-
Bit-Ausgangssignal J0H-J8H 152 wird durch diese Schaltung
150 als ein Zählwert der Anzahl von Einsen in den Bits 8-15
des 32-Bit-Eingangsdatenworts erzeugt.
Eine Signalquelle 270 zu der Zweite-Stufe-Schaltung 150 ist
auf Masse gelegt, während die Ausgänge J0H-J8H 152 durch
Vorladeeinrichtungsgatter 287, 289, 291, 293, 295, 297, 299,
301 und 303 auf Vdd hochgezogen und dann durch Inverter
351-359 gepuffert sind. Ferner ist durch Haltetransistoren
305, 307, 309, 311, 313, 315, 317, 319 und 321 wie oben be
schrieben verhindert, daß der Zustand der Ausgänge J0H-J8H
152 aufgrund von inaktiven Eingängen und Vorladeeinrich
tungsgattern 40-48 schwebt.
Jedes des ersten Satzes von Steuereingangssignalen, C0H-C4H
142, ist als das Steuereingangssignal eines Übertragungsgat
ters (beispielsweise 274) wirksam. Jedes des zweiten Satzes
von Steuereingangssignalen, D0H-D4H 146, ist als das Steuer
eingangssignal von fünf Übertragungsgattern (beispielsweise
286), eines für jedes der fünf ersten Steuereingangssignale
C0H-C4H 142, wirksam.
Ein erster Ausgang J0H 360 zeigt an, daß in den Eingangsda
tenbits 8-15 keine Einsen existieren. Es gibt nur einen Weg
durch die Zweite-Stufe-Schaltung 150, der zu dem ersten Aus
gang J0H 360 führt. In anderen Worten heißt das, daß nur ei
ne Kombination von Eingangssignalen C0H-C4H 142 und D0H-D4H
146 existiert, die anzeigt, daß keine Einsen in den Ein
gangsdatenbits 8-15 existieren. Wenn C0H und D0H aktiv sind,
was anzeigt, daß keine Einsen in den ersten Stufen 140 und
144 existieren, sind die Übertragungsgatter 274 und 286 ge
schlossen, was den Ausgang J0H 360 auf die Masse an dem Ein
gang 270 herunterzieht. In diesem Fall sind die verbleiben
den Ausgänge J1H-J8H (361-368) inaktiv oder durch die Vor
ladeeinrichtungsgatter 287, 289, 291, 293, 295, 297, 299,
301 und 303 auf Vdd hochgezogen.
Ein zweiter Ausgang J1H 361 zeigt an, daß eine Eins in den
Eingangsdatenbits 8-15 existiert. Es gibt zwei Wege durch
die Zweite-Stufe-Schaltung 150, die diesen Ausgang aktivie
ren, entweder, wenn nur C1H aktiv ist oder wenn nur DIH ak
tiv ist. Der erste Weg existiert durch die Übertragungsgat
ter 274 und 290, der zweite durch die Übertragungsgatter 276
und 300.
Ein dritter Ausgang J2H 362 zeigt an, daß zwei Einsen in
den Eingangsdatenbits 8-15 existieren. Es gibt drei Wege zu
diesem Ausgang. Der erste existiert durch die Übertragungs
gatter 274 und 292, wenn C0H und D2H aktiv sind. Der zweite
existiert durch die Übertragungsgatter 276 und 302 wenn C1H
und D1H aktiv sind. Der dritte existiert durch die Übertra
gungsgatter 218 und 312 wenn C2H und D0H aktiv sind.
Ein vierter Ausgang J3H 363 zeigt an, daß drei Einsen in den
Eingangsdatenbits 8-15 existieren. Es existieren vier Wege
zu diesem Ausgang. Der erste existiert durch die Übertra
gungsgatter 274 und 294, wenn C0H und D3H aktiv sind. Der
zweite existiert durch die Übertragungsgatter 276 und 304
wenn C1H und D2H aktiv sind. Der dritte existiert durch die
Übertragungsgatter 280 und 314, wenn C2H und D1H aktiv sind.
Der vierte existiert durch die Übertragungsgatter 282 und
324, wenn C3H und D0H aktiv sind.
Ein fünfter Ausgang J4H 364 zeigt an, daß vier Einsen in den
Eingangsdatenbits 8-15 existieren. Es existieren fünf Wege
zu diesem Ausgang. Der erste existiert durch die Übertra
gungsgatter 274 und 296, wenn C0H und D4H aktiv sind. Der
zweite existiert durch die Übertragungsgatter 276 und 306,
wenn C1H und D3H aktiv sind. Der dritte existiert durch die
Übertragungsgatter 280 und 316, wenn C2H und D2H aktiv sind.
Der vierte existiert durch die Übertragungsgatter 282 und
326, wenn C3H und D1H aktiv sind. Der fünfte existiert durch
die Übertragungsgatter 284 und 336, wenn C4H und D0H aktiv
sind.
Ein sechster Ausgang J5H 365 zeigt an, daß fünf Einsen in
den Eingangsdatenbits 8-15 existieren. Es existieren vier
Wege zu diesem Ausgang. Der erste existiert durch die Über
tragungsgatter 276 und 310, wenn C1H und D4H aktiv sind. Der
zweite existiert durch die Übertragungsgatter 280 und 320,
wenn C2H und D3H aktiv sind. Der dritte existiert durch die
Übertragungsgatter 282 und 330, wenn C3H und D2H aktiv sind.
Der vierte existiert durch die Übertragungsgatter 284 und
340, wenn C4H und D1H aktiv sind.
Ein siebter Ausgang J6H 366 zeigt an, daß sechs Einsen in
den Eingangsdatenbits 8-15 existieren. Es existieren drei
Wege zu diesem Ausgang. Der erste existiert durch die Über
tragungsgatter 280 und 322, wenn C2H und D4H aktiv sind. Der
zweite existiert durch die Übertragungsgatter 282 und 332,
wenn C3H und D3H aktiv sind. Der dritte existiert durch die
Übertragungsgatter 284 und 342, wenn C4H und D2H aktiv sind.
Ein achter Ausgang J7H 367 zeigt an, daß sieben Einsen in
den Eingangsdatenbits 8-15 existieren. Es existieren zwei
Wege zu diesem Ausgang. Der erste existiert durch die Über
tragungsgatter 282 und 334, wenn C3H und D4H aktiv sind. Der
zweite existiert durch die Übertragungsgatter 284 und 344,
wenn C4H und D3H aktiv sind.
Der neunte und letzte Ausgang J8H 368 zeigt an, daß alle
acht Eingangsdatenbits 8-15 Eins sind, weshalb nur ein Weg
zu dem Ausgang existiert. Wenn sowohl C4H als auch D4H aktiv
sind, sind die Übertragungsgatter 284 und 346 geschlossen.
Die Ausgänge der Wege durch die Übertragungsgatter (bei
spielsweise 274 und 286) sind aktiv-tief, da dieselben auf
die Masse an dem Eingang 270 heruntergezogen werden, wenn
dieselben aktiv sind. Um die Anzahl von Gattern in der näch
sten Stufe zu minimieren, werden die Ausgangssignale J0H bis
J8H durch Puffer 305, 307, 309, 311, 313, 315, 317, 319, 321
und 351 bis 359 gepuffert und invertiert, so daß dieselben
aktiv-hoch sind.
Die zwei Sätze von Ausgangssignalen der Zweite-Stufe-Schal
tungen 136 und 150 werden in einer Dritte-Stufe-Schaltung
154 kombiniert. Das erste Ausgangssignal, I0L-I8L 138, ist
ein Eines-Aktiv-codierter Zählwert der Anzahl von Einsen in
den Bits 0-7 des 32-Bit-Eingangsdatenworts. Das zweite Aus
gangssignal, J0H-J8H 152, ist ein Eines-Aktiv-codierter
Zählwert der Anzahl von Einsen in den Bits 8-15 des 32-Bit-
Eingangsdatenworts. Der kombinierte Zählwert M0L-M16L 156,
ist das Ausgangssignal der Dritte-Stufe-Schaltung 154.
Die Fig. 6A-6J zeigen eine Reihe von schematischen Darstel
lungen, die die Schaltungswege durch die Dritte-Stufe-Schal
tung 154, die zu einer Anzahl von Signalen in der Ausgabe
M0L-M16L 156 führt, zeigen.
Fig. 6A zeigt den Schaltungsweg, um das Ausgangssignal M0L
388 zu erzeugen. Ähnlich wie bei den Wegen, die keine Eins
anzeigen, die oben bezüglich der vorherigen Stufen der Zähl
schaltung beschrieben wurden, existiert nur ein Weg, der zu
dem Ausgang M0L 386 führt. Wenn die Keine-Eins-Signale I0L
260 und J0H 360 in den vorherigen Stufen beide aktiv sind,
was keine Einsen in den Bits 0-7 bzw. 8-15 des 32-Bit-Ein
gangsdatenworts anzeigt, ist der Ausgang M0L 388 ebenfalls
aktiv, was keine Einsen in den Bits 0-15 des 32-Bit-Ein
gangsdatenworts anzeigt.
Es sei bemerkt, daß, obwohl I0L und J0H bei unterschiedli
chen Spannungspegeln aktiv sind, es, wie oben erwähnt wurde,
nicht der Signaltyp ist, der wichtig ist, sondern die Infor
mationen, die in dem Signal codiert sind. Der Signaltyp
(beispielsweise aktiv-hoch) kann nach Bedarf angepaßt wer
den, um die Zählschaltung in der Zieltechnologie zu verwen
den und entweder den kritischen Zeitgebungsweg oder die An
zahl von Gattern zu minimieren. Bei dem hierin beschriebenen
bevorzugten Ausführungsbeispiel ist I0L aktiv und zeigt kei
ne Einsen an, wenn dasselbe tief ist, während J0H aktiv ist
und keine Einsen anzeigt, wenn dasselbe hoch ist.
Der erste Eingang I0L 260 ist mit dem Signaleingang 380 des
Übertragungsgatters 384 verbunden. Der zweite Eingang J0H
382 ist mit dem Steuereingang des Übertragungsgatters 384
verbunden. Der Ausgang M0L 388 ist durch ein Vorladeeinrich
tungsgatter 386 auf Vdd hochgezogen. Daher ist der Ausgang
M0L 388 nur aktiv (heruntergezogen), wenn I0L 260 aktiv
(tief) ist, und J0H 360 aktiv (hoch) ist, was bewirkt, daß
das Übertragungsgatter 384 schließt und Elektrizität leitet,
um den Eingang 380 mit dem Ausgang 388 zu verbinden. Wenn
J0H 360 inaktiv ist (tief), was anzeigt, daß zumindest eine
Eins in den Eingangsbits 8-15 existiert, wird das Übertra
gungsgatter 384 nicht schließen und der Ausgang MOL 388 ist
inaktiv (hoch). Wenn I0L 260 inaktiv (hoch) ist, was an
zeigt, daß zumindest eine Eins in den Eingangsbits 0-7 exi
stiert, ist der Ausgang M0L 388 inaktiv. In diesem Fall ist
der Ausgang M0L 388 ungeachtet des Zustands von J0H 360 in
aktiv, da der Ausgang M0L 388 entweder durch das Vorladeein
richtungsgatter 386 oder durch den Eingang I0L 260 oder
durch beides hochgezogen wird.
Diese Technik ermöglicht die Kombination von zwei Signalen
in einem Übertragungsgatter (beispielsweise 384), indem ei
nes als die Signaleingabe und das andere als die Steuerein
gabe verwendet wird. Im Gegensatz dazu muß bei den Zweite-
Stufe-Schaltungen 136 und 150, die vorher beschrieben wur
den, jeder Weg durch die Schaltung durch zwei Übertragungs
gatter (beispielsweise 174 und 186) verlaufen, wobei die
Signaleingabe zu dem Weg (beispielsweise 170) auf Masse ge
legt ist. Diese Minimierungstechnik kann nach Wunsch in je
der Stufe verwendet werden, und ist auf die Zieltechnologie
(beispielsweise CMOS) anwendbar.
Beispielsweise könnte diese Minimierungstechnik verwendet
werden, um die Ausgangssignale der zwei Erste-Stufe-Elemente
unter Verwendung eines Übertragungsgatters für jeweils zwei
Eingangssignale zu kombinieren. In diesem Fall wird A0L-A4L
40-48 mit B0H-B4H 134 kombiniert, wie oben beschrieben und
in Fig. 6 beispielhaft dargestellt ist. Der erste Satz von
Ausgängen, A0L-A4L 40-48, ist mit den ersten Anschlüssen
(Eingängen) eines Satzes von Übertragungsgattern verbunden.
Der zweite Satz von Ausgängen, B0H-B4H 134, ist mit den
Steuereingängen des Satzes von Übertragungsgattern verbun
den. Die zweiten Anschlüsse (Ausgänge) des Satzes von Über
tragungsgattern sind miteinander verbunden und auf einen ho
hen Pegel vorgeladen, um den Ausgang der zweiten Stufe zu
bilden.
Alternativ können alle Stufen gemäß der Beschreibung der
Zweite-Stufe-Schaltung 136 mit zwei Übertragungsgattern pro
Weg implementiert sein. Bei einem weiteren Ausführungsbei
spiel (nicht gezeigt) kann, wie oben erwähnt wurde, das Git
ter der Zählschaltung der Stufe 1 (beispielsweise 2) erwei
tert werden, um jede beliebigen Anzahl von Eingangsbits zu
zählen, ohne sekundäre Stufen, um Zählwerte von mehreren er
sten Stufen zu kombinieren.
Fig. 6 zeigt den Weg durch die dritte Stufe 154, die zu dem
zweiten Ausgang M1L 394 führt. Der Ausgang M1L 394 zeigt,
wenn er aktiv ist, daß eine Eins in den Bits 0-15 des 32-
Bit-Eingangsdatenworts existiert. Es gibt zwei Wege zu die
sem Ausgang, durch das Übertragungsgatter 390, wenn I1L und
J0H aktiv sind, und durch das Übertragungsgatter 392, wenn
I0L und J1H aktiv sind.
Fig. 6C zeigt die Schaltung für den Ausgang M2L 404, der
zwei Einsen in den Eingangsbits 0-15 anzeigt. Es gibt drei
Wege zu diesem Ausgang. Der erste existiert durch das Über
tragungsgatter 396, wenn I2L und J0H aktiv sind. Der zweite
existiert durch das Übertragungsgatter 400, wenn I1L und J1H
aktiv sind. Der dritte existiert durch das Übertragungsgat
ter 402, wenn I0L und J2H aktiv sind.
Die Fig. 6D-6J zeigen die Schaltungen für die Ausgänge M3L,
M4L und M12L-M16L, die in einer Struktur aufgebaut sind, die
ähnlich der ist, die für die Ausgänge MOL 388, MIL 394 und
M2L 404 verwendet ist. Jeder Ausgang ist aktiv, wenn eine
beliebige der möglichen Kombinationen auf den Eingängen sich
zu dem richtigen Zählwert für diesen Ausgang addiert.
Der Zählwert von Einsen in den Bits 16-31 des 32-Bit-Ein
gangsdatenworts wird in gleicher Weise in ersten und zweiten
Stufen gezählt und in einer dritten Stufe 160 mit Ausgängen
N0H-N16H 162 kombiniert. Wie oben beschrieben wurde, sind
die Ausgänge M0L-M16L 156, die auf den Bits 0-15 basieren,
aktiv-tief, während die Ausgänge N0H-N16H 162, die auf den
Bits 16-31 basieren, aktiv-hoch sind. Dies ermöglicht, daß
dieselben in einer vierten Stufe 164 mit einer minimalen An
zahl von Gattern zu Ausgangssignalen O0H-O32H 166 kombiniert
werden, wie oben bezüglich der Dritte-Stufe-Schaltung 154
beschrieben wurde.
Die Zählschaltung, die in dem Blockdiagramm von Fig. 3 ge
zeigt ist, kann nach Bedarf durch das Hinzufügen nachfolgen
der Stufen erweitert werden, so daß gleiche Signale in einem
Datenwort von 64, 128 oder einer größeren Anzahl von Bits
gezählt werden können. Beispielsweise würde bei einer 64-
Bit-Datenworteingabe ein Eines-Aktiv-codiertes 65-Bit-Aus
gangssignal P0H-P64H (nicht gezeigt) erzeugt werden.
Bei einem weiteren Ausführungsbeispiel würde die Anzahl von
Nullen in dem Eingangsdatenwort gezählt werden, indem ein
fach jedes Eingangsbit, das in der Schaltung, die oben be
schrieben ist, verwendet ist, durch sein Komplement ersetzt
wird. Beispielsweise werden 0L 10 und 0H 20, die in Fig. 1
gezeigt sind, ausgetauscht. Abhängig von der Zieltechnologie
und der Breite des eingegebenen Datenworts ist es möglich,
daß weniger Übertragungsgatter erforderlich sind, um Nullen,
und nicht Einsen, zu zählen.
Die Anzahl von Bits, die als die Eingangssignale zu jeder
Stufe, die oben beschrieben ist, verwendet wird, ist für die
erste Stufe nicht auf vier und für die nachfolgenden Stufen
nicht auf zwei beschränkt. Jede Stufe kann durch Fachleute
verbreitet oder verschmalert werden, ohne von den hierin of
fenbarten erfindungsgemäßen Konzepten abzuweichen.
Das Ergebnis der Schaltung, um gleiche Signale in einem Da
tenwort zu zählen, kann in einem Eines-Aktiv-codierten For
mat belassen werden, oder kann wunschgemäß transformiert
werden. Beispielsweise wird hierin nachfolgend ein Eines-Ak
tiv-Zu-Binär-Codierer beschrieben. Alternativ kann, wenn das
bevorzugte Format die Eines-Aktiv-Codierung ist, dieselbe
unverändert verwendet werden.
Es kann erwünscht sein, ein Eines-Aktiv-Ausgangssignal mit
der gleichen Anzahl von Bits wie das Eingangsdatenwort zu
erzeugen. Beispielsweise ist bei einem Mikroprozessor mit
einem 64-Bit-Datenbus das Eingangsdatenwort 64 Bit breit,
wobei es am einfachsten ist, das Eines-Aktiv-Ausgangssignal
zu verarbeiten, wenn es ebenfalls 64 Bit breit ist. Um dies
zu erreichen, wird ein Bit des Eines-Aktiv-Standard-65-Bit-
Zählwerts fallengelassen, was 64 Bit beläßt, wobei die An
zahl die durch das fallengelassene Bit dargestellt ist,
durch die verbleibenden 64 Bit, die alle den gleichen Wert
aufweisen, angezeigt wird.
Bei einem Ausführungsbeispiel wird die 65-Bit-Eines-Aktiv-
Ausgabe P0H-P64H in ein 2N-1-codiertes 64-Bit-Ausgangssignal
transformiert. Das erste Signal, P0H, das bei diesem Bei
spiel 0 Einsen anzeigt, wird fallengelassen. Die verbleiben
den Signale, P1H-P64H, die jeweils einen Zählwert von 1 bis
64 Einsen anzeigen, bilden das 2N-1 codierte 64-Bit-Eines-
Aktiv-Ausgangssignal. Die erste, oder 20-Bitlinie, zeigt ei
ne Eins an. Die zweite, oder 21-Bitlinie, zeigt zwei Einsen
an, usw. bis zu der 64-sten oder 263-Bitlinie, die 64 Einsen
in dem Eingangsdatenwort anzeigt. Ein Zählwert von 0 Einsen
in dem Eingangsdatenwort wird dadurch angezeigt, daß alle 64
Ausgangsbits den gleichen Wert besitzen, oder bei diesem
Beispiel auf einem tiefen Pegel sind.
Bei einem weiteren Ausführungsbeispiel wird die 65-Bit-Ei
nes-Aktiv-Ausgabe P0H-P64H in ein 2N-codiertes 64-Bit-Aus
gangssignal transformiert. Das letzte Signal, P64H, das bei
diesem Beispiel 64 Einsen anzeigt, wird fallengelassen. Die
verbleibenden Signale, P0H-P63H, die jeweils einen Zählwert
von 0-63 Einsen anzeigen, bilden das 2N-codierte 64-Bit-Ei
nes-Aktiv-Ausgangssignal. Die erste oder 20-Bitlinie zeigt 0
Einsen an. Die zweite, oder 21-Bitlinie, zeigt eine einzelne
Eins an, usw. bis zu der 64-sten oder 263-Bitlinie, die 63
Einsen in dem Eingangsdatenwort anzeigt. Ein Zählwert von 64
Einsen in dem Eingangsdatenwort wird dadurch dargestellt,
daß alle 64 Ausgangsbits den gleichen Wert aufweisen, oder
bei diesem Beispiel auf einem tiefen Pegel sind.
Die Fig. 7A-7G zeigen einen Codierer, um ein binäres Aus
gangssignal aus einem Eines-Aktiv-codierten 65-Bit-Eingangs
signal, das einen Zählwert gleicher Signale in einem 64-
Bit-Datenwort darstellt, zu erzeugen. Das binär-codierte
Ausgangssignal für ein 64-Bit-Datensignal ist sieben Bit
breit, da dasselbe sieben Bits benötigt, um die Zahl 64 in
binärer Form darzustellen, wobei in einem 64-Bit-Datenwort
bis zu 64 gleiche Signale existieren können. Die erste Ei
nes-Aktiv-codierte Eingangssignal, das 0 gleiche Signale
anzeigt, wird nicht verwendet, da der voreingestellte Wert
des binären Ausgangssignals, wenn keine Eingänge aktiv sind,
0 ist.
Fig. 7A zeigt die Schaltung, um das erste Ausgangssignal 522
zu erzeugen, das die 20-Position in dem binär codierten Aus
gangssignal anzeigt. Ein aktiv-tiefer Ausgang 516 wird durch
ein Vorladeeinrichtungsgatter 500 auf einen hohen Pegel von
Vdd gelegt. Eine Reihe von Gattern (beispielsweise 502 bis
514) sind ebenfalls mit dem aktiv-tiefen Ausgang 516 ver
bunden, um denselben auf Masse herunterzuziehen, immer wenn
ein geeignetes Eines-Aktiv-codiertes Eingangssignal aktiv
ist. Der Ausgang 516 ist immer aktiv, wenn eine ungeradzah
lige Anzahl von gleichen Signale in dem Eingangsdatenwort
existiert. Daher wird jedes ungeradzahlige Signal in der Ei
nes-Aktiv-codierten Ausgabe zu dem Steuereingang eines Gat
ters (beispielsweise 502) auf dem Ausgang 516 gekoppelt. Das
erste Gatter 502 ist aktiv, was den Ausgang 516 auf Masse
herunterzieht, wenn das Eines-Aktiv-Eingangssignal, das ein
gleiches Signal (P1H) anzeigt, aktiv ist. Das zweite Gatter
504 ist für drei gleiche Signale (P3H) aktiv, das Gatter 506
für fünf, das Gatter 510 für sieben, usw. bis zu dem Gatter
512, das für 61 gleiche Signale aktiv ist, und dem Gatter
514, das für 63 gleiche Signale aktiv ist. Bei dem bevorzug
ten Ausführungsbeispiel, das in den Fig. 7A-7G gezeigt ist,
sind die Eines-Aktiv-codierten Eingangssignale aktiv-hoch,
was bewirkt, daß ein Gatter schließt und leitet, wenn der
Steuereingang auf einem hohen Pegel ist. Die resultierenden
Aktiv-Tief-Ausgangssignale werden invertiert, um ein Aktiv-
Hoch-Signal, das von vielen Computern gefordert wird, zu er
zeugen. Wie in Fig. 7A gez 03941 00070 552 001000280000000200012000285910383000040 0002019945451 00004 03822eigt ist, wird das Aktiv-Tief-Aus
gangssignal 516 durch einen Inverter 520 zu einem Aktiv-
Hoch-Ausgangssignal 522 invertiert.
In gleicher Weise zeigt Fig. 7B die Schaltung, um das zweite
Ausgangssignal 544, das die 21-Position in dem binär codier
ten Ausgangssignal darstellt, zu erzeugen. Der Ausgang 544
ist aktiv, wenn ein Eines-Aktiv-codiertes Signal einen Zähl
wert in der Reihe 2, 3, 6, 7, 10, 11, usw. bis zu 62 und 63,
anzeigt. Wenn das Eines-Aktiv-codierte Signal P2H aktiv ist,
schließt das Übertragungsgatter 524, um das 21-Ausgangssi
gnal 544 durch Herunterziehen desselben auf Masse zu akti
vieren. Wenn das Signal P3H aktiv ist, schließt das Übertra
gungsgatter 526, um den Ausgang 544 zu aktivieren. In glei
cher Weise aktiviert ein Eines-Aktiv-codiertes Signal in der
Reihe 2, 3, 6, 7, 10, 11 usw. bis 62 und 63 ein Übertra
gungsgatter 524-542. Es sei bemerkt, daß, um die Reihe von
Eines-Aktiv-codierten Eingangssignalen deutlicher zu zeigen,
die Fig. 7A-7F nicht alle benötigten Übertragungsgatter zei
gen. Vielmehr zeigen die Fig. 7A-7F die Reihe von Eingängen,
wobei jeder Eingang in der Reihe mit dem Steuereingang eines
Übertragungsgatters verbunden ist.
Der dritte Ausgang 566, der die 22-Position darstellt, der
in Fig. 7C gezeigt ist, ist aktiv, wenn ein Eines-Aktiv-Ein
gangssignal in der Reihe 4-7, 12-15, 20-23 usw. bis 60-63
aktiv ist. Wie oben erklärt wurde, ist nicht jedes benötigte
Übertragungsgatter dargestellt. Beispielsweise sind die Ein
gänge P4H-P7H jeweils mit dem Steuereingang eines Übertra
gungsgatters verbunden, was vier Übertragungsgatter erfor
dert. Jedoch sind nur zwei Übertragungsgatter 546 und 550
dargestellt, die die Anfangs- und End-Übertragungsgatter in
dem Bereich darstellen. In gleicher Weise stellen die ande
ren angezeigten Übertragungsgatter 552-564 Anfangs- und
End-Übertragungsgatter in ausgewählten Bereichen der Gesamt
reihe für den verbundenen Ausgang 566 dar.
Der vierte Ausgang 590, der die 23-Position darstellt, der
in Fig. 7D gezeigt ist, ist aktiv, wenn ein Eines-Aktiv-Ein
gangssignal in der Reihe 8-15, 24-31, 40-55 und 56-63 aktiv
ist.
Der fünfte Ausgang 592, der die 24-Position darstellt, der
in Fig. 7E gezeigt ist, basiert auf Eines-Aktiv-codierten
Eingangssignalen in der Reihe 16-31 und 48-63.
Der sechste Ausgang 594, der die 25-Position darstellt, der
in Fig. 7F gezeigt ist, basiert auf Eines-Aktiv-codierten
Eingangssignalen in dem Bereich 32-63.
Schließlich basiert der siebte Ausgang 596, der die 26-Posi
tion darstellt, der in Fig. 7G gezeigt ist, auf dem Eines-
Aktiv-codierten Eingangssignal, das 64 gleiche Signale dar
stellt.
Das Ausführungsbeispiel des Codierers, das in den Fig. 7A-7G
gezeigt ist, kann nach Bedarf für die Zieltechnologie ange
paßt werden, ohne von den erfindungsgemäßen Konzepten, die
hierin offenbart sind, abzuweichen. Beispielsweise können
bei bestimmten Technologien oder bei bestimmten Betriebs
spannungspegeln Puffer benötigt werden, um ein Herunter-La
den der Ausgangssignale zu vermeiden.
Claims (23)
1. Verfahren zum Herstellen einer Vorrichtung zum Zählen
einer Anzahl von gleichen Signalen in einer Mehrzahl
von Datenbits, mit folgenden Schritten:
- a) Bereitstellen einer ersten Mehrzahl von Signalwe gen, die einen Wahr-Signalweg und einen Komplemen tär-Signalweg für jedes von N Datenbits aufweisen;
- b) Bereitstellen einer ersten Mehrzahl (2) von Über tragungsgattern (30, 60, 62, 64, . . .), wobei jedes der ersten Mehrzahl (2) von Übertragungsgattern zwei Anschlüsse (30, 36) und einen Steueranschluß (32) aufweist, wodurch das Anlegen eines Signals an den Steuereingang (32) eines gegebenen der er sten Mehrzahl von Übertragungsgattern (30, 60, 62, 64) das Öffnen und Schließen einer Verbindung zwi schen den Anschlüssen (34, 36) des gegebenen der ersten Mehrzahl von Übertragungsgattern (30, 60, 62, 64, . . .) ermöglicht;
- c) Verbinden einer ersten Signalquelle (4) mit einer ersten Mehrzahl (130) von Einer-Aktiv-Ausgängen (118-122) über die erste Mehrzahl (2) von Übertra gungsgattern (30, 60, 62, 64, . . .) durch das Bil den einer ersten Mehrzahl von Serienwegen zwischen der ersten Signalquelle (4) und der ersten Mehr zahl (130) von Einer-Aktiv-Ausgängen (118-122), wobei jeder der ersten Mehrzahl von Serienwegen einen Teilsatz der ersten Mehrzahl (2) von Über tragungsgattern (30, 60, 62, 64, . . .), die über ih re Anschlüsse (34, 36) verbunden sind, aufweist; und
- d) Verbinden bestimmter der ersten Mehrzahl von Si
gnalwegen mit bestimmten der Steuereingänge (32)
der ersten Mehrzahl von Übertragungsgattern (30,
60, 62, 64, . . .) durch:
- a) Verbinden eines unterschiedlichen der ersten Mehrzahl von Signalwegen mit dem Steuerein gang jedes Übertragungsgatters (30, 60, 62, 64, . . .), was einen gegebenen der ersten Mehrzahl von Serienwegen bildet;
- b) Verbinden eines unterschiedlichen Teilsatzes der ersten Mehrzahl von Signalwegen mit den Steuereingängen der Übertragungsgatter in je dem Serienweg der ersten Mehrzahl von Serien wegen; und
- c) Verbinden eines gleichen Verhältnisses von Wahr-Signalwegen für die N Datenbits zu Kom plementärsignalwegen für die N Datenbits mit den Steuereingängen der Übertragungsgatter in jedem Serienweg der ersten Mehrzahl von Se rienwegen, was die erste Signalquelle (4) mit einem gegebenen der ersten Mehrzahl von Ei ner-Aktiv-Ausgängen (118-122, 130) verbindet.
2. Verfahren nach Anspruch 1, das ferner das Verbinden der
ersten Signalquelle (4) mit der ersten Mehrzahl (130)
von Einer-Aktiv-Ausgängen (118-122) über die erste
Mehrzahl (2) von Übertragungsgattern durch das Bilden
eines Gitters von Übertragungsgattern zwischen der er
sten Signalquelle (4) und der ersten Mehrzahl (130) von
Einer-Aktiv-Ausgängen (118-122) aufweist.
3. Verfahren nach Anspruch 1, das ferner das Verbinden der
ersten Signalquelle (4) mit der ersten Mehrzahl (130)
von Einer-Aktiv-Ausgängen (118-122) über die erste
Mehrzahl (2) von Übertragungsgattern durch das Bilden
eines Baums von Übertragungsgattern zwischen der ersten
Signalquelle (4) und der ersten Mehrzahl (130) von Ei
ner-Aktiv-Ausgängen (118-122) aufweist.
4. Verfahren nach einem der Ansprüche 1 bis 3, das ferner
folgende Schritte aufweist:
- a) Bereitstellen zumindest einer zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen, die eine Anzahl von gleichen Signalen in M Datenbits anzeigt;
- b) Bereitstellen einer zweiten Mehrzahl (136) von Übertragungsgattern (174-184, 186, 190, . . .), wo bei jedes der zweiten Mehrzahl von Übertragungs gattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das Anlegen eines Signals an den Steuereingang eines gegebenen der zweiten Mehrzahl (136) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den zwei An schlüssen des gegebenen der zweiten Mehrzahl (136) von Übertragungsgattern ermöglicht;
- c) Verbinden der ersten Signalquelle mit einer drit ten Mehrzahl von Einer-Aktiv-Ausgängen (138) über die zweite Mehrzahl (136) von Übertragungsgattern durch das Bilden einer zweiten Mehrzahl von Se rienwegen zwischen der ersten Signalquelle und der dritten Mehrzahl von Einer-Aktiv-Ausgängen (138), wobei jeder der zweiten Mehrzahl von Serienwegen einen Teilsatz der zweiten Mehrzahl (136) von Übertragungsgattern, die über deren Anschlüsse verbunden sind, aufweist; und
- d) Verbinden bestimmter der ersten und der zumindest
einen zweiten Mehrzahl (130, 134) von Einer-Ak
tiv-Ausgängen mit bestimmten der Steuereingänge
der zweiten Mehrzahl (136) von Übertragungsgat
tern, durch:
- a) Verbinden von einem der ersten Mehrzahl von Einer-Aktiv-Ausgängen (130) und einem von je der der zumindest einen zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen mit den Steu ereingängen der Übertragungsgatter, die einen gegebenen der zweiten Mehrzahl von Serienwe gen bilden; und
- b) Verbinden eines unterschiedlichen Teilsatzes der ersten und der zumindest einen zweiten Mehrzahl (130, 134) von Einer-Aktiv-Ausgängen mit den Steuereingängen der Übertragungsgat ter in jedem Serienweg der zweiten Mehrzahl von Serienwegen.
5. Verfahren nach Anspruch 4, das ferner folgende Schritte
aufweist:
- a) Bereitstellen zumindest einer vierten Mehrzahl (152) von Einer-Aktiv-Ausgängen, die eine Anzahl von gleichen Signalen in L Datenbits anzeigt;
- b) Bereitstellen einer dritten Mehrzahl (154) von Übertragungsgattern (384, 390, 392, . . .), wobei jedes der dritten Mehrzahl (154) von Übertragungs gattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das Anlegen eines Signals an den Steuereingang eines gegebenen der dritten Mehrzahl (154) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den zwei An schlüssen des gegebenen der dritten Mehrzahl (154) von Übertragungsgattern ermöglicht;
- c) Verbinden der dritten Mehrzahl (138) von Einer-Ak tiv-Ausgängen mit einer fünften Mehrzahl (156) von Einer-Aktiv-Ausgängen über die dritte Mehrzahl (154) von Übertragungsgattern durch das Bilden ei ner dritten Mehrzahl von Serienwegen zwischen der dritten und der fünften Mehrzahl von Einer-Aktiv- Ausgängen (138, 156), wobei jeder der dritten Mehrzahl von Serienwegen einen Teilsatz der drit ten Mehrzahl (154) von Übertragungsgattern, die über deren Anschlüsse verbunden sind, aufweist; und
- d) Verbinden bestimmter der zumindest einen vierten
Mehrzahl (152) von Einer-Aktiv-Ausgängen mit be
stimmten der Steuereingänge der dritten Mehrzahl
(154) von Übertragungsgattern, durch:
- a) Verbinden von einem von jeder der zumindest einen vierten Mehrzahl (152) von Einer-Ak tiv-Ausgängen mit den Steuereingängen der Übertragungsgatter, die einen gegebenen der dritten Mehrzahl von Serienwegen bilden; und
- b) Verbinden eines unterschiedlichen Teilsatzes von der zumindest einen vierten Mehrzahl (152) von Einer-Aktiv-Ausgängen mit den Steu ereingängen der Übertragungsgatter in jedem Serienweg der dritten Mehrzahl von Serienwe gen.
6. Verfahren nach Anspruch 5, bei dem das Bereitstellen
zumindest einer vierten Mehrzahl (152) von Einer-Ak
tiv-Ausgängen, die eine Anzahl gleicher Signale in L
Datenbits anzeigt, folgende Schritte aufweist:
- a) Bereitstellen einer sechsten Mehrzahl (142) von Einer-Aktiv-Ausgängen, die eine Anzahl gleicher Signale in K Datenbits anzeigt;
- b) Bereitstellen zumindest einer siebten Mehrzahl (146) von Einer-Aktiv-Ausgängen, die eine Anzahl gleicher Signale in J Datenbits anzeigt;
- c) Bereitstellen einer vierten Mehrzahl (150) von Übertragungsgattern, wobei jedes der vierten Mehr zahl (150) von Übertragungsgattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das An legen eines Signals an den Steuereingang eines ge gebenen der vierten Mehrzahl (150) von Übertra gungsgattern das Öffnen und Schließen einer Ver bindung zwischen den zwei Anschlüssen des gegebe nen der vierten Mehrzahl (150) von Übertragungs gattern ermöglicht;
- d) Verbinden der ersten Signalquelle mit einem gege benen der zumindest vierten Mehrzahl (152) von Ei ner-Aktiv-Ausgängen über die vierte Mehrzahl (150) von Übertragungsgattern durch das Bilden einer vierten Mehrzahl von Serienwegen zwischen der er sten Signalquelle und dem gegebenen der zumindest einen vierten Mehrzahl (152) von Einer-Aktiv-Aus gängen, wobei jeder der vierten Mehrzahl von Se rienwegen einen Teilsatz der vierten Mehrzahl (150) von Übertragungsgattern, die über ihre An schlüsse verbunden sind, aufweist; und
- e) Verbinden bestimmter der sechsten und zumindest
einen siebten Mehrzahl (142, 146) von Einer-Ak
tiv-Ausgängen mit bestimmten der Steuereingänge
der vierten Mehrzahl (150) von Übertragungsgattern
durch:
- a) Verbinden von einem der sechsten Mehrzahl (142) von Einer-Aktiv-Ausgängen und einem von jeder der zumindest einen siebten Mehrzahl (146) von Einer-Aktiv-Ausgängen mit den Steu ereingängen der Übertragungsgatter, die einen gegebenen der vierten Mehrzahl von Serienwe gen bilden; und
- b) Verbinden eines unterschiedlichen Teilsatzes der sechsten und zumindest einen siebten Mehrzahl (142, 146) von Einer-Aktiv-Ausgängen mit den Steuereingängen der Übertragungsgat ter in jedem Serienweg dar vierten Mehrzahl von Serienwegen.
7. Verfahren nach Anspruch 5, bei dem das Bereitstellen
zumindest einer vierten Mehrzahl (152) von Einer-Ak
tiv-Ausgängen, die eine Anzahl von gleichen Signalen in
L Datenbits anzeigt, folgende Schritte aufweist:
- a) Bereitstellen einer sechsten Mehrzahl (142) von Einer-Aktiv-Ausgängen, die eine Anzahl gleicher Signale in K Datenbits anzeigt;
- b) Bereitstellen zumindest einer siebten Mehrzahl (146) von Einer-Aktiv-Ausgängen, die eine Anzahl von gleichen Signalen in J Datenbits anzeigt;
- c) Bereitstellen einer vierten Mehrzahl (150) von Übertragungsgattern, wobei jedes der vierten Mehr zahl (150) von Übertragungsgattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das An legen eines Signals an den Steuereingang eines ge gebenen der vierten Mehrzahl (150) von Übertra gungsgattern das Öffnen und Schließen einer Ver bindung zwischen den zwei Anschlüssen des gegebe nen der vierten Mehrzahl (150) von Übertragungs gattern ermöglicht;
- d) Verbinden einer zweiten Signalquelle mit einem ge gebenen der zumindest einen vierten Mehrzahl (152) von Einer-Aktiv-Ausgängen über die vierte Mehrzahl (150) von Übertragungsgattern durch das Bilden ei ner vierten Mehrzahl von Serienwegen zwischen der zweiten Signalquelle und dem gegebenen der zumin dest einen vierten Mehrzahl (152) von Einer-Ak tiv-Ausgängen, wobei jeder der vierten Mehrzahl von Serienwegen einen Teilsatz der vierten Mehr zahl (150) von Übertragungsgattern, die über ihre Anschlüsse verbunden sind, aufweist; und
- e) Verbinden bestimmter der sechsten und zumindest
einen siebten Mehrzahl (142, 146) von Einer-Ak
tiv-Ausgängen mit bestimmten der Steuereingänge
der vierten Mehrzahl (150) von Übertragungsgat
tern, durch:
- a) Verbinden von einem der sechsten Mehrzahl (142) von Einer-Aktiv-Ausgängen und einem von jeder der zumindest einen siebten Mehrzahl (146) von Einer-Aktiv-Ausgängen mit den Steu ereingängen der Übertragungsgatter, die einen gegebenen der vierten Mehrzahl von Serienwe gen bilden; und
- b) Verbinden eines unterschiedlichen Teilsatzes der sechsten und zumindest einen siebten Mehrzahl (142, 146) von Einer-Aktiv-Ausgängen mit den Steuereingängen der Übertragungsgat ter in jedem Serienweg der vierten Mehrzahl von Serienwegen.
8. Verfahren nach Anspruch 1, das ferner folgende Schritte
aufweist:
- a) Bereitstellen zumindest einer zweiten Mehrzahl von Einer-Aktiv-Ausgängen (134), die eine Anzahl glei cher Signale in M Datenbits anzeigt;
- b) Bereitstellen einer zweiten Mehrzahl (136) von Übertragungsgattern, wobei jedes der zweiten Mehr zahl von Übertragungsgattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das Anlegen eines Signals an den Steuereingang eines gegebenen der zweiten Mehrzahl (136) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den zwei Anschlüssen des gegebenen der zweiten Mehrzahl (136) von Übertragungsgattern ermöglicht;
- c) Verbinden der ersten Mehrzahl von Einer-Aktiv-Aus gängen (130) mit einer dritten Mehrzahl (138) von Einer-Aktiv-Ausgängen über die zweite Mehrzahl (136) von Übertragungsgattern durch das Bilden ei ner zweiten Mehrzahl von Serienwegen zwischen der ersten und der dritten Mehrzahl (130, 138) von Ei ner-Aktiv-Ausgängen, wobei jeder der zweiten Mehr zahl von Serienwegen einen Teilsatz der zweiten Mehrzahl (136) von Übertragungsgattern, die über ihre Anschlüsse verbunden sind, aufweist; und
- d) Verbinden bestimmter der zumindest einen zweiten
Mehrzahl (134) von Einer-Aktiv-Ausgängen mit be
stimmten der Steuereingänge der zweiten Mehrzahl
(136) von Übertragungsgattern durch:
- a) Verbinden von einem von jeder der zumindest einen zweiten Mehrzahl (134) von Einer-Ak tiv-Ausgängen mit den Steuereingängen der Übertragungsgatter, die einen gegebenen der zweiten Mehrzahl von Serienwegen bilden; und
- b) Verbinden eines unterschiedlichen Teilsatzes der zumindest einen zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen mit den Steuerein gängen der Übertragungsgatter in jedem Se rienweg der zweiten Mehrzahl von Serienwe gen.
9. Verfahren nach Anspruch 8, bei dem das Bereitstellen
der zumindest einen zweiten Mehrzahl (134) von Einer-
Aktiv-Ausgängen, die eine Anzahl gleicher Signale in M
Datenbits anzeigt, folgende Schritte aufweist:
- a) Bereitstellen einer zweiten Mehrzahl von Signal wegen, die einen Wahr-Signalweg und einen Komple mentär-Signalweg für jedes der M Datenbits auf weist;
- b) Bereitstellen einer dritten Mehrzahl (132) von Übertragungsgattern, wobei jedes der dritten Mehr zahl (132) von Übertragungsgattern zwei Anschlüsse und einen Steueranschluß aufweist, wodurch das An legen eines Signals an den Steuereingang eines ge gebenen der dritten Mehrzahl (132) von Übertra gungsgattern das Öffnen und Schließen einer Ver bindung zwischen den zwei Anschlüssen des gegebe nen der dritten Mehrzahl (132) von Übertragungs gattern ermöglicht;
- c) Verbinden der ersten Signalquelle mit der zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen über die dritte Mehrzahl (132) von Übertragungsgattern durch das Bilden einer dritten Mehrzahl von Se rienwegen zwischen der ersten Signalquelle und der zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen, wobei jeder der dritten Mehrzahl von Signalwegen einen Teilsatz der dritten Mehrzahl (132) von Übertragungsgattern, die über ihre Anschlüsse ver bunden sind, aufweist; und
- d) Verbinden bestimmter der dritten Mehrzahl von Si
gnalwegen mit bestimmten der Steuereingänge der
dritten Mehrzahl (132) von Übertragungsgattern,
durch:
- a) Verbinden eines unterschiedlichen der zweiten Mehrzahl von Signalwegen mit dem Steuerein gang jedes Übertragungsgatters, das einen ge gebenen der dritten Mehrzahl von Serienwegen bildet;
- b) Verbinden eines unterschiedlichen Teilsatzes der zweiten Mehrzahl von Signalwegen mit den Steuereingängen der Übertragungsgatter in je dem Serienweg der dritten Mehrzahl von Se rienwegen; und
- c) Verbinden eines gleichen Verhältnisses von Wahr-Signalwegen für die M Datenbits zu Kom plementär-Signalwegen für die M Datenbits mit den Steuereingängen der Übertragungsgatter in jedem Serienweg der dritten Mehrzahl von Se rienwegen, was die erste Signalquelle mit ei nem gegebenen der zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen verbindet.
10. Verfahren nach Anspruch 8, bei dem das Bereitstellen
der zumindest einen zweiten Mehrzahl (134) von Einer-
Aktiv-Ausgängen, die eine Anzahl von gleichen Signalen
in M Datenbits anzeigt, folgende Schritte aufweist:
- a) Bereitstellen einer zweiten Mehrzahl von Signal wegen, die einen Wahr-Signalweg und einen Komple mentär-Signalweg für jedes der M Datenbits aufwei sen;
- b) Bereitstellen einer dritten Mehrzahl (134) von Übertragungsgattern, wobei jedes der dritten Mehr zahl (134) von Übertragungsgattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das An legen eines Signals an den Steuereingang eines ge gebenen der dritten Mehrzahl (134) von Übertra gungsgattern das Öffnen und Schließen einer Ver bindung zwischen den zwei Anschlüssen des gegebe nen der dritten Mehrzahl (134) von Übertragungs gattern ermöglicht;
- c) Verbinden einer zweiten Signalquelle mit der zwei ten Mehrzahl (134) von Einer-Aktiv-Ausgängen über die dritte Mehrzahl (132) von Übertragungsgattern durch das Bilden einer dritten Mehrzahl von Se rienwegen zwischen der zweiten Signalquelle und der zweiten Mehrzahl (134) von Einer-Aktiv-Aus gängen, wobei jeder der dritten Mehrzahl von Se rienwegen einen Teilsatz der dritten Mehrzahl (132) von Übertragungsgattern, die über ihre An schlüsse verbunden sind, aufweist; und
- d) Verbinden bestimmter der dritten Mehrzahl von Si
gnalwegen mit bestimmten der Steuereingänge der
dritten Mehrzahl (132) von Übertragungsgattern,
durch:
- a) Verbinden eines unterschiedlichen der zweiten Mehrzahl von Signalwegen mit dem Steuerein gang jedes Übertragungsgatters, das einen ge gebenen der dritten Mehrzahl von Serienwegen bildet;
- b) Verbinden eines unterschiedlichen Teilsatzes der zweiten Mehrzahl von Signalwegen mit den Steuereingängen der Übertragungsgatter in je dem Serienweg der dritten Mehrzahl von Se rienwegen; und
- c) Verbinden eines gleichen Verhältnisses von Wahr-Signalwegen für die M Datenbits zu Kom plementär-Signalwegen für die M Datenbits mit den Steuereingängen der Übertragungsgatter in jedem Serienweg der dritten Mehrzahl von Se rienwegen, was die zweite Signalquelle mit einem gegebenen der zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen verbindet.
11. Verfahren nach einem der Ansprüche 1 bis 10, bei dem
die erste Signalquelle mit einer ersten Spannungsschie
ne verbunden ist, wobei die erste Mehrzahl von Serien
wegen auf einen Spannungspegel einer zweiten Spannungs
schiene vorgeladen ist.
12. Verfahren nach einem der Ansprüche 1 bis 11, das ferner
das Umwandeln der Ausgangssignale der ersten Mehrzahl
(130) von Einer-Aktiv-Ausgängen in ein binär codiertes
Ausgangssignal aufweist.
13. Verfahren nach einem der Ansprüche 1 bis 12, das ferner
folgende Schritte aufweist:
Bereitstellen einer ersten Mehrzahl von Puffern (112- 116); und
Verbinden bestimmter der ersten Mehrzahl (130) von Ei ner-Aktiv-Ausgängen mit bestimmten der ersten Mehrzahl von Puffern (112-116).
Bereitstellen einer ersten Mehrzahl von Puffern (112- 116); und
Verbinden bestimmter der ersten Mehrzahl (130) von Ei ner-Aktiv-Ausgängen mit bestimmten der ersten Mehrzahl von Puffern (112-116).
14. Verfahren nach Anspruch 13, bei dem die Puffer Inver
tierer umfassen.
15. Vorrichtung zum Zählen einer Anzahl gleicher Signale in
einer Mehrzahl von Datenbits, mit folgenden Merkmalen:
- a) einer ersten Mehrzahl von Signalwegen, die einen Wahr-Signalweg und einen Komplementär-Signalweg für jedes von N Datenbits aufweisen;
- b) einer ersten Mehrzahl (2) von Übertragungsgattern (30, 60, 62, 64, . . .), wobei jedes der ersten Mehrzahl (2) von Übertragungsgattern zwei An schlüsse (34, 36) und einen Steueranschluß (32) aufweist, wodurch das Anlegen eines Signals an den Steueranschluß (32) eines gegebenen der ersten Mehrzahl (2) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den zwei Anschlüssen (34, 36) des gegebenen der ersten Mehrzahl (2) von Übertragungsgattern ermöglicht, wobei:
- c) die erste Mehrzahl (2) von Übertragungsgattern eine erste Signalquelle (4) und eine erste Mehr zahl (130) von Einer-Aktiv-Ausgängen (118-122) durch das Bilden einer ersten Mehrzahl von Serien wegen zwischen der ersten Signalquelle und der er sten Mehrzahl (130) von Einer-Aktiv-Ausgängen ver bindet, wobei jeder der ersten Mehrzahl von Se rienwegen einen Teilsatz der ersten Mehrzahl (2) von Übertragungsgattern, die über ihre Anschlüsse (34, 36) verbunden sind, aufweist; und
- d) bestimmte der ersten Mehrzahl von Signalwegen mit
bestimmten der Steuereingänge (32) der ersten
Mehrzahl (2) von Übertragungsgattern derart ver
bunden sind, daß:
- a) ein unterschiedlicher der ersten Mehrzahl von Signalwegen mit dem Steuereingang jedes Über tragungsgatters, das einen gegebenen der er sten Mehrzahl von Serienwegen bildet, verbun den ist;
- b) ein unterschiedlicher Teilsatz der ersten Mehrzahl von Signalwegen mit den Steuerein gängen der Übertragungsgatter in jedem Se rienweg der ersten Mehrzahl von Serienwegen verbunden ist; und
- c) ein gleiches Verhältnis von Wahr-Signalwegen für die N Datenbits zu Komplementär-Signal wegen für die N Datenbits mit den Steuerein gängen der Übertragungsgatter in jedem Se rienweg der ersten Mehrzahl von Serienwegen verbunden ist, was die erste Signalquelle (4) mit einem gegebenen der ersten Mehrzahl (130) von Einer-Aktiv-Ausgängen verbindet.
16. Vorrichtung nach Anspruch 15, bei der die erste Mehr
zahl (2) von Übertragungsgattern einen CMOS-Transistor
aufweist.
17. Vorrichtung nach Anspruch 15 oder 16, bei dem die erste
Mehrzahl von Signalwegen vier Wahr-Signalwege aufweist.
18. Vorrichtung nach einem der Ansprüche 15 bis 17, die
ferner eine erste Mehrzahl von Vorladegattern (50-54)
aufweist, wobei jedes der ersten Mehrzahl von Vorlade
gattern (50-54) einen ersten Anschluß, einen zweiten
Anschluß und einen Steuereingang (CK) aufweist, wodurch
das Anlegen eines Signals an den Steuereingang eines
gegebenen der ersten Mehrzahl von Vorladegattern (50-
54) das Öffnen und Schließen einer Verbindung zwischen
dem ersten Anschluß und dem zweiten Anschluß des gege
benen der ersten Mehrzahl von Vorladegattern (50-54)
ermöglicht, wobei die erste Mehrzahl von Vorladegattern
(50-54) die erste Mehrzahl von Serienwegen und eine er
ste Spannungsschiene derart verbinden, daß:
- a) der erste Anschluß von jedem der ersten Mehrzahl von Vorladegattern (50-54) mit der ersten Span nungsschiene verbunden ist;
- b) ein unterschiedlicher der ersten Mehrzahl von Se rienwegen mit dem zweiten Anschluß von jedem der ersten Mehrzahl von Vorladegattern (50-54) verbun den ist; und
- c) der Steuereingang von jedem der ersten Mehrzahl von Vorladegattern mit einem Taktsignal verbunden ist.
19. Vorrichtung nach einem der Ansprüche 15 bis 18, die
ferner einen Einer-Aktiv-Zu-Binär-Codierer aufweist,
wobei der Codierer eine Mehrzahl von Eingängen, einen
für jeden der ersten Mehrzahl (130) von Einer-Aktiv-
Ausgängen, und eine Mehrzahl von Ausgängen zum Anzeigen
einer binär codierten Darstellung eines Werts, der
durch die erste Mehrzahl (130) von Einer-Aktiv-Ausgän
gen erscheint, aufweist, wobei bestimmte der Mehrzahl
von Eingängen mit bestimmten der ersten Mehrzahl (130)
von Einer-Aktiv-Ausgängen verbunden sind.
20. Vorrichtung nach einem der Ansprüche 15 bis 19, die
ferner folgende Merkmale aufweist:
- a) zumindest eine zweite Mehrzahl (134) von Einer-Ak tiv-Ausgängen, die eine Anzahl von gleichen Signa len in M Datenbits anzeigt;
- b) eine zweite Mehrzahl (136) von Übertragungsgat tern, wobei jedes der zweiten Mehrzahl von Über tragungsgattern zwei Anschlüsse und einen Steuer eingang aufweist, wodurch das Anlegen eines Si gnals an den Steuereingang eines gegebenen der zweiten Mehrzahl (134) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den zwei Anschlüssen des gegebenen der zweiten Mehr zahl von Übertragungsgattern ermöglicht;
- c) eine dritte Mehrzahl (138) von Einer-Aktiv-Ausgän gen, die über die zweite Mehrzahl (136) von Über tragungsgattern durch das Bilden einer zweiten Mehrzahl von Serienwegen zwischen der ersten Si gnalquelle (4) und der dritten Mehrzahl (138) von Einer-Aktiv-Ausgängen verbunden sind, wobei jeder der zweiten Mehrzahl von Serienwegen einen Teil satz der zweiten Mehrzahl (136) von Übertragungs gattern, die über ihre Anschlüsse verbunden sind, aufweist; und
- d) bestimmte der ersten und zumindest einen zweiten
Mehrzahl (130, 134) von Einer-Aktiv-Ausgängen, die
mit bestimmten der Steuereingänge der zweiten
Mehrzahl (136) von Übertragungsgattern derart ver
bunden sind, daß:
- a) ein unterschiedlicher der ersten Mehrzahl (130) von Einer-Aktiv-Ausgängen und einer von jeder der zumindest einen zweiten Mehrzahl (134) von Einer-Aktiv-Ausgängen mit dem Steu ereingang jedes Übertragungsgatters, das ei nen gegebenen der zweiten Mehrzahl von Se rienwegen bildet, verbunden ist; und
- b) ein unterschiedlicher Teilsatz der ersten und zumindest einen zweiten Mehrzahl (130, 134) von Einer-Aktiv-Ausgängen mit den Steuerein gängen der Übertragungsgatter in jedem Se rienweg der zweiten Mehrzahl von Serienwegen verbunden ist.
21. Vorrichtung nach Anspruch 20, die ferner folgende Merk
male aufweist:
- a) zumindest eine vierte Mehrzahl (152) von Einer-Ak tiv-Ausgängen, die eine Anzahl von gleichen Signa len in L Datenbits anzeigt;
- b) eine dritte Mehrzahl (154) von Übertragungsgat tern, wobei jede der dritten Mehrzahl (154) von Übertragungsgattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das Anlegen eines Signals an den Steuereingang eines gegebenen der dritten Mehrzahl (154) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den Anschlüssen des gegebenen der dritten Mehrzahl (154) von Übertragungsgattern ermöglicht; wobei
- c) die dritte Mehrzahl (154) von Übertragungsgattern die dritte Mehrzahl von Einer-Aktiv-Ausgängen und eine fünfte Mehrzahl (156) von Einer-Aktiv-Ausgän gen durch das Bilden einer dritten Mehrzahl von Serienwegen zwischen der dritten und der fünften Mehrzahl (138, 156) von Einer-Aktiv-Ausgängen ver bindet, wobei jeder der dritten Mehrzahl von Se rienwegen einen Teilsatz der dritten Mehrzahl (154) von Übertragungsgattern, die über ihre An schlüsse verbunden sind, aufweist; und
- d) bestimmte der zumindest einen vierten Mehrzahl
(152) von Einer-Aktiv-Ausgängen mit bestimmten der
Steuereingänge der dritten Mehrzahl (154) von
Übertragungsgattern derart verbunden sind, daß:
- a) ein unterschiedlicher von jeder der zumindest einen vierten Mehrzahl (152) von Einer-Ak tiv-Ausgängen mit dem Steuereingang jedes Übertragungsgatters, das einen gegebenen der dritten Mehrzahl von Serienwegen bildet, ver bunden ist; und
- b) ein unterschiedlicher Teilsatz der zumindest einen vierten Mehrzahl (152) von Einer-Ak tiv-Ausgängen mit den Steuereingängen der Übertragungsgatter in jedem Serienweg der dritten Mehrzahl von Serienwegen verbunden ist.
22. Vorrichtung nach Anspruch 15, die ferner folgende Merk
male aufweist:
- a) zumindest eine zweite Mehrzahl (134) von Einer-Ak tiv-Ausgängen, die eine Anzahl gleicher Signale in M Datenbits anzeigt;
- b) eine zweite Mehrzahl (136) von Übertragungsgat tern, wobei jedes der zweiten Mehrzahl (136) von Übertragungsgattern zwei Anschlüsse und einen Steuereingang aufweist, wodurch das Anlegen eines Signals an den Steuereingang eines gegebenen der zweiten Mehrzahl (136) von Übertragungsgattern das Öffnen und Schließen einer Verbindung zwischen den zwei Anschlüssen des gegebenen der zweiten Mehr zahl (136) von Übertragungsgattern ermöglicht; wo bei:
- c) die zweite Mehrzahl (136) von Übertragungsgattern die erste Mehrzahl (130) von Einer-Aktiv-Ausgängen und eine dritte Mehrzahl (138) von Einer-Aktiv- Ausgängen durch das Bilden einer zweiten Mehrzahl von Serienwegen zwischen der ersten und der drit ten Mehrzahl (130, 138) von Einer-Aktiv-Ausgängen verbindet, wobei jeder der zweiten Mehrzahl von Serienwegen einen Teilsatz der zweiten Mehrzahl (136) von Übertragungsgattern, die über deren An schlüsse verbunden sind, aufweist; und
- d) bestimmte der zumindest einen zweiten Mehrzahl
(134) von Einer-Aktiv-Ausgängen mit bestimmten der
Steuereingänge der zweiten Mehrzahl (136) von
Übertragungsgattern derart verbunden sind, daß:
- a) ein unterschiedlicher von jeder der zumindest einen zweiten Mehrzahl (134) von Einer-Ak tiv-Ausgängen mit dem Steuereingang jedes Übertragungsgatters, das einen gegebenen der zweiten Mehrzahl von Serienwegen bildet, ver bunden ist; und
- b) ein unterschiedlicher Teilsatz der zumindest einen zweiten Mehrzahl (134) von Einer-Ak tiv-Ausgängen mit den Steuereingängen der Übertragungsgatter in jedem Serienweg der zweiten Mehrzahl von Serienwegen verbunden ist.
23. Verfahren zum Erzeugen eines Ausgangssignals, das N-
Datenbits aufweist, aus einem Eingangssignal, das N + 1
Datenbits aufweist, wobei das Ausgangssignal die Anzahl
von gleichen Signalen in einem Signal, das N-Datenbits
aufweist, angibt, wobei die Anzahl von gleichen Signalen
durch eine Vorrichtung nach einem der Ansprüche 15 bis
22 gezählt wird, wobei das Eingangssignal durch die an
der Mehrzahl von einer Aktiv-Ausgängen (118-122) anlie
genden Ausgangssignalen gebildet ist, wobei das Ver
fahren folgenden Schritt umfaßt:
Fallenlassen eines Datenbits des Eingangssignals mit N + 1 Datenbits, um das Ausgangssignal mit N-Datenbits zu erzeugen,
wobei eine Anzahl, die durch das fallengelassene Daten bit in dem Eingangssignal angezeigt wird, in dem Aus gangssignal angezeigt ist, wenn alle Datenbits in dem Ausgangssignal den gleichen Wert haben.
Fallenlassen eines Datenbits des Eingangssignals mit N + 1 Datenbits, um das Ausgangssignal mit N-Datenbits zu erzeugen,
wobei eine Anzahl, die durch das fallengelassene Daten bit in dem Eingangssignal angezeigt wird, in dem Aus gangssignal angezeigt ist, wenn alle Datenbits in dem Ausgangssignal den gleichen Wert haben.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/183,311 US6041092A (en) | 1998-10-30 | 1998-10-30 | Digital circuit to count like signals in a data word |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19945451A1 DE19945451A1 (de) | 2000-05-04 |
DE19945451C2 true DE19945451C2 (de) | 2001-02-15 |
Family
ID=22672287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19945451A Expired - Fee Related DE19945451C2 (de) | 1998-10-30 | 1999-09-22 | Digitale Schaltung zum Zählen gleicher Signale in einem Datenwort |
Country Status (2)
Country | Link |
---|---|
US (1) | US6041092A (de) |
DE (1) | DE19945451C2 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001037083A2 (en) * | 1999-11-18 | 2001-05-25 | Sun Microsystems, Inc. | Decompression bit processing with a general purpose alignment tool |
GB201015730D0 (en) | 2010-09-20 | 2010-10-27 | Novelda As | Continuous time cross-correlator |
GB201015729D0 (en) | 2010-09-20 | 2010-10-27 | Novelda As | Pulse generator |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3246211C2 (de) * | 1982-12-14 | 1985-02-07 | Philips Kommunikations Industrie AG, 8500 Nürnberg | Schaltungsanordnung zur Detektion von Folgen identischer Binärwerte |
JPH0618617A (ja) * | 1992-07-01 | 1994-01-28 | Dainippon Printing Co Ltd | 集積回路クロックド素子動作検証方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4043671A (en) * | 1976-07-13 | 1977-08-23 | The United States Of America As Represented By The United States Energy Research And Development Administration | Laser system preset unit |
US5572682A (en) * | 1992-04-03 | 1996-11-05 | Cyrix Corporation | Control logic for a sequential data buffer using byte read-enable lines to define and shift the access window |
-
1998
- 1998-10-30 US US09/183,311 patent/US6041092A/en not_active Expired - Lifetime
-
1999
- 1999-09-22 DE DE19945451A patent/DE19945451C2/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3246211C2 (de) * | 1982-12-14 | 1985-02-07 | Philips Kommunikations Industrie AG, 8500 Nürnberg | Schaltungsanordnung zur Detektion von Folgen identischer Binärwerte |
JPH0618617A (ja) * | 1992-07-01 | 1994-01-28 | Dainippon Printing Co Ltd | 集積回路クロックド素子動作検証方法 |
Also Published As
Publication number | Publication date |
---|---|
US6041092A (en) | 2000-03-21 |
DE19945451A1 (de) | 2000-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102020113922A1 (de) | Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen | |
DE2707451C2 (de) | Paralleladdierwerk mit durchlaufendem Übertrag zum Addieren von wenigstens zwei aus mehreren Bits bestehenden Summanden | |
DE3700323C2 (de) | ||
DE4129657C2 (de) | Programmierbare Frequenzteiler-Einrichtung | |
DE2151974A1 (de) | Schnelle-Fourier-Transformations-Verarbeitungseinheit | |
DE2717311A1 (de) | Datenprozessor | |
DE69129889T2 (de) | Pipelineschaltung und Verfahren zum Vergleich der relativen Differenz zwischen zwei asynchronen Zeigern und einem programmierbaren Wert | |
DE19945451C2 (de) | Digitale Schaltung zum Zählen gleicher Signale in einem Datenwort | |
DE2405858A1 (de) | Normalisierendes verschiebezaehlernetzwerk | |
DE2750400A1 (de) | Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen | |
EP0834115B1 (de) | Schaltungsanordnung zur realisierung von durch schwellenwertgleichungen darstellbaren logikelementen | |
DE3722907A1 (de) | Maximallaengen-schieberegister-folgegenerator | |
EP1540460B1 (de) | Vorrichtung und verfahren zum umsetzen und addiererschaltung | |
DE69935924T2 (de) | Umgeordnete kommunikationsprozesse in asynchronen schaltkreisen mit pipelines | |
DE69124238T2 (de) | Digitaler Sigma-Delta-Modulator | |
DE10344647B3 (de) | Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals | |
DE19525781C2 (de) | Pseudo-Zufallsmuster-Generatorschaltung | |
DE2017132C3 (de) | Binärer ParaUel-Addierer | |
EP1468492B1 (de) | Integrierte schaltung und schaltungsanordnung zur umwandlung eines single-rail-signals in ein dual-rail-signal | |
DE10227618B4 (de) | Logikschaltung | |
DE102018217016A1 (de) | Ein-Chip-System und Sicherheitsschaltung mit einem derartigen Ein-Chip-System | |
DE10324049B4 (de) | Integrierte Schaltung und Verfahren zum Betreiben der integrierten Schaltung | |
DE3422287C2 (de) | ||
DE10305849B3 (de) | Carry-Ripple Addierer | |
EP1495542B1 (de) | Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8339 | Ceased/non-payment of the annual fee |