Multi-bit compute-in-memory (CIM) arrays employing bit cell circuits optimized for accuracy and power efficiency
11487507 · 2022-11-01
Assignee
Inventors
Cpc classification
Y02D10/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G11C7/1006
PHYSICS
G11C5/02
PHYSICS
G06G7/163
PHYSICS
International classification
Abstract
A bit cell circuit of a most-significant bit (MSB) of a multi-bit product generated in an array of bit cells in a compute-in-memory (CIM) array circuit is configured to receive a higher supply voltage than a supply voltage provided to a bit cell circuit of another bit cell corresponding to another bit of the multi-bit product. A bit cell circuit receiving a higher supply voltage increases a voltage difference between increments of an accumulated voltage, which can increase accuracy of an analog-to-digital converter determining a pop-count. A bit cell circuit of the MSB in the CIM array circuit receives the higher supply voltage to increase accuracy of the MSB which increases accuracy of the CIM array circuit output. A capacitance of a capacitor in the bit cell circuit of the MSB is smaller to avoid an increase in energy consumption due to the higher voltage.
Claims
1. A compute-in-memory (CIM) array circuit, comprising: a first array of bit cells configured to generate a first multi-bit product, the first array of bit cells comprising a first most-significant bit (MSB) bit cell corresponding to an MSB of the first multi-bit product and a first less-significant bit bit cell corresponding to a less-significant bit of the first multi-bit product than the MSB, each bit cell of the first array of bit cells comprising a bit cell circuit, wherein: each bit cell circuit comprises: a plurality of inputs each configured to receive a binary input signal; and a capacitor configured to be set to a voltage indicating a binary output; each bit cell circuit is configured to: store a bit of a weight array; and generate the binary output based on the plurality of inputs and the bit of the weight array; a bit cell circuit of the first MSB bit cell is configured to receive a first voltage that is higher than a second voltage received in a bit cell circuit of the first less-significant bit bit cell; and the first multi-bit product comprises the voltage indicating the binary output of each bit cell circuit in the first array of bit cells.
2. The CIM array circuit of claim 1, wherein a first transistor of a plurality of transistors in the bit cell circuit of the first MSB bit cell is configured to receive the first voltage and a second transistor of a plurality of transistors in the bit cell circuit of the first less-significant bit bit cell is configured to receive the second voltage.
3. The CIM array circuit of claim 2, wherein the first transistor comprises a thicker gate oxide than the second transistor.
4. The CIM array circuit of claim 2, wherein the first transistor comprises a longer gate length than the second transistor.
5. The CIM array circuit of claim 2, wherein each of the plurality of transistors in the bit cell circuit of the first less-significant bit bit cell is configured to receive the second voltage.
6. The CIM array circuit of claim 2, wherein the first transistor of the plurality of transistors in the bit cell circuit of the first MSB bit cell is a transistor in a static random access memory (RAM) (SRAM) circuit or in a switch configured to provide access to the SRAM circuit.
7. The CIM array circuit of claim 1, further comprising a second array of bit cells configured to generate a second multi-bit product comprising a second MSB and a second less-significant bit than the second MSB, wherein: a bit cell circuit of a second MSB bit cell corresponding to the second MSB of the second multi-bit product is configured to receive the first voltage; and a bit cell circuit of a second less-significant bit bit cell corresponding to the second less-significant bit of the second multi-bit product is configured to receive the second voltage.
8. The CIM array circuit of claim 7, wherein: the plurality of inputs of each bit cell circuit in the first array of bit cells is coupled to the binary input signal; a plurality of inputs of each bit cell circuit in the second array of bit cells is coupled to the binary input signal; and the first array of bit cells and the second array of bit cells are in a first row of the CIM array circuit.
9. The CIM array circuit of claim 7, wherein: the plurality of inputs of each bit cell circuit in the first array of bit cells is coupled to the binary input signal; a plurality of inputs of each bit cell circuit in the second array of bit cells is coupled to a second binary input signal; and a capacitor of the bit cell circuit of the first MSB bit cell and a capacitor of the bit cell circuit of the second MSB bit cell are coupled to a first read bit line.
10. The CIM array circuit of claim 1, wherein: a bit cell circuit of a first second most-significant bit (2.sup.nd MSB) bit cell corresponding to a 2.sup.nd MSB of the first multi-bit product is configured to receive the first voltage; and a first transistor of a plurality of transistors in the bit cell circuit of the first 2.sup.nd MSB bit cell is configured to receive the first voltage.
11. The CIM array circuit of claim 10, wherein a capacitance of a capacitor in the bit cell circuit of the first 2.sup.nd MSB bit cell is smaller than a capacitance of a capacitor in the bit cell circuit of the first less-significant bit bit cell.
12. The CIM array circuit of claim 1, wherein a capacitance of a capacitor in the bit cell circuit of the first MSB bit cell is smaller than a capacitance of a capacitor in the bit cell circuit of the first less-significant bit bit cell.
13. The CIM array circuit of claim 1, further comprising a second array of bit cells configured to generate a second multi-bit product comprising an MSB, a 2.sup.nd MSB, and a less-significant bit than the MSB and the 2.sup.nd MSB, wherein: a bit cell circuit of a second MSB bit cell corresponding to the MSB of the second multi-bit product is configured to receive the first voltage; a bit cell circuit of a second 2.sup.nd MSB bit cell corresponding to the 2.sup.nd MSB of the second multi-bit product is configured to receive the first voltage; and a bit cell circuit of a second less-significant bit bit cell corresponding to the less-significant bit of the second multi-bit product is configured to receive the second voltage.
14. The CIM array circuit of claim 1, wherein the first less-significant bit bit cell further comprises a least-significant bit (LSB) of the first multi-bit product.
15. The CIM array circuit of claim 1, wherein: the bit cell circuit of the first less-significant bit bit cell occupies at least a first area; the bit cell circuit of the first MSB bit cell occupies at least a second area; and the second area is larger than the first area.
16. The CIM array circuit of claim 1, wherein each bit cell circuit is configured to generate an exclusive NOT-OR (XNOR) of the binary input signal and the bit of the weight array.
17. The CIM array circuit of claim 1 comprising an integrated circuit (IC).
18. The CIM array circuit of claim 1, integrated into a device selected from the group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a global positioning system (GPS) device; a mobile phone; a cellular phone; a smart phone; a session initiation protocol (SIP) phone; a tablet; a phablet; a server; a computer; a portable computer; a mobile computing device; a wearable computing device; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player; an automobile; a vehicle component; avionics systems; a drone; and a multicopter.
19. A compute-in-memory (CIM) array circuit, comprising: an array of bit cells configured to generate a multi-bit product, each bit cell comprising a bit cell circuit, wherein: each bit cell circuit comprises: a plurality of inputs based on a binary input signal; and a capacitor configured to be set to a voltage indicating a binary output; each bit cell circuit is configured to: store a bit of a weight array; and generate the binary output based on the plurality of inputs and the bit of the weight array; and a capacitance of a capacitor in a first bit cell circuit is smaller than a capacitance of a capacitor in another bit cell circuit.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DETAILED DESCRIPTION
(19) With reference now to the drawing figures, several exemplary aspects of the present disclosure are described. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
(20) Aspects disclosed herein include multi-bit compute-in-memory (CIM) arrays employing bit cell circuits optimized for accuracy and power efficiency. Multi-bit products of input bits and digital weight data are summed bitwise by accumulating voltages from bit cells in a same bit position of all the products. An accumulated voltage for each bit position is converted to a digital pop-count by an analog-to-digital converter (ADC). The pop-count in a most-significant bit (MSB) is most significant to the accuracy of the sum, like the left-most digit in a decimal number. In an exemplary aspect, a bit cell circuit of a MSB of a multi-bit product generated in an array of bit cells in a CIM array circuit is configured to receive a higher supply voltage than a supply voltage provided to a bit cell circuit of another bit cell corresponding to another bit of the multi-bit product. A bit cell circuit receiving a higher supply voltage increases a voltage difference between increments of an accumulated voltage, which can increase accuracy of an ADC determining a pop-count. A bit cell circuit of the MSB in the CIM array circuit is configured to receive the higher supply voltage to increase accuracy of the MSB, which increases accuracy of the CIM array circuit output. In another exemplary aspect, a capacitance of a capacitor in the bit cell circuit of the MSB is smaller than in the bit cell circuit of the other bit cell corresponding to the bit of the multi-bit product to avoid an increase in energy consumption due to the higher voltage.
(21) Exemplary aspects disclosed herein include multi-bit CIM arrays employing bit cell circuits optimized for accuracy and power efficiency. Before discussing detailed aspects of multi-bit CIM arrays employing bit cell circuits optimized for accuracy and power efficiency starting at
(22) As illustrated in
(23) The bit cell array 204 included in each of the rows 202 in the CIM array circuit 200A is a one-dimensional 8-bit array of the bit cells 206. The bit cell array 204 is configured to store an 8-bit weight array W. Each bit cell 206 of the bit cell array 204 receives a same input bit 210 of a multi-bit (e.g., 16 bit) input signal 212. The bit cell 206 multiplies the received input bit 210 by the respective bit of the weight array W stored in the bit cell 206 and generates a 1-bit product. Storing the weight array W in the bit cell array 204 reduces data transfer bottlenecks that would be caused by transferring the weight arrays W for every multiplication occurring in the bit cell arrays 204 in the CIM array circuit 200.
(24) The CIM array circuit 200 can be used to perform the MAC function of the neural network node 100 in
(25) The result of the multiply function in each bit cell array 204 is a multi-bit binary value. In this example, the multi-bit value is an 8-bit value, with one (1) bit generated in each bit cell 206. The accumulation function of the MAC operation performed in the CIM array circuit 200A is a column-wise accumulation of the 1-bit results from all the bit cells 206 in a column 208. For example, the left-most bit cells 206 in the bit cell array 204 of every row 202 are accumulated on an output read bit line (“output RBL”) for the left-most column 208. The next bit cells 206 in the bit cell array 204 in each row 202 are accumulated by ADCs 214, as described below, on the output RBL for the next column, and so on, with one output RBL for each of the columns 208. The outputs RBL for each of the eight (8) columns 208 are evaluated, and an 8-bit output SOP including the outputs RBL for the columns 208 is generated as the output of the CIM array circuit 200A. The output SOP corresponds to the output SUM in
(26) As noted above, each bit cell 206 of the bit cell array 204 multiplies one bit of the weight array W by the input bit 210 of the corresponding row 202. Binary multiplication of two 1-bit values may be implemented as a binary exclusive NOT-OR (NOR) (XNOR) operation. To store a bit of the weight array W and perform an XNOR operation of that bit with the input bit 210, each bit cell 206 includes a bit cell circuit 216, as illustrated in
(27) The result of the XNOR operation is a 1-bit binary value indicated on the product node 222 as the voltage V.sub.PROD. For example, a binary “0” may be indicated as 0 volts (V) on the product node 222, and a binary “1” may be indicated as a supply voltage V.sub.SUP. The supply voltage V.sub.SUP is a voltage provided to power the bit cell circuit 216. The voltage V.sub.PROD (i.e., either 0 V or V.sub.SUP) is stored in a capacitor 226, which couples the voltage V.sub.PROD from the product node 222 of the bit cell circuit 216 to the output RBL. The CIM array circuit 200A includes a respective output RBL for each of the columns 208, and the output RBL for a given column 208 is coupled to all the bit cells 206 of the column 208 in this manner. Thus, a voltage V.sub.RBL on the output RBL is an accumulation of the voltages V.sub.PROD provided by each of the bit cells circuits 216 in the column 208.
(28) Each column 208 has sixteen (16) bit cells 206 (one for each row 202) and each bit cell 206 contributes either 0 V or the supply voltage V.sub.SUP to the voltage V.sub.RBL. Therefore, the voltage V.sub.RBL can range from 0 V, when all sixteen (16) of the bit cells 206 in a column 208 have a binary “0” (0 V) on their product nodes 222, to a voltage V.sub.MAX, when all sixteen (16) of the bit cells 206 in a column 208 have a binary “1” (i.e., supply voltage V.sub.SUP) on their product nodes 222. The number of binary “1”s (e.g., the number of bit cell circuits 216 contributing the supply voltage V.sub.SUP on the output RBL) in the column 208 is known as a pop-count. In the example of the CIM array circuit 200A, the pop-count for a column 208 can range from 0 to 16, and the analog voltage V. RBL assumes a voltage proportional to the maximum voltage V.sub.MAX based on the pop-count. Theoretically, the voltage V.sub.RBL=(V.sub.MAX*pop-count)/16, although the actual voltage V.sub.RBL can vary due to factors such as thermal noise.
(29) In an example, when the pop-count=8 in a column 208, the voltage V.sub.RBL on the output RBL for that column 208 should be (V.sub.MAX*8)/16 or V.sub.MAX/2. An ADC 214 in each column 208 is employed to evaluate the voltage V.sub.RBL on the output RBL and generate a digital value indicating the pop-count of the column 208, In the example above, the voltage V.sub.RBL having a value of V.sub.MAX/2 indicates the pop-count=8. Accuracy of the CIM array circuit 200A depends on the ability of the ADCs 214 in each column 208 to correctly distinguish between pop-counts represented by the accumulated analog voltage V.sub.RBL on the output RBL for the respective column 208.
(30) The output SOP of the CIM array circuit 200A is a one-dimensional array of the eight (8) pop-counts from the columns 208 of the CIM array circuit 200A, with the least-significant bit (LSB) of the output generated in the right-most column 208 of the CIM array circuit 200A and the MSB of the output SOP generated in the left-most column 208. The left-most bit cell column 208 may also be referred to herein as the MSB column 208. The pop-count of the column 208 corresponding to the MSB column 208 of the bit cell arrays 204 in each row 202 is the most significant data in the output SOP. In other words, the pop-count in the MSB column 208 of the output SOP is most significant to the accuracy of the neural network node implemented by the CIM array circuit 200A, like the left-most digit in a decimal number. Therefore, accuracy of the pop-count in the MSB column 208 is more important than the accuracy of pop-counts in the other columns 208. This means that the ability of an ADC 214 to correctly determine the pop-count represented by the analog voltage V.sub.RBL is more important in the MSB column 208 than in any other column 208 of the CIM array circuit 200A.
(31) As noted in regard to
(32) In exemplary aspects disclosed herein, a bit cell circuit configured to receive a higher supply voltage increases a voltage difference between increments of an accumulated voltage. An increased supply voltage in the bit cell circuits of bit cells in a same bit position of all the bit cell arrays can increase accuracy of an ADC determining a pop-count for the bit position. In this regard, a bit cell circuit employed in a bit cell corresponding to a MSB of a multi-bit product generated by an array of bit cells in a CIM array circuit may be configured to receive a higher supply voltage than a supply voltage received in a bit cell circuit employed in a less-significant bit cell corresponding to less-significant bits of the multi-bit product than the MSB.
(33) In CIM array circuit 300, as disclosed herein with reference to
(34) In the bit cells 302 that include the bit cell circuit 306, transistors (not shown) of the bit cell circuit 306 are configured to receive the higher voltage V.sub.SUPH and in bit cells 302 that include the bit cell circuit 304, transistors of the bit cell circuit 304 are configured to receive the lower voltage V.sub.SUPL. The transistors in the bit cell circuit 306 are configured to receive the higher voltage V.sub.SUPH by having one or more of a thicker gate oxide and a longer gate length than the transistors employed in the bit cell circuit 306. Transistors receiving the higher voltage V.sub.SUPH can generate a higher maximum accumulated voltage V.sub.MAXH to increase a voltage difference between increments indicating respective pop-counts. Increasing the voltage difference between increments of the accumulated voltages of the bit cells 302 corresponding to the MSB of a multi-bit product PROD can improve the accuracy of an ADC 310 evaluating a pop-count of the MSB bit cells 302 compared to the ADCs 310 evaluating the pop-count of the bit cells 302 corresponding to other bits, such as the LSB, of the multi-bit product PROD.
(35) Each row 312 of the CIM array circuit 300 includes the bit cell array 308 of the bit cells 302. The bit cell array 308 is configured to generate a multi-bit product PROD, including at least a MSB and a LSB. Individual bits of the multi-bit product PROD are indicated by the respective voltages V.sub.PROD (e.g., low and high voltage levels of V.sub.PROD indicate binary “0” and “1”) on product nodes 314 of the bit cell circuits 304 and 306 in the bit cells 302 in the bit cell array 308. Each bit cell circuit 304, 306 includes a plurality of inputs IN1-IN4 that each receive a binary input signal ARY_IN, and a capacitor 316, 318 that stores a binary output as the voltage V.sub.PROD. Each bit cell circuit 304, 306 is configured to store a bit of a weight array W, and generate the binary output voltage V.sub.PROD based on the plurality of inputs IN1-IN4 and the bit of the weight array W.
(36) The supply voltage V.sub.SUPH received in the bit cell circuit 306 of the bit cell 302 corresponding to the MSB of the bit cell array 308 is higher than the supply voltage V.sub.SUPL of the bit cell circuit 304 of the bit cell 302 corresponding to the LSB of the bit cell array 308. In this regard, an ADC 310 that accumulates the binary output voltages V.sub.PROD of a column 320 corresponding to the MSB (also referred to herein as the “MSB column 320”) of the bit cell array 308 is able to determine a pop-count with greater accuracy than an ADC 310 in a column 320 corresponding to the LSB (“LSB column 320”). Because the supply voltage V.sub.SUPH of the bit cell circuit 306 of the MSB is higher than the supply voltage V.sub.SUPL in the bit cell circuit 304 of the LSB, a maximum voltage V.sub.MAXH on the read bit line (“output RBL”) for the column 320 corresponding to the MSB column 320 will be higher than a maximum voltage V.sub.MAX of the accumulated voltage V.sub.RBL on the output RBL for the LSB column 320. Due to the higher voltage V.sub.MAXH, an incremental difference between respective pop-count voltages is greater and, therefore, can be determined with greater accuracy. For example, a supply voltage V.sub.SUPH of the bit cell circuits 306 in the column 320 for the MSB that is double the supply voltage V.sub.SUPL of the bit cell circuits 304 in the column 320 of the LSB can double the voltage V.sub.MAX, which can double the difference in the voltage V.sub.RBL between respective pop-counts, and double the accuracy of the ADC 310 of the column 320 of the MSB.
(37) Details of the bit cell circuits 304 and 306 are described with reference to
(38) The bit cell circuit 304 in
(39) However, in the bit cell circuits 304 and 306 in
(40) The capacitors 318 of bit cell circuits 306 in the bit cells 302 in the MSB columns 320 of the bit cell array 308 in every row 312 of the CIM array circuit 300 are coupled to a same output RBL. The bit cell circuits 306 couple a higher supply voltage V.sub.SUPH onto the output RBL for the MSB column 320 than the bit cell circuits 304 in the other columns 320 couple onto the output RBL, but the power consumption caused by the higher supply voltage V.sub.SUPH is mitigated by the reduced capacitance in the smaller capacitor 318 in
(41) The higher supply voltage V.sub.SUPH each bit cell circuit 306 increases the maximum voltage of the voltage V.sub.RBL to the voltage V.sub.MAXH which increases the voltage difference between voltages corresponding to respective pop-counts. In this regard, the accuracy of the ADC 310 in the MSB column 320 is increased. The accuracy of the MSB column 320 is of the greatest significance compared to any of the other columns 320 of the CIM array circuit 300. Although the additional energy consumption in the MSB columns 320 due to the higher supply voltage V.sub.SUPH is mitigated by the reduced capacitance of the capacitor 318, transistors receiving the higher supply voltage V.sub.OPH may be larger and occupy more area than the transistors in the bit cell circuit 304. For the increased accuracy of the MSB column 320, the increased area is an accepted trade-off in the CIM array circuit 300, but the accuracy of other columns 320 is less significant and therefore such trade-off is not made in the other columns 320 in the CIM array circuit 300.
(42) Another exemplary CIM array circuit 400, which includes functional CIM array circuits 400A and 400B, is illustrated in
(43) The CIM array circuits 400A and 400B differ from the CIM array circuits 300A and 300B with regard to the second-most-significant bit (2.sup.nd MSB) columns 406. In the UM array circuit 400, the bit cell circuits 404 of
(44) Another exemplary CIM array circuit 500, which includes functional CIM array circuits 500A and 500B, is illustrated in
(45) Bit cell circuits 514, as illustrated in
(46) Another exemplary CIM array circuit 600 is illustrated in
(47) As shown in
(48) CIM array circuits disclosed herein that include bit cell circuits employed in bit cells corresponding to MSBs of multi-bit products generated by arrays of bit cells that are configured to receive a higher supply voltage for increased accuracy and have a capacitor with a smaller capacitance than a bit cell circuit of bit cells corresponding to other bits of the multi-bit product to mitigate an increase in power consumption, as illustrated in any of
(49) In this regard,
(50) Other master and slave devices can be connected to the system bus 708. As illustrated in
(51) The CPU(s) 702 may also be configured to access the display controller(s) 722 over the system bus 708 to control information sent to one or more displays 726. The display controller(s) 722 sends information to the display(s) 726 to be displayed via one or more video processors 728, which process the information to be displayed into a format suitable for the display(s) 726. The display(s) 726 can include any type of display, including, but not limited to, a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, a light emitting diode (LED) display, etc. The display controller(s) 722, display(s) 726, and/or the video processor(s) 728 can include OM array circuits including bit cell circuits employed in bit cells corresponding to MSBs of multi-bit products generated by arrays of bit cells that are configured to receive a higher supply voltage for increased accuracy and have a capacitor with a smaller capacitance than a bit cell circuit of bit cells corresponding to other bits of the multi-bit product to mitigate an increase in power consumption, as illustrated in any of
(52)
(53) The transmitter 808 or the receiver 810 may be implemented with a super-heterodyne architecture or a direct-conversion architecture. In the super-heterodyne architecture, a signal is frequency-converted between RF and baseband in multiple stages, e.g., from RF to an intermediate frequency (IF) in one stage, and then from IF to baseband in another stage for the receiver 810. In the direct-conversion architecture, a signal is frequency-convened between RF and baseband in one stage. The super-heterodyne and direct-conversion architectures may use different circuit blocks and/or have different requirements. In the wireless communications device 800 in
(54) In the transmit path, the data processor 806 processes data to be transmitted and provides I and Q analog output signals to the transmitter 808. In the exemplary wireless communications device 800, the data processor 806 includes digital-to-analog converters (DACs) 812(1), 812(2) for converting digital signals generated by the data processor 806 into the I and Q analog output signals, e.g., I and Q output currents, for further processing.
(55) Within the transmitter 808, lowpass filters 814(1), 814(2) filter the I and Q analog output signals, respectively, to remove undesired signals caused by the prior digital-to-analog conversion. Amplifiers (AMPs) 816(1), 816(2) amplify the signals from the lowpass filters 814(1), 814(2), respectively, and provide I and Q baseband signals. An upconverter 818 upconverts the I and Q baseband signals with I and Q transmit (TX) local oscillator (LO) signals through mixers 820(1), 820(2) from a TX LO signal generator 822 to provide an upconverted signal 824. A filter 826 filters the upconverted signal 824 to remove undesired signals caused by the frequency upconversion as well as noise in a receive frequency band. A power amplifier (PA) 828 amplifies the upconverted signal 824 from the filter 826 to obtain the desired output power level and provides a transmitted RF signal. The transmitted RE signal is routed through a duplexer or switch 830 and transmitted via an antenna 832.
(56) In the receive path, the antenna 832 receives signals transmitted by base stations and provides a received RF signal, which is routed through the duplexer or switch 830 and provided to a low noise amplifier (LNA) 834. The duplexer or switch 830 is designed to operate with a specific receive (RX)-to-TX duplexer frequency separation, such that RX signals are isolated from TX signals. The received RF signal is amplified by the LNA 834 and filtered by a filter 836 to obtain a desired RF input signal. Downconversion mixers 838(1), 838(2) mix the output of the filter 836 with I and Q RX LO signals (i.e., LO_I and LO_Q) from an RX LO signal generator 840 to generate I and Q baseband signals. The I and Q baseband signals are amplified by AMPS 842(1), 842(2) and further filtered by lowpass filters 844(1), 844(2) to obtain I and Q analog input signals, which are provided to the data processor 806. In this example, the data processor 806 includes ADCs 846(1), 846(2) for converting the analog input signals into digital signals to be further processed by the data processor 806.
(57) In the wireless communications device 800 of
(58) Those of skill in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithms described in connection with the aspects disclosed herein may be implemented as electronic hardware, instructions stored in memory or in another computer readable medium and executed by a processor or other processing device, or combinations of both. The master and slave devices described herein may be employed in any circuit, hardware component, IC, or IC chip, as examples. Memory disclosed herein may be any type and size of memory and may be configured to store any type of information desired. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. How such functionality is implemented depends upon the particular application, design choices, and/or design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
(59) The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a processor, a Digital Signal Processor (DSP), an Application Specific integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
(60) The aspects disclosed herein may be embodied in hardware and in instructions that are stored in hardware, and may reside, for example, in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of computer readable medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a remote station. In the alternative, the processor and the storage medium may reside as discrete components in a remote station, base station, or server.
(61) It is also noted that the operational steps described in any of the exemplary aspects herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary aspects may be combined. It is to be understood that the operational steps illustrated in the flowchart diagrams may be subject to numerous different modifications as will be readily apparent to one of skill in the art. Those of skill in the art will also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
(62) The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations. Thus, the disclosure is not intended to be limited to the examples and designs described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.