-
QUERVERWEIS AUF VERWANDTE ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität der
koreanischen Patentanmeldung Nr. 10-2017-0000609 , welche am 03. Januar 2017 beim koreanischen Amt für gewerblichen Rechtsschutz (
Korean Intellectual Property Office) eingereicht wurde, und der Patentanmeldung der Vereinigten Staaten Nr. 15/414, 819 , welche am 25. Januar 2017 beim U.S. Patent- und Markenamt (United States Patent and Trademark Office) eingereicht wurde, wobei die Offenbarung jeder durch Bezugnahme in ihrer Gesamtheit miteingebunden ist.
-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Offenbarung bezieht sich auf eine Halbleitervorrichtung, ein Halbleitersystem und ein Verfahren zum Betreiben einer Halbleitervorrichtung.
-
Diskussion des Standes der Technik
-
Ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System) kann einen oder mehrere Intellectual-Property-Blöcke (IP-Blöcke), eine Taktverwaltungseinheit (CMU = Clock Management Unit = Taktverwaltungseinheit) und eine Leistungsverwaltungseinheit (PMU = Power Management Unit = Leistungsverwaltungseinheit) aufweisen. Die Taktverwaltungseinheit sieht ein Taktsignal für einen oder mehrere der IP-Blöcke vor. Ferner stoppt die Taktverwaltungseinheit ein Vorsehen des Taktsignals zu dem IP-Block, welcher nicht tätig ist, wodurch es möglich gemacht wird, die unnötige Verschwendung von Ressourcen in einem System, welches das SoC einsetzt, zu verringern.
-
KURZFASSUNG
-
Wenigstens eine beispielhafte Ausführungsform des vorliegenden erfinderischen Konzepts sieht eine Halbleitervorrichtung zum Ausführen einer Leistungsverwaltung unter Verwendung einer Master-Slave-Beziehung vor, wobei eine Taktsignalsteuerung durch Hardware verwaltet wird.
-
Wenigstens eine Ausführungsform des vorliegenden erfinderischen Konzepts sieht ein Halbleitersystem zum Ausführen einer Leistungsverwaltung unter Verwendung einer Master-Slave-Beziehung vor, wobei eine Taktsignalsteuerung durch Hardware verwaltet wird.
-
Wenigstens eine Ausführungsform des vorliegenden erfinderischen Konzepts sieht ein Verfahren zum Betreiben einer Halbleitervorrichtung zum Ausführen einer Leistungsverwaltung unter Verwendung einer Master-Slave-Beziehung vor, wobei eine Taktsignalsteuerung durch Hardware verwaltet wird.
-
Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts weist eine Halbleitervorrichtung eine erste Taktsteuerschaltung, eine erste Kanalverwaltungsschaltung, eine zweite Taktsteuerschaltung, eine zweite Kanalverwaltungsschaltung und eine Leistungsverwaltungseinheit (PMU = Power Management Unit = Leistungsverwaltungseinheit) vor. Die PMU kann durch eine Schaltung implementiert sein. Die erste Taktsteuerschaltung steuert eine erste Kindtaktquelle (untergeordnete Taktquelle), um ein Taktsignal von einer Elterntaktquelle (übergeordnete Taktquelle) zu empfangen. Die erste Kanalverwaltungsschaltung überträgt eine erste Taktanforderung zu der ersten Taktsteuerschaltung in Antwort auf eine erste Intellectual Property(IP)-Block-Taktanforderung, welche von einem ersten IP-Block empfangen wird. Die zweite Taktsteuerschaltung steuert eine zweite Kindtaktquelle, um das Taktsignal von der Elterntaktquelle zu empfangen. Die zweite Kanalverwaltungseinheit überträgt eine zweite Taktanforderung zu der zweiten Taktsteuerschaltung in Antwort auf eine zweite IP-Block-Taktanforderung, welche von einem zweiten IP-Block empfangen wird. Die Leistungsverwaltungseinheit (PMU) überträgt einen Leistungssteuerbefehl zu der ersten Kanalverwaltungsschaltung und der zweiten Kanalverwaltungsschaltung, um einen Leistungszustand des ersten IP-Blocks und des zweiten IP-Blocks zu steuern. Die erste Kanalverwaltungsschaltung überträgt eine dritte Taktanforderung zu der zweiten Kanalverwaltungsschaltung, und die zweite Kanalverwaltungsschaltung überträgt eine Bestätigung eines Empfangs der dritten Taktanforderung zu der ersten Kanalverwaltungsschaltung, um eine Master-Slave-Beziehung aufrecht zu erhalten.
-
Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist eine Halbleitervorrichtung vorgesehen, welche eine erste Kanalverwaltungsschaltung, eine zweite Kanalverwaltungsschaltung und eine Leistungsverwaltungseinheit aufweist. Die erste Kanalverwaltungsschaltung sieht ein Taktsignal für einen ersten Intellectual Property-Block (IP-Block) vor. Die zweite Kanalverwaltungsschaltung empfängt eine Taktanforderung von der ersten Kanalverwaltungsschaltung und sieht ein Taktsignal für den zweiten IP-Block in Übereinstimmung mit der Taktanforderung vor. Die Leistungsverwaltungseinheit (PMU) überträgt einen Leistungssteuerbefehl zu der ersten Kanalverwaltungsschaltung und der zweiten Kanalverwaltungsschaltung, um Leistungszustände des ersten IP-Blocks und des zweiten IP-Blocks zu steuern.
-
Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System) vorgesehen, welches die oben beschriebene Halbleitervorrichtung, einen ersten IP-Block und einen zweiten IP-Block aufweist. Das SoC kann ferner eine externe Vorrichtung (beispielsweise eine Speichervorrichtung, eine Anzeigevorrichtung, eine Netzwerkvorrichtung, eine Speichervorrichtung und eine Eingabe-/Ausgabevorrichtung) aufweisen, wobei das SoC die externe Vorrichtung steuert.
-
Gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist ein Verfahren zum Betreiben einer Halbleitervorrichtung vorgesehen, die Folgendes aufweist: eine erste Taktverwaltungsschaltung, welche eine Taktanforderung zu einer zweiten Kanalverwaltungsschaltung überträgt, wobei die erste Taktverwaltungsschaltung ein Taktsignal für einen ersten Intellectual Property-Block (IP-Block) vorsieht; die zweite Taktverwaltungsschaltung, welche ein Taktsignal für einen zweiten IP-Block basierend auf der Taktanforderung vorsieht; die zweite Kanalverwaltungsschaltung, welche eine Bestätigung des Empfangs der Taktanforderung zu der ersten Kanalverwaltungsschaltung überträgt; und die zweite Taktverwaltungsschaltung, welche einen Leistungszustand des zweiten IP-Blocks basierend auf einem Leistungssteuerbefehl steuert, welcher von einer Leistungsverwaltungseinheits (PMU)- Schaltung empfangen wird.
-
Figurenliste
-
Das vorliegende erfinderische Konzept wird deutlicher werden durch ein detailliertes Beschreiben von beispielhaften Ausführungsformen davon unter Bezugnahme auf die beigefügten Zeichnungen, in welchen:
- 1 ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 2 ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 3 ein schematisches Diagramm zum Erklären eines beispielhaften Betriebs der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 4 ein schematisches Diagramm zum Erklären eines beispielhaften Betriebs einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 5 ein schematisches Diagramm zum Erklären eines beispielhaften Betriebs einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 6 ein Zeitdiagramm zum Erklären eines beispielhaften Betriebs der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 7 und 8 schematische Diagramme zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts sind;
- 9 ein Zeitdiagramm zum Erklären eines beispielhaften Betriebs der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 10 und 11 schematische Diagramme zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung sind;
- 12 ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 13 ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist;
- 14 ein Blockschaltbild eines Halbleitersystems ist, auf welches eine Halbleitervorrichtung und ein Verfahren zum Betreiben der Halbleitervorrichtung gemäß wenigstens einer Ausführungsform des vorliegenden erfinderischen Konzepts anwendbar ist; und
- 15 bis 17 beispielhafte Halbleitersysteme sind, auf welche die Halbleitervorrichtung und das Verfahren zum Betreiben der Halbleitervorrichtung gemäß einigen Ausführungsformen des vorliegenden erfinderischen Konzepts anwendbar sind.
-
DETAILLIERTE BESCHREIBUNG DER BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
-
1 ist ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezugnehmend auf 1 weist eine Halbleitervorrichtung 1 gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts eine Taktverwaltungseinheit (CMU = Clock Management Unit = Taktverwaltungseinheit) 100, Intellectual Property-Blöcke (IP-Blöcke) 200 und 210 und eine Leistungsverwaltungseinheit (PMU = Power Management Unit = Leistungsverwaltungseinheit) 300 auf. Die CMU kann durch eine Schaltung implementiert sein. In einer beispielhaften Ausführungsform ist die Halbleitervorrichtung 1 als ein Ein-Chip-System (SoC = System-on-Chip = Ein-Chip-System) implementiert, der Umfang der vorliegenden Offenbarung ist jedoch nicht darauf beschränkt.
-
Die Taktverwaltungseinheit 100 sieht ein Taktsignal für die IP-Blöcke 200 und 210 vor. Während die Ausführungsform, welche in 1 dargestellt ist, zwei IP-Blöcke zeigt, ist das erfinderische Konzept nicht darauf beschränkt. Beispielsweise kann es in einer alternativen Ausführungsform zusätzliche IP-Blöcke geben oder nur einen einzelnen IP-Block. In dieser Ausführungsform weist die Taktverwaltungseinheit 100 Taktkomponenten 120a, 120b, 120c, 120d, 120e, 120f und 120g, Kanalverwaltungsschaltungen 130 und 132 und einen Taktverwaltungseinheitscontroller beziehungsweise eine Taktverwaltungseinheitssteuerung (CMU-Controller) 110 auf. Die Taktkomponenten 120a, 120b, 120c, 120d, 120e, 120f und 120g erzeugen ein Taktsignal, welches für die IP-Blöcke 200 und 210 vorzusehen ist, und die Kanalverwaltungsschaltungen 130 und 132 sind zwischen den Taktkomponenten 120f und 120g und den IP-Blöcken 200 und 210 angeordnet, um einen Kommunikationskanal CH zwischen der Taktverwaltungseinheit 100 und den IP-Blöcken 200 und 210 vorzusehen. Ferner sieht der Taktverwaltungseinheitscontroller 110 die Taktsignale für die IP-Blöcke 200 und 210 unter Verwendung der Taktkomponenten 120a, 120b, 120c, 120d, 120e, 120f und 120g vor.
-
In einer Ausführungsform ist die Taktkomponente 120a durch einen Phasenregelkreis (PLL = Phase-Locked Loop = Phasenregelkreis)-Controller implementiert. In einer Ausführungsform empfängt der PLL-Controller von einem Oszillator OSC ein konstantes oder variabel-frequentes Signal, welches durch den Oszillator OSC oszilliert wird, und ein PLL-Signal, welches durch einen PLL ausgegeben wird, und gibt eines der zwei empfangenen Signale basierend auf einer bestimmten Bedingung aus. Wenn die Komponenten das PLL-Signal benötigen, gibt der PLL-Controller das PLL-Signal aus. Wenn die Komponenten das Oszillator-Signal benötigen, gibt der PLL-Controller das Oszillator-signal aus. Beispielsweise kann der PLL-Controller unter Verwendung eines Ringoszillators oder eines Kristalloszillators implementiert sein. In einer Ausführungsform ist die Taktkomponente 120b eine Taktmultiplexereinheit, welche ein erstes Taktsignal CLK1 von der ersten Taktkomponente 120a und ein zweites Taktsignal CLK2 von einer externen Quelle (beispielsweise einer externen CMU) empfängt.
-
In einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts ist der Kommunikationskanal CH, welcher durch die Kanalverwaltungsschaltungen 130 und 132 vorgesehen ist, vorgesehen, um einer Niedrigleistungsschnittstelle (LPI = Low Power Interface = Niedrigleistungsschnittstelle), einer Q-Kanalschnittstelle (ARC) oder einer P-Kanalschnittstelle der Firma ARM zu entsprechen, der Umfang der vorliegenden Offenbarung ist jedoch nicht darauf beschränkt. Beispielsweise kann ein Kommunikationskanal CH, welcher einem beliebigen Kommunikationsprotokoll, welches gemäß verschiedenen Zwecken definiert ist, entspricht, vorgesehen sein.
-
Jede der Taktkomponenten 120a, 120b, 120c, 120d, 120e, 120f und 120g weist Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g auf und Taktsteuerschaltungen 122a, 122b, 122c, 122d, 122e, 122f und 122g, welche jede der Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g steuern. Die Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g können beispielsweise eine Multiplexschaltung (MUX-Schaltung) aufweisen, eine Taktteilschaltung, eine Short-Stop-Schaltung (Short Stop Circuit) oder eine Clockgatingschaltung beziehungsweise Taktgatingschaltung. Die MUX-Schaltung kann verwendet werden, um mehrere Taktsignale als Eingang zu empfangen und eines der empfangenen Taktsignale als Ausgabe auszuwählen. Die Taktteilschaltung kann verwendet werden, um ein Eingangstaktsignal durch einen Wert zu teilen, um ein geteiltes Taktsignal zu erzeugen. Der Wert kann als ein Beispiel eine ganze Zahl sein. Die Taktteilschaltung kann verwendet werden, um die Frequenz des Eingangstaktsignals zu ändern. In einer Ausführungsform setzt die Short-Stop-Schaltung vorübergehend ein Taktsignal auf einen logischen Pegel (beispielsweise typischerweise einen niedrigen Pegel) ein. Beispielsweise würde die Taktsignalausgabe durch die Short-Stop-Schaltung eine erste Zeitdauer beziehungsweise Periode mit Pulsen von dem Eingangstaktsignal, eine zweite Zeitdauer mit keinen Pulsen (beispielsweise einem konstant niedrigen Pegel) und dann eine dritte Zeitdauer mit Pulsen von dem Eingangstaktsignal aufweisen. Die Länge der zweiten Zeitdauer kann basierend auf der Anwendung variiert werden.
-
Die Taktkomponenten 120a, 120b, 120c, 120d, 120e, 120f und 120g bilden eine Eltern-Kind-Beziehung miteinander. In der vorliegenden Ausführungsform ist die Taktkomponente 120a ein Elter der Taktkomponente 120b und die Taktkomponente 120b ist ein Kind der Taktkomponente 120a und ein Elter der Taktkomponente 120c. Ebenso ist die Taktkomponente 120e ein Kind der zwei Taktkomponenten 120f und 120g und die Taktkomponenten 120f und 120g sind Kinder der Taktkomponente 120e. Auf die Taktkomponente 120a, welche angeordnet ist, um am nähesten zu einem Phasenregelkreis (PLL) zu sein, kann Bezug genommen werden als eine Wurzeltaktkomponente, und auf die Taktkomponenten 120f und 120g, welche am nähesten zu den IP-Blöcken 200 und 210 angeordnet sind, kann als Blatt-Taktkomponenten Bezug genommen werden. Solch eine Eltern-Kind-Beziehung ist ebenso unvermeidlich zwischen den Taktsteuerschaltungen 122a, 122b, 122c, 122d, 122e, 122f und 122g und unter den Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g basierend auf der Eltern-Kind-Beziehung unter den Taktkomponenten 120a, 120b, 120c, 120d, 120e, 120f und 120g gebildet.
-
Die Taktsteuerschaltungen 122b, 122c, 122d, 122e, 122f und 122g übertragen ein Taktanforderungs (REQ)-Signal zu einer Elterntaktsteuerschaltung. Die Taktsteuerschaltungen 122a, 122b, 122c und 122d empfangen das REQ-Signal von einer Kindtaktsteuerschaltung. Die Taktsteuerschaltung 122e empfängt ein REQ-Signal von jeder von zwei Kindertaktsteuerschaltungen, nämlich der Taktsteuerschaltung 122f und der Taktsteuerschaltung 122g. Die Taktsteuerschaltungen 122f und 122g empfangen das REQ-Signal jeweils von den Kanalverwaltungsschaltungen 130 und 132. Die Taktsteuerschaltungen 122a, 122b, 122c und 122d übertragen ein Bestätigungs (ACK = Acknowledgement = Bestätigungs)-Signal zu einer Kindtaktsteuerschaltung. Die Taktsteuerschaltungen 122b, 122c, 122d und 122e empfangen das ACK-Signal von einer Elterntaktsteuerschaltung. Die Taktsteuerschaltung 122e überträgt ein erstes ACK-Signal zu der Taktsteuerschaltung 122f und ein zweites ACK-Signal zu der Taktsteuerschaltung 122g. Die Taktsteuerschaltung 122f und die Taktsteuerschaltung 122g übertragen ein ACK-Signal jeweils zu den Kanalverwaltungsschaltungen 130 und 132. Die Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g sehen ein Taktsignal für die IP-Blöcke 200 und 210 vor.
-
Beispielsweise stoppt, wenn der IP-Block 200 das Taktsignal nicht benötigt, beispielsweise wenn der IP-Block 200 in einem Schlafzustand sein muss, die Taktverwaltungsschaltung 100 ein Vorsehen des Taktsignals für den IP-Block 200.
-
In einer beispielhaften Ausführungsform überträgt die Kanalverwaltungsschaltung 130 ein erstes Signal zu dem IP-Block 200, welches anzeigt, dass ein Vorsehen des Taktsignals für den IP-Block 200 zu stoppen ist, unter der Steuerung der Taktverwaltungseinheit 100 oder des Taktverwaltungseinheitscontrollers 110. Bei dem Empfangen des ersten Signals überträgt der IP-Block 200 ein zweites Signal zu der Kanalverwaltungsschaltung 130, welches anzeigt, dass das Taktsignal unmittelbar gestoppt werden kann oder nach einem bestimmten Ereignis gestoppt werden kann. Beispielsweise kann das zweite Signal anzeigen, dass das Taktsignal nach der Vollendung eines Jobs (beispielsweise eines Befehls, eines Programms etc.) gestoppt werden kann, welcher durch den IP-Block 200 bearbeitet wird. Nach dem Empfangen des zweiten Signals von dem IP-Block 200 fordert die Kanalverwaltungsschaltung 130 die Taktkomponente 120f, welche ihrem Elter entspricht, auf, das Vorsehen des Taktsignals zu stoppen. Beispielsweise kann die Kanalverwaltungsschaltung 130 diese Anforderung durch ein Senden eines REQ-Signals zu der Taktkomponente 120f tätigen.
-
Als ein Beispiel überträgt, wenn der Kommunikationskanal CH, welcher durch die Kanalverwaltungsschaltung 130 vorgesehen ist, der Q-Kanalschnittstelle entspricht, die Kanalverwaltungsschaltung 130 ein QREQn-Signal, welches einen ersten Logikwert (beispielsweise logisch niedrig, hierin nachstehend angezeigt durch L) hat, als das erste Signal zu dem IP-Block 200. Danach empfängt die Kanalverwaltungsschaltung 130 beispielsweise ein QACCEPTn-Signal, welches den ersten Logikwert hat, als das zweite Signal von dem IP-Block 200 und überträgt dann beispielsweise die Taktanforderung (REQ), welche den ersten Logikwert hat, zu der Taktkomponente 120f. In diesem Fall bezieht sich die Taktanforderung (REQ), welche den ersten Logikwert hat, auf eine „Taktvorsehstoppanforderung“ .
-
Bei einem Empfangen der Taktanforderung (REQ), welche den ersten Logikwert hat (beispielsweise die Taktvorsehstoppanforderung), von der Kanalverwaltungsschaltung 130 deaktiviert die Taktsteuerschaltung 122f die Taktquelle 124f (beispielsweise eine Clockgatingschaltung), um das Vorsehen des Taktsignals zu stoppen, und der IP-Block 200 kann demzufolge in den Schlafmodus eintreten. In diesem Prozess kann die Taktsteuerschaltung 122f die Kanalverwaltungsschaltung 130 mit einem ACK-Signal vorsehen, welches den ersten Logikwert hat. Es sollte angemerkt werden, dass, auch wenn die Kanalverwaltungsschaltung 130 das ACK-Signal, welches den ersten Logikwert hat, nach dem Übertragen der Taktvorsehstoppanforderung, welche den ersten Logikwert hat, empfängt, das Stoppen des Vorsehens des Takts von der Taktquelle 124f nicht sichergestellt ist. Das oben erwähnte ACK-Signal jedoch bedeutet, dass die Taktsteuerschaltung 122f erkennt, dass die Taktkomponente 120f, welcher der Elter der Kanalverwaltungsschaltung 130 ist, nicht weiterhin ein Taktsignal für die Kanalverwaltungsschaltung 130 vorsehen muss.
-
In einer beispielhaften Ausführungsform überträgt die Taktsteuerschaltung 122f der Taktkomponente 120f eine Taktanforderung (REQ), welche den ersten Logikwert hat, zu der Taktsteuerschaltung 122e der Taktkomponente 120e, welche ihrem Elter entspricht. Wenn der IP-Block 210 ebenso kein Taktsignal benötigt, beispielsweise wenn die Taktsteuerschaltung 122e eine Taktstoppanforderung von der Taktsteuerschaltung 122g empfängt, deaktiviert die Taktsteuerschaltung 122e die Taktquelle 124e (beispielsweise eine Taktteilerschaltung), um das Vorsehen des Taktsignals zu stoppen. Als ein Ergebnis können die IP-Blöcke 200 und 210 in den Schlafmodus eintreten. Beispielsweise stoppt in dieser Ausführungsform die Taktquelle 124f das Vorsehen des Taktsignals nicht, bis sie ein ACK-Signal, welches den ersten Logikwert hat, von beiden Kindertaktsteuerschaltungen 122f und 122g empfängt.
-
Solch eine Operation kann ähnlich auf anderen Taktsteuerschaltungen 122a, 122b, 122c und 122d durchgeführt werden.
-
In einer beispielhaften Ausführungsform deaktiviert, auch wenn die Taktsteuerschaltung 122f der Taktkomponente 120f das Taktanforderungs (REQ)-Signal, welches den ersten Logikwert hat, zu der Taktsteuerschaltung 122e der Taktkomponente 120e überträgt, welche seinem Elter entspricht, wenn der IP-Block 210 in dem laufenden Zustand ist, die Taktsteuerschaltung 122e die Taktquelle 124e nicht. Danach deaktiviert, nur wenn der IP-Block 210 ein Taktsignal nicht länger benötigt, die Taktsteuerschaltung 122e die Taktquelle 124e und überträgt die Taktanforderung (REQ), welche den ersten Logikwert hat, zu der Taktsteuerschaltung 120d, welche ihrem Elter entspricht. Das heißt, dass die Taktsteuerschaltung 122e die Taktquelle 124e deaktiviert nur wenn sie eine Taktvorsehstoppanforderung von beiden der Taktsteuerschaltungen 122f und 122g empfängt, welche dem Kind entsprechen.
-
In einer beispielhaften Ausführungsform nimmt, wenn all die Taktquellen 124a, 124b, 124c, 124d, 124e und 124f deaktiviert sind während des Schlafzustandes des IP-Blöcke 200 und 210 und dann der IP-Block 200 in den laufenden Zustand eintritt, die Taktverwaltungsschaltung 100 das Vorsehen des Taktsignals für die IP-Blöcke 200 und 210 wieder auf.
-
Die Kanalverwaltungsschaltung 130 überträgt das Taktanforderungs (REQ)-Signal, welches einen zweiten Logikwert hat (beispielsweise logisches Hoch, hierin nachstehend angezeigt durch H), zu der Taktsteuerschaltung 122f der Taktkomponente 120f, welche ihrem Elter entspricht, und wartet auf die Bestätigung (ACK) von der Taktsteuerschaltung 122f. Hier bezieht sich, dass die Taktanforderung (REQ) den zweiten Logikwert hat, auf eine „Taktvorsehanforderung“ und das Bestätigungs (ACK)-Signal der Taktversorgungsanforderung bedeutet, dass die Taktvorsehung von der Taktquelle 124f wiederaufgenommen worden ist. In einer Ausführungsform aktiviert die Taktsteuerschaltung 122f die Taktquelle 124f (beispielsweise eine Clockgatingschaltung) nicht unmittelbar und wartet auf das Vorsehen des Taktsignals von dem Elter. In einer Ausführungsform wartet die Taktsteuerschaltung 122f bis sie ein ACK-Signal von dem Elter empfängt, bevor sie die Taktquelle 124f aktiviert.
-
Als Nächstes überträgt die Taktsteuerschaltung 122f eine Taktanforderung (REQ), welche einen zweiten Logikwert hat (beispielsweise eine Taktvorsehanforderung) zu der Taktsteuerschaltung 122e, welche ihrem Elter entspricht, und wartet auf die Bestätigung (ACK) von der Taktsteuerschaltung 122e. Solch eine Operation kann ähnlich auf den Taktsteuerschaltungen 122a, 122b, 122c und 122d durchgeführt werden.
-
Die Taktsteuerschaltung 122a, welche eine Wurzeltaktkomponente ist, welche die Taktanforderung (REQ), welche den zweiten Logikwert hat, von der Taktsteuerschaltung 122b empfangen hat, aktiviert die Taktquelle 124a (beispielsweise eine Multiplexschaltung) und überträgt das Bestätigungs (ACK)-Signal zu der Taktsteuerschaltung 122b. Wenn die Taktquellen 124b, 124c, 124d, 124d und 124e sequenziell in solch einer Art und Weise aktiviert werden, überträgt die Taktsteuerschaltung 122e das Bestätigungs (ACK)-Signal, welches anzeigt, dass eine Taktvorsehung von der Taktquelle 124e wiederaufgenommen wurde, zu der Taktsteuerschaltung 122f.
-
Bei einem Empfangen des Bestätigungs (ACK)-Signals aktiviert die Taktsteuerschaltung 122f die Taktquelle 124f, sieht das Taktsignal für den IP-Block 200 vor und sieht das Bestätigungs (ACK)-Signal für die Kanalverwaltungsschaltung 130 vor.
-
Auf diesem Wege arbeiten die Taktsteuerschaltungen 122a, 122b, 122c, 122d, 122e, 122f und 122g in einer Art und Weise eines vollständigen Handshake beziehungsweise Handschlags (beispielsweise synchroner Handshake) durch ein Austauschen des Taktanforderungs (REQ)-Signals und des Bestätigungs (ACK)-Signals zwischen dem Elter und dem Kind. Als ein Ergebnis steuern die Taktsteuerschaltungen 122a, 122b, 122c, 122d, 122e, 122f und 122g die Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g in einer Hardware-Art und Weise und steuern das Taktsignal, welches für die IP-Blöcke 200 und 210 vorgesehen ist.
-
Die Taktsteuerschaltungen 122a, 122b, 122c, 122d, 122e, 122f und 122g können unabhängig arbeiten, um das Taktanforderungs (REQ)-Signal zu dem Elter zu übertragen oder die Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g zu steuern, und können unter der Steuerung des Taktverwaltungseinheitscontrollers 110 arbeiten. In einer beispielhaften Ausführungsform des erfinderischen Konzepts weisen die Taktsteuerschaltungen 122a, 122b, 122c, 122d, 122e, 122f und 122g eine Finite-Zustands-Maschine (FSM = Finite Stata Machine = Finite-Zustands-Maschine) auf, welche jede der Taktquellen 124a, 124b, 124c, 124d, 124e, 124f und 124g basierend auf dem Taktanforderungs (REQ)-Signal steuert, welches zwischen dem Elter und dem Kind ausgetauscht wird.
-
2 ist ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf 2 überträgt in der Halbleitervorrichtung 1 gemäß der Ausführungsform des vorliegenden erfinderischen Konzepts die Leistungsverwaltungsschaltung 300 einen Leistungssteuerbefehl (CMD) zu der Taktverwaltungseinheit 110, um eine Leistungssteueroperation der IP-Blöcke 200 und 210 auszuführen und um den Leistungszustand der IP-Blöcke 200 und 210 zu steuern. In einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts weist der Leistungssteuerbefehl CMD einen Herunterfahrbefehl beziehungsweise Abschaltbefehl (Power-down-Command) (D_REQ) auf, um den IP-Blöcken 200 und 210 zu befehlen, in den Schlafmodus einzutreten. In einer Ausführungsform verwenden die IP-Blöcke 200 und 210 in dem Schlafmodus weniger Leistung und mehr Leistung in einem normalen Modus. Beispielsweise können während des Schlafmodus die IP-Blöcke eine geringere Anzahl von Funktionen als in dem normalen Modus durchführen.
-
In einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts haben der IP-Block 200 und der IP-Block 210 eine Master-Slave-Beziehung. In einer Ausführungsform ist der IP-Block 200 eine Master-Vorrichtung und der IP-Block 210 ist eine Slave-Vorrichtung. In diesem Fall tritt der IP-Block 210 (das heißt der Slave) in den Schlafmodus nur ein, wenn der IP-Block 200 (beispielsweise der Master) in dem Schlafmodus ist, und der IP-Block 200 wacht nur auf (beispielsweise verlässt den Schlafmodus) nachdem der IP-Block 210 aufwacht. Die Operationen der Kanalverwaltungsschaltung 130 des IP-Blocks 200 und der Kanalverwaltungsschaltung 132 des IP-Blocks 210 basierend auf solch einer Master-Slave-Beziehung werden unter Bezugnahme auf die 3 bis 5 detaillierter untenstehend beschrieben werden.
-
Bei einem Empfangen des Leistungssteuerbefehls CMD von der Leistungsverwaltungseinheit 300 steuert der Taktverwaltungseinheitscontroller 110 die Kanalverwaltungsschaltungen 130 und 132 basierend auf dem Leistungssteuerbefehl CMD und danach überträgt der Taktverwaltungseinheitscontroller 110 das Bestätigungs (ACK)-Signal zu der Leistungsverwaltungseinheit 300.
-
In einer beispielhaften Ausführungsform überträgt der Taktverwaltungseinheitscontroller 110 den Herunterfahrbefehl (D_REQ) zu der Kanalverwaltungsschaltung 130, die für den Kommunikationskanal mit dem Master-IP-Block 200 verantwortlich ist, und der Kanalverwaltungsschaltung 132, die für den Kommunikationskanal mit dem Slave-IP-Block 210 verantwortlich ist. Bei einem Empfangen des Herunterfahrbefehls (D_REQ) stellen die Kanalverwaltungsschaltungen 130 und 132 einen Wert von QREQn auf L unabhängig von dem Wert von QACTIVE, welches von den IP-Blöcken 200 und 210 empfangen wird. Die Kanalverwaltungsschaltungen 130 und 132 wissen, ob die IP-Blöcke 200 und 210 in den Schlafmodus eingetreten sind, durch ein Überprüfen, dass sich der Wert von QACCEPTn zu L ändert. In einer Ausführungsform hat der Herunterfahrbefehl (D_REQ) eine höhere Priorität als ein Aufwachbefehl, welcher die IP-Blöcke 200 und 210 veranlasst, in den Aufwachmodus einzutreten (das heißt den Schlafmodus zu verlassen).
-
Nachdem die Kanalverwaltungsschaltungen 130 und 132 die Operation gemäß dem Herunterfahrbefehl (D_REQ) vollenden, überträgt nur die Kanalverwaltungsschaltung 130 das Bestätigungs (D_ACK)-Signal des Herunterfahrbefehls (D_REQ) zu dem Taktverwaltungseinheitscontroller 110.
-
Die Kanalverwaltungsschaltung 130, die für den Kommunikationskanal mit dem Master-IP-Block 200 verantwortlich ist, und die Kanalverwaltungsschaltung 132, die für den Kommunikationskanal mit dem Slave-IP-Block 210 verantwortlich ist, tauschen ein Taktanforderungs (CLK_REQ)-Signal und ein Bestätigungs (CLK_ACK)-Signal aus, um eine Master-Slave-Beziehung zu bilden.
-
3 ist ein schematisches Diagramm zum Erklären eines beispielhaften Betriebs der Halbleitervorrichtung gemäß der beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf 3 haben die Kanalverwaltungsschaltungen 130 und 132 einen laufenden Zustand beziehungsweise Betriebszustand (Q_RUN), einen Schlafmoduseintrittszustand (Q_CLK_REQ), einen Schlafzustand (Q_STOPPED) und einen Schlafmodusaustrittzustand (QEXIT).
-
Wenn die Leerlaufbedingung zum Veranlassen, dass die IP-Blöcke 200 und 210, aus dem Laufzustand (Q_RUN) austreten, erfüllt ist, werden die Kanalverwaltungsschaltungen 130 und 132 in den Schlafmoduseintrittszustand (Q_CLK_REQ) umgewandelt, um den Wert von QREQn auf L einzustellen. Danach werden, nach einem Überprüfen, dass der Wert von QACCEPTn, welcher von den IP-Blöcken 200 und 210 empfangen wird, sich auf L ändert, die Kanalverwaltungsschaltungen 130 und 132 in den Schlafzustand (Q_STOPPED) umgewandelt.
-
Als Nächstes werden, wenn die Aufwachbedingung zum Aufwecken der IP-Blöcke 200 und 210 erfüllt ist, die Kanalverwaltungsschaltungen 130 und 132 in den Schlafmodusaustrittszustand (Q_EXIT) umgewandelt, um den Wert von QREQn auf H einzustellen, und dann werden, nach einem Überprüfen, dass der Wert von QACCEPTn, welcher von den IP-Blöcken 200 und 210 empfangen wird, sich auf H ändert, die Kanalverwaltungsschaltungen 130 und 132 in den laufenden Zustand (Q_RUN) umgewandelt.
-
Es sollte angemerkt werden, dass, da die Kanalverwaltungsschaltung 130 verantwortlich für den Kommunikationskanal mit dem Master-IP-Block 200 ist und die Kanalverwaltungsschaltung 132 verantwortlich für den Kommunikationskanal mit dem Slave-IP-Block 210 ist, die Kanalverwaltungsschaltung 130 und die Kanalverwaltungsschaltung 132 ebenso eine Master-Slave-Beziehung haben. Demzufolge können die folgenden Beschränkungen auftreten.
-
In einer beispielhaften Ausführungsform sieht die Kanalverwaltungsschaltung 130 ein Signal (CLK_REQ = L) vor, welches anzeigt, dass die Zufuhr des Taktsignals zu der Kanalverwaltungsschaltung 132 nur zu stoppen ist, wenn die Kanalverwaltungsschaltung 130 in den Schlafzustand (Q_STOPPED) umgewandelt ist. In einer Ausführungsform wird die Kanalverwaltungsschaltung 132 nicht in den Schlafmoduseintrittszustand (Q_CLK_REQ) umgewandelt, wenn die Kanalverwaltungsschaltung 130 kontinuierlich die Taktanforderung (CLK_REQ = H) tätigt und die Leerlaufbedingung erfüllt ist. Demnach muss, dazu, dass die Kanalverwaltungsschaltung 132 in den Schlafmoduseintrittszustand (Q_CLK_REQ) umgewandelt wird, die Leerlaufbedingung zum Veranlassen, dass der IP-Block 210 in den Schlafmodus eintritt, erfüllt sein, und zu derselben Zeit ist es notwendig, ein Signal (CLK_REQ = L), welches anzeigt, dass das Taktsignal zu stoppen ist, von der Kanalverwaltungsschaltung 130 zu empfangen. Beispielsweise tritt der Slave-IP-Block 210 in den Schlafmodus nur ein, wenn der Master-IP-Block 200 bereits in dem Schlafzustand ist.
-
In einer beispielhaften Ausführungsform sendet die Kanalverwaltungsschaltung 132 ein CLK_ACK = L zu der Kanalverwaltungsschaltung 130 nach dem Empfangen des CLK_REQ = L von der Kanalverwaltungsschaltung 130. In dieser Ausführungsform befiehlt die Kanalverwaltungsschaltung 132 dem Master-IP-Block 200 nicht, zu schlafen, bis sie eine Bestätigung (beispielsweise CLK_ACK = L) von der Kanalverwaltungsschaltung 132 empfängt, welche anzeigt, dass dem Slave-IP-Block 210 befohlen wurde, zu schlafen.
-
Ferner sendet, wenn die Kanalverwaltungsschaltung 130 in dem Schlafzustand (Q_STOPPED) die Aufwachbedingung erfüllt, die Kanalverwaltungsschaltung 130 eine Taktanforderung (CLK REQ = H) zu der Kanalverwaltungsschaltung 132 und wird in den Schlafmodusaustrittszustand (Q_EXIT) nur nach dem Empfangen der Bestätigung (CLK_ACK = H) der Taktanforderung (CLK REQ = H) von der Kanalverwaltungsschaltung 132 umgewandelt. Wenn die Kanalverwaltungsschaltung 132 in dem Schlafzustand (Q_STOPPED) ist, wird, auch wenn die Aufwachbedingung nicht erfüllt ist, wenn die Taktanforderung (CLQ_REQ = H) von der Kanalverwaltungsschaltung 130 empfangen wird, die Kanalverwaltungsschaltung 132 unmittelbar in den Schlafmodusaustrittszustand (Q_EXIT) umgewandelt und überträgt die Bestätigung (CLK_ACK = H) zu der Kanalverwaltungsschaltung 130. Beispielsweise wacht der Master-IP-Block 200 nur auf nachdem der Slave-IP-Block 210 aufwacht.
-
4 ist ein schematisches Diagramm zum Erklären eines beispielhaften Betriebs einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts, und 5 ist ein schematisches Diagramm zum Erklären eines beispielhaften Betriebs einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf 4 empfängt in einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts, wenn ein IP-Block ein Mehrzahl von Master-IP-Blöcken und einen einzelnen Slave-IP-Block aufweist, eine erste Schaltung, welche eine Kanalverwaltungsschaltung 410 aufweist, die für einen Kommunikationskanal mit dem Slave-IP-Block verantwortlich ist, eine Mehrzahl von Taktanforderungen (CLK_REQ1, CLK REQ2 und CLK REQ3) von den Kanalverwaltungsschaltungen 400, 402 und 404, die für die Kommunikationskanäle mit der Mehrzahl von Master-IP-Blöcken verantwortlich sind. Beispielsweise kann die erste Schaltung ein OR-Gatter beziehungsweise ODER-Gatter und die Kanalverwaltungsschaltung 410 aufweisen.
-
In dieser Ausführungsform empfängt die erste Schaltung eine Mehrzahl von Taktanforderungen (CLK_REQ1, CLK_REQ2 und CLK_REQ3) und führt eine ODER- beziehungsweise OR-Logikoperation auf der Mehrzahl von Taktanforderungen (CLK_REQ1, CLK_REQ2 und CLK_REQ3) durch, um eine einzelne Taktanforderung (OR_CLK_REQ) zu erzeugen. In anderen Worten gesagt muss, wenn nur einer der Mehrzahl der Master-IPs eine Taktanforderung tätigt, der Slave-IP aufwachen. Beispielsweise wird, auch wenn CLK_REQ2 und CLK REQ3 logisch L sind, da sie miteinander mit oder verknüpft sind, die Kanalverwaltungsschaltung 410 das Ergebnis als benötigend interpretieren, dass die Slave-IP aufwacht.
-
Bezug nehmend auf 5 empfängt in einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts, wenn der IP-Block einen einzelnen Master-IP-Block und eine Mehrzahl von Slave-IP-Blöcken aufweist, eine zweite Schaltung, welche die Kanalverwaltungsschaltung 400 aufweist, die für den Kommunikationskanal mit dem Master-IP-Block verantwortlich ist, eine Mehrzahl von Bestätigungen (CLK_ACK1, CLK_ACK2 und CLK_ACK3) von den Kanalverwaltungsschaltungen 410, 412 und 414, welche für den Kommunikationskanal mit der Mehrzahl von Slave-IP-Blöcken verantwortlich sind. Beispielsweise kann die zweite Schaltung ein AND-Gatter beziehungsweise UND-Gatter und die Kanalverwaltungsschaltung 400 aufweisen.
-
In dieser Ausführungsform empfängt die zweite Schaltung eine Mehrzahl von Bestätigungen (CLK_ACK1, CLK_ACK2 und CLK_ACK3) und führt eine AND- beziehungsweise UND-Logikoperation auf der Mehrzahl von Bestätigungen (CLK_ACK1, CLK_ACK2 und CLK_ACK3) durch, um eine einzelne Bestätigung (AND_CLK_ACK) zu erzeugen. Beispielsweise wacht der Master-IP nur auf, wenn alle der Mehrzahl von Slave-IPs aufwachen. Beispielsweise wird, wenn ein beliebiges eines von CLK_ACK1, CLK_ACK2 und CLK_ACK logisch L ist, da sie miteinander mit AND verknüpft sind, die Kanalverwaltungsschaltung 410 das Ergebnis interpretieren als nicht notwendig, dass die Master-IP aufwacht.
-
6 ist Zeitdiagramm zum Erklären eines beispielhaften Betriebs der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf 6 beginnt der Master-IP-Block 200, welcher bei T1 in dem Laufzustand war (IP1 = H) bei T2 in den Schlafmodus einzutreten, und wird in den Schlafzustand (IP1 = L) bei T3 umgewandelt. Als ein Ergebnis sieht die Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 ein Signal (CLK_REQ = L) vor, welches anzeigt, dass das Vorsehen des Taktes zu der Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 zu stoppen ist, wodurch induziert wird, dass der Slave-IP-Block 210 in den Schlafmodus eintritt.
-
Als ein Ergebnis beginnt der IP-Block 210 bei T4, in den Schlafmodus einzutreten und wird in den Schlafzustand (IP2 = L) bei T7 umgewandelt. Wie obenstehend beschrieben ist, muss, sodass der Master-IP-Block 200 später aufwacht, der Slave-IP-Block 210 zuerst aufwachen.
-
Wenn jedoch der Herunterfahrbefehl (D_REQ) von dem Taktverwaltungseinheitscontroller 110 bei T6 empfangen wird, während der Slave-IP-Block 210 in den Schlafmodus in den Intervallen von T4 bis T7 eintritt, ignoriert, da die Priorität des Herunterfahrbefehls (D_REQ) höher ist als der Aufwachbefehl, welcher von dem Master-IP-Block 200 empfangen wird (beispielsweise die Taktanforderung (CLK REQ = H)) nach T6 die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 die Taktanforderung (CLQ_REQ), welche von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird.
-
Demnach kann, wenn der Master-IP-Block 200 die Aufwachbedingung bei T5 erfüllt und auf das Aufwachen des Slave-IP-Blocks 210 wartet, wobei der QACTIVE-Wert H ist, da die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 die Taktanforderung (CLQ_REQ), welche von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird, ignoriert, ein Stillstand, in welchem sowohl der Master-IP-Block 200 als auch der Slave-IP-Block 210 nicht aufwachen, auftreten.
-
Die 7 und 8 sind schematische Diagramme zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf die 7 und 8 überträgt, um das Auftreten des Stillstands, welcher unter Bezugnahme auf 6 beschrieben ist, in der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts zu verhindern, die Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 ein Genehmigungssignal (GRANT_D_REQ) zu der Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210. Das Genehmigungssignal (GRANT_D_REQ) ist ein Signal zum Bestimmen, ob die Kanalverwaltungsschaltung 132 arbeitet oder nicht basierend auf dem Leistungssteuerbefehl (beispielsweise dem Herabfahrbefehl (D_REQ)) unter Berücksichtigung der Master-Slave-Beziehung.
-
In einer beispielhaften Ausführungsform führt die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 die Herunterfahroperation basierend auf einem Signal durch, welches von dem Herunterfahrbefehl (D_REQ) abgeleitet wird, welcher von dem Taktverwaltungseinheitscontroller 110 empfangen wird, und einem Genehmigungssignal (S_D_REQ), welches von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird. Beispielsweise kann die Kanalverwaltungsschaltung 132 ein AND-Gatter aufweisen, welches in 8 gezeigt ist, welches D_REQ und GRANT_D_REQ empfängt und eine AND-Logikoperation auf D_REQ und GRANT_D_REQ durchführt, um ein Genehmigungssignal (S_D_REQ) zu erlangen.
-
Als ein Ergebnis wacht in einer Situation, in der der Slave-IP-Block 210 den Herunterfahrbefehl (D_REQ) von dem Taktverwaltungseinheitscontroller 110 empfängt, aber der Master-IP-Block 200 aufwachen muss, der Slave-IP-Block 210 auf. In einer beispielhaften Ausführungsform wird, wenn der Zustand, in welchem der Master-IP-Block 200 die Herunterfahroperation durchführen kann, zu dem Slave-IP-Block 210 als das Genehmigungssignal (GRANT _D_REQ) übertragen wird, der Slave-IP-Block 210 einem Herunterfahren unterzogen durch ein Sicherstellen, dass der Master-IP-Block 200 nicht aufwacht.
-
Wenn das Herunterfahren der IP-Blöcke 200 und 210 vollendet ist, überträgt nur die Kanalverwaltungsschaltung 130 die Bestätigung (D ACK) des Herunterfahrbefehls (D_REQ) zu dem Taktverwaltungseinheitscontroller 110.
-
9 ist ein Zeitdiagramm zu Erklären eines beispielhaften Betriebs der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf 9 beginnt der Master-IP-Block 200, welcher bei T1 in dem laufenden Zustand (IP1 = H) war, bei T2in den Schlafmodus einzutreten und wird bei T3 in den Schlafzustand (IP1 = L) umgewandelt. Als ein Ergebnis sieht die Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 ein Signal für die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 (CLK_REQ = L) vor, welches anzeigt, dass das Vorsehen des Takts zu stoppen ist, und induziert den Slave-IP-Block 210, um in den Schlafmodus einzutreten.
-
Als ein Ergebnis beginnt der Slave-IP-Block 210 bei T4 in den Schlafmodus einzutreten und wird in den Schlafzustand (IP2 = L) bei T7 umgewandelt. Wie obenstehend beschrieben ist, muss, dass der Master-IP-Block 200 später aufwacht, der Slave-IP-Block 210 zuerst aufwachen.
-
Wenn der Herunterfahrbefehl (D_REQ) von dem Taktverwaltungseinheitscontroller 110 bei T6 empfangen wird, während der Slave-IP-Block 210 in den Schlafmodus in den Intervallen T4 bis T7 eintritt, ist die Priorität des Herunterfahrbefehls (D_REQ) höher als der Aufwachbefehl, welcher von dem Master-IP-Block 200 (beispielsweise die Taktanforderung (CLK_REQ = H)) empfangen wird. Da jedoch die Kanalverwaltungsschaltung 130 das Genehmigungssignal (GRANT_D_REQ) zu der Kanalverwaltungsschaltung 130 nicht überträgt, ignoriert nach T6 die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 die Taktanforderung (CLK_REQ) nicht, welche von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird.
-
Demnach wacht, wenn der Master-IP-Block 200 die Aufwachbedingungen bei T5 erfüllt und auf das Aufwachen des Slave-IP-Blocks 210 wartet, wobei der QACTIVE-Wert H ist, die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 von dem Intervall von T9 bis T10 auf, basierend auf der Taktanforderung (CLK_REQ), welche von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird.
-
Danach wird in der Kanalverwaltungsschaltung 130, nachdem das Genehmigungssignal (GRANT _D_REQ) zu der Kanalverwaltungsschaltung 132 bei T11 übertragen ist, die Herunterfahroperation des Slave-IP-Blocks 210 durchgeführt.
-
Die 10 und 11 sind schematische Diagramme zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
Bezug nehmend auf die 10 und 11 empfängt, um das Auftreten des Stillstandes, welcher unter Bezugnahme auf 6 beschrieben ist, in der Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts zu verhindern, die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 das QACTIVE-Signal (das erste Aktivsignal), welches zu der Kanalverwaltungsschaltung 130 übertragen wird, von dem Master-IP-Block 200.
-
Die vorliegende Ausführungsform ist auf einer Master-Slave-Beziehung basiert, wobei die Einschränkung, dass der Slave-IP-Block 210 zuerst aufwachen muss vor dem Aufwachen des Master-IP-Blocks 200 gelockert ist. Als ein Ergebnis empfängt jede der Kanalverwaltungsschaltungen 130 und 132 die Herunterfahrbefehle (D_REQ1 und D_REQ2) von dem Taktverwaltungseinheitscontroller 110 und überträgt die Bestätigungen (D_ACK1 und D_ACK2) zu der Taktverwaltungseinheit 110, nachdem das Herunterfahren ausgeführt worden ist.
-
In einer beispielhaften Ausführungsform führt die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 die Herunterfahroperation basierend auf dem QACTIVE-Signal (dem ersten aktiven Signal) durch, welches zu der Kanalverwaltungsschaltung 130 von dem Master-IP-Block 200 übertragen wird, und dem QACTIVE-Signal (dem zweiten aktiven Signal), welches von dem Slave-IP-Block 210 empfangen wird. Beispielsweise führt die Kanalverwaltungsschaltung die Herunterfahroperation basierend auf einem Signal (S_QACTIVE) durch, welches durch ein Durchführen einer OR-Logikoperation auf dem QACTIVE-Signal (dem ersten aktiven Signal), welches zu der Kanalverwaltungsschaltung 130 von dem Master-IP-Block 200 übertragen wird, und dem QACTIVE-Signal (dem zweiten aktiven Signal), welches von dem Slave-IP-Block 210 empfangen wird, erlangt wird. Beispielsweise kann die Kanalverwaltungsschaltung 132 ein OR-Gatter, welches in 11 gezeigt ist, aufweisen, welches die OR-Operation durchführt.
-
Als ein Ergebnis wacht in einer Situation, in der der Slave-IP-Block 210 den Herunterfahrbefehl (D_REQ) von dem Taktverwaltungseinheitscontroller 110 empfängt, der Master-IP-Block 200 jedoch nicht aufzuwachen braucht, der Slave-IP-Block auf.
-
12 ist ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
12 unterscheidet sich von 7 darin, dass die Leistungsverwaltungseinheit 300 den Herunterfahrbefehl (D_REQ) direkt zu den Kanalverwaltungsschaltungen 130 und 132 überträgt, um die Leistungssteueroperation der IP-Blöcke 200 und 210 durchzuführen und um den Leistungszustand der IP-Blöcke 200 und 210 zu steuern.
-
Als ein Ergebnis führt die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 die Herunterfahroperation basierend auf dem Herunterfahrbefehl (D_REQ), welcher von der Leistungsverwaltungseinheit 300 empfangen wird, und dem Genehmigungssignal (GRANT_D_REQ), welches von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird, durch. Beispielsweise führt die Kanalverwaltungsschaltung die Herunterfahroperation basierend auf dem Signal (S_D_REQ) durch, welches durch ein Durchführen der AND-Logikoperation auf dem Herunterfahrbefehl (D_REQ), welcher von der Leistungsverwaltungseinheit 300 empfangen wird, und dem Genehmigungssignal (GRANT _D_REQ), welcher von der Kanalverwaltungsschaltung 130 des Master-IP-Blocks 200 empfangen wird, erlangt wird.
-
Demnach wacht in einer Situation, in der der Slave-IP-Block 210 den Herunterfahrbefehl (D_REQ) von der Leistungsverwaltungseinheit 300 empfängt, jedoch der Master-IP-Block 200 aufwachen muss, der Slave-IP-Block 210 auf. In einer beispielhaften Ausführungsform wird, wenn der Zustand, in welchem der Master-IP-Block 200 die Herunterfahroperation durchführen kann, zu dem Slave-IP-Block 210 als ein Genehmigungssignal (GRANT _D_REQ) übertragen wird, das Herunterfahren des Slave-IP-Blocks 210 durchgeführt durch ein Sicherstellen, dass der Master-IP-Block 200 nicht aufwacht.
-
Wenn das Herunterfahren der IP-Blöcke 200 und 210 vollendet ist, überträgt nur die Kanalverwaltungseinheit 130 die Bestätigung (D ACK) des Herunterfahrbefehls (D_REQ) zu der Leistungsverwaltungseinheit 300.
-
13 ist ein schematisches Diagramm zum Erklären einer Halbleitervorrichtung gemäß einer beispielhaften Ausführungsform des vorliegenden erfinderischen Konzepts.
-
13 unterscheidet sich von 10 darin, dass die Leistungsverwaltungseinheit 300 den Herunterfahrbefehl (D_REQ) zu den Kanalverwaltungsschaltungen 130 und 132 direkt überträgt, um die Leistungssteueroperation der IP-Blöcke 200 und 210 durchzuführen, und um den Leistungszustand der IP-Blöcke 200 und 210 zu steuern.
-
Jede der Kanalverwaltungsschaltungen 130 und 132 empfängt die Herunterfahrbefehle (D_REQ1 und D_REQ2) von der Leistungsverwaltungseinheit 300 und überträgt die Bestätigungen (D_ACk1 und D_ACK2) zu der Leistungsverwaltungseinheit 300 nachdem das Herunterfahren durchgeführt ist.
-
Die Kanalverwaltungsschaltung 132 des Slave-IP-Blocks 210 führt eine Herunterfahroperation basierend auf dem QACTIVE-Signal (dem ersten aktiven Signal) durch, welches zu der Kanalverwaltungsschaltung 130 von dem Master-IP-Block 200 übertragen wird, und dem QACTIVE-Signal (dem zweiten aktiven Signal), welches von dem Slave-IP-Block 210 empfangen wird. Beispielsweise führt die Kanalverwaltungsschaltung 132 die Herunterfahroperation basierend auf dem Signal (S_QACTIVE) durch, welches erlangt wird durch ein Durchführen der OR-Logikoperation auf dem QACTIVE-Signal (dem ersten aktiven Signal), welches zu der Kanalverwaltungsschaltung 130 von dem Master-IP-Block 200 übertragen wird, und dem QACTIVE-Signal (dem zweiten aktiven Signal), welches von dem Slave-IP-Block 210 empfangen wird.
-
Demzufolge wacht in einer Situation, in der der Slave-IP-Block 210 den Herunterfahrbefehl (D_REQ) von dem Taktverwaltungseinheitscontroller 110 empfängt, der Master-IP-Block 200 aber aufwachen muss, der Slave-IP-Block auf.
-
14 ist ein Blockschaltbild eines Halbleitersystems, auf welches die Halbleitervorrichtung und das Verfahren zum Betreiben der Halbleitervorrichtung gemäß einigen Ausführungsformen des vorliegenden erfinderischen Konzepts anwendbar sind.
-
Bezug nehmend auf 14 weist das Halbleitersystem eine Halbleitervorrichtung (SoC) 1, einen Prozessor 10, eine Speichervorrichtung 20, eine Anzeigevorrichtung 30, eine Netzwerkvorrichtung 40, eine Speichervorrichtung 50 und eine Eingabe-/Ausgabevorrichtung 60 auf. Die Halbleitervorrichtung (SoC) 1, der Prozessor 10, die Speichervorrichtung 20, die Anzeigevorrichtung 30, die Netzwerkvorrichtung 40, die Speichervorrichtung 50 und die Eingabe-/Ausgabevorrichtung 60 können Daten untereinander über einen Bus 70 übertragen und empfangen.
-
Die IP-Blöcke innerhalb der Halbleitervorrichtung (SoC) 1, welche in verschiedenen Ausführungsformen der vorliegenden Offenbarung beschrieben ist, weist wenigstens einen eines Speichercontrollers, welcher die Speichervorrichtung 20 steuert, eines Anzeigecontrollers, welcher die Anzeigevorrichtung 30 steuert, eines Netzwerkcontrollers, welcher die Netzwerkvorrichtung 40 steuert, eines Speichercontrollers, welcher die Speichervorrichtung 50 steuert, und eines Eingabe-/Ausgabecontrollers, welcher die Eingabe-/Ausgabevorrichtung 60 steuert, auf. Das Halbleitersystem kann ferner einen zusätzlichen Prozessor 10 aufweisen, welcher diese Vorrichtungen steuert.
-
Die 15 bis 17 sind beispielhafte Halbleitersysteme, auf welche die Halbleitervorrichtung und das Verfahren zum Betreiben der Halbleitervorrichtung gemäß einigen Ausführungsformen des vorliegenden erfinderischen Konzepts anwendbar sind.
-
15 ist ein Diagramm, welches einen Tablet-Personalcomputer (PC) 1200 veranschaulicht, 16 ist ein Diagramm, welches einen Laptopcomputer 1300 veranschaulicht, und 17 veranschaulicht ein Smartphone 1400. Die Halbleitervorrichtung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann innerhalb des Tablet-PC 1200, des Laptopcomputers 1300 oder des Smartphone 1400 verwendet werden. Das erfinderische Konzept ist jedoch nicht darauf beschränkt, da die Halbleitervorrichtung ebenso innerhalb verschiedener anderer Vorrichtungen und integrierter Schaltungsvorrichtungen, welche nicht veranschaulicht sind, verwendet werden kann.
-
In einigen Ausführungsformen des vorliegenden erfinderischen Konzepts kann das Halbleitersystem als ein Computer vorgesehen sein, als ein Ultramobiler PC (UMPC), eine Workstation, ein Netbook, ein persönlicher digitaler Assistent (BDA), ein tragbarer Computer, ein drahtloses Telefon, ein Mobiltelefon, ein E-Buch-Leser, ein tragbarer Multimediaplayer (PMP), eine tragbare Spielemaschine, eine Navigationsvorrichtung, eine Blackbox, eine Digitalkamera, ein dreidimensionaler Fernseher, ein digitaler Audiorecorder, ein digitaler Audioabspieler, ein digitaler Bildrecorder, ein digitaler Bildabspieler, ein digitaler Videorecorder oder ein digitaler Videoabspieler.
-
Während das erfinderische Konzept insbesondere unter Bezugnahme auf beispielhafte Ausführungsformen davon veranschaulicht und beschrieben wurde, wird es durch Fachleute verstanden werden, dass verschiedene Änderungen in der Form und im Detail darin getätigt werden können, ohne vom Gedanken und Umfang des vorliegenden erfinderischen Konzepts abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- KR 1020170000609 [0001]
- KR 15/414819 [0001]