The present disclosure relates to integrated circuit devices (ICs). More particularly, the following description relates to a receiver architecture for low loss links.
High speed digital ICs are used in Serializer/Deserializer (SerDes) systems. Today's high-speed SerDes systems require use of equalizers to ensure signal integrity in the system. In these systems, a lossy channel exists between a transmitter circuit and the receiver circuit, and at high data rates, the received data stream is severely distorted and requires reconstruction (e.g., equalization) before use. During transmission of bit streams into and out of a channel, rapidly alternating zeros and ones of the signal do not reach their full steady state values at the receiver due a lossy characteristic of the channel. This causes an output data stream that is much more distorted than the input data. As a result, the data needs to be reconstructed or equalized for the received data to become usable.
Analog-to-Digital Converters (ADC)-based high speed serial link receivers offer an opportunity for applying advanced signal equalization techniques via digital signal processing (DSP) and, therefore, enable reliable communications at high data rates via lossy channels. Pulse-amplitude-modulation with four amplitude levels (“PAM-4”) signal schemes are suitable for data rate beyond 56 Gbps as most backplane channels have excessive loss at 28 GHz. A PAM-4 signal is a form of signal modulation where the message information is encoded in the amplitude of a series of signal pulses. In some cases, ADC-based PAM4 receivers may be well suited for 50+ Gbps serial data communication for various systems, from short reach (e.g., die-to-die) application to long reach application (e.g., through backplanes).
In some cases, to reduce quantization noise and to improve serial link bit-error rate (BER), baud-rate ADC requires a certain resolution (number of bits). Currently, all available SerDes ADCs use a fixed resolution (fixed number of bits). For example, a 6-bit to 8-bit resolution may be used to handle long reach channels.
In certain application, the resolution of an ADC may be made higher. However, higher resolution of ADC comes with a heavy power efficiency penalty in that the ADC itself as well as its DSP will need to consume significantly more power. This may not be justified when the receiver is used in the short reach or medium reach applications when the finite impulse response and analog equalizer therein alone are sufficient to recover the data eye.
A receiver includes: an automatic gain controller (AGC) configured to receive an analog signal; an analog-to-digital converter (ADC) configured to receive an output from the AGC and to output a digitized signal, wherein a most significant bit of the digitized signal corresponds to a sliced data, and a least significant bit of the digitized signal corresponds to an error signal; and an adaptation unit configured to control the AGC, the ADC, or both the AGC and the ADC, based at least in part on the digitized signal to achieve a desired data digitization and data slicing.
Optionally, the ADC is configured to perform an analog-to-digital conversion function and a slicer function.
Optionally, the digitized signal comprises information corresponding to a mapping function.
Optionally, an operation between the ADC and the adaptation unit does not require a digital signal processor (DSP).
Optionally, the ADC comprises an adaptation logic table.
Optionally, the receiver further includes a digital signal processor (DSP) coupled to the ADC 106, wherein the DSP is configured to be switched on when the receiver is performing processing for long reach application, and is configured to be switched off when the receiver is performing processing for short reach application.
Optionally, the adaptation unit comprises a AGC adaptation table configured to provide values for determining an AGC control signal to control the AGC.
Optionally, the receiver further includes a continuous time linear equalizer (CTLE) configured to provide the analog signal, wherein the adaptation unit comprises a CTLE adaptation table configured to provide values for determining a CTLE control signal to control the CTLE.
Optionally, the adaptation unit is configured to provide a Vref signal for controlling the ADC; wherein the adaptation unit is configured to reduce the Vref signal if a recovered data associated with a AGC code is at a maximum value and an AGC vote is increasing; and wherein the adaptation unit is configured to increase the Vref signal if the recovered data associated with the AGC code is at a minimum value and the AGC vote is decreasing.
Optionally, the receiver further includes a continuous time linear equalizer (CTLE) configured to provide the analog signal, wherein the adaptation unit is configured to adjust a parameter of the CTLE based at least in part on the error signal.
Optionally, the adaptation unit is configured for adjusting a parameter of the AGC based at least in part on the error signal.
Optionally, the input signal is a PAM-N signal, the ADC comprises a X-bit ADC, and wherein X is equal to log 2(2*N).
Optionally, the input signal is a PAM-2 signal or a PAM-4 signal.
Optionally, the receiver is a part of, or is configured to operate with, a short-reach system.
Optionally, the receiver further includes a continuous time linear equalizer (CTLE) configured to provide the analog signal.
A method performed by a receiver includes: providing an output by an automatic gain controller (AGC) based on an analog signal; providing a digitized signal by an analog-to-digital converter (ADC) based on the output from the AGC, wherein a most significant bit of the digitized signal corresponds to a sliced data and a least significant bit of the digitized signal corresponds to an error signal; and controlling the AGC, the ADC, or both the AGC and the ADC, based at least in part on the digitized signal to achieve a desired data digitization and data slicing, wherein the act of controlling is performed by an adaptation unit.
Optionally, the method further includes performing a slicer function by the ADC
Optionally, the method further includes providing a Vref signal by the adaptation unit for controlling the ADC; wherein the act of providing the Vref signal comprises reducing the Vref signal if a recovered data associated with a AGC code is at a maximum value and an AGC vote is increasing, or increasing the Vref signal if the recovered data associated with the AGC code is at a minimum value and the AGC vote is decreasing.
Optionally, the analog signal is provided by a continuous time linear equalizer (CTLE), and wherein the method further comprises: using an AGC adaptation table to determine an AGC control signal to control the AGC; and/or using a CTLE adaptation table to determine a CTLE control signal to control the CTLE.
Optionally, the digitized signal comprises information corresponding to a mapping function.
Other features, advantageous, and/or embodiments will be described in the detailed description.
Various examples are described hereinafter with reference to the figures. It should be noted that the figures are only intended to facilitate the description of the exemplary structures and methods. They are not intended as an exhaustive description of the claimed invention, or as a limitation on the scope of the claimed invention. In addition, an illustrated example needs not have all the aspects or advantages shown. An aspect or an advantage described in conjunction with a particular example is not necessarily limited to that example, and can be practiced in any other examples even if not so illustrated, or if not so explicitly described.
A new receiver is described herein. The receiver allows for ADC-based SerDes receiver to cut down power significantly while allowing for short reach to medium reach applications. In contrast, analog-based SerDes receiver would still need 16-28 high speed slicers regardless of the channel loss and, therefore, its power cannot be dramatically scaled down for short reach applications or medium reach applications.
In one embodiment described herein, the receiver uses a lower resolution analog-to-digital converter (ADC) without a digital signal processor to significantly improve the receiver's power efficiency. Also, in the receiver described herein, the analog-to-digital function is merged directly with data recovery and error signal generation in the ADC. Such may be employed for PAM-4 signaling so that the number of bits output by the ADC can be reduced to 3. This obviates the need to use a digital signal processor (DSP) in the receiver to achieve a desired data equalization and data slicing. In addition, the receiver describe herein allows adaptation of equalization loops for continuous time linear equalization and automatic gain control. The algorithms of the equalization loops determine how much analog gain and analog equalization to adjust in the next round before the ADC processes the samples again. This process is performed without using a DSP, resulting in saving a tremendous amount of power compared to systems that use DSPs in receivers.
In accordance with some embodiments, the ADC is a decision-making ADC in the sense that it combines the analog-to-digital conversion function with a slicer function.
The receiver described herein may be applied to many applications, such as communication from die to die, communication from optical link, or optical conversion, because the loss is very small in these situations. Furthermore, the receiver may be applied to support different types of protocols based on how many bits are needed at the ADC. In some cases, the receiver described herein may be configured to support PAM-4 signaling so that a number of bits needed for operation of the ADC can be reduced to 3. In other embodiments, the receiver may support any PAM-M signaling systems, including the case of M=2 (which is the Non-return-to-zero (NRZ) signaling system).
The CTLE 102 is configured to pre-filter or pre-equalize an input signal 101 to provide an analog signal. In some cases, the CTLE 102 is configured to equalize the combined characteristics of the transmitter and channel, and to remove the intersymbol interference (ISI) at the received signal sampling points. Also, in some embodiments, the CTLE 102 may be a linear filter configured to attenuate low-frequency signal components, amplify components around the Nyquist frequency, and filter off higher frequencies. CTLE gain can be adjusted to optimize the ratio of low frequency attenuation to high frequency amplification.
The AGC 104 is configured to amplify the analog signal from the CTLE 102 to provide an amplified signal. In the illustrated embodiments, the AGC 104 is configured to vary a gain automatically without any user manipulation, thereby controlling a magnitude of the signal. The AGC 104 is used to fit a signal amplitude to an ADC's dynamic range. In some embodiments, the AGC may initially establish an analog gain signal to a maximum gain value at “wake up” (e.g., initiation of gain control) to reach a desired sensitivity level. If the analog gain is not at a maximum level when the ADC 106 is trying to detect the presence of a signal, it is possible that some of the received signals may be missed because the signals may be a short burst of data. Therefore, it is important to wake up at maximum gain, as opposed to initiating the gain control from a medium level of gain. An AGC algorithm may rely upon the power levels of the signal of interest and the signal-to-noise ratio of this signal.
The ADC 106 is configured for converting the analog signal from the AGC 104 to digital samples. In the illustrated embodiment, the ADC 106 is configured to convert the analog (continuously variable) signal into digital (multi-level) signals without altering their essential content. In some cases, the analog information is transmitted by modulating a continuous transmission signal and by amplifying the strength of the signal in order to add or subtract data. The inputs to the ADC 106 may include a voltage that can vary among a theoretically infinite number of values. However, the output of the ADC 106 has defined levels or states. The simplest digitized signal has only two states (e.g., binary). Digitized signals are transmitted in a more efficient way than analog signals because well-defined digital impulses are easier for a circuit to distinguish than noise.
In the illustrated embodiments, the ADC 106 is configured to provide a digitized signal having information on recovered data 111 and error signal 109. Although the recovered data 111 and the error signal 109 are illustrated as two outputs in the figure, in some embodiments, the recovered data 111 and the error signal 109 may be combined into a single output. Also, in the illustrated embodiments, the digitized signal from the ADC 106 may be an ADC code generated based on a signal generation scheme in which the recovered data and the error signal are combined to form parts of the ADC code. For example, the ADC code in the digitized signal output by the ADC 106 may include multiple bits, wherein one or more bits in the ADC code are associated with the recovered data, and one or more other bits in the ADC code are associated with the error signal.
The adaptation unit 110 is coupled to the CTLE 102, the AGC 104, and the ADC 106. The adaptation unit 110 is configured to provide a CTLE control signal 103 to control the CTLE 102, an AGC control signal 105 to control the AGC 104, a voltage reference Vref control signal 107 to control the ADC 106, or a combination of two or more of the foregoing, based on the digitized signal from the ADC 106. In some embodiments, the adaptation unit 110 is configured to provide Vref control signal to control the ADC 106 when the signal being processed is out of range. Because the digitized signal includes ADC code that combines or represents recovered data and error signal, the adaptation unit 110 is configured to determine the recovered data and error signal based on a mapping scheme (e.g., mapping table), and use the recovered data and error signal to determine the CTLE control signal 103 and/or the AGC control signal 105 for controlling the CTLE 102 and/or the AGC 104, respectively.
In the above embodiments, the receiver 100 is described as having a 3-bit ADC architecture. In other embodiments, the ADC in the receiver 100 may have other numbers of bit architecture. For example, in other embodiments, a 2-bit ADC architecture may be used.
In some embodiments, the receiver 100 may optionally further include an analog equalizer for providing an analog equalization function. In some cases, the analog equalizer may be configured to provide such analog equalization adaptively.
Thus, in comparing the receiver 200 with the receiver 100 of
The receiver 100 is also advantageous because it may reduce processing complexity and level of interaction among its components, thereby increasing robustness of receiver 100. Also, the receiver 100 may support high-speed data rates, such as 40 Gbits/s or more. Accordingly, the receiver 100 may be used for high-speed serial links, including in more challenging SerDes channel applications than conventional analog-based receivers.
In addition, the receiver 100 is advantageous because it has applications for both long channels (e.g., 20-30 dB+ channels) and short channels. High-speed digitization and high-speed equalization consume a lot of power. There is a balance and tradeoff between how much equalization to use and how many bits of ADC is needed in the receiver 100. For high loss channels, more ADC bits may be desired to reduce the quantization noise because every instance of quantization will create noise. For short-reach application (short channels), the system may use less bits which results in power saving for the ADC 106. Also, in short-reach application, there is a lot less interference involved than the long reach applications. This results in less data processing so the receiver 100 can identify what the bit is based on techniques described herein without using any DSP. For long reach application, the ADC 106 can be reconfigured back to a high resolution ADC. In some embodiments, the receiver 100 may optionally further include a DSP coupled to the ADC 106, wherein the DSP may be switched on or off. The DSP may be switched on when the receiver 100 is performing processing for long reach application, and switched off when the receiver 100 is performing processing for short reach application. Therefore, the flexible architecture configuration could support long reach application while reducing power significantly for short reach application.
It should be noted that a “reach” of a channel is tied to certain channel (transmission media) loss, and may imply the length of the transmission media, such as backplane, PCB trace, copper cable, etc. In some cases, as used in this specification, the term “long” reach, or any of similar terms (e.g., “long” application) may refer to a channel that has a channel loss, such as an insertion channel loss, of more than 20 dB. Also, as used in this specification, the term “short” reach, or any of similar terms (e.g., “short” application) may refer to a channel that has a loss, such as an insertion channel loss, that is less than that for “long” reach/application, such as less than 15 dB. A channel “loss” (in dB) is a function of frequency because the loss amount is different at different frequencies. In some embodiments, a channel “loss” may refer to the loss at Nyquist frequency, which may be calculated as f Nyquist (in Hz)=DR/(2*log 2(N)) for a PAM-N signal, wherein DR is data rate (in bits/second). In other cases, regardless of the amount of channel loss, a “long” reach or any of similar terms may refer to a channel that is associated with two connectors, e.g., such as those for backplane, midplane, or cable applications. Similarly, in other cases, regardless of the amount of channel loss, a “short” reach or any of similar terms may refer to a channel that is associated with no connectors (e.g., channel for chip-to-chip) or one connector (chip-to-module).
Also, in order to reduce quantization noise and improve serial link bit-error rate (BER), ADC may require a certain resolution (e.g., number of bits). For example, an ADC may use a 6-bit to 8-bit resolution to handle long reach channels. However, the higher resolution of ADC suffers from a heavy power efficiency in both the ADC itself as well as in DSP. This heavy power consumption is not justified when the receiver is used in the short-reach to medium-reach systems when the FIR and analog equalizer alone are sufficient to recover the data eye. The receiver 100 describe herein is advantageous because it uses a lowest resolution for the ADC 106 with low bit architecture, and does not requires use of a DSP.
Also, in one or more embodiments, the ADC 106 in the receiver 100 may be a programmable ADC 106. In such cases, the ADC 106 may be programmed to achieve further power reduction.
As discussed, the ADC 106 is configured to provide a digitized signal having information on recovered data 111 and error signal 109. In some embodiments, the digitized signal output from the ADC 106 includes ADC codes with bit values that represent recovered data and error signal.
In
It should be noted that as used in this specification, the term “most significant bit” refers to any bit or value representing or associating with at least a part of a data being recovered, and is not necessarily limited to any bit or value having any particular level of importance or significance. Similarly, the term “least significant bit” refers to any bit or value representing or associating with at least a part of an error signal, and is not necessarily limited to any bit or value having any particular level of importance or significance.
It should be noted that, the ADC's 106 full scale range works the best when the full-scale range merges with signal amplitude. If an ADC full scale range is larger than the signal amplitude, then the resulting data would not match, and clipping of signal data may happen. In some embodiments, the AGC 104 and the ADC 106 may be controlled such that the ADC full-scale range 303 covers an entire eye.
In some embodiments, the receiver 100 can use the exact ADC bit number to directly recover data without wasting the number of bits, based on how many levels are in the sampling phase. As shown in
In other embodiments, other types of signals may have other levels of signaling, and other numbers of bit architecture for the ADC 106 may be used. The number X of ADC bits that may be used for a PAM-N signaling may be calculated based on the equation: X=log 2(2*N), where N is the PAM-N. For example, for PAM-2 (non-return-to-zero or “NRZ”), the number X of ADC bits for the ADC 106 may be calculated as log 2(2*2), which is 2. As such, PAM-2 signal involves a 2-bit protocol, and a 2-bit ADC may be used for the ADC 106. In another example, for PAM-4, the number X of ADC bits is log 2(2*4), which is equal to 3.
As discussed, each ADC code has a corresponding recovered data value and an error signal value. Thus, in some embodiments, the ADC code can be used to represent or determine (e.g., derive) both a recovered data and the error signal based on the mapping table 400. As shown in first two rows in the mapping table 400 of
As shown in third and fourth rows in the mapping table 400 of
As shown in fifth and sixth rows in the mapping table 400 of
As shown in seventh and eighth rows in the mapping table 400 of
In the above example, four numerical values 3, 1, −1, 3 are used to represent recovered data. In other embodiments, other set of numerical values (e.g., 0, 1, 2, 3) may be used to represent the recovered data. In further embodiments, non-numerical values (which may be converted into numerical values) may be used to represent recovered data.
In some embodiments, the mapping table 400 may be implemented at the adaptation unit 110 for allowing the adaptation unit 110 to determine the recovered data and the error signal based on the ADC code. In particular, the adaptation unit 110 is configured to receive the digitized signal from the ADC 106, and determine the recovered data and the error signal using the mapping table 400 based on the ADC code in the digitized signal.
As discussed, the adaptation unit 110 is also configured to control the CTLE 102, the AGC 104, the ADC 106, or two or more of any of the foregoing. In some embodiments, the controlling of these components by the adaptation unit 110 may be performed based on the recovered data and the error signal determined based on the corresponding ADC code in the digitized signal.
In some embodiments, the AGC adaptation table 501 and the CTLE adaptation table 503 may be implemented in the adaptation unit 110. During use, the adaptation unit 110 uses the CTLE adaptation table to generate a CTLE control signal for controlling the CTLE 102. Also, the adaptation unit 110 uses the AGC adaptation table 501 to generate an AGC control signal 105 for controlling the AGC 104.
The above example of the AGC adaptation table 501 and the CTLE adaptation table 503 correspond with the PAM-4 signal scheme described in the example. In other embodiments, the AGC adaptation table 501 and the CTLE adaptation table 503 may be configured for other signaling schemes.
In some embodiments, the adaptation unit 110 is configured to use both of the adaptation tables 501, 503 together to control the CTLE 102 and the AGC 104, so that the receiver 101 can adapt to control how much gain (as controlled by the AGC control signal 105) is needed and how much analog equalization (as controlled by the CTLE control signal 103) is needed. Accordingly, based on the recovered data and error signal output from the ADC 106, the receiver 100 can adjust the parameters of the CTLE 102 and the AGC 104 (via the CTLE control signal 103 and the AGC control signal 105 output from the adaptation unit 110) to work optimally the next time around. Thus, the recovered data and error signal determined based on the table 400 in
Next, a digitized signal is provided by an analog-to-digital converter (ADC) based on the output from the AGC, wherein a most significant bit of the digitized signal corresponds to a sliced data and a least significant bit of the digitized signal corresponds to an error signal (item 606). In some embodiments, the ADC performing item 606 may be a 3-bit ADC. In other embodiments, the ADC performing item 606 may have other numbers of bit architecture. Also, in some embodiments, the digitized signal from the ADC may be a differential pair of signals (e.g., recovered data and data error). In one implementation, when performing item 606, the ADC receives an amplified analog signal and converts it to digital samples by serializing the data. The digitized signal is then created by combining the digital samples with error signal. For example, a mapping table that maps ADC codes with recovered data and error signal may be used to generate the ADC codes that are output as digitized signal from the ADC.
Next, an adaptation unit controls the AGC, the ADC, or both the AGC and the ADC, based at least in part on the digitized signal to achieve a desired data digitization and data slicing (item 608). In some embodiments, the adaptation unit receives the digitized signal directly from the ADC. In other embodiments, the adaptation unit receives the digitized signal indirectly from the ADC through an intermediary component that is not a DSP.
In some embodiments, in the method 600, an operation between the ADC and the adaptation unit does not require a DSP.
Also, in some embodiments, the method 600 may further include providing a Vref signal by the adaptation unit for controlling the ADC. In one implementation, the act of providing the Vref signal includes reducing the Vref signal if a recovered data associated with an AGC code is at a maximum value and an AGC vote is increasing, or increasing the Vref signal if the recovered data associated with the AGC code is at a minimum value and the AGC vote is decreasing. This allows the signal to be adjusted appropriately before the ADC processes the signal again in the next round.
Also, in some embodiments, the adaptation unit performing item 608 may comprise a AGC adaptation table and/or a CTLE adaptation table. The AGC adaptation table is configured to provide values based on recovered data and error signal to configure an AGC control signal for controlling the AGC. Similarly, the CTLE adaptation table is configured to provide values based on recovered data and error signal to configure a CTLE.
In one or more embodiments descried herein, soft logic and/or field-programmable gate array (FPGA) elements may be used to build or implement any portion of the receiver 100. In other embodiments, any or the entire portion of the receiver 100 may be implemented via an FPGA, or any of other types of processor.
Where the method 600 described above indicate certain events occurring in certain order, those of ordinary skill in the art having the benefit of this disclosure would recognize that the ordering may be different in different embodiments. Additionally, parts of the methods may be performed concurrently in a parallel process when possible, or sequentially. In addition, more parts or less part of the method 600 may be performed.
In some ICs, each programmable tile includes a programmable interconnect element (INT) 911 having standardized connections to and from a corresponding INT 911 in each adjacent tile. Therefore, INTs 911, taken together, implement the programmable interconnect structure for the illustrated IC. Each INT 911 also includes the connections to and from the programmable logic element within the same tile, as shown by the examples included at the top of
For example, a CLB 902 can include a configurable logic element (CLE) 912 that can be programmed to implement user logic plus a single INT 911. A BRAM 903 can include a BRAM logic element (BRL) 913 in addition to one or more INTs 911. Typically, the number of INTs 911 included in a tile depends on the height of the tile. As pictured, a BRAM tile has the same height as five CLBs, but other numbers (e.g., four) also can be used. A DSP tile 906 can include a DSP logic element (DSPL) 914 in addition to an appropriate number of INTs 911. An 10B 904 can include, for example, two instances of an I/O logic element (IOL) 915 in addition to one instance of an INT 911. As will be clear to those of skill in the art, the actual I/O pads connected, for example, to IOL 915 typically are not confined to the area of IOL 915.
In the example pictured in
Some ICs utilizing the architecture illustrated in
In one aspect, PROC 910 is implemented as a dedicated circuitry, e.g., as a hard-wired processor, that is fabricated as part of the die that implements the programmable circuitry of the IC. PROC 910 can represent any of a variety of different processor types and/or systems ranging in complexity from an individual processor, e.g., a single core capable of executing program code, to an entire processor system having one or more cores, modules, co-processors, interfaces, or the like.
In another aspect, PROC 910 is omitted from architecture 900 and replaced with one or more of the other varieties of the programmable blocks described. Further, such blocks can be utilized to form a “soft processor” in that the various blocks of programmable circuitry can be used to form a processor that can execute program code as is the case with PROC 910.
The phrase “programmable circuitry” can refer to programmable circuit elements within an IC, e.g., the various programmable or configurable circuit blocks or tiles described herein, as well as the interconnect circuitry that selectively couples the various circuit blocks, tiles, and/or elements according to configuration data that is loaded into the IC. For example, portions shown in
In general, the functionality and connectivity of programmable circuitry are not established until configuration data is loaded into the IC. A set of configuration bits can be used to program programmable circuitry of an IC such as an FPGA. The configuration bit(s) typically is referred to as a “configuration bitstream.” In general, programmable circuitry is not operational or functional without first loading a configuration bitstream into the IC. The configuration bitstream effectively implements or instantiates a particular circuit design within the programmable circuitry. The circuit design specifies, for example, functional aspects of the programmable circuit blocks and physical connectivity among the various programmable circuit blocks.
Circuitry that is “hardwired” or “hardened,” i.e., not programmable, is manufactured as part of the IC. Unlike programmable circuitry, hardwired circuitry or circuit blocks are not implemented after the manufacture of the IC through the loading of a configuration bitstream. Hardwired circuitry is generally considered to have dedicated circuit blocks and interconnects, for example, that are functional without first loading a configuration bitstream into the IC, e.g., PROC 910.
In some instances, hardwired circuitry can have one or more operational modes that can be set or selected according to register settings or values stored in one or more memory elements within the IC. The operational modes can be set, for example, through the loading of a configuration bitstream into the IC. Despite this ability, hardwired circuitry is not considered programmable circuitry as the hardwired circuitry is operable and has a particular function when manufactured as part of the IC.
In other cases, the various features described herein may be implemented in any integrated circuit, such as a general purpose processor, a microprocessor, an ASIC, or any other types of processors, which may or may not be a FPGA.
Although particular examples have been shown and described, it will be understood that it is not intended to limit the claimed inventions to the preferred examples, and it will be obvious to those skilled in the art that various changes and modifications may be made without exceeding the scope of the claimed invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense. The claimed inventions are intended to cover alternatives, modifications, and equivalents.