IP Library Granted Patent US 9,305,126
Granted Patent B2
US 9,305,126 · App. 14/222,404 · Granted Apr 5, 2016

Switching activity reduction through retiming

Inventors: Charles W. Selvidge (Wellesley, MA); Sanjay Gupta (Noida, IN); Praveen Shukla (Noida, IN); Saurabh Gupta (Ghaziabad, IN); Jeffrey Evans (Exeter, GB)
Assignee: Mentor Graphics Corporation
G06F17/5031H03K3/012
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 9,305,126
App. No.
14/222,404
Granted
Apr 5, 2016
Kind
B2
Abstract

Aspects of the invention relate to techniques for using retiming to reduce circuit switching activity. Switching activity values at output ports of circuit elements of a circuit design are first computed based on switching activity values at input ports of the circuit elements and scaling factors associated with the circuit elements. Based on the switching activity values at the output ports of the circuit elements, one or more regions of the circuit design for retiming are identified. Retiming location information is then determined for the one or more regions. Finally, the identified one or more regions are then retimed to reduce switching activity based on the retiming location information.

Claims (52)

1. A method, executed by at least one processor of a computer, comprising:

computing switching activity values at output ports of circuit elements of a circuit design based on switching activity values at input ports of the circuit elements and scaling factors associated with the circuit elements, the scaling factors representing effects of signal changes at the input ports on signal changes at the output ports, the computing comprising calculating weighted sums of the switching activity values at the input ports of each of the circuit elements using the scaling factors as relative weights;

identifying one or more regions of the circuit design for retiming based on the switching activity values at the output ports of the circuit elements; and

determining retiming location information for the one or more regions based on the switching activity values at the output ports of the circuit elements, the retiming location information comprising information of one or more circuit nodes for placing circuit state elements to reduce switching activity in each of the one or more regions.

2. The method recited in claim 1 , further comprising:

retiming the one or more regions based on the retiming location information.

3. The method recited in claim 2 , wherein the retiming comprises:

repositioning circuit state elements in the one or more regions.

4. The method recited in claim 3 , wherein the retiming further comprises:

adding inverse-edge-triggered circuit state elements.

5. The method recited in claim 1 , wherein the computing comprises:

assigning a switching activity value at one of the input ports of a circuit element to the switching activity value at the output port of the circuit element if the weighted sum of the switching activity values at the input ports of the circuit element is less than the switching activity value at the one of the input ports.

6. The method recited in claim 1 , wherein the computing comprises:

assigning an upper threshold value to the switching activity value at the output port of a circuit element if the weighted sum of the switching activity values at the input ports of the circuit element is greater than the upper threshold value, the upper threshold value being derived based on signal propagation delay and slew rate.

7. The method recited in claim 1 , wherein the identifying comprises:

deriving cumulative switching activity values for regions in the circuit design based on the switching activity values at output ports of circuit elements in each of the regions.

8. The method recited in claim 7 , wherein the retiming location information comprises information of switching activity relaxing point nodes determined based on the cumulative switching activity values.

9. The method recited in claim 8 , further comprising:

repositioning circuit state elements in the one or more regions to or near the switching activity relaxing point nodes.

10. One or more non-transitory computer-readable media storing computer-executable instructions for causing one or more processors to perform a method, the method comprising:

computing switching activity values at output ports of circuit elements of a circuit design based on switching activity values at input ports of the circuit elements and scaling factors associated with the circuit elements, the scaling factors representing effects of signal changes at the input ports on signal changes at the output ports, the computing comprising calculating weighted sums of the switching activity values at the input ports of each of the circuit elements using the scaling factors as relative weights;

identifying one or more regions of the circuit design for retiming based on the switching activity values at the output ports of the circuit elements; and

determining retiming location information for the one or more regions based on the switching activity values at the output ports of the circuit elements, the retiming location information comprising information of one or more circuit nodes for placing circuit state elements to reduce switching activity in each of the one or more regions.

11. The one or more non-transitory computer-readable media recited in claim 10 , wherein the method further comprises:

retiming the one or more regions based on the retiming location information.

12. The one or more non-transitory computer-readable media recited in claim 11 , wherein the retiming comprises:

repositioning circuit state elements in the one or more regions, adding inverse-edge-triggered circuit state elements, or both.

13. The one or more non-transitory computer-readable media recited in claim 10 , wherein the computing comprises:

assigning a switching activity value at one of the input ports of a circuit element to the switching activity value at the output port of the circuit element if the weighted sum of the switching activity values at the input ports of the circuit element is less than the switching activity value at the one of the input ports.

14. The one or more non-transitory computer-readable media recited in claim 10 , wherein the computing comprises:

assigning an upper threshold value to the switching activity value at the output port of a circuit element if the weighted sum of the switching activity values at the input ports of the circuit element is greater than the upper threshold value, the upper threshold value being derived based on signal propagation delay and slew rate.

15. The one or more non-transitory computer-readable media recited in claim 10 , wherein the identifying comprises:

deriving cumulative switching activity values for regions in the circuit design based on the switching activity values at output ports of circuit elements in each of the regions.

16. The one or more non-transitory computer-readable media recited in claim 15 ,

wherein the retiming location information comprises information of switching activity relaxing point nodes determined based on the cumulative switching activity values.

17. A system, comprising:

one or more processors, the one or more processors programmed to perform a method, the method comprising:

computing switching activity values at output ports of circuit elements of a circuit design based on switching activity values at input ports of the circuit elements and scaling factors associated with the circuit elements, the scaling factors representing effects of signal changes at the input ports on signal changes at the output ports, the computing comprising calculating weighted sums of the switching activity values at the input ports of each of the circuit elements using the scaling factors as relative weights;

identifying one or more regions of the circuit design for retiming based on the switching activity values at the output ports of the circuit elements; and

determining retiming location information for the one or more regions based on the switching activity values at the output ports of the circuit elements, the retiming location information comprising information of one or more circuit nodes for placing circuit state elements to reduce switching activity in each of the one or more regions.

18. The system recited in claim 17 , wherein the method further comprises:

retiming the one or more regions based on the retiming location information.

19. The system recited in claim 18 , wherein the retiming comprises:

repositioning circuit state elements in the one or more regions, adding inverse-edge-triggered circuit state elements, or both.

20. The system recited in claim 17 , wherein the computing comprises:

assigning a switching activity value at one of the input ports of a circuit element to the switching activity value at the output port of the circuit element if the weighted sum of the switching activity values at the input ports of the circuit element is less than the switching activity value at the one of the input ports.

21. The system recited in claim 17 , wherein the computing comprises:

assigning an upper threshold value to the switching activity value at the output port of a circuit element if the weighted sum of the switching activity values at the input ports of the circuit element is greater than the upper threshold value, the upper threshold value being derived based on signal propagation delay and slew rate.

22. The system recited in claim 17 , wherein the identifying comprises:

deriving cumulative switching activity values for regions in the circuit design based on the switching activity values at output ports of circuit elements in each of the regions.

23. The system recited in claim 22 ,

wherein the retiming location information comprises information of switching activity relaxing point nodes determined based on the cumulative switching activity values.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 28, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056696/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: SELVIDGE, CHARLES W.; GUPTA, SANJAY; SHUKLA, PRAVEEN; GUPTA, SAURABH; EVANS, JEFFREY
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 032544/0294 →
Continuity (1)
Related Publication 20150269295A1 · Sep 24, 2015