# US 8,786,332 B1 · Reset extender for divided clock domains

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,786,332 B1
- Document ID: US8786332B1
- Status: Granted
- Kind: B1
- Application number: 13/744,004
- Filed: 2013-01-17
- Published: 2014-07-17
- Granted: 2014-07-22
- Earliest claimed: 2013-01-17
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Erik P. Machnicki; David S. Warren; Shane J. Keil; Sukalpa Biswas
- Web page: https://patentgrep.com/patent/US8786332B1

## CPC

- G06F 1/24: Resetting means
- G06F 1/10: Distribution of clock signals {, e.g. skew}
- H03L 5/00: Automatic control of voltage, current, or power
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03L: AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES (generation of oscillations H03B)

## Abstract

A clock divider may provide a lower speed clock to a logic block portion, but during reset, the clock divider may not operate properly, causing the logic block portion to be reset at a clock frequency greater than the frequency for which that logic was designed. However, an extended reset may be employed in which the clock divider is reset normally first before the logic block portion, allowing that logic to be reset according to the divided clock (e.g., rather than a higher speed clock). An asynchronous reset may also be employed in which one or more clock dividers first emerge from reset before being provided with a (synchronized) high speed clock signal, causing the clock dividers to be in phase with each other. This may enable communication between different areas of an IC that might not otherwise be in proper phase with each other.

## Claims

### Claim 1

A circuit, comprising:
a reset unit configured to receive reset information indicating a logic block is to be reset, wherein the reset unit is coupled to a clock divider, and wherein at least a portion of the logic block is configured to operate at a divided clock frequency provided by the clock divider;
wherein the reset unit is configured, in response to receiving the reset information, to cause the clock divider to complete reset prior to causing the portion of the logic block to complete reset.

### Claim 2 (depends on 1)

The circuit of claim 1, wherein the reset unit is configured to cause a first reset signal to be asserted to the clock divider and a second reset signal to be asserted to the at least a portion of the logic block;
wherein the reset unit is configured, in response to the reset information, to cause the first reset signal to be deasserted prior to causing the second reset signal to be deasserted.

### Claim 3 (depends on 2)

The circuit of claim 2, wherein the reset unit is configured to determine a number of clock cycles to wait between said causing the first reset signal to be deasserted and said causing the second reset signal to be deasserted.

### Claim 4 (depends on 1)

The circuit of claim 1, wherein the reset unit is configured, in response to the reset information, to cause reset of the clock divider and of the at least a portion of the logic block to begin in a same clock cycle.

### Claim 5 (depends on 1)

The circuit of claim 1, further comprising the logic block;
wherein the logic block comprises the reset unit and clock divider, and wherein the clock divider is configured to receive a clock signal that is generated by a clock external to the logic block.

### Claim 6 (depends on 1)

The circuit of claim 1, wherein the reset unit comprises one or more asynchronous reset flip-flops.

### Claim 7 (depends on 1)

The circuit of claim 1, further comprising a power manager unit configured to transmit the reset information to a plurality of logic blocks that include the logic block.

### Claim 8 (depends on 7)

The circuit of claim 7, wherein the power manager unit includes a clock configured to provide a first clock signal at a first clock frequency to the plurality of logic blocks, and wherein the plurality of logic blocks include a respective plurality of clock dividers that are configured to provide second clock signals at clock frequencies lower than the first clock frequency.

### Claim 9

A system, comprising:
a clock configured to generate a clock signal;
a plurality of logic blocks, wherein each of the plurality of logic blocks includes a respective clock divider configured to divide the clock signal to produce a local clock signal, wherein each of the plurality of logic blocks includes a respective reset unit that is configured, in response to reset information, to enable the respective clock divider for that logic block while local circuitry for that logic block is being reset; and
a power manager unit coupled to the plurality of logic blocks, wherein the power manager unit is configured to transmit the reset information to the plurality of logic blocks to cause the plurality of logic blocks to be reset.

### Claim 10 (depends on 9)

The system of claim 9, wherein the local circuitry for each of the plurality of logic blocks includes one or more flip flops that are configured to operate using the respective local clock signal for that logic block.

### Claim 11 (depends on 9)

The system of claim 9, wherein the power manager unit includes the clock and is configured to transmit the reset information by deasserting one or more signals transmitted over one or more signal lines coupled to the plurality of the logic blocks.

### Claim 12 (depends on 9)

The system of claim 9, wherein the respective reset unit of each of the plurality of blocks is in a different clock domain than the local circuitry for that logic block.

### Claim 13 (depends on 9)

The system of claim 9, wherein the power manager unit is configured to receive respective feedback from each of the plurality of logic blocks indicating that block has completed reset.

### Claim 14

A method, comprising:
transmitting reset information to a plurality of logic blocks, each of which respectively includes a clock divider configured to receive a first clock signal and provide a divided clock signal in response;
preventing the first clock signal from reaching the respective clock divider for each of the plurality of logic blocks;
subsequent to said preventing, causing the respective clock divider for each of the plurality of logic blocks to be removed from reset; and
subsequent to said causing the respective clock divider for each of the plurality of logic blocks to be removed from reset, causing the first clock signal to again be provided to the respective clock divider for each of the plurality of logic blocks.

### Claim 15 (depends on 14)

The method of claim 14, further comprising waiting a predetermined number of clock cycles before causing the first clock signal to again be provided to the respective clock divider for each of the plurality of logic blocks.

### Claim 16 (depends on 14)

The method of claim 14, wherein said transmitting the reset information is performed by a power manager unit that comprises a clock configured to provide the first clock signal to the plurality of logic blocks.

### Claim 17 (depends on 16)

The method of claim 16, wherein preventing the first clock signal from being provided to the respective clock divider for each of the plurality of logic blocks comprises the power manager unit halting a transmission of the first clock signal.

### Claim 18 (depends on 16)

The method of claim 16, wherein causing the first clock signal to again be provided causes the respective clock divider for each of the plurality of logic blocks to begin providing respective divided clock signals on a same cycle of the clock, at a same frequency lower than a frequency of the clock.

### Claim 19 (depends on 14)

The method of claim 14, wherein transmitting the reset information comprises asserting a reset signal over a shared line coupled to two or more of the plurality of logic blocks.

### Claim 20 (depends on 19)

The method of claim 19, wherein causing the respective clock divider for each of the plurality of logic blocks to be removed from reset comprises deasserting the reset signal over the shared line.
