IP Library Granted Patent US 9,690,727
Granted Patent B2
US 9,690,727 · App. 14/530,622 · Granted Jun 27, 2017

System internal latency measurements in realtime applications

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,690,727
App. No.
14/530,622
Granted
Jun 27, 2017
Kind
B2
Abstract

Systems, methods, circuits and computer-readable mediums for system internal latency measurements in realtime applications are disclosed. In some implementations, a trigger signal is selected from a plurality of trigger signals for interrupting a processor of an integrated circuit system. The trigger signal includes a pulse having width. The system detects a rising edge of the pulse and starts a counter. The system detects a falling edge of the pulse and stops the counter. The system then compares a count of the counter with first and second values stored in first and second registers, respectively. The first value represents a minimum pulse width and the second value represents a maximum pulse width. The count is stored in the first or second register based on a result of the comparing.

Claims (53)

1. A method comprising:

accessing a trigger signal from a plurality of trigger signals, the trigger signal including a pulse having a width;

detecting a rising edge of the pulse;

in response to the detecting of the rising edge, starting a counter;

detecting a falling edge of the pulse;

in response to the detecting of the falling edge:

stopping the counter;

comparing a count of the counter with first and second values stored in first and second registers, respectively, the first value representing a minimum pulse width and the second value representing a maximum pulse width;

storing the count in the first or second register based on a result of the comparing; and

dynamically adjusting a system clock frequency during runtime of an application based on the comparing.

2. The method of claim 1 , where the trigger signal is an interrupt request signal from a peripheral of the integrated circuit system for interrupting at least one of a central processing unit (CPU), event system and a direct memory access (DMA) controller of the integrated circuit system.

3. The method of claim 1 , further comprising:

transferring at least one of the first and second values to a buffer; and

determining a statistical distribution of time consumption based on the first and second values.

4. The method of claim 1 , where comparing a count of the counter with first and second values stored in first and second registers, further comprises:

comparing the first value against the count to determine if the first value is greater than the count, and if the first value is greater than the count, storing the count in the first register as the minimum pulse width.

5. The method of claim 4 , where comparing a count of the counter with first and second values stored in first and second registers, further comprises:

comparing the second value against the count to determine if the second value is less than the count and, if the second value is less than the count, storing the count in the second register as the maximum pulse width.

6. A system for performing system internal latency measurements, comprising:

a selecting device configured to select a trigger signal from a plurality of trigger signals, the trigger signal including a pulse having a width;

a counter coupled to the selecting device and configured to: start counting when a rising edge of the pulse is detected and stop counting when a falling edge of the pulse is detected;

a compare and capture circuit coupled to the counter and configured to: compare a count of the counter with first and second values stored in first and second registers, respectively, the first value representing a minimum pulse width and the second value representing a maximum pulse width; and storing the count in the first or second register based on a result of the comparing; and

a processing unit or circuit configured to dynamically adjust a system clock frequency during runtime of an application based on the comparing.

7. The system of claim 6 , where the trigger signal is an interrupt request signal from a peripheral of the integrated circuit system for interrupting at least one of a central processing unit (CPU), event system and a direct memory access (DMA) controller of the integrated circuit system.

8. The system of claim 6 , further comprising:

an interface coupled to the first and second registers and configured to transfer at least one of the first and second values to a buffer; and

a central processing unit coupled to the interface and configured to determine a statistical distribution of time consumption based on the first and second values.

9. The system of claim 6 , where comparing a count of the counter with first and second values stored in first and second registers, further comprises:

comparing the first value against the count to determine if the first value is greater than the count, and if the first value is greater than the count, storing the count in the first register as the minimum pulse width; and

comparing the second value against the count to determine if the second value is less than the count and, if the second value is less than the count, storing the count in the first register as the maximum pulse width.

10. The system of claim 6 , where the system is included in a microcontroller system.

11. The system of claim 8 , where the interface is a direct memory access (DMA) interface configured to perform a DMA transfer of the values to the buffer.

12. The system of claim 6 , where the selecting device is a multiplexer.

13. The system of claim 6 , where the first and second registers are initialized with maximum and minimum counter values, respectively.

14. The system of claim 13 , further comprising a programmable register configured for storing the maximum counter value.

15. A non-transitory, computer-readable storage medium configured to store instructions, which, when executed by one or more processors, causes the one or more processors to perform operations comprising:

accessing a trigger signal from a plurality of trigger signals, the trigger signal including a pulse having a width;

detecting a rising edge of the pulse;

in response to the detecting of the rising edge, starting a counter;

detecting a falling edge of the pulse;

in response to the detecting of the falling edge:

stopping the counter;

comparing a count of the counter with first and second values stored in first and second registers, respectively, the first value representing a minimum pulse width and the second value representing a maximum pulse width;

storing the count in the first or second register based on a result of the comparing; and

dynamically adjusting a system clock frequency during runtime of an application based on the comparing.

16. The computer-readable medium of claim 15 , where the trigger signal is an interrupt request signal from a peripheral of the integrated circuit system for interrupting at least one of a central processing unit (CPU), event system and a direct memory access (DMA) controller of the integrated circuit system.

17. The computer-readable medium of claim 15 , further comprising:

transferring at least one of the first and second values to a buffer; and

determining a statistical distribution of time consumption based on the first and second values.

18. The computer-readable medium of claim 15 , where comparing a count of the counter with first and second values stored in first and second registers, further comprises:

comparing the first value against the count to determine if the first value is greater than the count, and if the first value is greater than the count, storing the count in the first register as the minimum pulse width.

19. The computer-readable medium of claim 18 , where comparing a count of the counter with first and second values stored in first and second registers, further comprises:

comparing the second value against the count to determine if the second value is less than the count and, if the second value is less than the count, storing the count in the second register as the maximum pulse width.

Assignments (18)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ATMEL CORPORATION
Reel/Frame 059262/0105 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
PATENT SECURITY AGREEMENT Recorded Jun 16, 2015
From: ATMEL CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT, ISSUING BANK AND SWINGLINE LENDER
Reel/Frame 035918/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2014
From: ATMEL NANTES S.A.S.
To: ATMEL CORPORATION
Reel/Frame 034574/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2014
From: COURTEL, KARL JEAN-PAUL; BIRSAN, LAURENTIU
To: ATMEL NANTES S.A.S.
Reel/Frame 034309/0394 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2014
From: DANIELSEN, STEIN; HANSSEN, INGAR
To: ATMEL CORPORATION
Reel/Frame 034309/0311 →