HINTERGRUND DER ERFINDUNG
Die Erfindung bezieht sich im allgemeinen auf das Steuern ei
nes Taktgenerators in einem elektronischen System und im spe
zielleren auf ein Verfahren und ein System zum Deaktivieren
und Aktivieren eines Taktgenerators in einem synchronen elek
tronischen System.
BESCHREIBUNG DER EINSCHLÄGIGEN TECHNIK
Digitale elektronische Systeme beruhen auf einem Taktgenera
tor, um ein Taktsignal bereitzustellen, das dazu verwendet
wird, Operationen innerhalb des Systems zu synchronisieren.
Mit der Ausbreitung batterieversorgter elektronischer Geräte
ist es wichtiger geworden, elektronische Systeme mit niedriger
Leistungsaufnahme zu entwerfen. Eine Technik zum Erhalten der
Batterieenergie ist, den Taktgenerator während Intervallen, in
denen die Betriebseigenschaft des Systems nicht ungünstig be
einflußt wird, abzuschalten.
Wenn einmal der Taktgenerator von einem synchronen System de
aktiviert worden ist, ist das Neustarten oder Neuaktivieren
des Taktgenerators eine kritische Operation. Da es keine in
dem System erzeugte Taktsignale gibt, muß der Taktneustart
oder das Aufwecken durch ein asynchrones Ereignis ausgelöst
werden. Während es möglich ist, den Taktgenerator mit einem
asynchronen Signal neu zu starten, kann das synchrone elektro
nische System von dem Taktneustart mit dem asynchronen Signal
nicht in Kenntnis gesetzt werden. Die Logik des synchronen
elektronischen Systems kann von dem Start des Takts mit einem
asynchronen Signal deshalb nicht in Kenntnis gesetzt werden,
da irgendwelche an das synchrone System angelegte Signale
wahrscheinlich ein Anlaufen (Set-Up) bewirken würden und/oder
Zeitverletzungen in den in die Systemschaltung integrierten
Flip-Flops beinhalten, wobei das System zu einer Störung ver
anlaßt wird.
Bei einer Instanz, bei der ein Taktsignal innerhalb eines be
stimmten Teilsystems deaktiviert wird, jedoch weiterhin in ei
nem umfassenderen System aktiv ist, beschreibt das U.S. Patent
Nr. 5,428,765 mit dem Titel "Verfahren und Vorrichtung zum De
aktivieren und Neustarten von Takten", (Moore) ein Verfahren
und eine Vorrichtung, welches den Teilsystemtakt wieder akti
viert eine feste Zeitperiode nach dem Auftreten eines externen
asynchronen Aufweck-Ereignisses. Obwohl Moore für den beab
sichtigten Zweck zufriedenstellend arbeitet, wendet sich Moore
an Systeme, bei denen die Übertragung eines Taktsignals an ein
Teilsystem deaktiviert/aktiviert wird, während ein umfassende
rer Systemtakt weiter läuft im Gegensatz zu der Situation, bei
der ein Systemtaktgenerator vollständig deaktiviert wird der
art, daß keine Taktsignale im gesamten System verfügbar sind.
Da darüber hinaus Moore ein System beschreibt, bei dem ein Sy
stemtakt weiterläuft, ist es nicht notwendig, das Hauptsystem
davon in Kenntnis zu setzen, daß ein bestimmtes Teilsystem
wieder aufgeweckt worden ist.
Im Hinblick auf die beim Neustarten eines Systemtakts in ei
nem synchronen System, bei dem der Takt zeitweilig deaktiviert
worden ist, auftretenden Probleme besteht das Bedürfnis nach
einem Verfahren und einer Vorrichtung, bei denen ein Taktgene
rator deaktiviert/aktiviert wird und bei denen ein umfassende
res Synchronsystem davon in Kenntnis gesetzt wird, daß der
Takt neu gestartet worden ist.
ZUSAMMENFASSUNG DER ERFINDUNG
Ein Verfahren und eine Vorrichtung zum Steuern eines Taktgene
rators beinhaltet das Aktivieren des Taktgenerators in Reakti
on auf ein asynchrones Signal und das Inkenntnissetzen eines
diesbezüglichen synchronen Systems der Taktaktivierung mit ei
nem synchronen Signal derart, daß keine asynchron Signale an
das synchrone System angelegt werden. Bei der bevorzugten Aus
führungsform werden die Registerbits in einem Schieberegister
durch ein synchrones Signal auf einen Wert gesetzt, welcher
den Taktgenerator deaktiviert, und dann können die Register
bits durch das asynchrone Signal auf einen Wert, welcher den
Taktgenerator aktiviert, gekippt werden. Das selbe synchrone
Signal, das dazu verwendet wird, den Taktgenerator zu deakti
vieren, wird dazu verwendet, einen synchronen Zähler aufzuru
fen, welcher nachfolgend dazu verwendet wird, das synchrone
System davon mit einem zweiten synchronen Signal in Kenntnis
zu setzen, daß der Taktgenerator aktiviert worden ist. Das In
kenntnissetzen erfolgt dann, wenn der Zähler einen voreinge
stellten Wert erreicht.
Bei der bevorzugten Ausführungsform ist die Logik zum Steuern
des Taktgenerators mit dem synchronen System verbunden und um
faßt eine Zustandsmaschine, das Schieberegister, den Zähler
und einen asynchronen Flankendetektor. Das synchrone System
ist ein elektronisches System wie etwa ein Mikroprozessor oder
einen anwendungsspezifischen integrierten Schaltkreis (ASIC),
welcher primär in einer synchronen Weise arbeitet. Bei einer
bevorzugten Ausführungsform ist das System Teil eines größeren
elektronischen Geräts wie etwa einem Taschencomputer oder ei
nem tragbaren Telefon. Die Zustandsmaschine ist ein logisches
Element, das einen aus einer begrenzten Gruppe von auf be
stimmten Eingaben basierenden Zuständen anzeigt. Vorzugsweise
verwendet die Zustandsmaschine Standardlogik- und Flip-Flop-
Vorrichtungen, um entweder einen ersten Zustand, in dem der
Taktgenerator läuft, oder einen zweiten Zustand, in dem der
Taktgenerator nicht läuft, anzeigt. Wenn die Zustandsmaschine
von dem ersten Zustand zu dem zweiten Zustand wechselt, er
zeugt die Zustandsmaschine ein Signal, welches in dem Prozeß
eine Rolle spielt, der die Deaktivierung des Taktgenerators
bewirkt. Der Taktgenerator ist innerhalb eines asynchronen
Taktbereichs der Logik plaziert und besteht primär aus einem
Taktquarz, einem Oszillator und einem Phasenregelkreis. Der
Taktquarz, der Oszillator und der Phasenregelkreis sind alle
übliche Vorrichtungen, die in üblicher Weise aufgebaut sind
und betrieben werden. Die von dem Taktgenerator erzeugten
Taktsignale werden durch ein Taktverteilersystem an andere lo
gische Elemente in dem synchronen System verteilt. Der asyn
chrone Flankendetektor ist eine übliche Vorrichtung, die aus
einer Verzögerungsleitung und einem UND-Gatter besteht und die
die Flanken eines ankommenden asynchronen Ereignisses detek
tiert, um einen asynchronen Impuls zu erzeugen, welcher an das
Shiftregister gesandt wird.
Die Implementierung des Schieberegisters und des Zählers re
präsentiert das Ziel der Erfindung. Das Schieberegister ist
ein binäres Schieberegister, das durch eine Reihe von Flip-
Flops gebildet wird. Bei dem bevorzugten Ausführungsbeispiel
hat das Schieberegister drei Eingänge und einen Ausgang. Der
erste Eingang erhält ein Signal von der Zustandsmaschine, um
alle Registerbits des Schieberegisters zu löschen auf einen
Wert, der den Taktgenerator deaktiviert. Der zweite Eingang
des Schieberegisters stellt ein Setzbit für das Schieberegi
ster für jeden Taktzyklus bereit. Die Anzahl von Taktzyklen,
die dazu benötigt werden, daß das Setzbit durch das Schiebere
gister wandert, ist gleich der Anzahl von Flip-Flops in dem
Schieberegister. Das Schieberegister hat einen dritten Ein
gang, der ein asynchrones Signal von einer asynchronen Quelle
erhält. Der dritte Eingang ist mit dem asynchronen Setz- oder
Rücksetz-Anschluß der Flip-Flops, welche das Schieberegister
ausmachen, verbunden. Der Erhalt des asynchronen Signals kippt
alle Registerbitwerte in dem Schieberegister auf einen Wert,
der den Taktgenerator aktiviert und da kein Takt läuft, werden
Anlauf- und Halten-Zeitverletzungen vermieden. Der Ausgang des
Schieberegisters ist mit dem Taktgenerator verbunden und
stellt ein Signal bereit, das entweder den Taktgenerator de
aktiviert oder den Taktgenerator aktiviert in Reaktion auf
verschiedene Eingangssignale für das Schieberegister.
Der Zähler ist eine übliche Vorrichtung, welche ihren Zähler
wert bei jedem Taktzyklus, während der Taktgenerator aktiviert
ist, ändert. Bei der bevorzugten Ausführungsform wird der
Zählerwert auf einen voreingestellten anfänglichen Zählerwert
jedesmal, wenn ein synchrones Erneuerungssignal von der Zu
standsmaschine empfangen wurde, aktualisiert.
Die erste von der Logik durchgeführten Operation ist das Deak
tivieren des Taktgenerators nach Detektion einer bestimmten
Bedingung bei dem synchronen System (z. B. eine fortgesetzte
Periode der Inaktivität). Das Deaktivieren des Taktgenerators
wird durch das synchrone System dadurch initiiert, daß ein
"Geh-in-den-Tiefschlaf"-Signal erzeugt wird, das der Zustands
maschine anzeigt, daß der Taktgenerator deaktiviert werden
sollte. In Reaktion auf das Geh-in-den-Tiefschlaf-Signal wech
selt die Zustandsmaschine von ihrem ersten Zustand in ihren
zweiten Zustand. Der Wechsel der Zustandsmaschine von dem er
sten Zustand (oder Lauf-Zustand) in den zweiten Zustand (oder
Tiefschlaf-Zustand) veranlaßt die Zustandsmaschine, ein "Last-
Signal" auszugeben. Das Last-Signal wird an den Zähler und an
das Schieberegister übertragen. In Reaktion auf das Last-
Signal wird der Zähler auf seinen voreingestellten anfängli
chen Wert aktualisiert und das Schieberegister wird gelöscht
derart, daß die Registerbits einen Wert widerspiegeln, der den
Taktgenerator deaktiviert. Als Ergebnis erzeugt das Schiebere
gister ein "Tiefschlaf_n"-Signal, welches zu dem Taktgenerator
übertragen wird und dazu dient, den Taktgenerator zu deakti
vieren oder abzuschalten, wobei die Deaktivierungsoperation
abgeschlossen wird.
Während der Zeit, bei der der Taktgenerator abgeschaltet ist,
sind alle synchronen Operationen in dem System und die Takt
steuerlogik eingefroren. Bezüglich der Taktsteuerlogik dekre
mentiert der Zähler seinen Zählerwert und das Schieberegister
schiebt nicht Werte in die Registerbits so lange es kein Takt
signal gibt. Bei der bevorzugten Ausführungsform kann der
Taktgenerator für eine unbegrenzte Zeitperiode deaktiviert
werden.
Die nächste Operation der Logik ist das Deaktivieren des Takt
generators, bei dem das Aktivieren durch einige externe asyn
chrone Ereignisse getriggert wird. Das asynchrone Ereignis
wird erkannt durch den asynchronen Flankendetektor, was den
asynchronen Flankendetektor dazu veranlaßt, einen asynchronen
Impuls oder ein Setzsignal am dritten Eingang des Schieberegi
sters zu erzeugen. Das Setzsignal kippt die Schieberegister
bits in dem Schieberegister auf einen Wert, welcher das Tief
schlaf_n-Signal deaktiviert und den Taktgenerator aktiviert.
Der Taktgenerator beginnt einige Zeit nach der Deaktivierung
des Tiefschlaf_n-Signals damit, Taktsignale zu erzeugen, je
doch ist die benötigte exakte Zeit nicht kritisch für die Er
findung.
Die letzte Operation der Logik ist, das synchrone System mit
einem synchronen Signal davon in Kenntnis zu setzen, daß der
Taktgenerator aktiviert ist. Diese Operation wird angeregt,
wenn der Taktgenerator damit beginnt, wieder Taktsignale zu
erzeugen. Sowie der Taktgenerator damit beginnt, Taktsignale
zu erzeugen, fährt der gerade aktualisierte Zählerwert damit
fort, synchron abwärts zu zählen gegenüber Null. Wenn der Zäh
ler Null erreicht, erzeugt der Zähler ein synchrones Signal,
das auf ein Aufweck-Signal bezogen ist und das zu dem synchro
nen System übertragen wird, wobei es anzeigt, daß der Taktge
nerator aktiviert ist. Das an das System gesandte Aufweck-
Signal ist ein synchrones Signal, das auf den Taktgenerator
synchronisiert ist, obwohl das anfängliche Signal, das den
Taktgenerator-Aufweck-Prozess begonnen hat, ein asynchrones
Signal war. Das Aufweck-Signal wird auch an die Zustandsma
schine gesandt, bei der das Aufweck-Signal die Zustandsmaschi
ne dazu veranlaßt, von dem Tiefschlaf-Zustand zu dem Lauf-
Zustand wechselt.
Bei einer Weiterbildung der vorliegenden Ausführungsform der
Erfindung wird ein Phasenregelkreissignal von einem Phasenre
gelkreis ausgegeben, um der Zustandsmaschine anzuzeigen, wann
der Phasenregelkreis die Zieltaktfrequenz erreicht hat. Zudem
ist ein Synchronisierer zwischen dem Phasenkreis und der Zu
standsmaschine plaziert, um das Signal von dem Phasenregel
kreis zu synchronisieren.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist ein Logikdiagramm für ein erfindungsgemäßes Sy
stem, das einen erfindungsgemäßen Generator deakti
viert und aktiviert,
Fig. 2 ist ein auf die Logik nach Fig. 1 bezogenes Wellen
formdiagramm, das die beim Deaktivieren und Aktivieren
eines erfindungsgemäßen Taktgenerators auftretenden
Signalübergänge widerspiegelt,
Fig. 3 ist ein Prozeßflußdiagramm zum Deaktivieren und Akti
vieren eines erfindungsgemäßen Taktgenerators,
Fig. 4 ist ein Logikdiagramm für ein erweitertes System, wel
ches einen Taktgenerator deaktiviert und aktiviert zu
sätzlich zum Senden eines synchronisierten PLL-Regel
signals an eine Zustandsmaschine gemäß der vorliegen
den Erfindung.
DETAILLIERTE BESCHREIBUNG
Fig. 1 ist ein Logikdiagramm einer Anordnung, welche einen
Taktgenerator eines synchronen Systems mit einem synchronen
Signal von einstellbarer Dauer deaktiviert und den Taktgenera
tor durch ein asynchrones Ereignis aktiviert. Des weiteren
wird das synchrone System von der Taktaktivierung durch ein
synchron erzeugtes Signal in Kenntnis gesetzt. Die einzelnen
Elemente der dargestellten Logik werden unter Bezugnahme auf
Fig. 1 beschrieben und die Betriebsweise der Logik wird mit
Bezugnahme auf die Fig. 1, 2 und 3 beschrieben.
Das in Fig. 1 bezeichnete System 10 repräsentiert ein unspe
zifisches elektronisches System wie etwa einen Mikroprozessor
oder einen anwendungsspezifischen integrierten Schaltkreis
(ASIC), der primär in einer synchronen Weise arbeitet. Bei ei
ner bevorzugten Ausführungsform wird das System zusammen mit
anderen logischen Elementen innerhalb der gleichen integrier
ten Schaltung oder Chip plaziert, wobei der Chip Teil eines
größeren elektronischen Gerätes wie etwa einem Taschencomputer
oder einem tragbaren Telefon ist.
Eine Zustandsmaschine 14 ist ein logisches Element, das einen
aus einer begrenzten Gruppe von auf einer bestimmten Eingabe
basierenden Zuständen anzeigt. Bei der bevorzugten Ausfüh
rungsform bedient sich die Zustandsmaschine einer Standardlo
gik und Flip-Flop-Vorrichtungen, um einen von zwei Zuständen
anzuzeigen. Der erste Zustand wird durch ein Takt-"Aufweck"-
Signal ausgelöst und es wird darauf als "Lauf"-Zustand Bezug
genommen. Während des Lauf-Zustands löst die Zustandsmaschine
nicht irgendwelche externen Ereignisse aus. Der zweite Zustand
wird durch ein "Geh-in-den-Tiefschlaf"-Signal ausgelöst und es
wird darauf als "Tiefschlaf"-Zustand Bezug genommen. Der Über
gang von dem Lauf-Zustand zu dem Tiefschlaf-Zustand veranlaßt
die Zustandsmaschine dazu, ein "Last"-Signal auszugeben. Alle
Signale und ihre Wechselwirkungen werden deutlich bei der Er
läuterung der logischen Operation.
Ein Taktgenerator 20 ist innerhalb eines asynchronen Taktbe
reichs 24 der Logik plaziert und besteht primär aus einem
Taktquarz 28, einem Oszillator 32 und einem Phasenregelkreis
(PLL) 36, wobei alle Signale außer dem Taktgeneratorsignal CLK
asynchrone Signale sind. Der Taktquarz, der Oszillator und die
PLL sind alles übliche Vorrichtungen, die in üblicher Weise
aufgebaut sind und betrieben werden. Der Oszillator erzeugt
eine Basisfrequenz (fOSC), welcher sich die PLL bedient, um
die gewünschte Taktfrequenz für das System zu erzeugen. Das
von dem Taktgenerator erzeugte Taktsignal wird durch ein Takt
verteilungssystem 40 an andere logische Elemente in dem syn
chronen System verteilt. Logische Elemente, welche die Takt
verteilung erhalten, sind mit dem CLK-Kennzeichen gekennzeich
net.
Das Schieberegister 44 ist ein binäres Schieberegister, das
aus einer Reihe von Standard-Flip-Flops mit asynchronen
Setzeingängen gebildet wird. Die Länge des Schieberegisters
wird durch die Anzahl von Flip-Flops in Reihe festgelegt und
kann variieren abhängig von den gewünschten Gütecharakteristi
ka. Bei dem System nach Fig. 1 zieht das Schieberegister kon
tinuierlich ein Setzbit (d. h., eine "1") von einem Eingang 48
auf der linken Seite des Schieberegisters bei jedem Taktzy
klus. Die Anzahl der Taktzyklen, die benötigt wird für eine
einzelne "1", um von der linken Seite zu der rechten Seite des
Schieberegisters zu wandern, ist gleich der Anzahl von Flip-
Flops im Schieberegister. Das Schieberegister hat einen weite
ren Eingang 52, der das "Last"-Signal von der Zustandsmaschine
14 erhält, wobei ein aktives Last-Signal die Schieberegister
bits löscht derart, daß alle Schieberegisterwerte "0" sind.
Das Schieberegister hat einen Eingang 56, der ein asynchrones
"Setz"-Signal erhält, welches alle Registerbitwerte in dem
Schieberegister auf eine "1" setzt. Das Schieberegister hat
einen Ausgang 60, der ein Tiefschlaf_n-Signal ausgibt, welches
als aktiviert gekennzeichnet ist, wenn der am weitesten rechts
befindliche Registerbitwert eine "0" und deaktiviert oder in
aktiv ist, wenn der am weitesten rechts befindliche Register
bitwert eine "1" ist. Ein aktives Tiefschlaf-Signal (d. h., ein
"0"-Bit) veranlaßt den Taktgenerator 20 dazu, deaktiviert zu
sein und ein inaktives oder deaktiviertes Tiefschlaf-Signal
(d. h., ein "1"-Bit) veranlaßt den Taktgenerator, aktiviert zu
sein.
Wenn das Schieberegister durch das von der Zustandsmaschine 14
erzeugte Last-Signal auf insgesamt Null gelöscht wird, deakti
viert das Tiefschlaf_n-Signal den Taktgenerator 20. Das Tief
schlaf_n-Signal wird deaktiviert und der Taktgenerator wird
nach dem Auftreten eines von zwei Ereignissen aktiviert. Das
erste Ereignis tritt auf, wenn das Schieberegister genügend
Taktzyklen arbeitet so, daß eine auf der linken Seite des
Schieberegisters eingegebene "1" sich zum am weitesten rechts
befindlichen Registerbit bewegt, wobei es das Tiefschlaf_n-
Signal deaktiviert. Dies kann hilfreich sein im Falle von
Hardware-Fehlern, wie z. B. dann, wenn der Taktgenerator nicht
ordnungsgemäß abgeschaltet wird. Das zweite Ereignis tritt
auf, wenn ein asynchrones Setzsignal von dem Schieberegister
empfangen wird, was mindestens das am weitesten rechts befind
liche Register und vorzugsweise alle Registerbits dazu veran
laßt, auf eine "1" gesetzt zu werden, wobei es das Tief
schlaf_n-Signal deaktiviert.
Die Anzahl der Bits in dem Schieberegister 44 kann so einge
stellt werden, um die Länge des Deaktivierungssignals zu be
einflussen. Wenn z. B. das Schieberegister 4 Bit breit ist,
dann wird das Tiefschlaf_n-Signal vier Taktzyklen nach dem an
fänglichen Registerlöschen dauern. Das Tiefschlaf_n-Signal
kann verlängert werden durch Hinzufügen weiterer Flip-Flops zu
dem Schieberegister. Bei der bevorzugten Ausführungsform soll
te das Schieberegister eine ausreichende Kapazität haben, um
dem Taktgenerator 20 zu erlauben, mit dem Erzeugen von Taktsi
gnalen aufzuhören bevor der Taktgenerator erneut durch das
Aussenden von Setzbits durch das Schieberegister aktiviert
wird.
Der asynchrone Flankendetektor 66 ist eine übliche Vorrich
tung, die aus einer Verzögerungsleitung und einem UND-Gatter
bestehen kann, um die Flanken eines ankommenden asynchronen
Signals zu detektieren und dann einen asynchronen Impuls zu
erzeugen, welcher an das Schieberegister 44 gesendet wird. Bei
der bevorzugten Ausführungsform ist das Signal, daß in den
asynchronen Flankendetektor eingegeben wird, ein asynchrones
nicht maskierbares Interrupt-(NMI)-Signal, obwohl dieses auch
irgendein asynchrones Signal sein kann. Auf das Signal, das
von dem asynchronen Flankendetektor ausgegeben wird, wird als
"Setz"-Signal Bezug genommen. Das asynchrone Setzsignal veran
laßt alle Flip-Flops in dem Schieberegister, eine "1" zu lesen
ungeachtet ihres aktuellen Zustandes, wobei sie das Tief
schlaf_n-Signal deaktivieren und den Taktgenerator aufwecken.
Wenn es keinen Taktlauf gibt, kann es keine Anlauf-/Halte-
Zeitverletzung in den Schieberegister-Flip-Flops geben.
Der Zähler 70 ist eine übliche Vorrichtung, die ihren Zähler
wert bei jedem Taktzyklus synchron ändert. Wenn z. B. der Zäh
ler ursprünglich auf "10" gesetzt ist, wird bei einem dekre
mentierenden Zähler der Zählerwert eine Einheit bei jedem
Taktzyklus dekrementiert. Der Taktzähler kann alternativ sei
nen Zählerwert bei jedem Taktwert inkrementieren, obwohl bei
der bevorzugten Ausführungsform ein dekrementierender Taktzäh
ler implementiert ist. Des weiteren wird bei der bevorzugten
Ausführungsform der Zählerwert auf einen voreingestellten an
fänglichen Zählerwert erneuert jedesmal, wenn ein designiertes
Signal, insbesondere das "Last"-Signal, von dem Zähler empfan
gen wird. Bei dem unten beschriebenen Beispiel wird der vorge
gebene Zählerwert auf 5 gesetzt, obwohl dies nicht kritisch
für die Erfindung ist.
Der Zähler führt bei der bevorzugten Ausführungsform drei
Tasks durch. Zum ersten erneuert der Zähler seinen Zählerwert
auf einen vorgegebenen anfänglichen Zählerwert, wenn das
"Last"-Signal aktiv ist. Zum zweiten dekrementiert der Zähler
seinen Zählerwert um eine Einheit bei jedem Taktzyklus, wenn
das Last-Signal inaktiv ist. Wenn zum dritten der Zählerwert
"0" erreicht, erzeugt und überträgt der Zähler ein synchrones
"Aufweck"-Signal an das umfassendere synchrone System 10. Das
Aufweck-Signal setzt das synchrone System in synchroner Weise
davon in Kenntnis, daß der Taktgenerator deaktiviert worden
ist, wobei es dem synchronen System erlaubt, mit der Durchfüh
rung seiner beabsichtigten Operationen zu beginnen. Obwohl bei
der bevorzugten Ausführungsform das Aufweck-Signal aktiviert
wird, wenn der Zähler "0" erreicht, kann jeder beliebige vor
gegebene Zählerwert als ein Auslösewert identifiziert werden.
Die Arbeitsweise der Logik wird in Ergänzung zu Fig. 1 mit
Bezug auf das Wellenformdiagramm nach Fig. 2 beschrieben. Die
erste Operation der Logik ist das Deaktivieren des Taktgenera
tors 20, wenn das Deaktivieren des Taktgenerators von dem syn
chronen System gewünscht wird. Zum Beispiel kann das System
dahingehend programmiert werden, den Takt nach einer vorbe
stimmten Periode des Nichtgebrauchs abzuschalten. Das Deakti
vieren des Taktgenerators wird angeregt, wenn das System ein
"Geh-in-den-Tiefschlaf"-Signal erzeugt, das im Gegenzug beim
Ereignis 1 (E1) nach Fig. 2 ein aktives Last-Signal auslöst.
In Reaktion auf das Geh-in-den-Tiefschlaf-Signal wechselt die
Zustandsmaschine von ihrem "Lauf"-Zustand in seinen "Tief
schlaf"-Zustand. Bei E2 wird das aktive Last-Signal zum Zähler
70 und zum Schieberegister 44 übertragen. In Reaktion auf das
Last-Signal wird der Zähler auf seinen vorbestimmten Wert (in
diesem Fall 5) erneuert und das Schieberegister wird gelöscht
derart, daß alle Registerbits als "0" gelesen werden. Da alle
Registerbits auf "0" bei E3 gesetzt worden sind und da bei der
bevorzugten Ausführungsform das am weitesten rechts befindli
che Registerbit das von dem Schieberegister erzeugte Tief
schlaf_n-Signal steuert, wechselt das Tiefschlaf_n-Signal von
einer "1" zu einer "0", wobei es das Tiefschlaf_n-Signal dazu
veranlaßt, aktiv zu werden. Das aktive Tiefschlaf_n-Signal
wird von dem Taktgenerator empfangen und arbeitet, um den
Taktgenerator wie durch den flachen Bereich in der CLK-
Wellenform angedeutet abzuschalten, wobei die Deaktivierungs
operation geschlossen wird. Das Abschalten des Taktgenerators
kann viele Taktzyklen in Abhängigkeit von der Implementierung
der PLL und des Oszillators dauern.
Während der Zeit, in der der Taktgenerator 20 deaktiviert ist,
sind alle synchronen Operationen in dem System 10 und in der
Taktsteuerlogik eingefroren. Bezüglich der Taktsteuerlogik de
krementiert der Zähler 70 seinen Zählerwert nicht bis es ein
Taktsignal gibt und das Schieberegister 44 schiebt nicht Werte
in die Registerbits so lange es kein Taktsignal gibt. Der ein
gefrorene Zähler wird durch das verlängerte Zählersignal am
Wert 4 dargestellt und das eingefrorene Schieberegister wird
durch die Schieberegisterbits "100" dargestellt. Bei der be
vorzugten Ausführungsform kann der Taktgenerator für eine un
spezifizierte Zeitperiode deaktiviert werden.
Die nächste Operation der Logik ist das Aktivieren des Taktge
nerators 20, wobei das Aktivieren durch irgendein externes
asynchrones Ereignis ausgelöst wird. Das Aktivieren des Takt
generators wird durch ein asynchrones Ereignis E4 ausgelöst,
das zu Beispielzwecken als das NMI-Signal identifiziert wird.
Das NMI-Signal wird durch den asynchronen Flankendetektor 66
empfangen, wobei der asynchrone Flankendetektor dazu veranlaßt
wird, einen asynchronen Impuls auf das "Setz"-Signal zu erzeu
gen. Das bei E5 erzeugte Setzsignal wird dann von dem Schiebe
register 44 empfangen und bei der bevorzugten Ausführungsform
werden alle Flip-Flops, die das Schieberegister ausmachen, auf
"1" gelegt. Da der Takt nicht läuft, gibt es keine Anlauf-
/Halte-Zeitverletzungen in den Schieberegister-Flip-Flops.
Wenn alle Schieberegisterbits auf "1" gesetzt sind, bewirkt
bei E6 das am weitesten rechts befindliche Bit, daß das Tief
schlaf_n-Signal deaktiviert wird durch einen Übergang von "0"
auf eine "1" beim Tiefschlaf_n-Signal. Die Deaktivierung des
Tiefschlaf_n-Signal veranlaßt den Taktgenerator, deaktiviert
zu werden und mit der Erzeugung von Taktsignalen zu beginnen,
wobei die Aktivierungsfunktion abgeschlossen wird. Der Taktge
nerator beginnt damit, Taktsignale einige Zeit nach der Deak
tivierung des Tiefschlaf_n-Signal zu erzeugen wie durch die
CLK-Wellenform angezeigt wird. Jedoch ist die genaue Zeit
nicht kritisch für die Erfindung. Das Deaktivieren und/oder
Aktivieren des Taktgenerators kann Zeit benötigen, da der
Taktgenerator das Tiefschlaf_n-Signal synchronisieren und dann
seinen internen Zustand ändern muß.
Die letzte Operation der Logik dient dazu, dem Synchronsystem
10 mit einem synchronen Signal anzuzeigen, daß der Taktgenera
tor 20 aktiviert ist. Der Prozeß, dem System anzuzeigen, wird
angeregt, wenn der Taktgenerator damit beginnt, wieder Taktsi
gnale zu erzeugen. Wie oben erwähnt dekrementiert nur der Zäh
ler 70 seinen Zählerwert synchron zu den Taktzyklen und so
startet der Zähler, wenn der Taktgenerator neu startet, mit
dem Abwärtszählen auf "0" von dort, wo auch immer der Zähler
wert gewesen war, als der Taktgenerator mit dem Laufen aufge
hört hat. Wenn der Zähler "0" erreicht, wie bei E7 angedeutet
ist, erzeugt der Zähler ein synchrones Signal, das als
"Aufweck"-Signal bezeichnet wird und das an das synchrone Sy
stem gesandt wird anzeigend, daß der Taktgenerator aktiviert
ist. Das an das System gesandte Aufweck-Signal ist ein syn
chrones Signal, das mit dem Taktgenerator synchronisiert ist
sogar dann, wenn das anfängliche Signal, das den Taktgenera
tor-Aufweck-Prozeß gestartet hat, ein asynchrones Signal war.
Wie bei E8 angezeigt, wird das Aufweck-Signal auch an die Zu
standsmaschine 14 gesandt, wobei das Aufweck-Signal die Zu
standsmaschine dazu Veranlaßt, von dem Tiefschlaf-Zustand zu
dem Lauf-Zustand zu wechseln. Durch Verwenden des Schieberegi
sters zum Aktivieren des Taktgenerators mit einem asynchronen
Signal und durch Verwenden des Zählers 70 zum Anregen eines
synchronen Aufweck-Signals werden die asynchronen und synchro
nen Signalbereiche getrennt gehalten und die asynchronen
Schieberegisterausgaben werden nicht von der synchronen Logik
gelesen.
Die beim Deaktivieren/Aktivieren des Taktgenerators eingesetz
ten Schritte und das Inkenntnissetzen des Systems sind in dem
Prozeßflußdiagramm von Fig. 3 zusammengefaßt. Bei einem er
sten Schritt 100 wird die Zustandsmaschine von einem Lauf-
Zustand zu einem Tiefschlaf-Zustand geändert durch das von dem
synchronen System übertragenen Geh-in-den-Tiefschlaf-Signal.
Bei einem nächsten Schritt 102 überträgt die Zustandsmaschine
ein Last-Signal zu dem Zähler und dem Schieberegister. Bei ei
nem nächsten Schritt 104 setzt das Last-Signal den Zähler auf
einen vorbestimmten anfänglichen Zählerwert und löscht die
Schieberegister, wobei es das Schieberegister dazu veranlaßt,
ein Tiefschlaf_n-Signal zu erzeugen. Bei einem nächsten
Schritt 106 wird in Reaktion auf das Tiefschlaf_n-Signal vom
Schieberegister der Taktgenerator deaktiviert. In einem
Schritt 108 setzt ein asynchrones Ereignis alle Schieberegi
sterbits auf einen Wert, der den Taktgenerator (z. B. "1") akti
viert. Bei einem nächsten Schritt 110 wird der Taktgenerator
aktiviert in Reaktion auf das asynchrone Ereignis. Bei einem
Schritt 112 beginnt der Zähler damit, synchron bis herunter
auf Null synchron zu dekrementieren. Bei einem Schritt 114
löst der Zähler, wenn der Zählerwert Null erreicht, ein syn
chrones Aufweck-Signal bei dem System aus. Dann veranlaßt in
einem Schritt 116 das Aufweck-Signal von dem Zähler die Zu
standsmaschine dazu, von dem Tiefschlaf-Zustand zu dem Lauf-
Zustand zu wechseln.
Fig. 4 zeigt eine Weiterbildung der bevorzugten Ausführungs
form der Erfindung, bei der ein "PLL Einrast"-Signal von der
PLL ausgegeben wird, um der Zustandsmaschine 14 anzuzeigen,
wann die PLL die Zieltaktfrequenz erreicht hat. Da das
PLL Einrast-Signal asynchron ist und vor einer Wechselwirkung
mit dem synchronen System synchronisiert werden muß, ist ein
Synchronisierer 78 zwischen der PLL und der Zustandsmaschine
angeordnet, um das PLL Einrast-Signal zu synchronisieren.
Ein in das System implementierter Synchronisierer besteht aus
zwei verbundenen Flip-Flops. Durch Hinzufügen des Synchroni
sierers kann die Zustandsmaschine in dem Tiefschlaf-Zustand
gehalten werden bis der Taktgenerator aktiviert und die PLL
eingerastet ist.
Bei einer weiteren Weiterbildung kann die Zustandsmaschine 14
bis auf ein einziges Register vereinfacht werden, wo ein "1"-
Bit einen Lauf-Modus anzeigt und ein "0"-Bit einen Tiefschlaf-
Modus anzeigt. Zudem kann der Pegel und die Anzahl von in der
Logik verwendeten Signalen variieren. Z. B. kann das Last-
Signal in zwei unabhängige Signale aufgespalten werden. Des
weiteren kann, wie für den Fachmann ersichtlich ist, die binä
re Logik mit zwei entgegengesetzten Bitwerten implementiert
werden, wobei "0" durch "1" ausgetauscht werden und umgekehrt.