US10877509B2ActiveUtilityA1

Communicating signals between divided and undivided clock domains

64
Assignee: INTEL CORPPriority: Dec 12, 2016Filed: Dec 12, 2016Granted: Dec 29, 2020
Est. expiryDec 12, 2036(~10.4 yrs left)· nominal 20-yr term from priority
G06F 13/4295Y02D10/00G06F 1/12G06F 5/14G06F 2205/126G06F 5/10G06F 1/08
64
PatentIndex Score
1
Cited by
10
References
15
Claims

Abstract

A processor includes a plurality of processing cores; a frequency divider; and a synchronous first in first out (FIFO) buffer. The frequency divider frequency divides a first clock signal that is associated with a first clock domain to provide a second clock signal that is associated with a second clock domain. The synchronous FIFO buffer has a write port that is associated with the first clock domain and a read port that is associated with the second clock domain. The synchronous FIFO communicates the data between the first and second clock domains.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A processor comprising:
 a plurality of processing cores, wherein a first processing core of the plurality of processing cores provides data; 
 a frequency divider to frequency divide a first clock signal associated with a first clock domain to provide a second clock signal associated with a second clock domain; 
 a bus; and 
 a synchronous first in first out (FIFO) buffer having a write pointer, a write port associated with the first clock domain, and a read port associated with the second clock domain to communicate the data between the first and second clock domains, wherein the synchronous FIFO buffer is to:
 apply value change compression to remove duplicate data values from the data provided by the first processing core; and 
 control incrementing the write pointer to control the value change compression based at least in part on whether a status of connections of a plurality of sources of data to the bus changes. 
 
 
     
     
       2. The processor of  claim 1 , further comprising:
 a generator synchronous to the second clock domain, wherein the first processing core provides the data to the generator to cause the generator to provide data for the processor; and 
 another synchronous FIFO buffer to communicate the data provided by the generator from the second clock domain to the first clock domain. 
 
     
     
       3. The processor of  claim 1 , wherein the synchronous FIFO buffer is to further control incrementing the write pointer to control the value change compression based at least in part on whether time successive values provided by the plurality of processing cores are duplicates. 
     
     
       4. The processor of  claim 1 , further comprising:
 a generator synchronous to the second clock domain, wherein at least one processing core of the plurality of processing cores is associated with a source of the plurality of sources of data to be processed by the generator. 
 
     
     
       5. The processor of  claim 1 , wherein:
 the data is associated with an availability signal; and 
 the synchronous FIFO buffer is to further control incrementing the write pointer to control the value change compression based at least in part on whether the data changes while the availability signal remains asserted. 
 
     
     
       6. The processor of  claim 1 , wherein the synchronous FIFO buffer comprises a recycling circuit to retain and provide a last valid data value for the synchronous FIFO buffer when the synchronous FIFO buffer is empty. 
     
     
       7. The processor of  claim 1 , further comprising:
 a digital random number generator synchronous to the second clock domain to provide a random value for a processing core of the plurality of processing cores. 
 
     
     
       8. A method comprising:
 in a processor, generating data associated with an undivided clock domain for processing by logic of the processor within a divided clock domain, wherein the processor is associated with a source of a plurality of sources of data, and the plurality of sources are coupled to an interconnect in a multiplexed fashion; and 
 communicating between the divided clock domain and the undivided clock domain, comprising using a synchronous first in first out (FIFO) buffer to regulate transfer of the data from the divided clock domain to the undivided clock domain, wherein the communicating comprises applying value change compression to remove duplicate data values from the data, and controlling incrementing a write pointer of the synchronous FIFO buffer to control the value change compression based at least in part on the multiplexing of the plurality of sources. 
 
     
     
       9. The method of  claim 8 , wherein:
 the communicating further comprises communicating the data over the interconnect using a data available signal; and 
 applying value change compression comprises discarding at least one duplicate value communicated over the interconnect while the data available signal remains active. 
 
     
     
       10. The method of  claim 8 , wherein the communicating further comprises holding a last valid data value for the FIFO in response to the FIFO being empty. 
     
     
       11. The method of  claim 8 , wherein the communicating further comprises communicating with a digital random number generator module of the processor. 
     
     
       12. A system comprising:
 an interconnect 
 at least one processing core to provide data, wherein the at least one processor core is associated with a source of a plurality of sources of data, and the plurality of sources are coupled to the interconnect in a multiplexed fashion; 
 a peripheral, wherein the processing core is associated with a first clock domain and the peripheral is associated with a second clock domain different from the first clock domain; and 
 at least one synchronous first in first out (FIFO) buffer coupled to the peripheral and the interconnect to communicate the data between the first and second clock domains, wherein the at least one synchronous FIFO buffer is to apply value change compression to remove duplicate data values from the data provided by the at least one processing core, and control incrementing a write pointer to control the value change compression based at least in part on the multiplexing of the plurality of sources. 
 
     
     
       13. The system of  claim 12 , wherein the peripheral comprises a digital random number generator to provide at least one random number in response to a request from at the least one processing core. 
     
     
       14. The system of  claim 12 ,
 wherein the at least one synchronous FIFO buffer further comprises:
 a first synchronous FIFO buffer to regulate communication of data from the interconnect to the peripheral; and 
 a second synchronous FIFO buffer to regulate communication of data from the peripheral to the interconnect. 
 
 
     
     
       15. The system of  claim 12 , wherein the at least one synchronous FIFO buffer is to further control incrementing the write pointer to control the value change compression based at least in part on whether time successive values provided by the at least one processor core are duplicates.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.