SYSTEMS AND METHODS FOR DESERIALIZING DATA
20170351634 ยท 2017-12-07
Inventors
Cpc classification
G06F5/06
PHYSICS
G06F13/4221
PHYSICS
G06F13/385
PHYSICS
International classification
Abstract
A digital communication interface includes a deserializer module, a gearbox module, and a parallel communication channel connecting the gearbox module to the deserializer module. The deserializer module has a fixed deserialization factor. The gearbox module has a temporal translation factor to change bit-length of words received through the parallel communication channel to bit-length suitable for a downstream data path.
Claims
1. A digital communication interface, comprising: a deserializer module with a fixed deserialization factor; and a gearbox module connected to the deserializer by a parallel communication channel, wherein the gearbox module has a temporal translation factor to change bit-length of words received through the parallel communication channel to a bit-length suitable for a downstream data path.
2. The digital communication interface as recited in claim 1, wherein the temporal translation factor is greater than the fixed deserialization factor.
3. The digital communication interface as recited in claim 1, wherein the temporal translation factor is equal to the fixed deserialization factor.
4. The digital communication interface as recited in claim 1, wherein the temporal translation factor is smaller than the fixed deserialization factor.
5. The digital communication interface as recited in claim 1, wherein the gearbox module further comprises an input finite state machine (FSM) module connected in series between the deserialization module and the memory block.
6. The digital communication interface as recited in claim 5, wherein the gearbox module further comprises a phase-locked loop (PLL) module connected to the input FSM module.
7. The digital communication interface as recited in claim 6, further comprising an input clock lead connected to the PLL module for writing data to the memory block according to an input clock signal provided to the PLL module.
8. The digital communication interface as recited in claim 1, wherein the gearbox module further comprises an output FSM module connected to the memory block.
9. The digital communication interface as recited in claim 8, wherein the gearbox module further comprises a PLL module connected to the output FSM module.
10. The digital communication interface as recited in claim 9, further comprising an output clock lead connecting the PLL module to the memory block for reading data out of the memory block according to a clock output signal generated by the PLL module.
11. The digital communication interface as recited in claim 8, wherein the gearbox module further comprises an output latches block connected to the memory block.
12. The digital communication interface as recited in claim 1, wherein the fixed deserialization factor is 10:1, wherein the temporal translation factor is selected from a group including 8:1, 10:1, and 14:1.
13. A field programmable gate array device including a digital communication interface as recited in claim 1.
14. A digital communication method, comprising: receiving serial data having a first word bit-length; deserializing the serial data into parallel data using a fixed deserialization factor, wherein the parallel data has a second word bit-length; and translating the parallel data into parallel data using a temporal translation factor, wherein the translated parallel data has a third word bit-length that is equivalent to the second word bit-length.
15. The digital communication method as recited in claim 14, wherein the third word bit-length is smaller than the second word bit-length.
16. The digital communication method as recited in claim 14, wherein the third word bit-length is equivalent to the second word bit-length.
17. The digital communication method as recited in claim 14, wherein the third word bit-length is greater than the second word bit-length.
18. The digital communication method as recited in claim 14, further comprising setting the fixed deserialization factor by applying power to a field programmable gate array device.
19. The digital communication method as recited in claim 14, further comprising setting the temporal translation factor while power is applied to a field programmable gate array device.
20. The digital communication method as recited in claim 14, further comprising changing the temporal translation factor by changing an output word bit-size setting.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] So that those skilled in the art to which the subject disclosure appertains will readily understand how to make and use the devices and methods of the subject disclosure without undue experimentation, embodiments thereof will be described in detail herein below with reference to certain figures, wherein:
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] Reference will now be made to the drawings wherein like reference numerals identify similar structural features or aspects of the subject disclosure. For purposes of explanation and illustration, and not limitation, a partial view of an exemplary embodiment of a digital communication interface in accordance with the disclosure is shown in
[0018] Referring to
[0019] Input parallel data channel 108 applies parallel data B having second word bit-length to gearbox module 104. Gearbox module 104 has a temporal, e.g., programmed, translation factor 114, as further described below, for translating parallel data B received over input parallel data channel 108 into parallel data C having a third word bit-length, which gearbox module 104 applies to output parallel data channel 110. Output parallel data channel 110 connects gearbox module 104 with a downstream data path 116 for which third word bit-length of the translated parallel data is suitable, such as one or more imaging processing devices (not shown for reasons of clarity). Gearbox module 104 reconstitutes words arriving on input parallel channel 108 into words having the same word bit-length as data received on input serial channel 106.
[0020] In the illustrated exemplary embodiment deserialization module 102, gearbox module 104, and one or more of the input serial data channel 106, input parallel data channel 108, and output parallel data channel 110 are implemented as circuitry, software, or a combination of circuitry and software in a field-programmable gate array device (FPGA) 118, thereby providing configurability. Fixed deserialization factor 112 and temporal translation factor 114 are resident within program modules stored memory of FPGA 118. Fixed deserialization factor 112 is not readily accessible for reconfiguration after initial configuration of FPGA 118. Temporal translation factor 114 is accessible for reconfiguration and may be resident in volatile memory of FPGA 118.
[0021] In certain embodiments parallel data B has a word bit-length that is incompatible with downstream data path 116 while parallel data C has a word bit-length that is different than that of parallel data B, and is compatible with downstream data path 116. It is contemplated that parallel data C can have a word bit-length that is less-than, equal-to, or greater-than the word bit-length of parallel data B. For example, with a first exemplary temporal translation factor, parallel data B includes 10-bit words transmitted at a rate of 50 megahertz, and parallel data C include the data translated into 14-bit words transmitted at a rate of 35.71 megahertz. With a second exemplary temporal translation factor, parallel data C include the data translated into 8-bit words transmitted at a rate of 62.5 megahertz. With yet another temporal translation factor, parallel data C include the data translated into 10-bit words transmitted at a rate of 50 megahertz. As will be appreciated by those of skill in the art in view of the present disclosure, this provides the flexibility to reconfigure digital communication interface 100 according to change in input data received by digital communication interface 100.
[0022] With reference to
[0023] A first parallel data lead 144 is connected to input FSM module 120 for receiving an input data flow I. A second parallel data lead 146 connects input FSM module 120 with memory block 124 such that input FSM module 120 can clock input data flow I into memory block 124 as a data flow II. In this respect input FSM module 120 is synchronized input clock increment signal t.sub.1 such that bits of input data flow I are clocked onto memory block 124 as bits of data flow II through a second parallel data lead 146 in a round-robin fashion using input FSM pointer 122. In clocking the bits of data flow I into memory block 124, input FSM pointer 122 begins at a memory block bit-0, increments by the bit-length of words forming input data flow I, and resets to memory block bit-0 when the range of memory block 124 is exceeded.
[0024] A third parallel data lead 148 connects output FSM module 126 to memory block 124 for reading data out of memory block 124. Output FSM module 126 reads data out of memory block 124 in a round-robin fashion controlled by output FSM pointer 128, beginning at memory block bit-0 and incremented by an output bit-length signal B at each increment of output clock increment signal t.sub.2 as a data flow III. It is contemplated input clock increment signal t.sub.1 have a different increment interval (e.g., frequency) than output clock increment signal t.sub.2, output FSM module 126 thereby reading data output of memory block 124 on a different interval than that at which input FSM module 120 clocks data into memory block 124 with data flow III having a bit rate that is equivalent to that of data flow II. Output FSM pointer 128 resets to memory block bit-0 when the range of memory block 124 is exceeded. Data flow III is provided by output FSM module 126 to output latches module 136 over a parallel data lead 150. Output latches module 136 in turn provide output parallel data C to downstream data flow 116 (shown in
[0025] PLL module 134 controls that timing of read events to memory block 124 relative to write events to memory block 124. In this respect PLL module receives input clock signal t.sub.1 and output word bit-length signal W, and generates output clock signal t.sub.2 therefrom by scaling input clock increment signal t.sub.1 according to a ratio of the word bit-length of input parallel data A and word bit-length of output parallel data C. The ratio output clock increment frequency, i.e. t.sub.2, to input clock increment frequency, i.e. t.sub.1, guarantees that data is read out of memory block 124 at exactly the same rate, i.e. bits per second (bps), that data is written to memory block 124.
[0026] With reference to
[0027] Referring to
[0028] Referring to
[0029] With reference to
[0030] Method 200 also includes translating the parallel data into parallel data having a third word bit-length using a gearbox module, e.g., gearbox module 104 (shown in
[0031] High-speed serial communication needs to be deserialized when getting read into an FPGA. Some FPGA devices limit the number of bits that can be deserialized into a parallel data word, which can make it difficult to clock in words having certain bit-lengths. For example, some FPGA devices cannot deserialize to odd numbers of bits or to numbers of bits above ten, which makes it impossible to deserialize, for example, 14-bit words using such FPGA devices.
[0032] In embodiments described herein a gearbox is used to translate deserialized, parallel data of one word bit-length into another word bit-length. In certain embodiments, at the expense of one phase-locked-loop output, the gearbox allows an FPGA device to deserialize input data with any deserialization factor, and then translate the resultant words into any other deserialization factor. The translation retains the total bandwidth (i.e. bits-per-second) while reshaping the deserialized, parallel data into words of bit-length suitably sized for downstream parallel data processing devices. For example, serial data having word bit-lengths of 10-bits can be received at 50 megahertz, deserialized, and translated into parallel data having word bit-lengths of 14-bits at a rate of 35.71 megahertz. This allows having an incompatible format for certain families of FPGA devices without purposefully adding extra padded bits to serialized data to make serial transmission compatible with certain types of devices. Moreover, as the gearbox allows for translation between any serialization factor arbitrarily, there is no need to add extra bits, and words are transmitted without padding (i.e. with read data only).
[0033] The methods and systems of the present disclosure, as described above and shown in the drawings, provide for digital communication interfaces with superior properties including one or more of the capability to convert a deserialization factor that is not natively supported by certain types of FPGA devices, allow for on-the-fly switching between deserialization factors, and/or deserialize input data having different word sizes using a common FPGA devices which is incompatible with one or more of the input data word bit-lengths. While the apparatus and methods of the subject disclosure have been shown and described with reference to preferred embodiments, those skilled in the art will readily appreciate that changes and/or modifications may be made thereto without departing from the scope of the subject disclosure.