IP Library Granted Patent US 9,928,193
Granted Patent B2
US 9,928,193 · App. 14/541,769 · Granted Mar 27, 2018

Distributed timer subsystem

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,928,193
App. No.
14/541,769
Granted
Mar 27, 2018
Kind
B2
Abstract

A silicon device configured to distribute a global timer value over a single serial bus to a plurality of processing elements that are disposed on the silicon device and that are coupled to the serial bus. Each of the processing elements comprises a slave timer. Upon receipt of the global timer value, the processing elements synchronize their respective slave timers with the global timer value. After the timers are synchronized, the global timer sends periodic increment signals to each of the processing elements. Upon receipt of the increment signals, the processing elements update their respective slave timers.

Claims (33)

1. A single silicon device that is configured in accordance with an Advanced RISC Machines™ (ARM) architecture, the silicon device comprising:

a global timer;

a serial bus coupled to the global timer; and

a plurality of processing elements coupled to the serial bus, each of the plurality of processing elements comprising a slave timer configured to synchronize the respective slave timer with a timer value from the global timer upon receipt of the timer value from the global timer over the serial bus; and

each of the plurality of processing elements also configured to update a timer value of each of their respective slave timers upon receipt of an update/increment signal over the serial bus.

2. The single silicon device of claim 1 , wherein the global timer comprises:

a memory in the global timer configured to store a copy of the timer value of the slave timers.

3. The single silicon device of claim 1 , wherein the global timer operates in a first clock domain and the slave timers operate in a second clock domain.

4. The single silicon device of claim 3 , further comprising:

first clock domain crossing circuitry configured to transform the timer value from the global timer from the first clock domain to the second clock domain.

5. A method performed in a single silicon device that is configured in accordance with an Advanced RISC Machines™ (ARM) architecture, the method comprising:

generating a global timer value;

transmitting the global timer value over a serial bus;

receiving, at a plurality of slave timers coupled to the serial bus, the global timer value;

synchronizing each respective slave timer with the received the global timer value upon receipt of the timer value from the global timer; and

updating a timer value of each of the slave timers upon receipt of an update/increment signal over the serial bus.

6. The method of claim 5 , further comprising:

maintaining a copy of the timer value of the slave timers in the global timer.

7. The method of claim 5 , further comprising:

transforming the global timer value from a first clock domain to a second clock domain.

8. A single silicon device that is configured in accordance with an Advanced RISC Machines™ (ARM) architecture, the silicon device comprising:

a global timer;

a serial bus coupled to the global timer;

a plurality of processing elements coupled to the serial bus, each of the plurality of processing elements comprising a slave timer configured to synchronize the respective slave timer with a timer value from the global timer upon receipt of the timer value from the global timer over the serial bus; and

each of the plurality of processing elements also configured to update a timer value of each of their respective slave timers upon receipt of an update/increment signal;

first clock domain crossing circuitry configured to transform the timer value from the global timer from a first clock domain to a second clock domain; and

a memory in the global timer configured to maintain a copy of the timer value of the slave timers.

9. A non-transient computer-readable memory comprising:

executable instructions that when executed by at least one processor of an electronic design automation system (or integrated circuit fabrication system), that when executed cause the at least one processor to:

provide a global timer;

provide a serial bus coupled to the global timer; and

provide a plurality of processing elements coupled to the serial bus, each of the plurality of processing elements comprising a slave timer configured to synchronize the respective slave timer with a timer value from the global timer upon receipt of the timer value from the global timer over the serial bus; and

each of the plurality of processing elements also configured to update a timer value of each of their respective slave timers upon receipt of an update/increment signal over the serial bus.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Dec 12, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 051260/0567 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: WORRELL, FRANK; CHIN, BRYAN WAI
To: CAVIUM, INC.
Reel/Frame 035430/0797 →