DE19945451C2 - Digitale Schaltung zum Zählen gleicher Signale in einem Datenwort - Google Patents

Digitale Schaltung zum Zählen gleicher Signale in einem Datenwort

Info

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
Application number
DE19945451A
Other languages
English (en)
Other versions
DE19945451A1 (de
Inventor
Li C Tsai
Richard M Blumberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE19945451A1 publication Critical patent/DE19945451A1/de
Application granted granted Critical
Publication of DE19945451C2 publication Critical patent/DE19945451C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/14Conversion to or from non-weighted codes
    • H03M7/20Conversion to or from n-out-of-m codes
    • H03M7/22Conversion to or from n-out-of-m codes to or from one-out-of-m codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/607Methods 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).
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.
DE19945451A 1998-10-30 1999-09-22 Digitale Schaltung zum Zählen gleicher Signale in einem Datenwort Expired - Fee Related DE19945451C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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