IP Library Granted Patent US 11,256,836
Granted Patent B2
US 11,256,836 · App. 15/842,311 · Granted Feb 22, 2022

Toggle rate reduction in high level programming implementations

Inventor: Tomasz Czajkowski (Toronto, CA)
Assignee: Intel Corporation
G06F30/327G06F30/34G06F2119/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,256,836
App. No.
15/842,311
Granted
Feb 22, 2022
Kind
B2
Abstract

Power dissipation in integrated circuits may be reduced by efficient implementation of high level programming on the integrated circuits. As the high level programming logic is implemented on the integrated circuits, data inputs are disabled based upon branches and/or data that is not used by the high level programming.

Claims (46)

1. An integrated circuit device, comprising:

an upstream data source;

data utilization logic downstream of the upstream data source; wherein the data utilization logic comprises an implementation of an if-then-else statement; and

downstream evaluation circuitry of the data utilization logic;

wherein the data utilization logic comprises toggle rate reduced logic that reduces a toggle rate of the data utilization logic by blocking unused data from transitioning through the data utilization logic to the downstream evaluation circuitry, and

wherein the toggle rate reduced logic reduces a toggle rate of the implementation of the if-then-else statement on the integrated circuit device.

2. The integrated circuit device of claim 1 , comprising:

a first branch processing pipeline;

a second branch processing pipeline;

a first data register that registers input data for the first branch processing pipeline;

a second data register that registers input data for the second branch processing pipeline;

wherein the first data register and the second data register are enabled based upon a condition of the if-then-else statement.

3. The integrated circuit device of claim 2 , wherein:

one but not both of the first data register and the second data register are enabled based upon the condition being true; and

wherein one but not both of the first data register and the second data register are enabled based upon the condition being false.

4. The integrated circuit device of claim 2 , wherein:

the first data register comprises a first stage of registers of the first branch processing pipeline; and

the second data register comprises a second stage of registers of the second branch processing pipeline.

5. The integrated circuit device of claim 4 , wherein:

the first stage of registers, the second stage of registers, or both are positioned to maximize a reduction of power in the downstream evaluation circuitry of the first branch processing pipeline, the second branch processing pipeline, or both.

6. The integrated circuit device of claim 4 , wherein:

the first stage of registers, the second stage of registers, or both are positioned to minimize an impact of adding an enable line to the first stage of registers.

7. The integrated circuit device of claim 4 , wherein:

the first stage of registers, the second stage of registers, or both are positioned to balance between:

maximizing a reduction of power in the downstream evaluation circuitry of the first branch processing pipeline, the second branch processing pipeline, or both; and

minimizing an impact of adding an enable line to the first stage of registers.

8. An integrated circuit device, comprising:

an upstream data source;

data utilization logic downstream of the upstream data source, wherein the data utilization logic comprises an implementation of a loop output; and

downstream evaluation circuitry of the data utilization logic;

wherein the data utilization logic comprises toggle rate reduced logic that reduces a toggle rate of the data utilization logic by blocking unused data from transitioning through the data utilization logic to the downstream evaluation circuitry, and

wherein the toggle rate reduced logic reduces a toggle rate of the implementation of the loop output on the integrated circuit device.

9. The integrated circuit device of claim 8 , comprising:

a first basic block;

a second basic block;

looping logic that loops processing in the first basic block to produce the loop output;

wherein the second basic block comprises validation logic to only receive the loop output upon execution, completion, or both of a last loop of the looping logic.

10. The integrated circuit device of claim 9 , wherein the validation logic comprises a data register that is disposed upstream of computation logic of the second basic block, wherein the data register is enabled by a valid signal upon execution, completion, or both of the last loop of the looping logic, such that data may be registered in the data register and subsequently evaluated by the computation logic, while blocking data from being registered by the data register when not executing, completing, or both the last loop of the looping logic.

11. An integrated circuit device, comprising:

an upstream data source;

data utilization logic downstream of the upstream data source; and

downstream evaluation circuitry of the data utilization logic;

wherein the data utilization logic comprises toggle rate reduced logic that reduces a toggle rate of the data utilization logic by blocking unused data from transitioning through the data utilization logic to the downstream evaluation circuitry, and wherein the toggle rate reduced logic reduces a toggle rate of stall-valid logic that implements a stall in the integrated circuit device.

12. The integrated circuit device of claim 11 , wherein the toggle rate reduced logic comprises an AND gate;

wherein the AND gate takes as input an inverted stall out and a valid signal; and

wherein the AND gate provides an output signal used to selectively enable and disable a data register.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 066353/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2019
From: CZAJKOWSKI, TOMASZ
To: INTEL CORPORATION
Reel/Frame 048152/0001 →
Continuity (1)
Related Publication 20190042673A1 · Feb 7, 2019