Approximate nonlinear digital data conversion for small size multiply-accumulate in artificial intelligence
11016732 · 2021-05-25
Inventors
Cpc classification
H03M1/125
ELECTRICITY
H03M1/765
ELECTRICITY
H03M1/68
ELECTRICITY
H03M1/14
ELECTRICITY
H03M1/742
ELECTRICITY
International classification
H03M1/68
ELECTRICITY
Abstract
Multipliers and Multiply-Accumulate (MAC) circuits are fundamental building blocks in signal processing, including in emerging applications such as machine learning (ML) and artificial intelligence (AI) that predominantly utilize digital-mode multipliers and MACs. Generally, digital multipliers and MACs can operate at high speed with high resolution, and synchronously. As the resolution and speed of digital multipliers and MACs increase, generally the dynamic power consumption and chip size of digital implementations increases substantially that makes them impractical for some ML and AI segments, including in portable, mobile, near edge, or near sensor applications. The multipliers and MACs utilizing the disclosed current mode data-converters are manufacturable in main-stream digital CMOS process, and they can have medium to high resolutions, capable of low power consumptions, having low sensitivity to power supply and temperature variations, as well as operating asynchronously, which makes them suitable for high-volume, low cost, and low power ML and AI applications.
Claims
1. An approximate non-linear digital data-conversion (aNDC) method in an integrated circuit, the method comprising: wherein an at least one input digital word (Z) comprised of an at least one Most-Significant-Bits (MSB) portion digital word (Z.sub.MSP) and an at least one Least-Significant-Bits (LSB) portion digital word (Z.sub.LSP); generating an at least one square digital word (Z.sub.MPS.sup.2) from the at least one Z.sub.MSP digital word, wherein the relationship between the at least one Z.sub.MSP digital word and the at least one Z.sub.MPS.sup.2 digital word follows a square profile; multiplying the at least one Z.sub.LSP digital word and the at least one Z.sub.MSP digital words to generate an at least one multiplication digital word (Z.sub.MSP×Z.sub.LSP); scaling the at least one Z.sub.MSP×Z.sub.LSP digital word by an at least one first binary scale factor (s.sub.L) to generate an at least one scaled multiplication digital word (S.sub.L×Z.sub.MSP×Z.sub.LSP); generating an at least one offset digital word (Z.sub.OFS) proportional to the at least one Z.sub.LSP digital word; scaling the at least one Z.sub.OFS digital word by an at least one second binary scale factor (s.sub.o) to generate an at least one scaled offset digital word (s.sub.o×Z.sub.OFS); and generating an at least one approximate square digital word (˜Z.sup.2) by combining together the at least one Z.sub.MPS.sup.2 digital word, the at least one s.sub.L×Z.sub.MSP×Z.sub.LSP digital word, and the at least one s.sub.o×Z.sub.OFS digital word, wherein the relationship between the at least one ˜Z.sup.2 digital word and the at least one Z digital word follows an approximate square profile.
2. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 1, the method further comprising: generating an at least one summing absolute value digital word (|Z.sub.s|), wherein the at least one Z.sub.s digital word is an at least one summation of an at least two digital words (X+Y); generating an at least one deducting absolute value digital word (|Z.sub.d|), wherein the at least one Z.sub.d digital word is an at least subtraction of an at least two digital words (X−Y); generating an at least one summing approximate square digital word (˜|Z.sub.s|.sup.2) wherein the relationship between the at least one ˜|Z.sub.s|.sup.2 digital word and the at least one |Z.sub.s| digital word follows the approximate square profile; and generating an at least one deducting approximate square digital word (˜|Z.sub.d|.sup.2) wherein the relationship between the at least one ˜|Z.sub.d|.sup.2 digital word and the at least one |Z.sub.d| digital word follows the approximate square profile.
3. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 2, the method further comprising: generating an at least one approximate multiplication digital word (˜4X×Y) by subtracting the at least one ˜|Z.sub.d|.sup.2 digital word from the at least one ˜|Z.sub.s|.sup.2 digital word; and inputting the at least one ˜4X×Y digital word into an at least one Digital-to-Analog Converter (DAC) to generate an at least one approximate multiplication analog signal (˜4x′×y′).
4. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 2, the method further comprising: inputting the at least one ˜|Z.sub.s|.sup.2 digital word into an at least one subtracting Digital-to-Analog Converter (DAC.sub.s) to generate an at least one subtracting approximate square analog signal (˜|z′s|.sup.2; inputting the at least one ˜|Z.sub.d|.sup.2 digital word into an at least one deducting Digital-to-Analog Converter (DAC.sub.d) to generate an at least one deducting approximate square analog signal (˜|z′.sub.d|.sup.2; and generating an at least one approximate multiplication analog signal (˜4x′×y′) by subtracting the at least one ˜|z′.sub.d|.sup.2 analog signal from the at least one ˜|z′.sub.s|.sup.2 analog signal.
5. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 3, the method further comprising: generating an at least one plurality of approximate ˜4x′×y′ analog signals; generating an at least one approximate multiply-accumulate analog signal (˜Σ4x′×y′) by combining the at least one plurality of approximate ˜4x′×y′ analog signals; generating an at least one offset analog signal (b′) by inputting an at least one offset digital word (B) onto an at least one offset Digital-to-Analog Converter (DAC.sub.OFS); generating an at least one offsetting approximate ˜Σ4x′×y′ analog signal (˜Σ4x′×y′+b′) by combining the at least one approximate ˜Σ4x′×y′ analog signal with the at least one b′ analog signal; and generating an at least one offsetting approximate multiply-accumulate digital word (˜Σ4X×Y+B) by inputting the at least one approximate ˜Σ4x′×y′+b′ analog signal onto an at least one Analog-to-Digital Converter, wherein the at least one approximate ˜Σ4X×Y+B digital word is responsive to the at least one approximate ˜Σ4x′×y′+b′ analog signal.
6. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 5, the method further comprising: combining an at least one plurality of the ˜Σ4X×Y+B digital word to arrange an at least one artificial neural network (ANN).
7. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 4, the method further comprising: generating an at least one plurality of approximate ˜4x′×y′ analog signals; generating an at least one approximate multiply-accumulate analog signal (˜Σ4x′×y′) by combining the at least one plurality of approximate ˜4x′×y′ analog signals; generating an at least one offset analog signal (b′) by inputting an at least one offset digital word (B) onto an at least one offset Digital-to-Analog Converter (DAC.sub.OFS); generating an at least one offsetting approximate ˜Σ4x′×y′ analog signal (˜Σ4x′×y′+b′) by combining the at least one approximate ˜Σ4x′×y′ analog signal with the at least one b′ analog signal; and generating an at least one offsetting approximate multiply-accumulate digital word (˜Z4X×Y+B) by inputting the at least one approximate ˜Σ4x′×y′+b′ analog signal onto an at least one Analog-to-Digital Converter, wherein the at least one approximate ˜Σ4X×Y+B digital word is responsive to the at least one approximate ˜Σ4x′×y′+b′ analog signal.
8. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 4, the method further comprising: combining an at least one plurality of the ˜Σ4X×Y+B digital words to arrange an at least one artificial neural network (ANN).
9. A current mode multiply accumulate method in an integrated circuit, the method comprising: multiplying an at least one X digital word by an at least one Y digital word to generate an at least one multiplication digital word (X×Y); inputting the at least one X×Y digital word onto an at least one current-mode Digital-Analog-Converter (iDAC) to generate an at least one multiplication analog current signal (x′×y′); generating an at least one offset analog current signal (b′) by inputting an at least one offset digital word (B) onto an at least one offset current-mode Digital-to-Analog Converter (iDA.sub.OFS); generating an at least one offsetting multiply-accumulate current signal (Si.sub.MAC) by summing the at least one x′×y′ analog current signal with the at least one b′ analog current signal; and generating an at least one offsetting multiply-accumulate digital word (Sd.sub.MAC) by inputting the at least one Si.sub.MAC analog signal onto an at least one current-mode Analog-to-Digital-Converter (iADC), wherein the at least one Sd.sub.MAC digital word is responsive to the at least one Si.sub.MAC analog current signal.
10. The current mode multiply accumulate method in an integrated circuit of claim 9, the method further comprising: wherein multiplying the at least one X digital word by the at least one Y digital word to generate the at least one multiplication digital word (X×Y) further comprises; summing the at least one X and the at least one Y digital words to generate an at least one X+Y digital word (Z.sub.s); subtracting the at least one Y and from the at least one X digital words to generate an at least one X−Y digital word (Z.sub.d); generating an at least one summing absolute value digital word |Z.sub.s| wherein the at least one |Z.sub.s| digital word is the absolute value of the at least one Z.sub.s digital word; generating an at least one deducting absolute value digital word |Z.sub.d| wherein the at least one |Z.sub.d| digital word is the absolute value of the at least one Z.sub.d digital word; generating an at least one summing square digital word (|Z.sub.s|.sup.2) wherein the at least one |Z.sub.s|.sup.2 digital word is the at least one square of |Z.sub.s| digital word; generating an at least one deducting square digital word (|Z.sub.d|.sup.2) wherein the at least one |Z.sub.d|.sup.2 digital word is the at least one square of |Z.sub.d| digital word; generating an at least one 4×X×Y digital word by subtracting the at least one |Z.sub.d|.sup.2 word from the at least one |Z.sub.s|.sup.2; and generating the at least one at least one a×X×Y digital word by scaling the at least one 4×X×Y digital word with a scale factor of a/4.
11. The current mode multiply accumulate method in an integrated circuit of claim 10, the method further comprising: wherein generating at least one of the at least one summing square digital word |Z.sub.s|.sup.2 and the at least one deducting square digital word |Z.sub.d|.sup.2 to approximate a square value digital word (˜Z.sup.2) further comprises: wherein an input digital word (Z) comprised of a Most-Significant-Bits (MSB) portion digital word (Z.sub.MSP) and a Least-Significant-Bits (LSB) portion digital word (Z.sub.LSP); generating a square digital word (Z.sub.MPS.sup.2) from the Z.sub.MSP digital word, wherein the relationship between the Z.sub.MSP digital word and the Z.sub.MPS.sup.2 digital word follows a square profile; multiplying the Z.sub.LSP digital word and the Z.sub.MSP digital words to generate a multiplication digital word (Z.sub.MSP×Z.sub.LSP); scaling the Z.sub.MSP×Z.sub.LSP digital word by a first binary scale factor (s.sub.L) to generate a scaled multiplication digital word (S.sub.L×Z.sub.MSP×Z.sub.LSP); generating an offset digital word (Z.sub.OFS) proportional to the Z.sub.LSP digital word; scaling the Z.sub.OFS digital word by a second binary scale factor (s.sub.L) to generate a scaled offset digital word (s.sub.L×Z.sub.OFS); and generating an approximate square digital word (˜Z.sup.2) by combining together the Z.sub.MPS.sup.2 digital word, the S.sub.L×Z.sub.MSP×Z.sub.LSP digital word, and the s.sub.o×Z.sub.OFS digital word, wherein the relationship between the ˜Z.sup.2 digital word and the Z digital word follows an approximate square profile.
12. The current mode multiply accumulate method in an integrated circuit of claim 9, the method further comprising: combining an at least one plurality of the at least one of Sd.sub.MAC digital words to arrange an at least one artificial neural network (ANN).
13. The approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 1, the method further comprising: providing the at least one digital input word Z by at least one of a Latch array, a Static-Random-Access-Memory (SRAM) array, an Erasable-Programmable-Read-Only-Memory (EPROM) array, and an Electrically-Erasable-Programmable-Read-Only-Memory (E.sup.2PROM) array.
14. The current mode multiply accumulate method in an integrated circuit of claim 9, the method further comprising: providing the at least one of the X digital word and the Y digital word by at least one of a Latch array, a Static-Random-Access-Memory (SRAM) array, an Erasable-Programmable-Read-Only-Memory (EPROM) array, and an Electrically-Erasable-Programmable-Read-Only-Memory (E.sup.2PROM) array.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
SUMMARY OF THE DISCLOSURE
(57) An aspect of the present disclosure is a floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method comprising: programming a plurality of voltage-controlled-current sources (VCCS) to generate a plurality of current signals to be at least one of equally weighted currents, binarily weighted currents, non linear weighted currents, and individually weighted currents; summing the plurality of current signals to create a summation current signal (S.sub.SUM) at a reference current input port (A.sub.R); wherein the floating iDAC has a digital input word (D.sub.1) that controls a plurality of current switches (iSW) that respectively steer the plurality of current signals to at least one of a positive current output port (I.sub.O.sup.+), and a negative current output port (I.sub.O.sup.−) of the floating iDAC; wherein the currents flowing through the I.sub.O.sup.+ port and the I.sub.O.sup.− port are proportional to the current signal flowing through the A.sub.R port, and responsive to the D.sub.i word of the floating iDAC. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: receiving current signals from respective I.sub.O.sup.+ port and the I.sub.O.sup.− ports, of at least one of a subsequent iDAC, into the respective at least one of the I.sub.O.sup.+ port, and the I.sub.O.sup.− port of the floating iDAC; wherein the A.sub.R port receives a reference current signal (S.sub.R); wherein the reference input signal of each of the subsequent iDACs is proportional to the S.sub.R signal; and wherein the at least one of the subsequent iDACs effectively increases the resolution of the floating iDAC. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: receiving the current signal from a first iDAC into a reference input port of a second iDAC, wherein at least one of the first iDAC and the second iDAC is the floating iDAC; generating a multiplicand output current signal (S.sub.MULT) at an output port of the second iDAC; and wherein the S.sub.MULT signal is proportional to the S.sub.R signal and responsive to the product of a digital input word of the first iDAC and, a digital input word of the second iDAC. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: generating a plurality of S.sub.MULT signals; and combining the plurality of S.sub.MULT signals to generate a multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is a summation of the plurality of the S.sub.MULT signals. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: combining the S.sub.BMAC signal with a bias current signal (S.sub.B) from a bias current iDAC to generate a biased multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is the summation of the S.sub.BMAC signal and the SB signal. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: digitizing the S.sub.BMAC signal in a current-mode analog-to-digital converter (iADC). Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: combining a plurality of S.sub.BMAC signals, wherein the combining the plurality of S.sub.BMAC signals forms a current-mode artificial neural network (iANN). Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: receiving currents from I.sub.O.sup.+ port and I.sub.O.sup.− port, of a plurality of subsequent floating iDACs, into the respective I.sub.O.sup.+ port and the I.sub.O.sup.− port of the floating iDAC to generate an I.sub.Op.sup.+ and an I.sub.Op.sup.−; generating a plurality of reference current sources (S.sub.R)s to be at least one of equally weighted currents, binarily weighted currents, non-linear weighted currents, and individually weighted currents; receiving each of the plurality of S.sub.R signals respectively into the I.sub.sR port of each subsequent floating iDAC; receiving a X digital word of width m, and a Y digital word of width n, wherein each bit weight of the X word of width m corresponds to the respective weight of each of the plurality of reference currents corresponding respectively to each of the floating iDACs, and wherein each bit weight of the Y word of width n corresponds to the digital input word D.sub.i of the plurality of floating iDACs; generating a multiplicand output current signal (S.sub.MULT) in at least one of the I.sub.Op.sup.+ port and I.sub.Op.sup.− port; wherein the I.sub.iMULT current is proportional to the magnitude of S.sub.R source, and responsive to the product of the X word and the Y word; and wherein the X word and Y word are interchangeable.
(58) Another aspect of the present disclosure is a floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method comprising: generating a plurality of currents in a plurality of metal-oxide-semiconductor-field-effect-transistors (MOSFETs), wherein a weighting relationship among each of the plurality of currents in the MOSFETs is at least one of equally weighted, binarily weighted, non-linear weighted, and individually weighted; steering each of the plurality of current signals in the plurality of MOSFETs respectively through each input terminal of a plurality of current switches (iSW); steering each of the plurality of current signals through the plurality of iSWs respectively to each output terminal of the plurality of current switches (iSW) to at least one of a positive current output port (I.sub.O.sup.+), and a negative current output port (I.sub.O.sup.−); receiving a digital input word (D.sub.1), and respectively controlling the steering of each of the plurality of current signals through the plurality of iSWs by the D.sub.1; wherein respective source ports of the plurality of MOSFETs are coupled together, and coupled to a reference current source (S.sub.R); wherein respective gate terminals of the plurality of MOSFETs are coupled together, and coupled to a voltage source (V.sub.B); and wherein the currents flowing through the I.sub.O.sup.+ port and the I.sub.O.sup.− port are proportional to the magnitude of the S.sub.R source, and responsive to the D.sub.i word of a floating iDAC. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: receiving into the at least one of the I.sub.O.sup.+ port, and the I.sub.O.sup.− port of the floating iDAC, currents from respective I.sub.O.sup.+ ports and I.sub.O.sup.− ports from at least one of a subsequent iDAC, wherein the at least one of the subsequent iDAC effectively increases the resolution of the floating iDAC. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: receiving the output current signal from a first iDAC into a reference input port of a second iDAC, wherein at least one of the first iDAC and the second iDAC is the floating iDAC; and generating a multiplicand output current signal (S.sub.MULT) at an output of the second iDAC. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: generating a plurality of S.sub.MULT signals; and combining the plurality of S.sub.MULT signals to generate a multiply-accumulate current signal (S.sub.MAC), wherein the S.sub.MAC signal is a summation of the plurality of the S.sub.MULT signals. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: generating a bias current signal (S.sub.B) by an iDAC; and combining the S.sub.MAC signal with the SB signal to generate a biased multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is a summation of the S.sub.MAC signal and the SB signal. Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: digitizing the S.sub.BMAC signal in a current-mode analog-to-digital converter (iADC). Further aspects of the floating current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the floating iDAC method further comprising: combining a plurality of S.sub.BMAC signals, wherein the combining the plurality of S.sub.BMAC signals forms a current-mode artificial neural network (iANN).
(59) Another aspect of the present disclosure is a mixed-signal current-mode multiply-accumulate (iMAC) method in integrated circuits, the mixed-signal iMAC method comprising: generating a plurality of first current output signals (S1.sub.O)s by a plurality of first current-mode digital-to-analog converters (iDAC1)s; receiving the plurality of S1.sub.O signals into a respective plurality of reference input ports (A2.sub.R) of a plurality of second current-mode digital-to-analog-converters (iDAC2)s; generating a plurality of multiplicand output current signals (S.sub.MULT)s at the plurality of A2.sub.R ports; combining a plurality of S.sub.MULT signals together to generate a multiply-accumulate current signal (S.sub.MAC); and wherein the S.sub.MAC signal is a summation of a plurality of second current output signals (S2.sub.O)s of the plurality of iDAC2s. Further aspects of the mixed-signal current-mode multiply-accumulate (iMAC) method in integrated circuits, the mixed-signal iMAC method further comprising: generating a bias current signal (S.sub.B) by a bias iDAC; and combining the S.sub.BMAC signal with the SB signal to generate a biased multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is a summation of the S.sub.MAC signal and the S.sub.B signal. Further aspects of the mixed-signal current-mode multiply-accumulate (iMAC) method in integrated circuits, the mixed-signal iMAC method further comprising: digitizing the S.sub.BMAC signal in a current-mode analog-to-digital converter (iADC). Further aspects of the mixed-signal current-mode multiply-accumulate (iMAC) method in integrated circuits, the mixed-signal iMAC method further comprising: combining a plurality of S.sub.BMAC signals, wherein the combining the plurality of S.sub.BMAC signals forms a current-mode artificial neural network (iANN).
(60) Another aspect of the present disclosure is a factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method comprising: generating a scaled top output current signal (A.sub.tF.sub.t) as a product of a top scale factor (F.sub.t) and a top output current signal (A.sub.t) of a top iDAC (iDAC.sub.t), wherein the iDAC.sub.t receives a top digital word (D.sub.t) that is t-bits wide, and wherein the iDAC.sub.t receives a top reference current signal (t.sub.R), and wherein the iDAC.sub.t is binary weighted and wherein F.sub.t and t are each between zero and eight; generating a scaled middle output current signal (A.sub.mF.sub.m) as a product of a middle scale factor (F.sub.m) and a middle output current signal (A.sub.m) of a middle iDAC (iDAC.sub.t), wherein the iDAC.sub.m receives a middle digital word (D.sub.m) that is m-bits wide, and wherein the iDAC.sub.m receives a middle reference current signal (m.sub.R), and wherein iDAC.sub.m is binary weighted and wherein the F.sub.m and m are each between zero and eight; combining the A.sub.tF.sub.t, and the A.sub.mF.sub.m signals to generate a summation analog output current signal (A.sub.Otm) of a factorized iDAC; wherein a digital input word (D.sub.i) of the factorized iDAC is t+m bits wide, and wherein the D.sub.t is the most-significant-bits bank of the D.sub.i, and wherein the D.sub.m is a remaining-bits bank of the D.sub.i, and wherein the factorized iDAC.sub.t is binary weighted; and wherein A.sub.Otm=A.sub.tF.sub.t+A.sub.mF.sub.m wherein (F.sub.t/F.sub.m)×(m.sub.R/t.sub.R)=2.sup.t; and wherein the t.sub.R, and m.sub.R signals are proportional to one another and proportional to a reference input signal (S.sub.R) of the factorized iDAC.
(61) Another aspect of the present disclosure is a factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method comprising: generating a scaled top output current signal (A.sub.tF.sub.t) as a product of a top scale factor (F.sub.t) and a top output current signal (A.sub.t) of a top iDAC (iDAC.sub.t), wherein the iDAC.sub.t receives a top digital word (D.sub.r) that is t-bits wide, and wherein the iDAC.sub.t receives a top reference current signal (t.sub.R), and wherein iDAC.sub.t is binary weighted, and wherein F.sub.t and t are each between zero and eight; generating a scaled middle output current signal (A.sub.mF.sub.m) as a product of a middle scale factor (F.sub.m) and a middle output current signal (A.sub.m) of a middle iDAC (iDAC.sub.t), wherein the iDAC.sub.m receives a middle digital word (D.sub.m) that is m-bits wide, and wherein the iDAC.sub.m receives a middle reference current signal (m.sub.R), and wherein iDAC.sub.m is binary weighted, and wherein the F.sub.m and m are each between zero and eight; generating a scaled bottom output current signal (A.sub.bF.sub.b) by scaling a bottom binary iDAC (DAC.sub.b) output current signal (A.sub.b) by a bottom scale factor F.sub.b, wherein the iDAC.sub.b receives a bottom digital word (D.sub.b) that is b-bits wide, and wherein the iDAC.sub.b receives a bottom reference current signal (b.sub.R), and wherein the F.sub.b and b are each integers greater than one and less than eight; combining the A.sub.tF.sub.t, the A.sub.mF.sub.m, and the A.sub.bF.sub.b signals to generate a summation analog output current signal (A.sub.Otm) of a factorized iDAC; wherein A.sub.Otm=A.sub.tF.sub.t+A.sub.mF.sub.m+A.sub.bF.sub.b; wherein (F.sub.t/F.sub.b)×(b.sub.R/t.sub.R)=2.sup.t+m; wherein the digital input (D.sub.i) of the factorized iDAC is t+m+b bits wide, and wherein the D.sub.t is the most-significant-bits (MSBs) bank of the D.sub.i, and wherein the D.sub.m is the intermediate-bits (ISBs) bank of the D.sub.i, and wherein the Db is the least-significant-bits (LSBs) bank of the D.sub.i; and wherein the t.sub.R, m.sub.R, and b.sub.R signals are proportional to one another and proportional to a reference input signal (S.sub.R) of the factorized iDAC. Further aspects of the factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method further comprising: receiving the output current signal from a first iDAC into a reference input port of a second iDAC, wherein at least one of the first iDAC and the second iDAC is the factorized iDAC; generating a multiplicand output current signal (S.sub.MULT) at an output port of the second iDAC; and wherein the S.sub.MULT signal is proportional to the S.sub.R signal and responsive to the product of digital input words of the first iDAC and the second iDAC. Further aspects of the factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method further comprising: generating a plurality of S.sub.MULT signals; and combining the plurality of S.sub.MULT signals to generate a multiply-accumulate current signal (S.sub.MAC), wherein the S.sub.BMAC signal is a summation of the plurality of the S.sub.MULT signals. Further aspects of the factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method further comprising: generating a bias current signal (S.sub.B) by a bias iDAC; and combining the S.sub.BMAC signal with the SB signal to generate a biased multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is a summation of the S.sub.BMAC signal and the SB signal. Further aspects of the factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method further comprising: digitizing the S.sub.BMAC signal in a current-mode analog-to-digital converter (iADC). Further aspects of the factorized current-mode digital-to-analog converter (iDAC) method in an integrated circuit, the factorized iDAC method further comprising: combining a plurality of S.sub.BMAC signals, wherein the combining the plurality of S.sub.BMAC signals forms a current-mode artificial neural network (iANN).
(62) Another aspect of the present disclosure is a mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method comprising: generating a scalar current (S.sub.S) by a first current-mode DAC (iDAC); replicating the S.sub.S signal to generate a plurality of scalar current replica signals (S.sub.SD); receiving the plurality of S.sub.SD signals respectively into a reference input of each of a plurality of second iDACs; and generating a plurality of current output Signals (S.sub.O)s of the plurality of the second iDACs; combining the plurality of S.sub.O signals of the plurality of second iDACs to generate a multiply-accumulate current (S.sub.BMAC); and wherein the S.sub.MAC is a summation of the respective plurality of S.sub.O signals. Further aspects of the mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method further comprising: combining the S.sub.BMAC signal with a bias current signal (S.sub.B) from a bias current iDAC to generate a biased multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is the summation of the S.sub.BMAC signal and the SB signal. Further aspects of the mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method further comprising: digitizing the S.sub.BMAC signal in a current-mode analog-to-digital converter (iADC). Further aspects of the mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method further comprising: combining a plurality of S.sub.BMAC signals, wherein the combining the plurality of S.sub.BMAC signals forms a current-mode artificial neural network (iANN).
(63) Another aspect of the present disclosure is a mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method comprising: receiving a first and subsequent reference current signals, each respectively to a reference port (A.sub.R) of each of first current mode iDAC of a plurality of first current mode iDACs; generating a plurality of output current signals (S.sub.O)s by the plurality of first current-mode DACs (iDAC); combining the plurality of S.sub.O signals of the plurality of first iDACs to generate a current signal (S.sub.Osum), wherein the S.sub.Osum is a summation of the plurality of S.sub.O signals; mirroring the S.sub.Osum signal to create a mirrored S.sub.Osum signal, S.sub.Osumm; receiving the S.sub.Osumm signal into a reference input port of a scalar iDAC; and generating a multiply-accumulate current signal (S.sub.BMAC) at the output port of the scalar iDAC. Further aspects of the mixed-signal scalar current-mode multiply-accumulate (iMAC) method in integrated circuits, the mixed-signal scalar iMAC method further comprising: combining the S.sub.BMAC signal with a bias current signal (S.sub.B) from a bias current iDAC to generate a biased multiply-accumulate current signal (S.sub.BMAC), wherein the S.sub.BMAC signal is the summation of the S.sub.MAC signal and the S.sub.B signal. Further aspects of the mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method further comprising: digitizing the S.sub.BMAC signal in a current-mode analog-to-digital converter (iADC). Further aspects of the mixed-signal scalar current-mode multiply-accumulate (iMAC) method in an integrated circuit, the mixed-signal scalar iMAC method further comprising: combining a plurality of S.sub.BMAC signals, wherein the combining the plurality of S.sub.BMAC signals forms a current-mode artificial neural network (iANN).
(64) Another aspect of the present disclosure is a non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method comprising: generating a non-linear Most-Significant-Portion (MSP) analog output signal (So.sub.MPS.sup.N) that is proportional to a MSP reference signal (Sr.sub.MSP), and is responsive to a bank of Most-Significant-Bits (MSBs) of a digital input word (Di.sub.MSP); generating a linear Least-Significant-Portion (LSP) analog output signal (So.sub.LSP.sup.L) that is proportional to a LSP reference signal (Sr.sub.LSP), and is responsive to a bank of Least-Significant-Bits (LSBs) of a digital word (Di.sub.LSP), and is responsive to the Di.sub.MSP word; combining the Sops signal and the So.sub.LSP.sup.L signal to generate a non-linear analog output signal (So.sub.N) that is proportional to a reference signal (S.sub.R), and is responsive to a digital word (D.sub.I); wherein the So.sub.LSP.sup.L signal is a straight-line approximation between non-linear segments of the So.sub.MPS.sup.N signal; wherein the Sr.sub.MSP signal, and the Sr.sub.LSP signal, are each proportional to the S.sub.R signal; and wherein the D.sub.I word is comprised of the Di.sub.MSP word and the Di.sub.LSP word. Further aspects of the non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method further comprising: wherein the So.sub.MPS.sup.N signal is generated by a non-linear MSP digital-to-analog converter (DAC.sub.MSP.sup.N) having a reference network comprised of a sequence of scaled MSP reference signals (Sr.sub.MSP.sup.N); and wherein the sequence of scaled Sr.sub.MSP.sup.N signals are at least one of squarely weighted, logarithmically weighted, non-linearly weighted, and individually weighted. Further aspects of the non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method further comprising: generating the So.sub.LSP.sup.L signal by a plurality of linear LSP Digital-to-Analog Converters (DAC.sub.LSP.sup.L)s comprised of a first linear LSP DAC (DAC1.sub.LSP.sup.L), and a second linear LSP DAC (DAC2.sub.LSP.sup.L); generating an output signal (So1.sub.LSP.sup.L) by the DAC1.sub.LSP.sup.L that is proportional to a first LSP reference signal (Sr1.sub.LSP), and is responsive to the Di.sub.MSP word; combining the So1.sub.LSP.sup.L signal with a reference offset signal (Sr.sub.OFS) to generate a second reference signal (Sr2.sub.LSP.sup.L); receiving the Sr2.sub.LSP.sup.L signal into a reference input port (Ar2.sub.LSP.sup.L) of the DAC2.sub.LSP.sup.L; and generating the So.sub.LSP.sup.L signal at an output port (Ao2.sub.LSP.sup.L) of the DAC2.sub.LSP.sup.L that is responsive to the Di.sub.LSP word and the Di.sub.MSP word. Further aspects of the non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method further comprising: multiplying the Di.sub.LSP word and the Di.sub.MSP word to generate a multiplicand digital word (Di.sub.LSP×Di.sub.MSP); generating an output signal (So1.sub.LSP.sup.L) by a first LSP Digital-to-Analog Converter (DAC1.sub.LSP.sup.L), wherein the So1.sub.LSP.sup.L signal is proportional to a first LSP reference signal (Sr1.sub.LSP.sup.L), and is responsive to the Di.sub.LSP×Di.sub.MSP word; generating an output offset signal (SfoL.sub.SP) by a second LSP Digital-to-Analog-Converter (DAC2.sub.LSP.sup.L), wherein Sfo.sub.LSP.sup.L signal is proportional to a second LSP reference signal (Sr2.sub.LSP), and is responsive to the Di.sub.LSP word; and combining the So1.sub.LSP.sup.L signal and the Sfo.sub.LSP.sup.L signal to generate the So.sub.LSP.sup.L signal. Further aspects of the non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method further comprising: receiving the Di.sub.LSP word and the Di.sub.MSP word into a linearly meshed digital-input to analog-output multiplier (mDiSo.sub.LSP.sup.L) to generate an output signal (So1.sub.LSP.sup.L) that is proportional to a first LSP reference signal (Sr1.sub.LSP); generating an output offset signal (Sfo.sub.LSP.sup.L) by a second LSP Digital-to-Analog-Converter (DAC2.sub.LSP.sup.L) that is proportional to a second LSP reference signal (Sr2.sub.LSP), and is responsive to the Di.sub.LSP word; and combining So1.sub.LSP.sup.L signal and the Sfo.sub.LSP.sup.L signal to generated the So.sub.LSP.sup.L signal. Further aspects of the non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method further comprising: generating at least one So.sub.MPS.sup.N by at least one non-linear MSP Digital-to-Analog Converter (DAC.sub.MSP.sup.N); generating at least one So.sub.LPS.sup.L by at least one linear LSP Digital-to-Analog Converter (DAC.sub.LSP.sup.L); generating at least one So.sub.N signal that is proportional to the reference signal (S.sub.R), wherein the at least one So.sub.N signal is responsive to at least one D.sub.i word; wherein the reference network of each of the DAC.sub.MSP.sup.N is comprised of a sequence of non-linearly scaled MSP reference signals (Sr.sub.MSP.sup.N) that are proportional to the Sr.sub.MSP signal; wherein the reference network of each of the DAC.sub.LSP.sup.L is comprised of a sequence of scaled LSP reference signals (Sr.sub.LSP.sup.L) that are proportional to the Sr.sub.LSP signal; wherein each of the sequence of Sr.sub.MSP.sup.N signals is at least one of squarely weighted, logarithmically weighted, non-linearly weighted, and individually weighted; wherein each of the sequence of Sr.sub.LSP.sup.L signals is at least one of binary weighted, linearly weighted, and individually weighted; and wherein each of the sequence of Sr.sub.MSP.sup.N signals and each of the sequence of Sr.sub.LSP.sup.L signals are biased from a common reference bias network (RBN). Further aspects of the non-linear digital-to-analog conversion (NDAC) method in an integrated circuit, the method further comprising: wherein a plurality of the at least one So.sub.N signal has a square profile; wherein a p-channel So.sub.N signal, of the plurality of So.sub.N signals, is responsive to a p-channel D word; wherein a q-channel So.sub.N signal, of the plurality of So.sub.N signals, is responsive to a q-channel D word; wherein the p-channel So.sub.N and the q-channel So.sub.N signals are subtracted from one another to generate a scaled So.sub.xy signal; wherein the p-channel D word is comprised of a scaled X digital word and a scaled Y digital word that are added to one another; wherein the q-channel D word is comprised of a scaled Y digital word and a scaled Y digital word that are subtracted from one another; and wherein the scaled So.sub.xy signal is proportional to the SR, and is an analog representation of a scaled multiplication product of the scaled X digital word and the scaled Y digital word.
(65) Another aspect of the present disclosure is a non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system comprising: a first non-linear Digital-to-Analog-Converter (DAC.sub.QM), the DAC.sub.QM including a digital input port (D.sub.QM), an analog output port (Ao.sub.QM), and an analog reference input port (Ar.sub.QM); a first linear Digital-to-Analog-Converter (DAC.sub.1L), the DAC.sub.1L having a digital input port (D.sub.1L), an analog output port (Ao.sub.1L), and an analog reference input port (Ar.sub.1L); a second linear Digital-to-Analog-Converter (DAC.sub.2L), the DAC.sub.2L having a digital input port (D.sub.2L), an analog output port (Ao.sub.2L), and an analog reference input port (Ar.sub.2L); a digital input word (D) comprised of a Most-Significant-Bits (MSB)s bank word (DMSP), and a Least-Significant-Bits (LSB)s bank word (D.sub.LSP); a digital multiplier (X.sub.ML), the XML having an M input digital word port (M), an N input digital word port (N), and an output digital word port (M×N); the M port coupled to the D.sub.MSP bank word; the N port coupled to the D.sub.LSP bank word; the D.sub.1L port coupled to the output digital word port M×N; the D.sub.2L port coupled to the digital word N port; the DQM port coupled to the digital word M port; wherein a first reference signal (Sr.sub.QM) is coupled to the Ar.sub.QM port; wherein a second reference signal (Sr.sub.1L) is coupled to the Ar.sub.1L port; wherein a third reference signal (Sr.sub.2L) is coupled to the Ar.sub.2L port; wherein a sum of signals at the Ao.sub.1L and Ao.sub.2L ports is a straight-line approximation between non-linear segments of a signal at the Ao.sub.QM port; wherein a sum of signals at the Ao.sub.QM, Ao.sub.1L, and Ao.sub.2L ports generates a non-linear analog output signal (So.sub.N) at an analog output port Ao.sub.N; wherein an analog reference signal (S.sub.R) is proportionally scaled to an Sr.sub.QM, the Sr.sub.1L, and the Sr.sub.2L signals; wherein a sequence of non linear reference signals (Sr.sub.MSP), which form a transfer function of the DAC.sub.QM, are proportional to the S.sub.R signal; wherein the sequence of Sr.sub.MSP signals are at least one of squarely weighted, logarithmically weighted, non-linearly weighted, and individually weighted; wherein a sequence of linear reference signals (SrL.sub.SP), which form a transfer function of the DAC.sub.1L and DAC.sub.2L, are proportional to the S.sub.R signal; wherein the sequence of Sr.sub.LSP signals are at least one of binary weighted, linearly weighted, and individually weighted; and wherein the So.sub.N signal substantially follows one of a square, logarithmic, and non-linear profile, is proportional to the S.sub.R signal, and responsive to the D word. Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: wherein the sequence of Sr.sub.MSP.sup.N signals, and the sequence of Sr.sub.LSP.sup.L signals, are biased from a common reference bias network (RBN). Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: a plurality of So.sub.N signals having a square profile; wherein a p-channel So.sub.N signal, of the plurality of So.sub.N signals, is responsive to a p-channel D word; wherein a q-channel So.sub.N signal, of the plurality of So.sub.N signals, is responsive to a q-channel D word; wherein the p-channel So.sub.N and the q-channel So.sub.N signals are subtracted from one another to generate a scaled So.sub.xy signal; wherein the p-channel D word is comprised of a scaled X digital word and a scaled Y digital word that are added to one another; wherein the q-channel D word is comprised of a scaled Y digital word and a scaled Y digital word that are subtracted from one another; and wherein the scaled So.sub.xy signal is proportional to the S.sub.R, and is an analog representation of a scaled multiplication product of the scaled X digital word and the scaled Y digital word. Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: the Ao.sub.QM port, Ao.sub.1L port, and Ao.sub.2L port are coupled to an output port Ao.sub.Q; and wherein the DAC.sub.QM, DAC.sub.1L, and DAC.sub.2L operate in current mode.
(66) Another aspect of the present disclosure is a non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system comprising: a first non-linear digital-to-analog-converter (DAC.sub.QM), the DAC.sub.QM having a digital input port (D.sub.QM), an analog output port (Ao.sub.QM), and an analog reference input port (Ar.sub.QM); a first linear digital-to-analog-converter (DAC.sub.1L), the DAC.sub.1L having a digital input port (D.sub.1L), an analog output port (Ao.sub.1L), and an analog reference input port (Ar.sub.1z); a second linear digital-to-analog-converter (DAC.sub.2L), the DAC.sub.2L having a digital input port (D.sub.2L), an analog output port (Ao.sub.2L), and an analog reference input port (Ar.sub.2L); a digital input word (D) comprised of a Most-Significant-Bits (MSB)s bank word (D.sub.MSP) and a Least-Significant-Bits (LSB)s bank word (D.sub.LSP); an MSB bank port (M) coupled to the D.sub.MSP word; an LSB bank port (N) coupled to the D.sub.LSP word; the D.sub.1L port coupled to the M port; the D.sub.2L port coupled to the N port; the DQM port coupled to the M port; wherein a first reference signal (Sr.sub.QM) is coupled to the Ar.sub.QM port; wherein a second reference signal (Sr.sub.1L) is coupled to the Ar.sub.1L port; wherein a signal at the Ao.sub.1L port (So.sub.n) is combined with a third reference offset signal (Sfr.sub.2L) and combination of which is coupled to the Ar.sub.2L port; wherein a signal at the Ao.sub.2L port is a straight-line approximation between non-linear segments of a signal at the Ao.sub.QM port; wherein a sum of signals at the Ao.sub.QM and the Ao.sub.2L ports generates a non-linear analog output signal (So.sub.N) at an analog output port Ao.sub.N; wherein an analog reference signal (S.sub.r) is proportionally scaled to the Sr.sub.QM, the Sr.sub.1L, and the Sr.sub.2L signals; wherein a sequence of non-linear reference signals (Sr.sub.MSP.sup.N), which form the transfer function of the DAC.sub.QM, are proportional to the S.sub.R signal; wherein the sequence of Sr.sub.MSP.sup.N signals are at least one of squarely weighted, logarithmically weighted, non-linearly weighted, and individually weighted; wherein the sequence of linear reference signals (Sr.sub.LSP.sup.L), which form the transfer function of the DAC.sub.1L are proportional to the S.sub.R signal; wherein the sequence of Sr.sub.LSP.sup.L signals are at least one of binary weighted, linearly weighted, and individually weighted; and wherein the SO.sub.N signal substantially follows one of a square, logarithmic, and non-linear profile, is proportional to the S.sub.R signal, and responsive to the D word. Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: wherein each of the sequence of Sr.sub.MSP.sup.N signals, and each of the sequence of Sr1.sub.LSP.sup.L signals are biased from a common reference bias network (RBN). Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising a plurality of SO.sub.N signals having a square profile; wherein a p-channel SO.sub.N signal, of the plurality of SO.sub.N signals, is responsive to a p-channel D word; wherein a q-channel SO.sub.N signal, of the plurality of SO.sub.N signals, is responsive to a q-channel D word; wherein the p-channel SO.sub.N and the q-channel SO.sub.N signals are subtracted from one another to generate a scaled So.sub.xy signal; wherein the p-channel D word is comprised of a scaled X digital word and a scaled Y digital word that are added to one another; wherein the q-channel D word is comprised of a scaled Y digital word and a scaled Y digital word that are subtracted from one another; and wherein the scaled So.sub.xy signal is proportional to the S.sub.R and is an analog representation of a scaled multiplication product of the scaled X digital word and the scaled Y digital word.
(67) Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: the Ao.sub.QM port and Ao.sub.2L port are coupled to an output port AO.sub.Q; and wherein the DAC.sub.QM, DAC.sub.1L, and DAC.sub.2L operate in current mode.
(68) Another aspect of the present disclosure is a non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system comprising: a first non-linear Digital-to-Analog-Converter (DAC.sub.QM), the DAC.sub.QM having a digital input port (D.sub.QM), an analog output port (Ao.sub.QM), and an analog reference input port (Ar.sub.QM); a first linear Digital-to-Analog-Converter (DAC.sub.1L), the DAC.sub.1L having a digital input port (D.sub.1L), an analog output port (Ao.sub.1L), and an analog reference input port (Ar.sub.1L); a linearly meshed digital-input to analog-output multiplier (mDiSO.sub.LSP.sup.L), the mDiSo.sub.LSP.sup.L having an M digital input port (M) and a N digital port (N), an analog output port (Ao.sub.2L), and an analog reference input port (Ar.sub.2L); a digital input word (D) comprised of a Most-Significant-Bits (MSB)s bank word (D.sub.MSP) and a Least-Significant-Bits (LSB)s bank word (D.sub.LSP); the M port coupled to the D.sub.MSP word; the N port coupled to the D.sub.LSP word; the D.sub.1L port coupled to the N port; the D.sub.QM port coupled to the M port; wherein a first reference signal (Sr.sub.QM) is coupled to the Ar.sub.QM port; wherein a second reference signal (Sr.sub.1L) is coupled to the Ar.sub.1L port; wherein a third reference signal (Sr.sub.2L) is coupled to the Ar.sub.2L port; wherein a sum of signals at the Ao.sub.1L and Ao.sub.2L ports is a straight-line approximation between non-linear segments of a signal at the Ao.sub.QM port; wherein a sum of signals at the Ao.sub.QM, Ao.sub.1L, and Ao.sub.2L ports generates a non linear analog output signal (So.sub.N) at an analog output port Ao.sub.N; wherein an analog reference signal (S.sub.R) is proportionally scaled to the Sr.sub.QM, the Sr.sub.1L, and the Sr.sub.2L signals; wherein a sequence of non-linear reference signals (SrM.sub.sP), which form the transfer function of the DAC.sub.QM, are proportional to the S.sub.R signal, wherein the sequence of Sr.sub.MSP.sup.L signals are at least one of squarely weighted, logarithmically weighted, non-linearly weighted, and individually weighted; wherein the sequence of linear reference signals (Sr.sub.LSP.sup.L), which form the transfer functions of the DAC.sub.1L and the mDiSo.sub.LSP.sup.L, are proportional to the S.sub.R signal; wherein the sequence of Sr.sub.LSP.sup.L signals are at least one of binary weighted, linearly weighted, and individually weighted; wherein the So.sub.N signal substantially follows one of a square, logarithmic, and non-linear profile, is proportional to the SR signal, and responsive to the D word. Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated, the system further comprising: wherein each of the sequence of Sr.sub.MSP.sup.N signals, each of the sequence of Sr1.sub.LSP.sup.L signals, and each of the sequence of Sr2.sub.LSP.sup.L signals are biased from a common reference bias network (RBN). Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: a plurality of So.sub.N signals having a square profile; wherein a p-channel So.sub.N signal, of the plurality of So.sub.N signals, is responsive to a p-channel D word; wherein a q-channel So.sub.N signal, of the plurality of So.sub.N signals, is responsive to a q-channel D word; wherein the p-channel So.sub.N and the q-channel So.sub.N signals are subtracted from one another to generate a scaled So.sub.xy signal; wherein the p-channel D word is comprised of a scaled X digital word and a scaled Y digital word that are added to one another; wherein the q-channel D word is comprised of a scaled Y digital word and a scaled Y digital word that are subtracted from one another; and wherein the scaled So.sub.xy signal is proportional to the SR, and is an analog representation of a scaled multiplication product of the scaled X digital word and the scaled Y digital word. Further aspects of the non-linear digital-to-analog converter (NDAC) system in an integrated circuit, the system further comprising: the Ao.sub.QM port, Ao.sub.1L port, and Ao.sub.2L port are coupled to an output port Ao.sub.Q; and wherein the DAC.sub.QM, DAC.sub.1L, and DAC.sub.2L operate in current mode.
(69) Another aspect of the present disclosure is a multiple channel current-mode data converter method in an integrated circuit, the method comprising: generating a sequence of reference bias current signals (Si.sub.Rb) from a reference bias network (RBN); mirroring the sequence of Si.sub.Rb signals from the RBN into at least one iDC; wherein the scaling of the mirroring of the sequence of Si.sub.Rb signals from the RBN into at least one iDC, is individually scaled; wherein the sequence of Si.sub.Rb signals from the RBN is weighted at least equally, binarily, non-linearly, and individually; wherein each Si.sub.Rb signal from the sequence of Si.sub.Rb signals from the RBN is scaled proportionately to a reference current signal (S.sub.R); wherein each Si.sub.Rb signal from the sequence of Si.sub.Rb signals from the RBN is mirrored from the S.sub.R signal; wherein the sequence of Si.sub.Rb signals, from the RBN in the at least one iDC, program the reference current network of the at least one iDC, which establishes the input-to-output transfer function of the at least one iDC; wherein the at least one iDC is at least one of current-mode Digital-to-Analog-Converter (iDAC) and current-mode Analog-to-Digital-Converter (iADC); wherein if the at least one iDC includes an iDAC, then the analog output current signal of each iDAC is proportional to the S.sub.R signal received by that iDAC, and responsive to a digital input word received by that iDAC; and wherein if the at least one iDC includes an iADC, then a digital output word of each iADC is responsive to the analog input current signal of that iADC and proportional to the S.sub.R signal received by that iADC. Further aspects of the multiple channel current-mode data converter method in an integrated circuit, the method further comprising: regulating the S.sub.R signal from the RBN; wherein the analog ports of the at least one iDC substantially track power supply voltage variations; and wherein if the at least one iDC includes an iDAC, then the analog output current signal of each iDAC is substantially desensitized with respect to power supply variations; and wherein if the at least one iDC includes an iADC, then a digital output word of each iADC is substantially desensitized with respect to power supply variations. Further aspects of the multiple channel current-mode data converter method in an integrated circuit, the method further comprising: wherein if the at least one iDC includes an iDAC: generating at least one pair of current output signals (S.sub.X and S.sub.Y) from at least one pair of iDACs (iDAC.sub.X, and iDAC.sub.Y), that are proportional to the S.sub.R signal, and responsive to the respective digital input words (D.sub.X and D.sub.Y) of the at least one pair of iDACs; receiving the at least one pair of S.sub.X and S.sub.Y signals, respectively, into current input ports A.sub.mX and A.sub.mY of at least one analog current multiplier (iMULT); receiving at least one Si.sub.Rb signal from the sequence Si.sub.Rb signals from the RBN into a reference current input port (A.sub.mR) of the at least one iMULT; and wherein an input-output transfer function of the at least one iMULT follows the relationship S.sub.Y/S.sub.R=S.sub.O/S.sub.X, and wherein S.sub.O signal is at least one output current signal of the at least one iMULT. Further aspects of the multiple channel current-mode data converter method in an integrated circuit, the method further comprising: wherein at least one of S.sub.R, S.sub.Y, S.sub.X, and S.sub.O signals are generated without cascode. Further aspects of the multiple channel current-mode data converter method in an integrated circuit, the method further comprising: wherein the respective voltages at A.sub.mR and A.sub.mY ports track power supply voltage variations in substantial proportion to one another; wherein the respective voltages at A.sub.mX and A.sub.mO ports track power supply voltage variations in substantial proportion to one another; and wherein the at least one S.sub.O signal of the at least one iMULT is substantially insensitive to power supply voltage variations. Further aspects of the multiple channel current-mode data converter method in an integrated circuit, the method further comprising: wherein if the at least one iDC includes an iDAC: wherein the sequence of Si.sub.Rb signals from the RBN is weighted squarely; summing at least one pair of digital input words (D.sub.x and D.sub.y) together to generate at least a scaled D.sub.x+y digital word; subtracting the at least one pair of digital input words D.sub.x and D.sub.y from one another to generate at least one scaled D.sub.x−y digital word; receiving at least one pair of scaled digital input words (D.sub.x+y and D.sub.x−y) respectively into each of at least one pair of iDACs (iDAC.sub.(x+y).sub.
(70) Another aspect of the present disclosure is a power supply desensitization method in a current-mode digital-to-analog converter (iDAC) in an integrated circuit, the method comprising: receiving a digital input word (D.sub.X) into a x-channel iDAC (iDAC.sub.X) having an analog output current signal (S.sub.X), and a reference input signal (S.sub.RX), wherein the iDAC.sub.X is without cascodes; receiving a digital input word (D.sub.Y) into a y-channel iDAC (iDAC.sub.Y) having an analog output current signal (S.sub.Y), and a reference input signal (S.sub.RY), wherein the iDAC is without cascodes; receiving the S.sub.X signal into an input port of a power supply desensitization (PSR) circuit; regulating and generating the S.sub.RY reference input signal at an output port of the PSR circuit, wherein the S.sub.Y signal is desensitized from power supply variations; and generating a multiplicand output current (S.sub.iMULT) at the S.sub.Y signal, wherein the S.sub.iMULT signal is an analog representation of the product of the D.sub.X and D.sub.Y digital words.
(71) Another aspect of the present disclosure is a multiple channel current-mode data converter system in an integrated circuit, the method comprising: a Metal-Oxide-Semiconductor-Field-Effect-Transistors (MOSFET)s each having a gate-port, a drain-port, and a source port, and each having a scale (W/L); a sequence of diode-connected MOSFETs, wherein the gate port and the drain port of each MOSFET in the sequence of the MOSFET are coupled together and coupled to a sequence of gate-drain ports; at least one current-mode Data-Converter (iDC), whose input-output transfer function profiles is programmed by a network of current reference signals of the at least one iDC, wherein the network of current reference signals of the at least one iDC is the network of sequence of signals at a sequence of drain ports of a sequence of mirroring MOSFETs; the sequence of gate-drain ports of the sequence of diode-connected MOSFETs coupled to a sequence of gate ports of the mirroring MOSFETs; wherein each S.sub.sR signal in a sequence of S.sub.sR signals is proportional to a current reference signal (S.sub.R); wherein the sequence of S.sub.sR signals is coupled to the respective sequence of gate-drain ports of sequence of diode-connected MOSFETs; wherein the sequence of scaled S.sub.sR signals are scaled at least one of equally weighted currents, binarily weighted currents, non-linear weighted, and individually weighted currents; wherein the W/L scale of each MOSFET is programmed individually; wherein the iDC is at least one of current-mode Digital-to-Analog-Converter (iDAC) and current-mode Analog-to-Digital-Converter (iADC); wherein if the at least one iDC includes an iDAC, then the analog output current signal of each iDAC is proportional to the S.sub.R signal received by that iDAC, and responsive to a digital input word received by that iDAC; and wherein if the at least one iDC includes an iADC, then a digital output word of each iADC is responsive to the analog input current signal of that iADC and proportional to the S.sub.R signal received by that iADC.
(72) Another aspect of the present disclosure is a multiple channel current-mode data converter system in an integrated circuit, the system comprising: a sequence of current mirrors (iCM), each iCM having a current mirror input port (Ai.sub.iCM) for receiving a sequence of scaled reference current signals S.sub.R, a current mirror output port (Ao.sub.iCM), and an input-to-output gain factor (G.sub.iCM); a current mode data converter (iDC) having a sequence of reference input ports (Ar.sub.iDC); the Ao.sub.iCM port of each of the sequence of iCMs coupled to the respective Ar.sub.iDC port of the sequence of Ar.sub.iDC ports of the iDC; wherein each scaled reference current S.sub.R of a sequence of scaled S.sub.R signals is coupled respectively to the Ai.sub.iCM port of each iCM of the sequence of iCMs; wherein the G.sub.iCM of each iCM of the sequence of iCM is programmed individually; wherein the iDC is at least one of current-mode Digital-to-Analog-Converter (iDAC), and current-mode Analog-to-Digital-Converter (iADC); wherein the sequence of scaled S.sub.R signals are scaled at least one of equally weighted currents, binarily weighted currents, non-linear weighted currents, and individually weighted currents; wherein if one or more iDC includes an iDAC, then the analog output current signal of each iDAC is proportional to the S.sub.R signal received by that iDAC, and responsive to a digital input word received by that iDAC; and wherein if one or more iDC includes an iADC, then a digital output word of each iADC is responsive to the analog input current signal of that iADC and proportional to the S.sub.R signal received by that iADC.
(73) Another aspect of the present disclosure is a multiple channel current-mode data converter system in an integrated circuit, the system comprising: a sequence of current mirrors (iCM), each iCM having a current mirror input port (Ai.sub.iCM) for receiving a sequence of scaled reference current signals (S.sub.R)s, a current mirror output port (Ao.sub.iCM), and an input-to-output gain factor (G.sub.iCM); one or more current mode data converters (iDC), each of the one or more iDCs having a sequence of reference input ports (Ar.sub.iDC); each of the one or more Ao.sub.iCM ports of each iCM of the sequence of iCMs respectively coupled to the Ar.sub.iDC port of the sequence of Ar.sub.iDC ports of the one or more iDCs; wherein each scaled S.sub.R signal of a sequence of scaled S.sub.R signals is coupled respectively to the Ai.sub.iCM port of each iCM of the sequence of iCMs; wherein the G.sub.iCM of each iCM of the sequence of iCMs is programmed individually; wherein the one or more iDCs is at least one of a current-mode Digital-to-Analog-Converter (iDAC), and a current-mode Analog-to-Digital-Converter (iADC); wherein the sequence of scaled S.sub.R signals are scaled at least one of equally weighted currents, binarily weighted currents, non-linear weighted currents, and individually weighted currents; wherein if one or more iDC includes an iDAC, then the analog output current signal of each iDAC is proportional to the S.sub.R signal received by that iDAC, and responsive to a digital input word received by that iDAC; and wherein if one or more iDC includes an iADC, then a digital output word of each iADC is responsive to the analog input current signal of that iADC and proportional to the S.sub.R signal received by that iADC.
(74) Another aspect of the present disclosure is a multiple channel current-mode data converter system in an integrated circuit, the system comprising: a sequence of Current-Controlled-Voltage-Sources (CCVS)s, each CCVS in the sequence of the CCVSs having an input current port (Ai.sub.ccvs) for receiving a sequence of scaled reference current signals (S.sub.R)s, an output port (Ao.sub.ccvs) for providing an output voltage signal (So.sub.ccvs), and an input-current to output-voltage gain factor (G.sub.ccvs); a plurality of current mode data converters (iDC); each iDC of the plurality of iDCs having a sequence of Voltage-Controlled-Current-Sources (VCCS)s; each VCCS of the sequence of VCCSs, in each iDC of the plurality of iDCs, having an input voltage port (Ai.sub.vccs), an output current port (Ao.sub.vccs) for providing an output current signal (So.sub.vccs), and an input-voltage to output-current gain factor (G.sub.vccs); each Ao.sub.ccvs port of the sequence of CCVSs, respectively coupled to each Ai.sub.vccs port of the sequence of VCCSs, in each iDC of the plurality of iDCs; wherein each scaled S.sub.R source of a sequence of scaled S.sub.R sources is coupled respectively to the Ai.sub.ccvs port of each CCVS of the sequence of CCVSs; wherein the sequence of VCCS in each iDC arranges the reference current network of each respective iDC which establishes the input-to-output transfer function of each respective iDC; wherein the G.sub.ccvs of each CCVS of the sequence of CCVSs is programmed individually; wherein the G.sub.vccs of each VCCS of the sequence of VVCSs in each iDC of the plurality of iDCs is programmed individually; wherein the one or more iDC of each iDC of the plurality of iDCs is at least one of a current-mode Digital-to-Analog-Converter (iDAC), and a current-mode Analog-to-Digital-Converter (iADC); wherein the sequence of scaled SR sources are scaled at least one of equally weighted currents, binarily weighted currents, non linear weighted currents, and individually weighted currents; wherein if one or more iDC includes an iDAC, then the analog output current signal of each iDAC is proportional to the S.sub.R signal received by that iDAC, and responsive to a digital input word received by that iDAC; and wherein if one or more iDC includes an iADC, then a digital output word of each iADC is responsive to the analog input current signal of that iADC and proportional to the S.sub.R signal received by that iADC.
(75) Another aspect of the present disclosure is a multiple channel current-mode data converter method in an integrated circuit, the method comprising: generating a sequence of reference bias current signals (Si.sub.Rb); receiving the sequence of Si.sub.Rb signals into a sequence of Current-Controlled-Voltage-Sources (CCVS)s to generate a sequence of reference bias voltage signals (SV.sub.Rb); receiving the sequence of SV.sub.Rb signals into at least one sequence of Voltage-Controlled-Current-Sources (VCCS) s in at least one current mode data converter (iDC), wherein the at least one sequence of VCCSs replicates the sequence of Si.sub.Rb signals; wherein the sequence of Si.sub.Rb signals is weighted at least one of equally, binarily, non-linearly, and individually, and wherein each S.sub.Rb signal is scaled proportionately to a reference current signal (S.sub.R); wherein the sequence of VCCS in the at least one iDC arranges the reference current network of each respective iDC which establishes the input-to-output transfer function of each respective iDC; wherein the at least one iDC is at least one of current-mode Digital-to-Analog-Converter (iDAC) and current-mode Analog-to-Digital-Converter (iADC); wherein the analog output current signal of the iDAC is proportional to S.sub.R signal and responsive to the digital input word of the iDAC;
(76) wherein the digital output word of the at least one iADC is responsive to the analog input current signal of the at least one iADC and proportional to the S.sub.R signal; wherein if the at least one iDC includes an iDAC, then the analog output current signal of each iDAC is proportional to the S.sub.R signal received by that iDAC, and responsive to a digital input word received by that iDAC; and wherein if the at least one iDC includes an iADC, then a digital output word of each iADC is responsive to the analog input current signal of that iADC and proportional to the SR signal received by that iADC.
(77) Another aspect of the present disclosure is a meshed multiplier system in an integrated circuit, the system comprising: a first digital input port having a of width of M bits of a first digital input word D.sub.X; a second digital input port having a width of N bits of a second digital input word D.sub.Y; a plurality of N scaled current source banks, each scaled current source bank uniquely corresponding to a bit of D.sub.Y; each of the N scaled current source banks comprising a plurality of M scaled current sources, each scaled current source having a corresponding first switch and a corresponding second switch, each current source uniquely corresponding to a bit of the first digital input word D.sub.X; each scaled current source in each scaled current source bank coupled to an input of its corresponding first switch, the first switch responsive to the bit of the first digital input word D.sub.X corresponding to the scaled current source; the first switch having an output coupled to an input of its corresponding second switch, the second switch responsive to the bit of the second digital input word D.sub.Y corresponding to the scaled current source bank; the second switch having an output coupled to an output node; wherein the N scaled current source banks, are at least one of binarily weighted, linearly weighted, and individually weighted; wherein the plurality of M scaled current sources in each scaled current source bank, are at least one of binarily weighted, linearly weighted, and individually weighted; and wherein M is less than 17, and N is less than 17. Further aspects of the meshed multiplier system in an integrated circuit, the system further comprising: wherein M and N are equal.
(78) Another aspect of the present disclosure is a meshed multiplier method in an integrated circuit, the method comprising: receiving a first digital input word D.sub.X of width of M bits, wherein M is less than 17; receiving a second digital input word D.sub.Y of width of N bits, wherein N is less than 17; activating one bank of N banks of M scaled current sources responsive to a bit of D.sub.Y corresponding to the one bank of N banks, thereby activating each of the M scaled current sources; receiving current into an output node from one of the activated M scaled current sources responsive to a corresponding bit of D.sub.X. Further aspects of the meshed multiplier system in an integrated circuit, the system further comprising: wherein M and N are equal.
(79) Another aspect of the present disclosure is a meshed digital-input to analog current-output multiplier system in an integrated circuit, the system comprising: a digital-input to analog-output multiplier (XD.sub.iI.sub.O) comprised of a Ao.sub.XY port, a first digital input port (D.sub.X) wherein the D.sub.X port is M-bit wide, a second digital input port (D.sub.Y) wherein the D.sub.Y port is N-bit wide, and a reference port for receiving a S.sub.Ru signal; the XD.sub.iI.sub.O comprising: a sequence of M meshed digital-input to analog current-output sub-multipliers (mD.sub.iI.sub.o), wherein each mD.sub.iI.sub.o is comprised of a first switch bank (iSW.sub.1.sup.B), a second switch bank (iSW.sub.2.sup.B), a current reference signals bank (S.sub.R.sup.B), and a first digital 1-bit wide port (B.sub.M); for each mD.sub.iI.sub.o, each iSW.sub.1.sup.B switch bank comprised of a sequence of N switches, wherein the N control-ports of the N switches coupled together, and coupled to a 1-bit wide B.sub.M port; for each mD.sub.iI.sub.o, each iSW.sub.2.sup.B switch bank comprised of a sequence of N switches, wherein the gate-ports respectively coupled to the D.sub.Y port. for each mD.sub.iI.sub.o, the output ports of the first sequence of N switches of the iSW.sub.1.sup.B switch bank coupled to the input ports of the second sequence of N switches of the iSW.sub.2.sup.B switch bank; for each mD.sub.iI.sub.o, each S.sub.R.sup.B signal bank comprised of a sequence of N current reference signal ports (A.sub.R) for receiving sequence of N scaled current reference signals (S.sub.R), wherein the sequence of N scaled S.sub.R signals is at least one of binarily weighted, linearly weighted, and individually weighted, and wherein each scaled S.sub.R signal is proportional to the S.sub.Ru signal; for each mD.sub.iI.sub.o, the sequence of N scaled S.sub.R sources of the S.sub.R.sup.B signal banks coupled respectively to the sequence of N input ports of the iSW.sub.1.sup.B switch bank; for each mD.sub.iI.sub.o, the sequence of N output ports of the iSW.sub.2.sup.B switch bank coupled to the Ao.sub.XY port; for each mD.sub.iI.sub.o, the sequence of M 1-bit wide B.sub.M ports coupled to the respective M-bit wide D.sub.X ports; wherein for each mD.sub.iI.sub.o, a sum of the sequence of N of scaled S.sub.R sources of the S.sub.R.sub.
(80) Further aspects of the meshed digital-input to analog current-output multiplier system in an integrated circuit, the system further comprising: a plurality of the XD.sub.iI.sub.O; the Ao.sub.XY port from each of the plurality of XD.sub.iI.sub.Os coupled to an Ao.sub.MAC port; wherein a signal through the Ao.sub.MAc port is a multiply-accumulate current signal (So.sub.MAC), wherein the So.sub.MAC signal is a summation of signals through the plurality of Ao.sub.XY ports; and wherein the So.sub.MAC is proportional to the S.sub.Ru source and responsive to a plurality of digital words that are the multiplication product of pairs of digital words inputted to a plurality of pairs of D.sub.X and D.sub.Y ports. Further aspects of the meshed digital-input to analog current-output multiplier system in an integrated circuit, the system further comprising: a bias current-mode Digital-to-Analog-Converter (iDAC) for generating a bias current signal (S.sub.B), the bias current signal (S.sub.B) coupled to the So.sub.MAC signal to generate a biased multiply-accumulate current signal (So.sub.BMAC), wherein the So.sub.BMAC signal is the summation of the So.sub.MAC signal and the S.sub.B signal. Further aspects of the meshed digital-input to analog current-output multiplier system in an integrated circuit, the system further comprising: a current-mode Analog-to-Digital Converter (iADC) for digitizing the So.sub.BMAC signal to generate a Do.sub.BMAC word that is a digital representation of the So.sub.BMAC signal. Further aspects of the meshed digital-input to analog current-output multiplier system in an integrated circuit, the system further comprising: each scaled S.sub.R source, of the sequence of N scaled S.sub.R sources of each of the S.sub.R.sup.B signal bank of each mD.sub.iI.sub.o, is biased from a common reference bias network (RBN). Further aspects of the meshed digital-input to analog current-output multiplier system in an integrated circuit, the system further comprising: a Metal-Oxide-Semiconductor-Field-Effect-Transistors (MOSFET)s each having a gate-port, a drain-port, and a source port, and each having a scale (W/L); and each switch, of the iSWB.sub.1.sup.B switch bank of each mD.sub.iI.sub.o, is a MOSFET wherein the input of the switch is the source-port of the MOSFET, the output of the switch is the drain-port of the MOSFET, and the control port of the switch is the gate-port of the MOSFET.
(81) Another aspect of the present disclosure is a meshed digital-input to analog current-output multiplier system in an integrated circuit, the system comprising: a digital-input to analog-output multiplier (XD.sub.iI.sub.O) comprised of a Ao.sub.XY port, a first digital input port (D.sub.X) wherein the D.sub.X port is w-bit wide, a second digital input port (D.sub.Y) wherein the D.sub.Y port is z-bit wide, and a reference input port for receiving a S.sub.Ru signal; the XD.sub.iI.sub.O comprising: a plurality of Metal-Oxide-Semiconductor-Field-Effect-Transistors (MOSFET)s, each having a gate-port, a drain-port, and a source port, and each having a scale (W/L); a sequence of M meshed digital-input to analog current-output sub-multipliers (mD.sub.iI.sub.o), wherein each mD.sub.iI.sub.o is comprised of a first MOSFET bank (M.sub.1.sup.B), a second MOSFET bank (M.sub.2.sup.B), a current reference signals bank (S.sub.R.sup.B), and a first digital 1-bit wide port (B.sub.W); for each mD.sub.iI.sub.o, each MB comprised of a sequence of z MOSFETs, the gate-ports of the z MOSFETs coupled together, and coupled to a 1-bit wide B.sub.M port; for each mD.sub.iI.sub.o, each M.sub.2.sup.B comprised of a sequence of z MOSFETs, the gate-ports respectively coupled to the D.sub.Y port; for each mD.sub.iI.sub.o, the drain ports of the first sequence of z MOSFETs coupled to the source ports of the second sequence of z MOSFETs; for each mD.sub.iI.sub.o, each S.sub.R.sup.B signal bank comprised of a sequence of z current reference signal ports (A.sub.R) for receiving z sequence of scaled current reference signals (S.sub.R), wherein the sequence of z scaled S.sub.R signals is at least one of binarily weighted, linearly weighted, and individually weighted, and wherein each scaled S.sub.R signal is proportional to the S.sub.Ru signal; for each mD.sub.iI.sub.o, the sequence of z scaled S.sub.R sources of the S.sub.R.sup.B signal banks coupled respectively to the sequence of z input ports of the MB switch bank; for each mD.sub.iI.sub.o, the sequence of z output ports of the M.sub.2.sup.B switch bank coupled to the Ao.sub.XY port; for each mD.sub.iI.sub.o, the sequence of w 1-bit wide B.sub.W, ports coupled to the respective w-bit D.sub.X ports; wherein for each mD.sub.iI.sub.o, a sum of the sequence of z of scaled S.sub.R sources of the S.sub.R.sup.B banks is at least one of binarily weighted, linearly weighted, and individually weighted; and wherein the XD.sub.iI.sub.O generates an analog multiplicand signal at the Ao.sub.XY port, that is proportional to the S.sub.Ru, signal, and responsive to the multiplication product of digital words at the D.sub.X and the D.sub.Y ports.
(82) Another aspect of the present disclosure is an approximate non-linear digital data-conversion (aNDC) method in an integrated circuit, the method comprising: wherein an at least one input digital word (Z) comprised of an at least one Most-Significant-Bits (MSB) portion digital word (Z.sub.MSP) and an at least one Least-Significant-Bits (LSB) portion digital word (Z.sub.LSP); generating an at least one square digital word (Z.sub.MPS.sup.2) from the at least one Z.sub.MSP digital word, wherein the relationship between the at least one Z.sub.MSP digital word and the at least one Zips digital word follows a square profile; multiplying the at least one Z.sub.LSP digital word and the at least one Z.sub.MSP digital words to generate an at least one multiplicand digital word (Z.sub.MSP×Z.sub.LSP); scaling the at least one Z.sub.MSP×Z.sub.LSP digital word by an at least one first binary scale factor (s.sub.L) to generate an at least one scaled multiplicand digital word (s.sub.L×Z.sub.MSP×Z.sub.LSP); generating an at least one offset digital word (Z.sub.OFS) proportional to the at least one Z.sub.LSP digital word; scaling the at least one Z.sub.OFS digital word by an at least one second binary scale factor (s.sub.O) to generate an at least one scaled offset digital word (s.sub.o×Z.sub.OFS); and generating an at least one approximate square digital word (˜Z.sup.2) by combining together the at least one Z.sub.MPS.sup.2 digital word, the at least one s.sub.L×Z.sub.MSP×Z.sub.LSP digital word, and the at least one s.sub.o×Z.sub.OFS digital word, wherein the relationship between the at least one ˜Z.sup.2 digital word and the at least one Z digital word follows an approximate square profile. Further aspects of the approximate non-linear digital data-conversion (aNDC) method in an integrated circuit, the method further comprising: generating an at least one summing absolute value digital word (|Z.sub.s|), wherein the at least one Z.sub.s digital word is an at least one summation of an at least two digital words (X+Y); generating an at least one deducting absolute value digital word (|Z.sub.d|), wherein the at least one Z.sub.d digital word is an at least subtraction of an at least two digital words (X−Y); generating an at least one summing approximate square digital word (˜|Z.sub.s|.sup.2) wherein the relationship between the at least one ˜|Z.sub.s|2 digital word and the at least one |Z.sub.s| digital word follows the approximate square profile; and generating an at least one deducting approximate square digital word (˜|Z.sub.d|.sup.2) wherein the relationship between the at least one ˜|Z.sub.d 1.sup.2 digital word and the at least one |Z.sub.d| digital word follows the approximate square profile. Further aspects of the approximate non-linear digital data-conversion (aNDC) method in an integrated circuit, the method further comprising: generating an at least one approximate multiplicand digital word (˜4X×Y) by subtracting the at least one ˜|Z.sub.d|.sup.2 digital word from the at least one ˜|Z.sub.s|.sup.2 digital word; and inputting the at least one ˜4X×Y digital word into an at least one Digital-to-Analog Converter (DAC) to generate an at least one approximate multiplicand analog signal (˜4x′×y′). Further aspects of the approximate non-linear digital data-conversion (aNDC) method in an integrated circuit, the method further comprising: inputting the at least one ˜|Z.sub.s|.sup.2 digital word into an at least one subtracting Digital-to-Analog Converter (DAC.sub.s) to generate an at least one subtracting approximate square analog signal (˜|z′.sub.s|.sup.2; inputting the at least one ˜|Z.sub.d|.sup.2 digital word into an at least one deducting Digital-to-Analog Converter (DAC.sub.d) to generate an at least one deducting approximate square analog signal (˜|z′.sub.d|.sup.2; and generating an at least one approximate multiplicand analog signal (˜4x′×y′) by subtracting the at least one ˜|z′.sub.d|.sup.2 analog signal from the at least one ˜|z′.sub.s|.sup.2 analog signal. Further aspects of the approximate non-linear digital data-conversion (aNDC) method in an integrated circuit of claim 3, the method further comprising: generating an at least one plurality of approximate ˜4x′×y′ analog signals; generating an at least one approximate multiply-accumulate analog signal (˜Σ4x′×y′) by combining the at least one plurality of approximate ˜4x′×y′ analog signals; generating an at least one offset analog signal (b′) by inputting an at least one offset digital word (B) onto an at least one offset Digital-to-Analog Converter (DAC.sub.OFS); generating an at least one offsetting approximate ˜Σ4x′×y′ analog signal (˜Σ4x′×y′+b′) by combining the at least one approximate ˜Σ4x′×y′ analog signal with the at least one b′ analog signal; and generating an at least one offsetting approximate multiply-accumulate digital word (˜Σ4X×Y+B) by inputting the at least one approximate ˜Σ4x′×y′+b′ analog signal onto an at least one Analog-to-Digital Converter, wherein the at least one approximate ˜Σ4X×Y+B digital word is responsive to the at least one approximate ˜Σ4x′×y′+b′ analog signal. Further aspects of the approximate non-linear digital data-conversion (aNDC) method in an integrated circuit, the method further comprising: combining an at least one plurality of the ˜Σ4X×Y+B digital word to arrange an at least one artificial neural network (ANN)
(83) Another aspect of the present disclosure is a current mode multiply accumulate method in an integrated circuit, the method comprising: multiplying an at least one X digital word by an at least one Y digital word to generate an at least one multiplicand digital word (X×Y); inputting the at least one X×Y digital word onto an at least one current-mode Digital-Analog-Converter to generate an at least one multiplicand analog current signal (x′×y′); generating an at least one offset analog current signal (b′) by inputting an at least one offset digital word (B) onto an at least one offset current-mode Digital-to-Analog Converter (DAC.sub.OFS); generating an at least one offsetting multiply-accumulate current signal (Si.sub.MAC) by summing the at least one x′×y′ analog current signal with the at least one b′ analog current signal; and generating an at least one offsetting multiply-accumulate digital word (Sd.sub.MAC) by inputting the at least one Si.sub.MAC analog signal onto an at least one current-mode Analog-to-Digital-Converter, wherein the at least one Sd.sub.MAC digital word is responsive to the at least one Si.sub.MAC analog current signal. Further aspects of the current mode multiply accumulate method in an integrated circuit, the method further comprising: wherein multiplying the at least one X digital word by the at least one Y digital word to generate the at least one multiplicand digital word (X×Y) further comprises; summing the at least one X and the at least one Y digital words to generate an at least one X+Y digital word (Z.sub.s); subtracting the at least one Y and from the at least one X digital words to generate an at least one X−Y digital word (Z.sub.d); generating an at least one summing absolute value digital word |Z.sub.s| wherein the at least one |Z.sub.s 1 digital word is the absolute value of the at least one Z.sub.s digital word; generating an at least one deducting absolute value digital word |Z.sub.d| wherein the at least one |Z.sub.d| digital word is the absolute value of the at least one Z.sub.d digital word; generating an at least one summing square digital word (|Z.sub.s|.sup.2) wherein the at least one |Z.sub.s|.sup.2 digital word is the at least one square of |Z.sub.s| digital word; generating an at least one deducting square digital word (|Z.sub.d|.sup.2) wherein the at least one |Z.sub.d|.sup.2 digital word is the at least one square of |Z.sub.d| digital word; generating an at least one 4×X×Y digital word by subtracting the at least one |Z.sub.d|.sup.2 word from the at least one |Z.sub.s|.sup.2; and generating the at least one at least one aX×Y digital word by scaling the at least one 4×X×Y digital word. Further aspects of the current mode multiply accumulate method in an integrated circuit, the method further comprising: wherein generating at least one of the at least one summing square digital word |Z.sub.s|.sup.2 and the at least one deducting square digital word |Z.sub.d 1.sup.2 to approximate a square value digital word (˜Z.sup.2) further comprises: wherein an input digital word (Z) comprised of a Most-Significant-Bits (MSB) portion digital word (Z.sub.MSP) and a Least-Significant-Bits (LSB) portion digital word (Z.sub.LSP); generating a square digital word (Z.sub.MPS.sup.2) from the Z.sub.MSP digital word, wherein the relationship between the Z.sub.MSP digital word and the Z.sub.MPS.sup.2 digital word follows a square profile; multiplying the Z.sub.LSP digital word and the Z.sub.MSP digital words to generate a multiplicand digital word (Z.sub.MSP×Z.sub.LSP); scaling the Z.sub.MSP×Z.sub.LSP digital word by a first binary scale factor (s.sub.L) to generate a scaled multiplicand digital word (s.sub.L×Z.sub.MSP×Z.sub.LSP); generating an offset digital word (Z.sub.OFS) proportional to the Z.sub.LSP digital word; scaling the Z.sub.OFS digital word by a second binary scale factor (s.sub.O) to generate a scaled offset digital word (s.sub.O×Z.sub.OFS); and generating an approximate square digital word (˜Z.sup.2) by combining together the Z.sub.MPS.sup.2 digital word, the S.sub.L×Z.sub.MSP×Z.sub.LSP digital word, and the s.sub.O×Z.sub.OFS digital word, wherein the relationship between the ˜Z.sup.2 digital word and the Z digital word follows an approximate square profile. Further aspects of the current mode multiply accumulate method in an integrated circuit, the method further comprising: combining an at least one plurality of the at least one of Sd.sub.MAC digital words to arrange an at least one artificial neural network (ANN).
DETAILED DESCRIPTION
(84) Numerous embodiments are described in the present application and are presented for illustrative purposes only and is not intended to be exhaustive. The embodiments were chosen and described to explain principles of operation and their practical applications. The present disclosure is not a literal description of all embodiments of the disclosure(s). The described embodiments also are not, and are not intended to be, limiting in any sense. One of ordinary skill in the art will recognize that the disclosed embodiment(s) may be practiced with various modifications and alterations, such as structural, logical, and electrical modifications. For example, the present disclosure is not a listing of features which must necessarily be present in all embodiments. On the contrary, a variety of components are described to illustrate the wide variety of possible embodiments of the present disclosure(s). Although particular features of the disclosed embodiments may be described with reference to one or more particular embodiments and/or drawings, it should be understood that such features are not limited to usage in the one or more particular embodiments or drawings with reference to which they are described, unless expressly specified otherwise. The scope of the disclosure is to be defined by the claims.
(85) Although process (or method) steps may be described or claimed in a particular sequential order, such processes may be configured to work in different orders. In other words, any sequence or order of steps that may be explicitly described or claimed does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order possible. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to the embodiment(s). In addition, although a process may be described as including a plurality of steps, that does not imply that all or any of the steps are essential or required. Various other embodiments within the scope of the described disclosure(s) include other processes that omit some or all of the described steps. In addition, although a circuit may be described as including a plurality of components, aspects, steps, qualities, characteristics and/or features, that does not indicate that any or all of the plurality are essential or required. Various other embodiments may include other circuit elements or limitations that omit some or all of the described plurality.
(86) Consider that all the figures comprised of circuits, blocks, or systems illustrated in this disclosure are powered up by positive and negative power supplies, V.sub.DD and V.sub.SS (and V.sub.SS can be connected to the ground potential or zero volts for single supply applications), respectively (unless otherwise specified), and they are not shown for illustrative clarity of the disclosed figures. Terms FET is field-effect-transistor; MOS is metal-oxide-semiconductor; MOSFET is MOS FET; PMOS is p-channel MOS; NMOS is n-channel MOS; BiCMOS is bipolar CMOS. Throughout this disclosure, the body terminal of NMOSFET can be connected to the source terminal of NMOSFET or to V.sub.SS. Also, the body terminal of PMOSFET can be connected to the source terminal of PMOSFET or to V.sub.DD. The term V.sub.GS is gate-to-source port voltage of a MOSFET. The term V.sub.DS is drain-to-source port voltage of a MOSFET. The term I.sub.DS or I.sub.D is drain current of a MOSFET. The term V.sub.A is a device parameter, and the early voltage a MOSFET.
(87) All the data-converters including, analog-to-digital-converters (ADC) as well as digital-to-analog-converters (DAC) may not show, for illustrative clarity, a positive reference and a negative reference input, where the negative reference input can be connected to the ground potential or zero volts. A current-mode DAC is iDAC, and a current-mode ADC is iADC. A current analog switch (iSW) has one input, one digital control signal, and either one or two output ports that receive the iSW input signal. An iSW with two output ports, steer the iSW's input signal to either of iSW's output ports depending on the polarity of the iSW digital control signal. An iSW with one output, steer the iSW's input signal to iSW's the positive output port or blocks it depending on the polarity of the iSW digital control signal. Most-Significant-Bit is MSB and Least-Significant-Bit is LSB, pertaining to data-converters digital bits. Most-Significant-Portion is MSP and Least-Significant-Portion is LSP, pertaining to the portions of signals represented by the MSB bank digital-word and LSB bank digital-word of data-converters, wherein the data-converter's whole digital word is comprised of the LSB bank digital-word plus the MSB bank digital-word.
(88) The term non-linear data-converter (DAC or ADC) refers to a data-converter whose transfer function (as arranged by the data-converter's reference network) is non-linearly weighted (e.g., square or logarithmic or individually weighted). Similarly, the term linear data-converter (DAC or ADC) refers to a data-converter whose transfer function (as arranged by the data-converter's reference network) is linearly weighted (e.g., binary or equally weighted thermometer).
(89) Throughout this disclosure, for demonstrative and descriptive clarity, data-converter that may be illustrated with 2 to 8 bits of resolution, but they can be arranged with higher resolutions, unless otherwise specified (e.g., disclosed data-converters can have higher resolutions where 16-bits of resolution is practical). Moreover, for descriptive clarity illustrations are simplified, where their modifications for improvements would be obvious to one skilled in the arts, such as for example cascading current sources by stacking MOSFETs to increase their output impedance. In some instances, analog switches are shown as single FETs with one input, one output, and a control input. In such instances, the one FET acting as a switch can be replaced with two FETs with a common input but opposite control polarity to manage the switch input's on and off voltage span and improve on-off glitch transients.
(90) Consider that other manufacturing technologies, such as Bipolar, BiCMOS, and others can utilize the disclosure in whole or part.
(91) Unless otherwise specified, the illustrated data-converters are generally asynchronous (i.e., they are clock free) which eliminates the need for a free running clock and improves dynamic power consumption with lower clock noise. However, the methods, systems, or circuits disclosed generally are applicable to data-converters that are synchronous (i.e., requiring clocks).
(92) This disclosure presents several SPICE circuit simulations showing the various waveforms attributed to the disclosed data-converts and multipliers. The simulations are performed in order to demonstrate functionality of the disclosed embodiments. These simulations are not intended to guarantee the embodiment's performance to a particular range of specifications. Be mindful that circuit simulations use the TOPSPICE simulator, and are based on approximate device models for a typical standard mainstream 0.18 μm CMOS process fabrication.
(93) Throughout this disclosure, data-converters utilized in multipliers and multiply-accumulate circuits operate in current-mode and generally have the following benefits:
(94) First, data-converters operating in current-mode are inherently fast.
(95) Second, current signal processing that occurs within the nodes of data-converters, generally, have small voltage swings which enables operating the current-mode data-converters with lower power supply voltages.
(96) Third, operating at low supply voltage reduces power consumption of current-mode data-converters.
(97) Fourth, current input and current output zero-scale to full-scale spans of current-mode data-converters are less restricted by power supply voltage levels (e.g., current input and outputs can generally span to full-scale at minimum power supply voltages)
(98) Fifth, current mode CMOS data-converters can operate in subthreshold that enables reducing power consumption further.
(99) Sixth, summation and subtraction functions in analog current-mode is generally simple and takes small chip area. For example, summation of two analog currents could be accomplished by coupling the current signals. Depending on accuracy and speed requirements, subtraction of analog current signals could be accomplished by utilizing a current mirror where the two analog current signals are applied to the opposite side of the current mirror, for example.
(100) Seventh, current-mode data-converters can operate internally in mixed-mode and externally have compatible interface with conventional digital processors. For example, digital-to-analog converters and multipliers can operate in current mode analog and or mixed-mode and subsequently have their current mode computations be converted to digital in order to seamlessly interface with standard digital processors via current-mode analog-to-digital converters.
(101) Eight, accuracy of mixed-signal current-mode data-converters, depending on the architecture, generally depends (at least in part) on the matching between FET current sources in the data-converter's current reference or bias network that programs their transfer function. Moderate conversions speeds with typical accuracies up to 16-bits with trimming or calibration and up to 10-bits without trimming or calibration may be achievable in standard CMOS manufacturing, where non-minimum size FETs are utilized to form the data-converter's current reference or bias network. Such accuracies can be sufficient for a range of near-edge or near-sensor machine learning and artificial intelligence (ML & AI) applications that may also not require extremely fast computation speeds. As such, some near-edge or near-sensor ML & AI applications can benefit from the low-cost and low-power of mixed-signal current-mode computation that only requires low cost conventional CMOS manufacturing, as compared to high speed power-hungry high-precision digital processors that require the substantially more expensive deep-sub-micron CMOS technologies.
Section 1—Description of FIG. 1
(102)
(103) The disclosed floating iDAC method, substantially equalizes a reference current signal (I1.sub.1) with the sum of a plurality of currents that are generated by plurality of floating voltage controlled current sources (VCCS). The plurality of VCCS's currents are scaled by programming each of the VCCS's voltage-to-current transconductance gains (G). Moreover, the plurality of VCCS's currents are selected by a plurality of respective current switches (iSWs) wherein the iSWs are controlled by the iDAC's digital input word, to steer the iSW's respective outputs to iDAC's outputs (I.sub.O.sup.+, and I.sub.O.sup.−).
(104) The floating iDAC method can be utilized in an iDAC having a n-bit (n≤16) wide digital word (Di.sub.1), a current reference signal (I1.sub.1), and two analog current outputs such as a first analog current output terminal I.sub.O.sup.+ of and a second analog current output terminal I.sub.O.sup.− of (coupled with a bias voltage source such as V1.sub.1). The floating iDAC method is illustrated in a system diagram of
(105) In illustration of
(106) Let's consider programming the VCCS's gain factors for a binary weighted iDACs. In a general, a simplified transfer function for an iDAC is:
(107)
where for the iDAC, I.sub.O is the analog output current, I.sub.R is the reference input current that can set the full-scale value of I.sub.O, D.sub.i is the digital input word (that is n-bits) wide, and Δ.sub.R=(I.sub.R/2.sup.n) is the analog LSB current weight of I.sub.O. For an iDAC with n=3, by programming gain scale factors s.sub.1=1, s.sub.2=2, and s.sub.3=4, then I.sub.G1.sub.
Section 2—Description of FIG. 2
(108)
(109) As noted earlier, for illustrated clarity, a n=3 bits binary weighted iDAC is described but n can be as large of 16 bits. Bias voltage V2.sub.2 provides the positive input voltage to the gate terminal of 3 field-effect-transistors (FETs) M4.sub.2, M5.sub.2, and M6.sub.2, which perform the function of the three VCCSs (corresponding to G1.sub.1, G2.sub.1, and G3.sub.1 functions in
(110) For illustrative clarity, programming current mirror scale factor a=b=1, then I1.sub.2=I.sub.M1.sub.
(111) Note that the floating iDAC disclosed in
(112) In summary, some of the benefits of the floating iDAC method disclosed in section 1
(113) First, the floating VCCSs generate the scaled current reference network for the iDAC, that can be decoupled from the scaling of I.sub.M1.sub.
(114) The decoupling of scaling of current reference network, also provides simple means to improve the dynamic response of the iDAC when its reference input signal I1.sub.2 is pulsed between zero and full scales. This is accomplished by injecting currents b×I2.sub.2=a×I3.sub.2 to both side of M1.sub.2-M2.sub.2 current mirror to prevent the mirror from shutting off, and hence improving its dynamic response.
(115) Second, the iDAC operating in current-mode is inherently fast.
(116) Third, voltage swings in current-mode signal processing are small, which enables operating the iDAC with lower power supply voltage and retain the speed and dynamic rage benefits. Also, floating iDAC can operate with low power supplies since its operating headroom can be limited by a FET's VGS+VDS. Additionally, the flexibility to run the CMOSFETs in subthreshold enables a floating iDAC to operate with ultra-low currents, even lower power supplies, and ultra-low power consumption suitable for mobile applications, especially in AI and ML applications that may require numerous ultra-low power and low power supply DACs for computation.
(117) Fourth, operating at low supply voltage reduces power consumption.
(118) Fifth, signal processing such as addition or subtraction, in current mode, are also small and fast.
(119) Sixth, the VCCS's gain factor can be programmed for an objective iDAC's transfer function such as binary weighted, thermometer, logarithmic, square function, or other non-linear iDAC transfer functions, as required by the application.
(120) Seventh, by substantially equalizing the terminal voltages at Io.sub.2.sup.+ and Io.sub.2.sup.− (e.g., to V1.sub.2), the iSW's transient and glitch responses are improved since the two outputs of iSW at Io.sub.2.sup.+ and Io.sub.2.sup.−, could swing between approximately equal voltages, during on and off iDAC's digital input code transitions.
(121) Eight, there are no passive devices in the embodiment of
(122) Ninth, the precision of the iDAC can be improved by for example utilizing current source segmentation (along with digital binary-to-thermometer logic decoding of iDAC's digital input code), or cascading the iDAC's reference current mirrors to improve their output impedance.
(123) Tenth, a floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(124) Eleventh, a floating iDAC can utilize same type of MOSFET current sources and MOSFET switches that are arranged in a symmetric, matched, and scaled manner. This trait facilitates devices parameters to track each other over process, temperature, operating condition variations. Accordingly, the iDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(125) Twelfth, the embodiment disclosed here is not restricted by FETs having to operate either in saturation (high-currents) or subthreshold (low currents) regions. For example, some analog signal processing units rely on operating transistors in the subthreshold regions which restricts the dynamic range of analog signal processing circuits to low current signals. Also, some other analog signal processing units rely on operating transistors with high currents in the saturation regions which restricts the dynamic range of analog signal processing circuits to higher current signals.
Section 3—Description of FIG. 3
(126)
(127) The individual floating iDACs utilized in
(128) The upper half of
(129) To optimize for cost-performance objective, the embodiment illustrated in
(130) Additionally, bear in mind that I.sub.M20.sub.
(131) Notice that the floating iDAC disclosed in
(132) In addition to some of the benefits of the floating iDAC method disclosed in section 2
Section 4—Description of FIG. 4
(133)
(134) The iDAC illustrated in
(135) The upper half of
(136) To optimize for cost-performance objective, there is flexibility in programming the iDAC's reference current value and input-output transfer function network of the iDAC in
(137) Additionally, consider that in
(138) In addition to some of the benefits of the floating iDAC method disclosed in section 2
Section 5—Description of FIG. 5
(139)
(140) The first and second floating iDACs embodiments are similar to the floating iDAC described and illustrated in section 2
(141) For clarity of description, both floating iDACs of
(142) For illustrative clarity, instead of showing iSWs with FET level circuit schematics (e.g.,
(143) The left side of
(144) The Q-iDAC's positive and negative analog output currents Iq.sub.5.sup.+ and Iq.sub.5.sup.− as are generated as a function of its Q digital-input word and I1.sub.5. The digital-input to analog-current-output transfer-function of the Q-iDAC, which is binary weighted in
(145)
Here, for a=b=1, Iq.sub.5.sup.+=I.sub.M8.sub.
(146) The right side of
(147) The P-iDAC's positive and negative analog output currents Ipq.sub.5.sup.+ and Ipq.sub.5.sup.− are generated as a function of its P-digital-word and I.sub.M9.sub.
(148)
where Ipq.sub.5.sup.+ is the positive analog output current of the P-iDAC, I.sub.M9.sub.
(149) Bear in mind that the Ipq.sub.5.sup.− is fed onto a voltage source V2.sub.5 to match terminal voltage at Ipq.sub.5.sup.+. Furthermore, as means to enhance the dynamic response of reference mirror current signals that is subjected to a pulse, I2.sub.5 is added as a constant current injection (Ij.sub.5) to keep M8.sub.5 alive when for example Ipq.sub.5.sup.+ transitions between zero and full scale. As such, a proportional I3.sub.5 is added to M9.sub.5 to balance the current mirror M8.sub.5-M9.sub.5.
(150) In summary some of the benefits of the XD.sub.iI.sub.O utilizing the floating iDAC method are as follows:
(151) First, the decoupling of scaling of current reference network, helps reduce FET sizes which saves die are, lowers cost. This trait also lowers the capacitance attributed to large size FETs in the iDAC's current reference network, which in turn improves the transient response of the floating iDAC and the multiplier XD.sub.iI.sub.O that utilizes such iDACs. The decoupling of scaling of current reference network, also provides simple means to improve the dynamic response of the iDAC and that of the multiplier XD.sub.iI.sub.O when the iDAC's reference input signal is pulsed. One mean of accomplishing this goal is by injecting a scaled DC current on each side of the current mirror that supplies the iDAC's reference current, which helps prevent the mirror from shutting off, and thus improving its dynamic response.
(152) Second, the XD.sub.iI.sub.O operating in current-mode is inherently fast.
(153) Third, voltage swings in current-mode signal processing are small, which enables operating the XD.sub.iI.sub.O with lower power supply voltage.
(154) Fourth, operating at low supply voltage reduces power consumption of the XD.sub.iI.sub.O. Additionally, the flexibility to run the CMOSFETs in subthreshold enables the iDAC to operate with ultra-low currents, even lower power supplies, and ultra-low power consumption suitable for mobile applications, especially in AI and ML applications that may require numerous ultra-low power and low power supply DACs for computation.
(155) Fifth, XD.sub.iI.sub.O's output signal processing in current-mode such as addition or subtraction functions are also small and fast, which for example is important in ML & AI applications requiring plurality of multiplier's outputs to be (summed) accumulated. For example, to sum plurality of signals in current-mode simply involves coupling the current signals together.
(156) Sixth, by substantially equalizing the terminal voltages at the positive and negative current output of the iDAC, it would improve the iSW's transient response and reduces glitch between the iSW's on to off transitions, which helps the transient response of the XD.sub.iI.sub.O.
(157) Seventh, there are no passive devices in the embodiment of
(158) Eighth, the precision of the iDAC and hence the precision of the XD.sub.iI.sub.O multiplier can be improved by for example utilizing current source segmentation (along with digital binary-to-thermometer coding) in the iDAC's reference current transfer-function, or cascading the iDAC's reference current mirrors to improve their output impedance.
(159) Ninth, utilizing lower resolution iDACs (e.g., 3-bits or 5-bits) in the XD.sub.iI.sub.O multiplier, that occupy smaller areas, but have higher accuracy (e.g., 8-bits of resolution corresponding to accuracy of ±0.4%) is beneficial. For example, higher than 3 of 5 bits of accuracy is attainable in standard CMOS fabrication. With proper W/L scaling of FETs used in the current source transfer function of iDACs, 8-bits of accuracy or ±0.4% matching may be achievable. As such, this disclosure can utilize low resolution iDACs that occupy small areas and achieve higher accuracy P.sub.A×Q.sub.A multiplication at lower cost.
(160) Tenth, the XD.sub.iI.sub.O that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(161) Eleventh, the XD.sub.iI.sub.O that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating iDACs, which are symmetric, matched, and scaled. This trait facilitates devices parameters to track each other over process, temperature, and operating conditions variations. Accordingly, the XD.sub.iI.sub.O's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(162) Twelfth, the embodiment disclosed here is not restricted by FETs having to operate either in saturation (high-currents) or subthreshold (low currents) regions. For example, some analog signal processing units rely on operating transistors in the subthreshold regions which restricts the dynamic range of analog signal processing circuits to low current signals. Also, some other analog signal processing units rely on operating transistors with high currents in the saturation regions which restricts the dynamic range of analog signal processing circuits to higher current signals
Section 6—Description of FIG. 6
(163)
(164) The embodiment of floating iDAC illustrated in
(165) In addition to some of the benefits of the floating iDAC method disclosed in section 2
Section 7—Description of FIG. 7
(166)
(167) As noted earlier, a DAC's input-to-output transfer function can be described as follow:
(168)
where A.sub.o is the DAC's analog output signal, A.sub.r is the DAC's analog reference signal, D.sub.1 is the DAC's digital inputs signal that are n-bits wide. For example, for n=6, and A.sub.r=1 units which establishes A.sub.o's full scale value of 1 unit. For a ½ unit or half-scale of a 6-bit wide digital word corresponds to D.sub.1=100000 or D.sub.6=1, and D.sub.s=D.sub.4=D.sub.3=D.sub.2=D.sub.1=0, the DAC's input-to-output transfer function would be as follows: A.sub.o=(A.sub.r/2.sup.6)×[D.sub.1×2°+D.sub.2×2.sup.1+D.sub.3×2.sup.2+D.sub.4×2.sup.3+D.sub.5×2.sup.4+D.sub.6×2.sup.5]=(A.sub.r/2.sup.6)×[0×2°+0×2.sup.1+0×2.sup.2+0×2.sup.3+0×2.sup.4+1×2.sup.5]=(A.sub.r/2.sup.6)×[1×2.sup.5]=A.sub.r/2=½ full-scale.
(169) Notice that the term (A.sub.r/2.sup.6) carries the analog equivalent weight of a least significant bit (LSB) or A.sub.LSB, which is binarily weighted (up to 2.sup.i−1 with 1<i<n=6 where i is an integer) to generate the DAC's A.sub.o (that is proportional to the DAC's A.sub.r and) in accordance with the DAC's D.sub.L. Here, let 2.sup.i−1=2.sup.1×2.sup.k=w.sub.1×f where w.sub.1 and f represent the factors of 2.sup.i−1, and where there can be found a pair of w.sub.i and f.sub.i factors whose sum is the smallest compared to w.sub.i×f.sub.i. In other words, there can be found a pair of w.sub.1 and f where w.sub.1+f<<w.sub.1×f.sub.1. For example, for n=i=6.fwdarw.2.sup.i−1=2.sup.5=32=2.sup.1×2.sup.k=2.sup.3×2.sup.2=w.sub.6×f.sub.6=16×2=8×4 where the sum of the pairs of factors here are the smallest compared to the multiplication of the pairs of factors (e.g., with j=2, k=3 or w.sub.6=8 and f.sub.6=4 for which 4+8<<8×4).
(170) The factorized DAC method factorizes a respective binary DAC weights, which reduces the DAC's area and cost. The respective binary DAC weights (2.sup.i−1) can be generated by feeding the respective binary DAC weight's factor (2.sup.j=w.sub.i) into its other factor (2.sup.k=f.sub.i) wherein 2.sup.i−1=2.sup.1×2.sup.k=w.sub.i×f.sub.i. Utilizing the factorized DAC method, the circuit area occupied by the respective binary DAC weight's factors (2.sup.j=w.sub.i and 2.sup.k=f.sub.i in aggregate) can be optimized to occupy a smaller area compared to that of the conventional respective binary DAC weights (2.sup.i−1)
(171) For example, a standard 6-bit iDAC is comprised of a plurality of binary scaled switching current source (cells) where each current source cell carries a current weight of A.sub.r/2.sup.6 which is a Least-Significant-Bit or LSB. The current source cells are binarily and respectively scaled in parallel to arrange the standard iDAC's binary weighted current switching reference network. For example, the standard iDAC's Most-Significant-Bit (MSB) analog current portion is generated by placing in parallel 32 of LSB current source cells (A.sub.r/2.sup.6) which generates 32×A.sub.r/2.sup.6=A.sub.r/2. Accordingly, the MSB of a 6-bit standard iDAC's switching current sources would occupy the size of 2.sup.i−1=2.sup.5=32 of LSB switching current source cells that are arranged in parallel.
(172) In comparison, the disclosed factorized iDAC method generates the same 32×A.sub.r/2.sup.6=A.sub.r/2 or the MSB analog current portion with more area efficiently. The factorized iDAC method, feeds the output current of 2.sup.j=2.sup.3=w.sub.6=8 parallel LSB current switches (where each current switch carries a current with the weight of an A.sub.LSB) onto a current mirror with a gain of 2.sup.k=2.sup.2=f.sub.6=4. The current mirrors can be arranged to have the same size as the factorized iDAC's LSB current source cells for matching purposes. As such, for the factorized iDAC method, the MSB analog current portion of 32×A.sub.r/2.sup.6=A.sub.r/2, while occupying an equivalent aggregate current switch area of 2.sup.j+2.sup.k=2.sup.3+2.sup.2=8+4=12 LSB current source cells. In comparison, and as noted earlier, an equivalent aggregate current source cell 2.sup.5=32 LSB current cells would be required for a standard iDAC.
(173) Note that there is a trade-off between reducing the area achieved by utilizing the factorized DAC method, and reducing the accuracy of the DAC. For example, the mismatch attributed to current source cells that constitute w.sub.6 (subordinate DAC weight) are multiplied with the mismatch attributed to the current source cells that constitute f.sub.6.Math.(factorized scale), which lowers the accuracy of the overall DAC while reducing its size.
(174) The area reduction benefit of the factorized DAC method can be extended for high resolution DACs comprising of plurality of factorized DACs. For example, a 6-bit DAC can be arranged by utilizing two factorized DACs (e.g., a 3-bit factorized Most-Significant-Portion of MPS DAC, and a 3-bit factorized Least-Significant-Portion or LSP DAC). Alternatively, a 6-bit DAC can be arranged by utilizing three factorized DACs (e.g., a 2-bit factorized top portion DAC, a 2-bit factorized middle portion DAC, and a 2-bit factorized bottom portion DAC).
(175) As noted, earlier
(176) In
(177) In
(178) Consider that for practical purposes (without any DAC calibration or trimming): The three digital bits t.sub.7, m.sub.7, and b.sub.7 can be more than 1-bit and less than 8-bit wide. The three factor scales Ft.sub.7, Fm.sub.7, and Fb.sub.7 can be programmed to gains than zero and less than 16 (without calibration or trimming): The ratio of analog reference signals tr.sub.7/mr.sub.7 and mr.sub.7/br.sub.7 can be programmed to ratios more than zero and less than 16 (without calibration or trimming).
(179) For example, let's arrange the three subordinated factorized DAC's digital-bits t.sub.7=m.sub.7=b.sub.7=2 bits each. Let's also program the three subordinated factorized DAC's reference analog signals substantially equally as tr.sub.7=mr.sub.7=br.sub.7=1w. Accordingly, the three factor scales are programmed according to: Ft.sub.7=2.sup.t.sup.
(180) In an alternative example, arranging the three subordinated factorized DAC's digital-bits t.sub.7=m.sub.7=b.sub.7=2 bits each, and programming the three subordinated factorized DAC's reference analog signals as tr.sub.7=4w, mr.sub.7=2w, and br.sub.7=1w, then the three factors are programmed according to: Ft.sub.7=2.sup.t.sup.
(181) It is of note that for a standard binary 6-bit DAC, a scale factor of 2.sup.6-1=32 LSB weights (32×) are needed to generate just the MSB signal as a multiple of the LSB weight. In comparison, for a 6-bit factorized DAC that is described in the above 2 examples, the largest scale factor is 4× to generate any bit, including the MSB. In the above 2 example, the largest scale factor is 4× in the three subordinate factorized DACs (At.sub.7, Am.sub.7, and Ab.sub.7 whose full-scale outputs are programmed with tr.sub.7/mr.sub.7 and mr.sub.7/br.sub.7 ratios) as well as in the factor blocks Ft.sub.7, Fm.sub.7, and Fb.sub.7. Accordingly, smaller scale factors result in smaller DAC area and as well as other benefits such as improved dynamic response, which will be described further in the following DAC circuit embodiments that utilize the factorized DAC method.
Section 8—Description of FIG. 8
(182)
(183) In
(184) In
(185) Given that the three subordinated factorized iDACs (i.e., DACt.sub.8, DACm.sub.8, and DACb.sub.8) in
(186) Similarly, the current signals through nodes designated as Am.sub.8 and Ab.sub.8 (which are generated by the subordinated factorized DACm.sub.8 and DACb.sub.8, respectively) both have a full-scale current of 3w. Consider that tr.sub.8, mr.sub.8, and br.sub.8 are the equivalent full-scale reference signal for the subordinated factorized DACt.sub.8, DACm.sub.8 and DACb.sub.8, respectively, which are analogous to the terminology tr.sub.7, mr.sub.7, br.sub.7 described in section 7,
(187) Accordingly, the full-scale value of the factorized iDAC which is A.sub.8=Ft.sub.8×At.sub.8+Fm.sub.8×Am.sub.8+Fb.sub.8×Ab.sub.8=4×3w+1×3w+¼×3w=w×15¾. Given that I1.sub.8=w, the full-scale value of A.sub.8 can be adjusted in accordance with w×15¾ (from nano amperes to milliamperes scales) depending on the applications requirements.
(188) As noted earlier, the accuracy of the factorized DAC is dominated by matching of components in the signal path of the most significant bits (MSB). As such, design and FET layout care can help the matching between M1.sub.8-M2.sub.8 in the subordinated factorized DACt.sub.8 block and matching between M34.sub.8-M35.sub.8 in the Ft.sub.8 block which arrange the factorized iDAC's MSB and dominate the accuracy of the overall factorized DAC. Moreover, subordinated factorized DACt.sub.8 can be arranged in a segmented fashion (disclosed next in section 9,
(189) Also, it would obvious to one skilled in the art to further reduce the size and cost of
(190) The benefits of factorized DAC, including that of factorized iDAC are summarized below:
(191) First, factorized iDAC is smaller than standard iDACs, and here is how: A standard binary weighted iDAC's current source network (as part of the iDAC's input-to-output transfer function network) is comprising of scaled current sources as follows: the MSB current source sized at 2.sup.5x=32x scaled through (2.sup.4x=16x, 2.sup.3x=8x, 2.sup.2x=4x, 2.sup.1x=2x) to the LSB current source cell sized at 2°x=1x, where x is an equivalent current source cell that carries an LSB current weight. As such, for a standard 6-bit iDAC, about 63x current sources are required.
(192) In comparison (setting aside the cascoded FETs and current switches), a factorized iDAC illustrated in
(193) For higher resolution DACs, the factorized DAC method is even more area efficient.
(194) Second, dynamic response is faster than conventional iDACs because factorized DACs smaller sized input-to-output transfer function network utilizes smaller FETs with smaller capacitances, which can be charged and discharged faster.
(195) Third, glitch is lower during code transitions compared to standard DACs, again because factorized DACs smaller input-to-output transfer function network utilizes smaller devices that carry smaller capacitances, which inject fewer analog glitches to the output of the DAC during digital input code transitions.
(196) Fourth, dynamic power consumption is lower because a factorized DAC's smaller sized FETs (in the input-to-output transfer function network) would consume less dynamic current to drive smaller devices during digital input code transitions.
(197) Fifth, utilizing the factorized DAC method in a current-mode DAC (iDAC) is inherently fast.
(198) Sixth, factorized iDAC can operate with low power supply since its operating headroom can be limited by a FET's VGS+VDS.
(199) Seventh, utilizing the factorized iDACs in subthreshold region can further reduce power consumption and lower power supply voltage.
(200) Eight, factorized iDAC can be programmed for a non-linear (e.g., logarithmic or square) input-to-output transfer function.
(201) Ninth, running the CMOSFETs in subthreshold enables the factorized iDAC to operate with ultra-low currents, low power supply, and ultra-low power consumption suitable for mobile applications, especially in AI and ML applications that require numerous ultra-low power and low power supply DACs for computation.
(202) Tenth, neither any capacitors nor any resistors are needed, which facilitates fabricating the factorized iDAC in standard digital CMOS manufacturing factory that is low cost, main-stream and readily available for high-volume mass production applications, and proven for being rugged and having high quality.
(203) Eleventh, factorized iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(204) Twelfth, factorized iDAC can utilize same type of MOSFET current sources and MOSFET switches that are symmetric, matched, and scaled. This trait facilitates devices parameters to track each other over process, temperature, and operating condition variations. Accordingly, the iDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(205) Thirteenth, the embodiment disclosed here is not restricted by FETs having to operate either in saturation (high-currents) or subthreshold (low currents). For example, some analog signal processing units rely on operating transistors in the subthreshold regions which restricts the dynamic range of analog signal processing circuits to low current signals. Also, some other analog signal processing units rely on operating transistors with high currents in the saturation regions which restricts the dynamic range of analog signal processing circuits to higher current signals.
Section 9—Description of FIG. 9
(206)
(207) The three subordinated iDACs in
(208) In
(209) The factorized floating iDAC's reference current source I1.sub.9 sets the gate-to-source voltage of M4.sub.9 which is scaled and mirrored onto M1.sub.9, M2.sub.9, and M3.sub.9 which program the full-scale weights of the three factorized floating subordinated iDACs: DACt.sub.9, DACm.sub.9, and DACb.sub.9, respectively. Also notice that signals At.sub.8, Am.sub.8, and Ab.sub.8 in
(210) As noted earlier, the three factorized floating subordinated iDACs in
(211) Accordingly, the full-scale value of the factorized floating iDAC output is A.sub.9=Ft.sub.9×At.sub.9+Fm.sub.9×Am.sub.9+Fb.sub.9×Ab.sub.9=2×4w+1×2w+½×1w=w×10½. Given that I1.sub.9=w, the full-scale value of A.sub.9 output signal can be adjusted (from nano amperes to milliamperes scales) depending on the applications requirements.
(212) Notice that V1.sub.9 biases the floating current sources M5.sub.9 to M11.sub.9. For applications where high-accuracy and higher iDAC output currents may be required, instead of one voltage source such as V1.sub.9, up to three voltage sources can be utilized: such as one for each group of floating current sources M5.sub.9 to M7.sub.9, one for M4.sub.9 to M5.sub.9, and one for M10.sub.9 to M12.sub.9. In doing so, the V.sub.as or drain-to-source voltages of M1.sub.9 to M4.sub.9 would match which reduces scaled second order systematic error due V.sub.as mismatch between M1.sub.9 to M4.sub.9 currents. The current switches S1.sub.9 to S7.sub.9 (when in their off states) are terminated onto a diode connected M13.sub.9 which is a VGS.sub.PMOS below V.sub.DD that roughly matches (to first order) the VGS.sub.PMOS of diode connected M20.sub.9, M22.sub.9, and M24.sub.9. As such, the transient and dynamic performance of the iDAC is improved since the drain terminal of FETs M5.sub.9 to M11.sub.9 are roughly balanced at V.sub.DD−VGS.sub.PMOS as the iDAC's codes toggle between on and off states.
(213) Additionally, DACt.sub.9 is arranged with segmentation to improve accuracy since DACt.sub.9 carries the analog weight of the first 2 most significant bits. Here, D6.sub.9 and D5.sub.9 are fed to a 2-to-3 bit encoder (comprising of AND1.sub.9 and OR1.sub.9) whose digital outputs control the DACt.sub.9's current switches. As such, the DACt.sub.9's substantially equal current source segments (I.sub.M5.sub.
(214) Excluding the cascoded current mirrors and current switches, the disclosed 6-bit iDAC in
Section 10—Description of FIG. 10
(215)
(216) The two subordinated iDACs in
(217) In
(218) In
(219) The iDAC's reference current source in
(220) Notice that V1.sub.10 and V2.sub.10 bias the floating current sources M7.sub.10 to M9.sub.10 of DACt.sub.10, and M10.sub.10 to M14.sub.10 of DACb.sub.10, respectively. By having separate V1.sub.10 and V2.sub.10, the V.sub.as or drain-to-source voltages of M7.sub.10 to M14.sub.10 would match better which reduces (scaled) second order systematic error (due to drain-to-source or FET's V.sub.as mismatch) between M1.sub.10 to M5.sub.10 currents. Also, as stated in the prior section, the iDAC's current switches (iSWs) S1.sub.10 to S7.sub.10, in their off states, are terminated onto a diode connected M15.sub.10 which is a VGS.sub.PMOS (below V.sub.DD) that roughly matches the VGS.sub.PMOS of diode connected M20.sub.10 and M22.sub.10. As such, the transient and dynamic performance of the factorized floating iDAC is improved since the drain terminal of FETs M7.sub.10 to M13.sub.10 are roughly balanced at V.sub.DD−VGS.sub.PMOS as the iDAC's codes toggle between on and off states.
(221) Additionally, DACt.sub.10 is arranged with segmentation to improve accuracy. The two upper MSBs, D6.sub.10 and D5.sub.10 are fed to a 2-to-3 bit encoder (comprising of AND1.sub.10 and OR1.sub.10) whose digital output control the DACt.sub.10's switches. As such, the DACt.sub.10's substantially equal current source segments (I.sub.M1.sub.
(222) Excluding the cascoded current mirrors and current switches, the disclosed 6-bit iDAC in
Section 11—Description of FIG. 11
(223)
(224) As noted earlier, a simplified transfer function for an iDAC is:
(225)
where for the iDAC, I.sub.o is the analog output current, I.sub.R is the reference input current that can set the full-scale value of I.sub.o, D.sub.i is the digital input word (that is k-bits wide), and Δ.sub.R=(I.sub.R/2.sup.k) represents an analog LSB current weight for I.sub.o. For example, for a 6-bit iDAC, k=6, and full scale value of I.sub.o set to substantially equal I.sub.R=64 nA, then LSB of the iDAC which is Δ.sub.R=(I.sub.R/2.sup.k)=Δ.sub.R=(64 nA/2.sup.6)=1 nA.
(226) A simplified transfer function of a multiplier XD.sub.iI.sub.O where a Y-iDAC's output supplies the reference input to a second X-iDAC is as follows: For the Y-iDAC
(227)
where the analog output current is I.sub.oy, the reference input current is I.sub.Ry which can set the full-scale value of I.sub.oy, the digital input word (that is m-bits) wide is D.sub.y, and ΔR.sub.y=(I.sub.Ry/2.sup.m) represents an analog LSB current weight of I.sub.oy.
(228) Similarly, for the X-iDAC
(229)
where the analog output current is I.sub.ox, the reference input current is I.sub.Rx which can set the full-scale value of I.sub.ox, the digital input word (that is n-bits) wide is D.sub.x, and I.sub.Rx=(I.sub.Rx/2.sup.n) is an analog LSB current weight of I.sub.ox.
(230) By feeding the output current of Y-iDAC onto the reference input of the X-iDAC, where
(231)
the following transfer function is realized:
(232)
As such a digital-input to analog-current-output multiplier XD.sub.iI.sub.o is realized where
(233)
(234) On the right hand-side of
(235) Also, note for example, when bit D1y.sub.11 (the MSB of Y-iDAC, in this case) is off, then the off S7.sub.11 couples the drain-terminal of M15.sub.11 (i.e., I.sub.M15.sub.
(236) Consider that diode connected NMOS M21.sub.11 are scaled and biased via I2.sub.11 (to generate a Vg.sub.M21.sub.
(237) The output of the Y-iDAC that is Ay.sub.11=I.sub.oy supplies the reference current (via the floating DAC method) onto X-iDAC which is described next.
(238) On the left hand-side of
(239) Also, note for example, when bit D1x.sub.11 (the MSB of X-iDAC, in this case) is off, then the off S1.sub.11 couples the drain-terminal of M23.sub.11 (i.e., I.sub.M23.sub.
(240) Accordingly, a digital-input to analog-current-output multiplier XD.sub.iI.sub.O is realized where
(241)
where m=n=6, and Ay.sub.11×Ax.sub.11=I.sub.ox which is the analog representation of multiplying two digital codes Dy=Dy.sub.11 and D.sub.x=Dx.sub.11. Bear in mind that I.sub.Ry represents a reference weight for the multiplier XD.sub.iI.sub.O which is a scaled multiple (g) of I1.sub.11. For example, if I1.sub.11=i for Y-iDAC, then the full scale output current for each of sub-iDAC blocks,
(242)
which is factored by 4×, 1×, and x/4 by its respective blocks F.sub.ty.sub.
(243)
Similarly, for the X-iDAC, the full scale output current for each of subordinated iDAC blocks DAC.sub.tx.sub.
(244)
which is also factored by 4×, 1×, and x/4 by its respective factor blocks F.sub.tx.sub.
(245)
As such,
(246)
represents the reference weight for the multiplier XD.sub.iI.sub.O.
(247) In summary some of the benefits of the XD.sub.iI.sub.O utilizing the factorizing iDAC method are as follows:
(248) First, the XD.sub.iI.sub.O utilizing the factorizing iDAC (described in section 8 of
(249) Second, the XD.sub.iI.sub.O operating in current-mode, which inherently runs fast.
(250) Third, voltage swings in current-mode signal processing are small, which enables operating the XD.sub.iI.sub.O with lower power supply voltage. Also, factorized iDAC utilized in XD.sub.iI.sub.O can operate with low power supply since its operating headroom can be limited by a FET's VGS+VDS.
(251) Fourth, operating at low supply voltage reduces power consumption of the XD.sub.iI.sub.O. Moreover, Running the CMOSFETs in subthreshold enables the factorized iDAC used in the in XD.sub.iI.sub.o to operate with ultra-low currents, low power supply, and ultra-low power consumption suitable for mobile applications, especially in AI and ML applications that require numerous XD.sub.iI.sub.O that are ultra-low power and operate on low power supply for computation.
(252) Fifth, by substantially equalizing the terminal voltages at the positive and negative current output of the factorizing iDAC would improve the transient response of the disclosed XD.sub.iI.sub.O and reduces glitch.
(253) Sixth, the XD.sub.iI.sub.O needs neither any capacitors nor any resistors, which facilitates fabricating the XD.sub.iI.sub.O in standard digital CMOS manufacturing factory that is low cost, main stream and readily available for high-volume mass production applications, and proven for being rugged and having high quality.
(254) Seventh, the precision of the iDAC and hence that of the XD.sub.iI.sub.O multiplier can be improved by for example utilizing proper sized FETs in the iDAC's current reference network or by utilizing current source segmentation (along with digital binary-to-thermometer coding) in the iDAC's reference current transfer-function network.
(255) Eighth, the XD.sub.iI.sub.O multiplier can lower resolution factorized iDACs (e.g., 3-bits or 5-bits) that occupy smaller areas, but have higher accuracy (e.g., 8-bits of accuracy or 0.4%) which is beneficial for cost-performance. For example, higher than 3 of 5 bits of accuracy is attainable in standard CMOS fabrication. With proper W/L scaling of FETs used in the current source transfer-function of iDACs (8-bits of accuracy or), a ±0.4% matching that can be achievable. As such, this disclosure can utilize low resolution iDACs that occupy small areas and achieve higher accuracy multiplication at lower cost.
(256) Ninth, glitch is lower during code transitions in XD.sub.iI.sub.O multiplier because factorized iDACs utilized in XD.sub.iI.sub.O are smaller given that the input-to-output transfer function network utilizes smaller devices that carry smaller capacitances, which inject fewer analog glitches to the output of the XD.sub.iI.sub.O during digital input code transitions.
(257) Tenth, dynamic power consumption is lower because the XD.sub.iI.sub.O multiplier utilizes factorized DAC that have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(258) Eleventh, the XD.sub.iI.sub.O that utilizes factorized iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(259) Twelfth, The XD.sub.iI.sub.O that utilizes same type of MOSFET current sources and MOSFET switches in the respective factorized iDACs, which are symmetric, matched, and scaled. This trait facilitates device parameters to track each other over process, temperature, and operating conditions variations. Accordingly, the XD.sub.iI.sub.O's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(260) Thirteenth, the embodiment disclosed here is not restricted by FETs having to operate either in saturation (high-currents) or subthreshold (low currents). For example, some analog signal processing units rely on operating transistors in the subthreshold regions which restricts the dynamic range of analog signal processing circuits to low current signals. Also, some other analog signal processing units rely on operating transistors with high currents in the saturation regions which restricts the dynamic range of analog signal processing circuits to higher current signals
Section 12a & 12B—Description of FIG. 12A & FIG. 12B
(261)
(262) For the simulations of
(263) The FETs in the iDAC and Factor blocks operate in the subthreshold region where most of the mismatch between FETs is due to their threshold voltage (V.sub.TH0) mismatch. In simulating of
Section 13—Description of FIG. 13
(264)
(265) A simplified D.sub.iI.sub.o sMACiDAC's transfer function is
(266)
where a scalar (s) is multiplied with the sum of plurality (m=n) of p.sub.m weights. The disclosed embodiment of D.sub.iI.sub.o sMACiDAC utilizes the distributive property, wherein multiplying the sum of two or more (plurality of) addends by a (scalar) number will give the same result as multiplying each addend individually by the scalar) number and then adding the products together. Accordingly, the disclosed embodiment of D.sub.iI.sub.o sMACiDAC utilizes plurality of iDACs whose outputs coupled together in current-mode, which generates a summation current
(267)
that is then fed onto a current reference terminal of a scalar iDAC, whose output generate
(268)
which can also be represented as
(269)
(270) To accomplish the above objective, the disclosed circuit of
(271)
(272) To further describe the disclosed D.sub.iI.sub.o sMACiDAC circuit embodiment of
(273)
For
(274)
(275) The nomenclatures and terminologies used here are self-explanatory for one skilled in the art, but as an example for the w-channel iDAC, bear in mind that A.sub.w is the analog output, A.sub.RW is the reference input, D.sub.i is the digital input word that is w-bits wide, and so on.
(276) If A.sub.R is fed into reference input of scalar DACz.sub.13, then
(277)
By feeding A.sub.w+A.sub.x+A.sub.y=A.sub.Rz into the reference input of scalar DACz.sub.13, then it generates:
(278)
(279) Therefore,
(280)
which can be represented in the analog domain as A.sub.o/A.sub.R=(A.sub.w+A.sub.x+A.sub.y)×A.sub.z. This represents multiplying scalar z by the accumulation of w, x, and y.
(281) In
(282) As noted earlier, an iDAC transfer function where A.sub.o=t.sub.o and A.sub.R=I.sub.R can be simplified to:
(283)
For example, let's consider half-scale of a 3-bit wide digital word corresponding to the digital binary word D.sub.i=100 or D.sub.i=1, and D.sub.2=D.sub.3=0 and letting I.sub.R be 1 unit representing full-scale for I.sub.o. In such an example, the DAC's input-to-output transfer function would be as follows: I.sub.o=I.sub.R×[D.sub.1/2.sup.1+D.sub.2/2.sup.2+D.sub.3×2.sup.3]=(I.sub.R)×[½.sup.1+0/2.sup.2+0/2.sup.3]=I.sub.R/2=½ reference unit, which is ½ of full scale.
(284) Here a more detailed description of embodiment of the D.sub.iI.sub.o sMACiDAC's circuit illustrated in
(285) A DACw.sub.13 receives a digital word Dw.sub.13, and generates an analog output current Aw.sub.13, wherein Vgs.sub.M1.sub.
(286) A DACx.sub.13 receives a digital word Dx.sub.13, and generates an analog output current Ax.sub.13, wherein Vgs.sub.M1.sup.13 biases M5.sub.13, M6.sub.13, and M7.sub.13 (according to their respective width-over-length or W/L scales a. x, 1x, 2x, 4x) which programs the DACx.sub.13's binary weighted currents as a ratio of the I1.sub.13=I.sub.r′. The DACx.sub.13's current switches S4.sub.13, S5.sub.13, and S6.sub.13 steer the respective M5.sub.13, M6.sub.13, and M7.sub.13 currents to either the diode connected M30.sub.13 (which is coupled with the DACx.sub.13's I.sub.o.sup.− port) or the DACx.sub.13's to port (for Ax.sub.13 signal) in accordance with the polarity of the Dx.sub.13 bits.
(287) A DACy.sub.13 receives a digital word Dy.sub.13, and generates an analog output current Ay.sub.13, wherein Vgs.sub.M1.sub.
(288) As described earlier, the current outputs of DACw.sub.13, DACx.sub.13, and DACy.sub.13 are then summed to generate the output current summation Aw.sub.13+Ax.sub.13+Ay.sub.13, which is fed onto the input of a CCVS (or current-to-voltage converter iTv.sub.13) comprising of M26.sub.13 and M31.sub.13. An output of the CCVS is Vgs.sub.M31.sub.
(289) Consider that for a=1, the full scale output current for each of DACw.sub.13, DACx.sub.13, and DACy.sub.13 is (4+2+1)×I.sub.p′=71.sub.r′.
(290) Accordingly, the full-scale output current summation Aw.sub.13+Ax.sub.13+Ay.sub.13 would compute to 3×7I.sub.r′β=21I.sub.r′. The W/L's of M31.sub.13 and M32.sub.13 (i.e., b.x and c.x) program the combined gain of iTv.sub.13 and vTi.sub.13 which scales the sum of Aw.sub.13+Ax.sub.13+Ay.sub.13 before the said sum is supplied to the reference input of a DACz.sub.13. For clarity of description b=c=1 which provides a combined current scaling (net-gain) of 1 (through iTv.sub.13 to vTi.sub.13) for the sum of Aw.sub.13+Ax.sub.13+Ay.sub.13 currents that are supplied to the reference input of a DACz.sub.13.
(291) The floating DACz.sub.13 receives a digital word Dz.sub.13, and generates an analog output current at the DACz.sub.13's to port that is the output current of D.sub.iI.sub.o sMACiDAC as being represented in the analog domain and proportional to A.sub.R′: A.sub.o/A.sub.R″=(A.sub.w+A.sub.x+Ay)×A.sub.z. The DACz.sub.13's current switches S10.sub.13, S11.sub.13, and S12.sub.13 steer the respective M27.sub.13, M28.sub.13, and M29.sub.13 currents to either a diode connected M11.sub.13 (which is coupled with the DACz.sub.13's I.sub.o.sup.− port) or the DACz.sub.13's to port in accordance with the polarity of the Dz.sub.13 bits.
(292) As indicated earlier, for a=b=c=1, then A.sub.R″ is a scaled reference current where A.sub.R′=21I.sub.r′. Notice that DACz.sub.13 utilizes a floating iDAC method that is disclosed in
(293) Bear in mind that for better dynamic response and substantially equalization between the operating voltages at the I.sub.o.sup.− and I.sub.O.sup.+ ports of the DACw.sub.13, DACx.sub.13, and DACy.sub.13, their to ports can be coupled with drain terminal of M30.sub.13 (also coupled with source terminal of M25.sub.13), while a current source (e.g., Ij′.sub.13 not shown in
(294) In summary, the embodiment illustrated in
(295) First, the disclosed D.sub.iI.sub.o sMACiDAC utilizing plurality of iDACs (along with CCVS and VCCS) whose outputs are summed in current-mode and fed onto the reference input terminal of a scalar iDAC saves area and lowers cost, and improved performance with faster dynamic response. This is in part due to the efficacy in performing the distributive property in current-mode, wherein multiplying the sum of two or more addends by a number will give the same result as multiplying each addend individually by the number and then adding the products together. Summation in current-mode is accomplished by simply coupling plurality of addends (i.e., coupling the output of plurality of iDACs together), and feeding the said summation to another scalar iDAC's reference input. This will result in multiplying each addend individually by the scalar number and then adding the products together, which is fast since signals are processed in current-mode.
(296) Second, utilizing the floating iDAC method disclosed in
(297) Third, as noted earlier, the disclosed D.sub.iI.sub.o sMACiDAC utilizing iDACs that operate in current-mode is inherently fast.
(298) Fourth, voltage swings in current-mode signal processing are small, which enables operating the disclosed D.sub.iI.sub.o sMACiDAC with lower power supply voltage and retain the speed and dynamic rage benefits.
(299) Fifth, operating at low supply voltage reduces power consumption of the disclosed D.sub.iI.sub.o sMACiDAC. Additionally, the flexibility to run the CMOSFETs in subthreshold enables a iDAC that are utilized in D.sub.iI.sub.o sMACiDAC to operate with ultra-low currents, even lower power supplies, and ultra-low power consumption suitable for mobile applications, especially in AI and ML applications that may require numerous ultra-low power and low power supply iDACs for computation.
(300) Sixth, the disclosed D.sub.iI.sub.o sMACiDAC utilizing iDAC for signal processing such as addition or subtraction operations, in current mode, take small area and can be performed fast.
(301) Seventh, by substantially equalizing the terminal voltages at I.sub.o.sup.+ and I.sub.O.sup.− ports of plurality of iDACs as well as the I.sub.o.sup.+ and I.sub.O.sup.− ports of scalar iDACs utilized in the disclosed D.sub.iI.sub.o sMACiDAC, improves the D.sub.iI.sub.o sMACiDAC's transient response and glitch is reduced during on to-off D.sub.iI.sub.o sMACiDAC's digital input code transitions.
(302) Eight, there are no passive devices in the disclosed D.sub.iI.sub.o sMACiDAC of
(303) Ninth, the precision of the disclosed D.sub.iI.sub.o sMACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(304) Tenth, the disclosed D.sub.iI.sub.o sMACiDAC of
(305) Eleventh, glitch is lower during code transitions in D.sub.iI.sub.o sMACiDAC because floating iDACs utilized in D.sub.iI.sub.o sMACiDAC can be made smaller given that their input-to-output transfer function network utilizes smaller devices that carry smaller capacitances, which inject fewer analog glitches to the output of the D.sub.iI.sub.o sMACiDAC during digital input code transitions.
(306) Twelfth, dynamic power consumption is lower because the D.sub.iI.sub.o sMACiDAC utilizes floating iDAC that have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(307) Thirteenths, the D.sub.iI.sub.o sMACiDAC that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(308) Fourteenth, the D.sub.iI.sub.o sMACiDAC that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating iDACs, which are symmetric, matched, and scaled. Such arrangement facilitates device parameters to track each other over process-temperature-operation conditions variations. Accordingly, the D.sub.iI.sub.o sMACiDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(309) Fifteenth, while digital computation is generally accurate but it may be excessively power hungry. Current-mode analog and mixed-signal computation that is disclosed here can be approximate but signal processing can be accomplished asynchronously and power consumption can be lower. Moreover, analog current errors here generally result in degradation but (not total failures) of analog computation, which provides the end-application with approximate results to work with instead of experiencing failed results.
(310) Sixteenth, the embodiment disclosed here is not restricted by FETs having to operate either in saturation (high-currents) or subthreshold (low currents). For example, some analog signal processing units rely on operating transistors in the subthreshold regions which restricts the dynamic range of analog signal processing circuits to low current signals. Also, some other analog signal processing units rely on operating transistors with high currents in the saturation regions which restricts the dynamic range of analog signal processing circuits to higher current signals.
(311) Seventeenth, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 14—Description of FIG. 14
(312)
(313) The disclosed embodiment of D.sub.iI.sub.o sMACiDAC in
(314)
(315) To further describe the disclosed D.sub.iI.sub.o sMACiDAC circuit embodiment of
(316)
Similarly,
(317)
By replicating and feeding substantially equal values of A.sub.z onto the reference inputs of a plurality (e.g., 3 channels) of floating iDACs, namely DACw.sub.14, DACx.sub.14, and DACy.sub.14, then:
(318)
Therefore,
(319)
(320) Therefore, the disclosed of w, x, and y—iDAC's outputs is this:
(321)
Therefore,
(322)
which can be mapped in the analog domain as A.sub.o/A.sub.R=(A.sub.W+A.sub.x+A.sub.y)× A.sub.z representing multiplying scalar z by the accumulation of w, x, and y.
(323) Note that in
(324) Here, a more detailed description of embodiment of the D.sub.iI.sub.o sMACiDAC's circuit illustrated in
(325) A DACz.sub.14 receives a digital word Dz.sub.14, and generates an analog output current Az.sub.14, wherein Vgs.sub.M17.sub.
(326) As noted earlier, Az.sub.14 (which is the current outputs of the DACz.sub.14) is replicated and fed onto the reference input terminals of DACw.sub.14, DACx.sub.14, and DACy.sub.14. In the embodiment of
(327) More specifically, in
(328) A DACw.sub.14 receives a digital word Dw.sub.14 at its digital input port, receives a reference current signal that is a proportional replica of Az.sub.14 through a current mirror (M4.sub.14, M1.sub.14) and generates an analog output current signal Aw.sub.14×Az.sub.14. As noted earlier, floating DACw.sub.14's reference current is proportional to Az.sub.14 that (through M1.sub.14) is binarily distributed between M7.sub.14, M8.sub.14, and M9.sub.14, according to their respective width-over-length or W/L scales 1x, 2x, 4x. The DACw.sub.14's current switches S1.sub.14, S2.sub.14, and S3.sub.14 steer the respective M7.sub.14, M8.sub.14, and M9.sub.14 currents to either a diode connected M26.sub.14 (which is coupled with the DACw.sub.14's to port) or the DACw.sub.14's to port (carrying a Aw.sub.14×Az.sub.14 current signal) in accordance with the polarity of the Dw.sub.14 bits.
(329) A DACx.sub.13 receives a digital word Dx.sub.14 at its digital input port, receives a reference current signal that is a proportional replica of Az.sub.14 through a current mirror (M4.sub.14, M2.sub.14) and generates an analog output current signal Ax.sub.14×Az.sub.14. As noted earlier, floating DACx.sub.14's reference current is proportional to Az.sub.14 that (through M2.sub.14) is binarily distributed between M10.sub.14, M11.sub.14, and M12.sub.14, according to their respective width-over-length or W/L scales 1x, 2x, 4x. The DACx.sub.14's current switches S4.sub.14, S5.sub.14, and S6.sub.14 steer the respective M10.sub.14, M11.sub.14, and M12.sub.14 currents to either a diode connected M26.sub.14 (which is coupled with the DACx.sub.14's to port) or the DACx.sub.14's to port (carrying a Ax.sub.14×Az.sub.14 current signal) in accordance with the polarity of the Dx.sub.14 bits.
(330) A DACy.sub.13 receives a digital word Dy.sub.14 at its digital input port, receives a reference current signal that is a proportional replica of Az.sub.14 through a current mirror (M4.sub.14, M3.sub.14) and generates an analog output current signal Ay.sub.14×Az.sub.14. As noted earlier, floating DACy.sub.14's reference current is proportional to Az.sub.14 that (through M3.sub.14) is binarily distributed between M13.sub.14, M14.sub.14, and M15.sub.14, according to their respective width-over-length or W/L scales 1x, 2x, 4x. The DACy.sub.14's current switches S7.sub.14, S8.sub.14, and S9.sub.14 steer the respective M13.sub.14, M14.sub.14, and M1514 currents to either a diode connected M2614 (which is coupled with the DACy.sub.14's to port) or the DACy.sub.14's to port (carrying a Ay.sub.14×Az.sub.14 current signal) in accordance with the polarity of the Dy.sub.14 bits.
(331) As indicated earlier, DACz.sub.14's full scale output current is 7I1.sub.4=7I.sub.r′, and as such the DACw.sub.14, DACx.sub.14, and DACy.sub.14 full scale can be programmed to 71.sub.r′ with a=b=c=d=e=1. In this case, the summation of DACw.sub.14, DACx.sub.14, and DACy.sub.14 full-scale output current or summation of Aw.sub.14×Az.sub.14+Ax.sub.14×Az.sub.14+Ay.sub.14×Az.sub.14 would compute to 3×7I.sub.r′=21I.sub.r′. The output of sMACiDAC can be represented in the analog domain and proportional to 21I.sub.r′=A.sub.R″:A.sub.o/A.sub.R″=(A.sub.W+A.sub.x+A.sub.y)×A.sub.z.
(332) As stated earlier, M6.sub.14 and I2.sub.14 program the Vgs.sub.M6.sub.
(333) In summary, the embodiment of the D.sub.iI.sub.o sMACiDAC circuit illustrated in
(334) First, the disclosed D.sub.iI.sub.o sMACiDAC utilizing a current mode scalar iDACs whose output is copied and fed onto the reference input terminals of plurality of iDAC saves area and lowers cost, and improved performance with faster dynamic response, in part for its efficacy in performing summation in current-mode that can be accomplished by simply coupling plurality of current signals.
(335) Second, utilizing the floating iDAC method disclosed in
(336) Third, as noted earlier, the disclosed D.sub.iI.sub.o sMACiDAC utilizing iDACs that operate in current-mode is inherently fast.
(337) Fourth, voltage swings in current-mode signal processing are small, which enables operating the disclosed D.sub.iI.sub.o sMACiDAC of
(338) Fifth, operating at low supply voltage reduces power consumption of the disclosed D.sub.iI.sub.o sMACiDAC. Additionally, the flexibility to run the CMOSFETs in subthreshold enables a iDAC that are utilized in D.sub.iI.sub.o sMACiDAC to operate with ultra-low currents, even lower power supplies, and ultra-low power consumption suitable for mobile applications, especially in AI and ML applications that may require numerous ultra-low power and low power supply iDACs for computation.
(339) Sixth, the disclosed D.sub.iI.sub.o sMACiDAC utilizing iDAC for signal processing such as addition or subtraction functions (in current mode) take small area and can be performed fast.
(340) Seventh, by substantially equalizing the terminal voltages at I.sub.o.sup.+ and I.sub.O.sup.− ports of plurality of iDACs as well as the I.sub.o.sup.+ and I.sub.O.sup.− ports of scalar iDACs utilized in the disclosed D.sub.iI.sub.o sMACiDAC, improves the D.sub.iI.sub.o sMACiDAC's transient response and glitch is reduced during on-and-off D.sub.iI.sub.o sMACiDAC's digital input code transitions.
(341) Eight, there are no passive devices in the disclosed D.sub.iI.sub.o sMACiDAC of
(342) Ninth, the precision of the disclosed D.sub.iI.sub.o sMACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(343) Tenth, the disclosed D.sub.iI.sub.o sMACiDAC of
(344) Eleventh, glitch is lower during code transitions in D.sub.iI.sub.o sMACiDAC because floating iDACs utilized in D.sub.iI.sub.o sMACiDAC can be made smaller given that their input-to-output transfer function network utilizes smaller devices that carry smaller capacitances, which inject fewer analog glitches to the output of the D.sub.iI.sub.o sMACiDAC during digital input code transitions.
(345) Twelfth, dynamic power consumption is lower because the D.sub.iI.sub.o sMACiDAC utilizes floating iDAC that have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(346) Thirteenths, the D.sub.iI.sub.o sMACiDAC that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(347) Fourteenth, the D.sub.iI.sub.o sMACiDAC that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating iDACs, which are symmetric, matched, and scaled. Such arrangement facilitates device parameters to track each other over process, temperature, and operating conditions variations. Accordingly, the D.sub.iI.sub.o sMACiDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(348) Fifteenth, while digital computation is generally accurate but it may be excessively power hungry. Current-mode analog and mixed-signal computation that is disclosed here can be approximate but signal processing can be accomplished asynchronously and power consumption can be lower. Moreover, analog current errors here generally may result in degradation but (not total failures) of analog computation, which provides the end-application with approximate results to work with instead of experiencing failed results.
(349) Sixteenth, the embodiment disclosed here is not restricted by FETs having to operate either in saturation (high-currents) or subthreshold (low currents). For example, some analog signal processing units rely on operating transistors in the subthreshold regions which restricts the dynamic range of analog signal processing circuits to low current signals. Also, some other analog signal processing units rely on operating transistors with high currents in the saturation regions which restricts the dynamic range of analog signal processing circuits to higher current signals.
(350) Seventeenth, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 15—Description of FIG. 15
(351)
(352) Utilizing current-mode data-converters, the D.sub.iD.sub.o sMACiDAC embodiment disclosed in
(353)
where s is scalar current signal (e.g., s can be programmed by iDACz.sub.15), W.sub.i is plurality of weight current signals with p as pluralities of channels (e.g., p=3 of W.sub.i current signals can be programmed by iDACw.sub.15, iDACx.sub.15, and iDACy.sub.15, respectively), and b is bias current signal (e.g., b current signal can be programmed by DACb.sub.15). As indicated in prior sections, the illustration of
(354) In
(355) The Az.sub.15 current is inputted to a current-controlled-voltage-source CCVS.sub.15's current input port, whose gain is programmed to g.sub.15. The CCVS.sub.15's voltage output port is coupled with a plurality of voltage-controlled-current sources VCCSs.sub.15, which in the
(356) An iDACw.sub.15 is supplied with the VCCS1.sub.15's output current (a×Az.sub.15) at iDACw.sub.15's reference port wR.sub.15 port. The iDACw.sub.15 receives a w—bits wide digital input word Dw.sub.15, and accordingly iDACw.sub.15 generates an analog output current signal a×Az.sub.15×Aw.sub.15.
(357) An iDACx.sub.15 is supplied with the VCCS2.sub.15's output current (b×Az.sub.15) at iDACx.sub.15's reference port xR.sub.15 port. An iDACx.sub.15 receives a v—bits wide digital input word Dx.sub.15, and accordingly iDACx.sub.15 generates an analog output current signal b×Az.sub.15×Ax.sub.15.
(358) An iDACy.sub.15 is supplied with the VCCS3.sub.15's output current (c×Az.sub.15) at iDACy.sub.15's reference port yR.sub.15 port. An iDACy.sub.15 receives a y—bits wide digital input word Dy.sub.15, and accordingly iDACy.sub.15 generates an analog output current signal c×Az.sub.15×Ay.sub.15.
(359) A bias iDACb.sub.15 is supplied with a reference current signal I2.sub.15 at its bR.sub.15 port, receives a b—bits wide digital input word Db.sub.15, and accordingly iDACb.sub.15 generates an analog output current signal Ab.sub.15.
(360) The current outputs of iDACw.sub.15, iDACx.sub.15, iDACy.sub.15, and iDACb.sub.15 are coupled together to generate a summation current signal of a×Az.sub.15×Aw.sub.15+b×Az.sub.15×Ax.sub.15+c×Az.sub.15×Ay.sub.15+Ab.sub.15=Az.sub.15×(a×Aw.sub.15+b×Ax.sub.15+c×Ay.sub.15)+Ab.sub.15. This summation current signal is concurrently fed onto a current input port of iADC.sub.15 which is a current-mode analog-to-digital-converter (iADC), which generates a o—bits wide digital output word Do.sub.15 which is the digital representation of the D.sub.iD.sub.o iMACiDAC output signal Az.sub.15×(a×Aw.sub.15+b×Ax.sub.15+c×Ay.sub.15)+Ab.sub.15.
(361) In summary, the D.sub.iD.sub.o sMACiDAC embodiment illustrated in
(362) First, the disclosed D.sub.iI.sub.o sMACiDAC utilizing plurality of current-mode iDACs whose certain outputs can be coupled together and biased (in current mode) saves area (lower cost) and improved performance (faster dynamic response), in part for its efficacy in performing summation in current-mode that can be accomplished by simply coupling plurality of current signals.
(363) Second, standard iDACs or factorized or floating iDACs methods (described earlier in the disclosure) can be utilized, which saves area and reduces FETs sizes with lower capacitances in the iDAC's current reference network, which in turn lowers the cost, reduces the size, and improves the transient response of the D.sub.iD.sub.o sMACiDAC that utilizes such iDACs.
(364) Third, as noted earlier, operating in current mode has the following benefits for the disclosed D.sub.iD.sub.o sMACiDAC: (a) current mode is inherently fast, (b) voltage swings in current-mode signal processing are small, which enables operating with lower power supply voltage and operating at low supply voltages facilitates reducing power consumption, (c) current-mode signal processing such as addition or subtraction functions take small area and can be performed fast.
(365) Fourth, there are no passive devices in the disclosed D.sub.iD.sub.o sMACiDAC of
(366) Fifth, the precision of the disclosed D.sub.iD.sub.o sMACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(367) Sixth, the disclosed D.sub.iD.sub.o sMACiDAC of
(368) Seventh, dynamic power consumption is lower because the D.sub.iD.sub.o sMACiDAC by utilizing floating, factorized, or combination of floating and factorized iDACs which have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(369) Eight, the D.sub.iD.sub.o sMACiDAC that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(370) Ninth, the D.sub.iD.sub.o sMACiDAC that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating, factorized, or combination of floating and factorized iDACs, which are symmetric, matched, and scaled. Such arrangement facilitates device parameters to track each other over process, temperature, operating condition variations. Accordingly, the D.sub.iD.sub.o sMACiDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(371) Tenth, while digital computation is generally accurate but it may be excessively power hungry. Current-mode analog and mixed-signal computation that is disclosed here can be approximate but signal processing can be accomplished asynchronously and power consumption can be lower. Moreover, analog current errors here generally may result in degradation but (not total failures) of analog computation, which provides the end-application with approximate results to work with instead of experiencing failed results.
(372) Eleventh, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 16—Description of FIG. 16
(373)
(374) Utilizing current-mode data-converters, the D.sub.iD.sub.o sMACiDAC embodiment disclosed in
(375)
where s is scalar current signal (e.g., s can be programmed by iDACz.sub.16), W.sub.i is plurality of weight current signals with p as pluralities of channels (e.g., p=3 of W.sub.i current signals can be programmed by iDACw.sub.16, iDACx.sub.16, and iDACy.sub.16, respectively), and b is bias current signal (e.g., b current signal can be programmed by DACb.sub.16). As indicated in prior sections, the illustration of
(376) In
(377) The output current of VCCS.sub.16 is concurrently fed onto zR.sub.16 which is a reference input terminal of a scalar iDACz.sub.16. The iDACz.sub.16 receives a z—bits wide digital input word Dz.sub.16, and accordingly iDACz.sub.16 generates an analog output current signal that represents a×Az.sub.16×(Aw.sub.16+Ay.sub.16+Ax.sub.16).
(378) Also concurrently, a bias iDACb.sub.16 is supplied with a reference current signal 14.sub.16 at its bR.sub.16 port, receives a b—bits wide digital input word Db.sub.16, and accordingly iDACb.sub.16 generates an analog output current signal Ab.sub.16.
(379) The output of iDACz.sub.16 and output of iDACb.sub.16 are coupled together to generate a final summation current signal representing a×Az.sub.16×(Aw.sub.16+Ay.sub.16+Ax.sub.16)+Ab.sub.16. This final summation current signal is concurrently fed onto a current input port of iADC.sub.16 which is a current-mode analog-to-digital-converter (iADC), which generates a o—bits wide digital output word Do.sub.16 which is the digital representation of the D.sub.iD.sub.o iMACiDAC output signal a×Az.sub.16×(Aw.sub.16+Ay.sub.16+Ax.sub.16)+Ab.sub.16.
(380) Bear in mind that
(381) In summary, the embodiment illustrated in
(382) First, the disclosed D.sub.iI.sub.o sMACiDAC utilizing plurality of current-mode iDACs whose certain outputs can be coupled together and biased in current mode, which saves area and lowers cost, and improved performance with faster dynamic response, in part for its efficacy in performing summation in current-mode that can be accomplished by simply coupling plurality of current signals.
(383) Second, standard iDACs or factorized or floating iDACs methods (described earlier in the disclosure) can be utilized, which saves area and reduces FETs sizes carrying lower capacitances in the iDAC's current reference network, which in turn lowers cost, reduces the size, and improves the transient response of the D.sub.iD.sub.o sMACiDAC that utilizes such iDACs.
(384) Third, as noted earlier, operating in current mode has the following benefits for the disclosed D.sub.iD.sub.o sMACiDAC: (a) current mode is inherently fast, (b) voltage swings in current-mode signal processing are small, which enables operating with lower power supply voltage and operating at low supply voltages facilitates reducing power consumption, (c) current-mode signal processing such as addition or subtraction functions take small area and can be performed fast.
(385) Fourth, there are no passive devices in the disclosed D.sub.iD.sub.o sMACiDAC of
(386) Fifth, the precision of the disclosed D.sub.iD.sub.o sMACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(387) Sixth, the disclosed D.sub.iD.sub.o sMACiDAC of
(388) Seventh, dynamic power consumption is lower because the D.sub.iD.sub.o sMACiDAC by utilizing floating, factorized, or combination of floating and factorized iDACs which have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(389) Eight, the D.sub.iD.sub.o sMACiDAC that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(390) Ninth, the D.sub.iD.sub.o sMACiDAC that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating, factorized, or combination of floating and factorized iDACs, which are symmetric, matched, and scaled. Such arrangement facilitates device parameters to track each other over process, temperature, and operating condition variations. Accordingly, the D.sub.iD.sub.o sMACiDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(391) Tenth, while digital computation is generally accurate but it may be excessively power hungry. Current-mode analog and mixed-signal computation that is disclosed here can be approximate but signal processing can be accomplished asynchronously and power consumption can be lower. Moreover, analog current errors here generally may result in degradation but (not total failures) of analog computation, which provides the end-application with approximate results to work with instead of experiencing failed results.
(392) Thirteenth, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 17—Description of FIG. 17
(393)
(394) The D.sub.iD.sub.o iMACiDAC embodiment disclosed in
(395)
(396)
where D.sub.i is plurality of ‘data current signals’ with p as plurality (e.g., p=3 of D.sub.i can be generated by iDACs.sub.17, iDACt.sub.17, and iDACu.sub.17), W.sub.i is plurality of weight current signals' with p again as plurality (e.g., again with p=3 of W.sub.i current signals that can be generated by iDACw.sub.16, iDACx.sub.16, and iDACy.sub.m, respectively), and b is ‘bias current signal’ (e.g., b current signal can be generated by DACb.sub.17). As indicated in prior sections, the illustration of
(397) In
(398) A weight iDACx.sub.17 is supplied with a reference current signal I3.sub.17 at its xR.sub.17 port. Also, iDACx.sub.17 receives a v—bits wide digital input word Dx.sub.17, and accordingly iDACx.sub.17 generates an analog output current signal Ax.sub.17. Concurrently, a data iDACt.sub.17 is supplied with Ax.sub.17 at its tR.sub.17 reference input port, while iDACt.sub.17 receives a t—bits wide digital input word Dt.sub.17, and accordingly iDACt.sub.17 generates an analog output current signal At.sub.17×Ax.sub.17, which represents the product of x ‘weight current signal’ multiplied by t ‘data current signal’.
(399) A weight iDACy.sub.17 is supplied with a reference current signal I2.sub.17 at its yR.sub.17 port. Also, iDACy.sub.17 receives a y—bits wide digital input word Dy.sub.17, and accordingly iDACy.sub.17 generates an analog output current signal Ay.sub.17. Concurrently, a data iDACu.sub.17 is supplied with Ay.sub.17 at its uR.sub.17 reference input port, while iDACu.sub.17 receives a u—bits wide digital input word Du.sub.17, and accordingly iDACu.sub.17 generates an analog output current signal Au.sub.17×Ay.sub.17, which represents the product of y ‘weight current signal’ multiplied by u ‘data current signal’
(400) A bias iDACb.sub.17 is supplied with a reference current signal I1.sub.17 at its bR.sub.17 reference input port. Also, iDACb.sub.17 receives a b—bits wide digital input word Db.sub.17, and accordingly iDACb.sub.17 generates an analog output current signal Ab.sub.17.
(401) The output of iDACb.sub.17, iDACs.sub.17, iDACt.sub.17, and iDACu.sub.17 are coupled together to generate a final summation current signal representing (Au.sub.17×Ay.sub.17+At.sub.17×Ax.sub.17+As.sub.17×Aw.sub.17)+Ab.sub.17.
(402) This final summation current signal is concurrently fed onto a current input port of iAD C.sub.17 which is a current-mode analog-to-digital-converter (iADC), which generates a o—bits wide digital output word Do.sub.17 which is the digital representation of the D.sub.iD.sub.o iMACiDAC output signal (Au.sub.17×Ay.sub.17+At.sub.17×Ax.sub.17+As.sub.17×Aw.sub.17)+Ab.sub.17.
(403) In summary, the embodiment of D.sub.iD.sub.o sMACiDAC circuit illustrated in
(404) First, the disclosed D.sub.iI.sub.o sMACiDAC utilizing plurality of current-mode iDACs whose certain outputs can be coupled together and biased in current mode, which saves area and lowers cost, and improved performance with faster dynamic response, in part for its efficacy in performing summation in current-mode that can be accomplished by simply coupling plurality of current signals.
(405) Second, standard iDACs or factorized or floating iDACs methods (described earlier in the disclosure) can be utilized, which saves area and reduces FETs sizes carrying lower capacitances in the iDAC's current reference network, which in turn lowers cost, reduces the size, and improves the transient response of the D.sub.iD.sub.o sMACiDAC that utilizes such iDACs.
(406) Third, as noted earlier, operating in current mode has the following benefits for the disclosed D.sub.iD.sub.o sMACiDAC: (a) current mode is inherently fast, (b) voltage swings in current-mode signal processing are small, which enables operating with lower power supply voltage and operating at low supply voltages facilitates reducing power consumption, (c) current-mode signal processing such as addition or subtraction functions take small area and can be performed fast.
(407) Fourth, there are no passive devices in the disclosed D.sub.iD.sub.o sMACiDAC of
(408) Fifth, the precision of the disclosed D.sub.iD.sub.o sMACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(409) Sixth, the disclosed D.sub.iD.sub.o sMACiDAC of
(410) Seventh, dynamic power consumption is lower because the D.sub.iD.sub.o sMACiDAC by utilizing floating, factorized, or combination of floating and factorized iDACs could have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(411) Eight, the D.sub.iD.sub.o sMACiDAC that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(412) Ninth, the D.sub.iD.sub.o sMACiDAC that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating, factorized, or combination of floating and factorized iDACs, which are symmetric, matched, and scaled. Such arrangement facilitates device parameters to track each other over process-temperature-operation conditions variations. Accordingly, the D.sub.iD.sub.o sMACiDAC's temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(413) Tenth, while digital computation is generally accurate but it may be excessively power hungry. Current-mode analog and mixed-signal computation that is disclosed here can be approximate but signal processing can be accomplished asynchronously and power consumption can be lower. Moreover, analog current errors here generally may result in degradation but (not total failures) of analog computation, which provides the end-application with approximate results to work with instead of experiencing failed results.
(414) Eleventh, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 18—Description of FIG. 18
(415)
(416) Consider that in the
(417) In
(418) An iDACy.sub.18 receives a reference current signal yR.sub.18, a y—bits wide digital input word Dy.sub.18, and generates an analog output current signal Ay.sub.18. Also, bear in mind that the Ay.sub.18 can be replicated, similarly as illustrated in
(419) An iDACz.sub.18 receives a reference current signal zR.sub.18, a z—bits wide digital input word Dz.sub.18, and generates an analog output current signal Az.sub.18. Also, notice that the Az.sub.18 can be replicated, similarly as illustrated in
(420) A bias iDACa.sub.18 receives a reference current signal aR.sub.18, a a—bits wide digital input word Da.sub.18, and generates an analog output current signal Aa.sub.18. A bias iDACb.sub.18 receives a reference current signal bR.sub.18, a b—bits wide digital input word Db.sub.18, and generates an analog output current signal Ab.sub.18. A bias iDACc.sub.18 receives a reference current signal cR.sub.18, a c—bits wide digital input word Dc.sub.18, and generates an analog output current signal Ac.sub.18.
(421) The outputs of iDACm.sub.18, iDACp.sub.18, and iDACs.sub.18 are coupled together and coupled with output of bias iDACa.sub.18 which generates the summation analog current signal that is a multiply-accumulate analog current signal IaLMAc=[Aa.sub.18+(Ax.sub.18×Am.sub.18+Ay.sub.18×Ap.sub.18+Az.sub.18×As.sub.18)] which can be independently digitized through an iADC or can be fed onto an input of a current mux (iMux) as depicted by iMUX.sub.18.
(422) Also, the outputs of iDACn.sub.18, iDACg.sub.18, and iDACt.sub.18 are coupled together and coupled with output of bias iDACb.sub.18 which generates the summation analog current signal that is another multiply-accumulate analog current signal IbtMAc=[Ab.sub.18+(Ax.sub.18×An.sub.18+Ay.sub.18×Ag.sub.18+Az.sub.18×At.sub.18)] which can be independently digitized through another input of a current mux (iMux) as depicted by iMUX.sub.18.
(423) Moreover, the outputs of iDACn.sub.18, iDACg.sub.18, and iDACt.sub.18 are coupled together and coupled with output of bias iDACb.sub.18 which generates the summation analog current signal that is another multiply-accumulate analog current signal Ia.sub.iMAC=[Ab.sub.18+(Ax.sub.18×An.sub.18+Ay.sub.18×Ag.sub.18+Az.sub.18×At.sub.18)] which can be independently digitized through an iADC or can be fed onto another input of a current mux (iMux) as depicted by iMUX.sub.18.
(424) A current mux (such as
(425) Notice that there is flexibility in programming the
(426) In summary, the current-mode Artificial Neural Network (iANN) circuit in illustrated
(427) First, in part, because summation is a key part of iANN that are arranged with iMAC circuits that utilize iDAC circuits, a simple coupling of iDAC current outputs generates a summation signal in a small area, asynchronously, and at high speeds (since current mode signal processing is inherently fast.
(428) Second, standard iDACs or factorized or floating iDACs methods (described earlier in the disclosure) can be utilized here, which saves area and reduces FETs sizes carrying lower capacitances in the iDAC's current reference network, which in turn lowers cost, reduces the size, and improves the transient response of the iANN.
(429) Third, as noted earlier, operating the iANN in current-mode reduces voltage swings, which enables operating with lower power supply voltage and operating at low supply voltages facilitates reducing power consumption. Additionally, the flexibility to run the CMOSFETs in subthreshold enables the iDACs (and hence the iANN) to operate with ultra-low currents, even lower power supplies, and ultra-low power consumption suitable for mobile applications.
(430) Fourth, there are no passive devices in the disclosed iANN, and as such there is no need for resistors or capacitors, which reduces manufacturing size and cost.
(431) Fifth, the precision of the disclosed iANNcan be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(432) Sixth, the iANN can utilize lower resolution iDACs (e.g., 3-bits or 5-bits) to perform the multiplication function, which occupy smaller areas, but can still deliver higher accuracy (e.g., 8-bits of accuracy or ±0.4%) which is beneficial. For example, higher than 3 of 5 bits of accuracy for iDACs is attainable in standard CMOS fabrication factories due to (8-bits of accuracy or ±0.4%) matching that is achievable between the iDAC's binary weighted current sources or segmented current sources. As such, the disclosed iANN can utilize low resolution iDACs that occupy small areas but still achieve higher accuracy multiply-accumulate performance at lower cost.
(433) Seventh, dynamic power consumption is lower because iANN can utilize floating, factorized, or combination of floating and factorized iDACs which have smaller sized FETs (in the input-to-output transfer function network) which would consume less dynamic current to drive smaller FET devices during digital input code transitions.
(434) Eight, the iANN that utilizes floating iDAC can be arranged free of clock, suitable for asynchronous (clock free) computation.
(435) Ninth, the iANN that utilizes same type of MOSFET current sources and MOSFET switches in the respective floating, factorized, or combination of floating and factorized iDACs, which are symmetric, matched, and scaled. Such arrangement facilitates device parameters to track each other over process-temperature-operation conditions variations. Accordingly, the iANN temperature coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced.
(436) Tenth, while digital computation is generally accurate but it may be excessively power hungry. Methods of current-mode analog and mixed-signal computation that is disclosed here can be approximate but signal processing can be accomplished asynchronously and power consumption can be lower. Moreover, analog current errors here generally may result in degradation but (not total failures) of analog computation, which provides the end-application with approximate results to work with instead of experiencing failed results.
(437) Eleventh, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 19—Description of FIG. 19
(438)
(439) One of the objectives of this disclosure is to make multiple-channel (sea of) iDACs with medium-to-high (6-bits to 12-bits) resolution that is small size and low cost. Low cost and small size of sea of iDACs have broad applications, including in machine learning (ML) and artificial intelligence (AI) applications wherein 1000s of iDACs may be utilized as part of for example the multiply-accumulate (MAC) function.
(440) Another objective of this disclosure is to make multiple-channel (sea of) current mode analog to digital converters (iADCs). Similarly, low cost and small size of sea of iADCs have broad base of applications including in ML & AI applications where a plurality of sums of the outputs of a plurality of current-mode MACs (iMACs) may need to be converted to digital signals. The first segments of this section describe iDACs.
(441) For clarity of description,
(442) Note that for example, in a conventional 6-bit binary iDACs with an LSB current weight of i, binary current source network comprising of current sources (2.sup.6-1)i, (2.sup.5-1)i, (2.sup.4-1)i, (2.sup.3-1)i (2.sup.2-1)i, and (2.sup.1-1)i are generated by arranging plurality of paralleled current reference cells. Generally, each current cell is a non-minimum W/L=× carrying an LSB current weight (e.g., i). In a conventional iDAC, identical cells having a 1× (W/L size carrying an LSB current weight of i) are, for example, replicated in parallel 32×, 16×, 8×, 4×, 2×, and 1× times to generate the respective binary reference currents of 32i, 16i, 8i, 4i, 2i, and 1i. Utilizing identical current cells (which dominate the accuracy of an iDACs and that are arranged in parallel to generate the respective binary reference currents) improves the matching between respective binary weighted reference currents, and optimizes the iDAC's accuracy.
(443) As an example, in a conventional 6-bit iDAC the binary weighted currents would require 127 LSB current cells. A conventional 8-bit iDAC's binary weighted currents would require 255 LSB current cells. Thus, a 16-channel conventional 6-bit iDAC array would require about 127×16=2032 LSB current cells and an 8-bit iDAC array would require about 255×16=4080 LSB current cells. In order to attain medium to high accuracy targets for the iDACs, the LSB current cells need to be patterned with non-minimum (larger) size W and L, and as such the numerus LSB current cells which are combined in parallel, dominate the area of the iDACs. As such, conventional iDACs with medium to large resolution are generally prohibitively large and impractical for AI and ML applications that require (numerous channels) sea of iDACs.
(444) Operating in current mode, an iDAC is generally fast. However, because of the numerous paralleled LSB current cells required in conventional medium to high resolution iDACs, the combined parasitic and stray capacitance associated with the array of paralleled LSB current cells would slow down the circuit. For example, in an 8-bit iDAC, the 8th bit or the MSB is comprised of 128× parallel LSB current cells and 7th bit is comprised of 64× parallel LSB current cells and so on. Besides occupying large die area, the large size of paralleled current cells can slow down the dynamic response of the conventional iDACs, cause glitch into the iDAC's analog output as well as the power supplier, and increase dynamic current consumption. Consequently, the overall dynamic performance of the iDACs and AI and ML end-system could be degraded.
(445) The disclosed invention, utilizing a multiple-channel data-converter method, substantially reduces the number of the current cells (and thereby minimizes the area of the disclosed iDACs) which makes feasible utilizing sea of the disclosed iDACs with a low cost. Moreover, plurality of the disclosed iDACs with substantially fewer current cells, lowers the combined associated parasitic and stray capacitance associated with current reference cells, which improves the disclosed iDAC's dynamic response, lowers glitch, lowers digital injections into power supplies, and reduces the disclosed iDAC's dynamic power consumption.
(446) A multiple-channel data-converter method disclosed here arranges a plurality of n-bit iDACs, wherein each of the iDACs is comprised of a voltage controlled current sources (VCCS) to generate each iDAC's binary weighted currents. With i representing an LSB current weight, the multiple-channel data-converter method utilizes a reference bias network (RBN.sub.19) that generates a sequence of individual binary weighted reference bias currents from (2n.sup.−1)i to (2.sup.1-1)i that are inputted to a sequence of current controlled voltage sources (CCVS). In turn, the sequences of CCVSs generate a sequence of reference bias voltage buses that correspond to the sequence of binary weighted reference bias currents (2n.sup.−1)i to (2.sup.1-1)i. The respective output ports of CCVSs, which are a sequence of reference bias voltage busses are coupled to the input of the sequence of the respective plurality of iDACs' VCCSs, that correspond to the respective binary weighted reference bias currents from (2n.sup.−1)i to (2.sup.1-1)i.
(447) By utilizing the multiple-channel data-converter method, the reference current network of an iADC or that of a plurality of iADCs can also be supplied with sequence of reference bias voltage buses that can bias the sequence of binary weighted reference bias currents (2n.sup.−1)i to (2.sup.1-1)i of the iADC or the plurality of iADCs. As such, the multiple-channel data-converter method enables decoupling the weight of a current source from the scaling of the size current source node capacitances of the iADC's current reference networks. This trait, beside saving on die area, can substantially reduce node capacitance along the iADC's signal paths which can speed up the iADC (e.g., the larger the W/L size of a FET current source the larger its capacitance and the slower the node).
(448) Consider that the multiple-channel data-converter method can also be arranged such that a RBN would generate a sequence of individual reference bias currents that are non-linear (e.g., square or logarithmic) where the sequence of individual reference bias currents can then bias the current reference networks (transfer function) for multiple-channels of non-linear iDACs, wherein as a result each of the non-liner iDAC's current reference network would follow a non linear (e.g., square or logarithmic) digital input to analog current output transfer function.
(449) For example, if a RBN is programmed to approximate a logarithmic transfer function, then a pair of iDACs (e.g., iDAC.sub.log X and iDAC.sub.log Y) whose reference current networks are biased from the logarithmic RBN can each generate logarithmic outputs in response to their digital inputs (e.g., D.sub.X, and D.sub.Y). Coupling the outputs of the pair of logarithmic iDAC.sub.X and iDAC.sub.Y would generate a current output that is an analog representation of the product of D.sub.log X and D.sub.log Y in the logarithmic domain (i.e., analog current representation of log[D.sub.X×D.sub.Y]. This can be a cost-performance effective arrangement to perform, for example, 1000s of multiplications on one IC by utilizing plurality of pairs of logarithmic iDACs (whose digital input to analog output transfer functions are programmed logarithmically), wherein each logarithmic iDAC can have small reference current network that is biased from the same logarithmic RBN.
(450) An alternative example could be to program a RBN that follows an approximate square function. As such a pair of square iDACs (e.g., iDAC.sub.(x+y).sub.
(451) As noted earlier, for clarity of description,
(452) In
(453) The iDACa.sub.19 receives a digital input word Da.sub.19 that is a=6 bits wide and generates a positive and a negative output currents I.sub.a.sub.
(454) The iDACb.sub.19 receives a digital input word Db.sub.19 that is b=6 bits wide and generates a positive and a negative output currents I.sub.b.sub.
(455) The iDACc.sub.19 receives a digital input word Dc.sub.19 that is c=6 bits wide and generates a positive and a negative output currents I.sub.c.sub.
(456) Finally, iDACd.sub.19 receives a digital input word Dd.sub.19 that is d=6 bits wide and generates a positive and a negative output currents I.sub.d.sub.
(457) In the embodiment of
(458) Moreover, dynamic response of the iDACs is improved here because the disclosed multiple-channel data-converter method substantially reduces the number of MOSFETs that form the iDAC's binary weighted current source network. Fewer MOSFETs result in substantially less capacitance along the iDAC's signal paths, which in turn improves the dynamic response of the iDACs, including reducing glitch and lowering dynamic power consumption.
(459) As indicated earlier, the MOSFETs that form a conventional iDAC's binary weighted current sources need to be sized with meaningfully larger W and L than minimum geometry for better matching and thereby attaining higher accuracy iDACs. Given their larger W/L sizes, a conventional iDAC's binary weighted current source network, dominate the area of such iDAC. Utilizing the multiple-channel data-converter method, accuracy is roughly comparable with that of a conventional iDAC by keeping the larger (non-minimum MOSFETs) W/L size of the iDAC's current source. However, multiple-channel data-converter method reduces the number of non-minimum MOSFET utilizes in the iDAC's current sources, providing meaningful die size reduction and cost savings.
(460) Bear in mind that the multiple-channel data-converter method can be utilized for a portion of an iDAC's current source network (e.g., MSB bank) and conventional binary weighted iDAC can be utilized for the remainder portion (e.g., LSB bank) of iDAC's current source network. Also consider that the iDAC's current sources can utilize cascoded MOSFETs to attain higher output impedance, and the cascoded MOFETs can be biased with an independent bias bus, that feeds plurality of iDACs, similar in arrangement to those generated by RBN.sub.19 circuit. Also, notice that for example in applications requiring 8 or 16 or 32 channels iDACs, the area savings by utilize g the multiple-channel data-converter method significantly outweighs the additional area due to RBN.sub.19.
(461) In summary, the current-mode multiple-channel data-converter method that is illustrated in the embodiment of
(462) First, substantial area savings is achieved by utilizing the disclosed multiple-channel data-converter method, especially in applications requiring sea of iDACa in a chip. The area savings is achieved in part because the requirement for individually weighted current sources (e.g., binary weighted or non-linearly weighted) is decoupled from requiring individually scaled current sources.
(463) Second, the disclosed multiple-channel data-converter method substantially reduces the number of MOSFETs that form the iDAC's binary weighted current source network. Fewer MOSFETs result in substantially less capacitance along the iDAC's signal paths, which in turn improves the dynamic response of the iDACs, including reducing glitch and lowering dynamic power consumption.
(464) Third, despite area savings attainable by the disclosed multiple-channel data-converter method, the accuracy of individual iDACs is not substantially deterred. All else substantially equal, the matching of MOSFETs that form a data-converter's reference current network dominate the accuracy of a current-mode data-converter. The scaled MOSFETs in both the (central) reference bias network (RBN) match the 1× scaled MOSFETs in each of the iDAC because they are all arranged with the same (non-minimum W/L size) cell layout and same orientation.
(465) Fourth, as noted earlier, operating the disclosed multiple-channel data-converter method in current-mode is inherently fast. Moreover, operating in current mode reduces voltage swings along the pertinent signal paths, which enables operating the iDACs with lower power supply voltages. Operating the data-converters at low power supply voltages facilitates reducing power consumption.
(466) Fifth, the flexibility to run the MOSFETs in subthreshold enables the iDACs to operate with ultra-low currents, even lower power supplies, and ultra-low power consumption suitable for mobile applications.
(467) Sixth, there are no passive devices in the disclosed iDACs, and as such there is no need for resistors or capacitors, which reduces manufacturing size and cost.
(468) Seventh, the disclosed multiple-channel data-converter method can be arranged free of clock, suitable for asynchronous (clock free) computation.
(469) Eighth, the disclosed multiple-channel data-converter method utilize same type of MOSFET current sources and MOSFET switches which are symmetric and matched. Such arrangement facilitates device parameters to track each other over process-temperature-operation conditions variations. Accordingly, each of the data-coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced and matched between the plurality of data-converters.
(470) Ninth and as stated earlier, the disclosed multiple-channel data-converter method substantially reduces the number of MOSFETs that for example form the iDAC's binary weighted current source network, and as such the fewer MOSFETs can be placed closer to each other on a chip. Similarly, oriented and physically closer MOEFETs, that form the current reference of a data-converter, generally match better which in turn improves the accuracy of each of the data-converter and the matching between them in plurality of iDACs in one chip.
(471) Tenth, besides iDACs, the multiple-channel data-converter method can be applied to iADCs as well. Generally and all else substantially equal, the larger the W/L size of a FET current source, the larger its capacitance and the slower the node, which capacitively loads an iADC's current reference networks and can substantially reduce the speed of the iADC. As noted earlier, the multiple-channel data-converter method enables decoupling the weight of a current source from the scaling of the sizes of FETs utilizing in forming the data-converter's reference current sources. By keeping each of the W/L sizes of the current source FETs the same at 1× and small for example (despite each of their binary weighted currents), the node capacitances of the iADC's reference current networks can be kept small which helps speeds up the dynamic response of the iADC. More importantly, in applications where plurality (sea of) iADCs are required, by keeping the size of the current reference network of each of the iADC small in the plurality of the iADCs, substantial die area savings can also be realized.
(472) Eleventh, in an embodiment of the multiple-channel data-converter method wherein the central RBN is trimmed or calibrated for accuracy, the accuracy of each of the plurality of data-converters whose reference current network is biased from the same central RBN can be improved.
(473) Twelfth, in an embodiment of the multiple-channel data-converter method wherein the central RBN is desensitized from power supply variations (e.g., by utilizing the second power supply desensitization method or the second PSR method disclosed in
(474) Thirteenth, the benefits of the multiple-channel data-converter method can be attained in other higher-order systems including but not limited to multipliers, multiply-accumulate (MAC), and artificial-neural-network (ANN) that utilize the multiple-channel data-converter method.
Section 20—Description of FIG. 20
(475)
(476) For descriptive clarity and illustrative simplicity, the embodiment of the XD.sub.iI.sub.O.sub.
(477) As presented earlier, XD.sub.iI.sub.O.sub.
(478) The XD.sub.iIo.sub.20 is comprising of a first current-output DAC (iDAC) or iDACx.sub.20 that generates an output Ix.sub.20, a second current-output iDAC or iDACy.sub.20 that generates an out Iy.sub.20, wherein Ix.sub.20, Iy.sub.20, and a reference current (Ir.sub.20) are inputted to a current multiplier or iMULT.sub.20. The resultant analog output product of iMULT.sub.20 is Io.sub.20 which is a single-quadrant current output. The Io.sub.20 is then inputted to a switching current mirror inverter (comprising of P1s.sub.20, P2s.sub.20, NoM.sub.20, and NoM′.sub.20) section of the iMULT.sub.20 which converts the single-quadrant Io.sub.20 to a multi-quadrant output ±Io.sub.20, wherein the plus minus sign of Io.sub.20 is controlled by the sign bits of the x and y digital input words (e.g., sign-magnitude format).
(479) As noted earlier, the XD.sub.iI.sub.O's dynamic performance is improved and silicon area is reduced by utilizing the multiple-channel data-converter method that is described in section 19 of this disclosure. A single bias reference network (RBN.sub.20) is shared by biasing a plurality XD.sub.iJ.sub.0 channels, wherein each XD.sub.iJ.sub.0 is comprising of iMULT (e.g., an iMULT.sub.20) and pair of iDACs (e.g., iDACx.sub.20 and iDACy.sub.20). Here, substantially equal 1× sized current sources in the iDAC's reference current network is biased separately by RBN.sub.20 wherein each iDAC's 1× sized current source carries its respective binary weighted current, which improves dynamic performance of the iDACs and save silicon area, especially in machine learning applications were 1000s (plurality) of iDACs can be needed to perform the multiply-accumulate (MAC) functions.
(480) Note also that the sign-magnitude logic (LOGIC.sub.20) block can be shared between plurality XD.sub.iI.sub.O channels by inserting a plurality of latches (to store the x and y digital input words) between the LOG/C.sub.20 block outputs and the plurality of current switches of the respective plurality of iDACx.sub.20 and iDACy.sub.20 pairs, which also saves silicon area.
(481) Moreover, additional area is save by utilizing only one RBN.sub.20 that is shared with a plurality of XDtiIo.sub.20, wherein the multiplier power supply desensitization method (or XPSR method) is utilized to substantially desensitize each of the XD.sub.iI.sub.O.sub.
(482) The multiplier power supply desensitization method substantially desensitizes a multiplier from power supply variations by arranging a first ratio relationship between the first input (I.sub.Y) and the reference input (I.sub.R) to a multiplier wherein the I.sub.Y and the I.sub.R both have a substantially equivalent first dependence error (e.sub.dd) to power supply variations (ΔV.sub.DD) and wherein the e.sub.dd cancel each other out due to the first ratio (I.sub.Y/I.sub.R) relationship in a multiplier. Moreover, multiplier power supply desensitization method substantially desensitizes the multiplier from ΔV.sub.DD by arranging a second ratio (I.sub.O/I.sub.X) relationship between the output (I.sub.O) and the second input (I.sub.X) of the multiplier wherein the I.sub.O and the I.sub.X of the multiplier both have a substantially equivalent second dependence error (e′.sub.dd) to ΔV.sub.DD and wherein the e′.sub.dd cancel each other out due to the I.sub.O/I.sub.X relationship. Also, the I.sub.Y/I.sub.R is substantially equalized to I.sub.O/I.sub.x in the multiplier, and the e.sub.dd and the e′.sub.dd may be substantially equal or different from one another. This means that for example e.sub.dd can be zero meaning I.sub.Y and I.sub.R have no dependence to power supply variations, and where e′.sub.dd can be finite meaning O.sub.O and I.sub.X have dependence to power supply variations, and vice versa. Moreover, for example, e.sub.dd and e′.sub.dd can be zero meaning that I.sub.Y, I.sub.R, I.sub.O, and I.sub.X do not have dependence to power supply variations.
(483) Another way of describing the multiplier power supply desensitization (XPSR) method is as follows: An analog multiplier input-output transfer function is tI.sub.O=I.sub.X I.sub.Y/I.sub.R or I.sub.O/I.sub.X=I.sub.Y/I.sub.R, where X is x-input current, I.sub.Y is y-input current, I.sub.R is a reference input current representing the full scale of I.sub.X and I.sub.Y, and I.sub.O is the multiplier's output current. The multiplier power supply desensitization method arranges a multiplier where I.sub.O and I.sub.X can have similar dependence (error) on power supply (V.sub.DD), and I.sub.Y and I.sub.R can have with other similar dependence (error) on V.sub.DD. In other words, I.sub.O=I.sub.O (1±e.sub.dd), I.sub.X=I.sub.X (1±e.sub.dd), I.sub.Y=I.sub.Y (1±e′.sub.dd), and I.sub.R=I.sub.Y (1±e′.sub.dd), wherein ±e.sub.dd is the scale error attributed to V.sub.DD variations for i.sub.o and i.sub.x, and ±e′.sub.dd is the scale error attributed to V.sub.DD variations for i.sub.y and i.sub.x. As such, a scale error term (1±e.sub.dd) attributed to V.sub.DD varaitions is canceled out in the ratio of I.sub.O/I.sub.X. Similarly, a scale error terms (1±e′.sub.dd) attributed to V.sub.DD variations are canceled out in the ratio of I.sub.Y/I.sub.R. Also, note that ±e′.sub.dd can be the same as or different from ±e′.sub.dd.
(484) First, the XPSR method to help substantially desensitize a XD.sub.iI.sub.O from the dependence error of I.sub.Y/I.sub.R on power supply variations is described. Let's arrange the iDACy.sub.20's current switches (comprising of N4y′.sub.20 through N1y′.sub.20 and N4y″.sub.20 through N1y″.sub.20) with low on resistance. Also, let's arrange V1y.sub.20=V.sub.DD−Vgs.sub.PMOS (e.g., placing a diode connected FET between V.sub.DD and V1y.sub.20, which can help lower iDAC's glitch and improves settling time). One of the current outputs (Iy.sub.20) of iDACy.sub.20 that is coupled with the y-input port of iMULT.sub.20 has a bias voltage of V.sub.DD minus a PMOS's gate-to-source voltage (V.sub.gs of PyM.sub.20). Thus, the drain-to-source voltage (V.sub.as) of FETs in the current reference network of iDACy.sub.20 (comprising of N4y.sub.20 through N1y.sub.20) is V.sub.DD−V.sub.gs. Be mindful that early voltage (V.sub.A) in FETs can cause I.sub.DS dependence (error) on power supply variations, wherein such I.sub.DS dependence (error) can be reduced by cascading FETs at the expense of increasing silicon area. Accordingly, the iMULT.sub.20's current input Iy.sub.20 is arranged in this disclosure to have a dependence error as a function of V.sub.DD variations. Similarly, the reference current input (Ir.sub.20) of iMULT.sub.20 that is supplied by an NMOS (i.e., NrM.sub.20) has a V.sub.as that is also V.sub.DD minus V.sub.ys of PrM.sub.20. As such, the current input that is Ir.sub.20 of iMULT.sub.20 is arranged to have a substantially similar dependence error as a function of V.sub.DD variations to that of Iy.sub.20. Hence, the I.sub.Y and I.sub.R have the same depended error on V.sub.DD variations that is substantially rejected, without the need for cascode FETs (which saves silicon area) in light of iMULT.sub.20 ratio relationship between them that is I.sub.Y/I.sub.R.
(485) Next, the XPSR method to help substantially desensitize a XD.sub.iI.sub.O from the dependence error of I.sub.O/I.sub.X on power supply variations is described. Similar to the y-channel, let's arrange the iDACx.sub.20's current switches (comprising of N4x′.sub.20 through N1x′.sub.20 and N4x″.sub.20 through N1x″.sub.20) with low on resistance. Similarly, let's arrange V1x.sub.20=V.sub.SS+Vgs.sub.NMOS (which can help lower iDAC's glitch and improves settling time). One of the current outputs (Ix.sub.20) of iDACx.sub.20 that is coupled with the x-input port of iMULT.sub.20 has a bias voltage of V.sub.SS plus a NMOS's gate-to-source voltage (V.sub.ys of N×M.sub.20). Thus, the drain-to-source voltage (V.sub.DS) of FETs in the current reference network of iDACx.sub.20 (comprising of N4x.sub.20 through N1x.sub.20) is V.sub.SS+V.sub.gs. As such, the iMULT.sub.20's current input that is 1x.sub.20 is arranged in this disclosure to have a dependence error as a function of V.sub.SS variations. By biasing Vxy.sub.20=V.sub.SS+Vgs.sub.NMOS, then depending on sign (or MSB) of the x or y digital input word, the bias voltage of the current input (Io.sub.20) of iMULT.sub.20 would be subject to either V.sub.gs of NoM.sub.20 or that of NoM′.sub.20, which are both NMOS. Thus, the iMULT.sub.20's current output that is Io.sub.20 is arranged in this disclosure to have the same dependence error as a function of V.sub.SS variations to that of Ix.sub.20. Hence, the I.sub.O and I.sub.X have the same depended error (on V.sub.SS variations) that is substantially rejected in light of iMULT.sub.20 ratio relationship between them that is I.sub.O/I.sub.x.
(486) Bear in mind that for machine learning applications where plurality (or sea) of XD.sub.iI.sub.O channels are required, the reference bias network (RBN) and LOGIC sections can be shared amongst plurality (or sea) of XD.sub.iI.sub.O channels. The iDAC's current reference network can provide binary weighted currents without requiring the current sources to be sized in binary weighted arrangement which saves significant area in each iDAC utilized in XD.sub.iI.sub.O. Further area savings are realized by eliminating the cascoded FETs from the current (mirror) reference network of each iDAC utilized in XD.sub.iI.sub.O, while utilizing the PSR method substantially desensitizes the XD.sub.iI.sub.O from power supply variations.
(487) Each XD.sub.iI.sub.O is substantially desensitized from power supply variations by utilizing the multiplier power supply desensitization method which is indicated by SPICE circuit simulations of
(488) In summary, some of the benefits of the embodiment disclosed in
(489) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(490) Second, the disclosed embodiment benefits from savings in silicon die area, lower glitch, and faster speed when plurality of XD.sub.iI.sub.O are required (e.g., in machine learning applications where 1000s of XD.sub.iI.sub.O may be needed) by utilizing the multiple iDAC method that is disclosed in section 19.
(491) Third, the disclosed embodiment benefits from further saving in silicon die area as well as desensitization to power supply variations for each XD.sub.iI.sub.O by utilizing the multiplier power supply desensitization method, which also facilitates the elimination of the cascoded FETs in iDACs current reference network.
Section 21—Description of FIG. 21
(492)
(493) For descriptive clarity and illustrative simplicity, the embodiment of the XD.sub.iI.sub.O.sub.
(494) As asserted earlier, XD.sub.iI.sub.O.sub.
(495) The XD.sub.iI.sub.O.sub.
(496) Note that Ix.sub.21 as output of iDACx.sub.21 is coupled with x-input of iMULT.sub.21 that is biased at about V.sub.DD−V.sub.GSp where V.sub.GSp is that of PxoM.sub.21. Similarly, Iy.sub.21 as output of iDACy.sub.21 is coupled with y-input of iMULT.sub.21 that is also biased at about V.sub.DD−V.sub.GSp where V.sub.GSp is that of PyM.sub.21. Also, Ir.sub.21 provided by NrM.sub.21 is coupled with reference current input of iMULT.sub.21 that is also biased at about V.sub.DD−V.sub.GSp where V.sub.GSp is that of PrM.sub.21.
(497) As stated earlier, the XD.sub.iI.sub.O's dynamic performance is improved and silicon area is reduced by utilizing the multiple-channel data-converter method that is described in section 19 of this disclosure. A single bias reference network (RBN.sub.21) is shared by biasing a plurality XD.sub.iI.sub.O channels, wherein each XD.sub.iI.sub.O is comprising of iMULT (e.g., an iMULT.sub.21) and pair of iDACs (e.g., iDACx.sub.21 and iDACy.sub.21). Here, substantially equal 1× sized current sources in the iDAC's reference current network is biased separately by RBN.sub.21 wherein each iDAC's 1× sized current source carries its respective binary weighted current.
(498) Due to FET's early voltage (V.sub.A), the IDs of a current source made of one FET increases with increasing its V.sub.DS. As such IDs of a current source FET is sensitive to V.sub.DD variation, unless the current source is cascoded (to increase the FET's output impedance) which takes double the area for a given current source. The multiple-channel data-converter method of section 19 is combined with the XPSR method that was described in section 20, in order to (1) avoid the cascoded FETs, (2) substantially desensitize the multiplier from power supply variations, (3) reduce the size of iDAC's binary weighted current reference network. Such combination of methods is utilized in the embodiment of a RBN.sub.21 & PSR.sub.21 circuit, wherein the RBN.sub.21 & PSR.sub.21 circuit is shared with a plurality of XD.sub.iI.sub.O.sub.
(499) Notice that the PSR circuit is comprised of identical sections that are repeated for each sequence of reference bias currents of RBN, and that each multiplier XD.sub.iI.sub.O.sub.
(500) For example, the PSR.sub.21 section of the MSB current of RBN.sub.21 is comprising of P4c.sub.21, P4c′.sub.21, P4c″.sub.21, N4c.sub.21, and N4c′.sub.21. The MSB current of the RBN.sub.21 circuit, which is set by the I.sub.DS of N4r.sub.21, is mirrored through P4c.sub.21 and the diode connected P4c′.sub.21 where P4c″.sub.21 regulates the current in N4c′.sub.21 and its diode connected N4c.sub.21 mirror while keeping the V.sub.Gs of P4c.sub.21 and P4c′.sub.21 substantially equalized. The Vas of N4c′.sub.21 is V.sub.DD−V.sub.GSp with V.sub.GSp being that of P4c′.sub.21. The PSR.sub.21 section's regulation of the MSB current of RBN.sub.21 kicks in when, for example, V.sub.DD falls then IDs of P4c″.sub.21 increases which raises the operating current in N4c.sub.21, N4c′.sub.21, P4c′.sub.21, and P4c.sub.21 until the I.sub.DS of P4c.sub.21 is substantially equalized with I.sub.DS of N4r′.sub.21, which is independent of V.sub.DD variations (since I.sub.DS of N4r′.sub.21 mirrors a multiple of the fixed reference current Ir′.sub.21).
(501) In other words, when V.sub.DD varies, the IDs of N4c′.sub.21 and P4c′.sub.21 is regulated and independent of V.sub.DD variations, despite N4c′.sub.21's V.sub.DS=V.sub.DD−V.sub.GSp. The V4r.sub.21 that is the V.sub.GS of N4c.sub.21 and N4c′.sub.21 programs the bus voltage that is coupled with the gate terminals of N4y.sub.21 and N4x.sub.21 which are the MSB current sources of the current reference network of iDACx.sub.21 and iDACy.sub.21. Considering that the bias voltage at the drain terminals of N4y.sub.21 and N4x.sub.21 are coupled with the inputs of iMULT.sub.21 which are about V.sub.DD−V.sub.GSp, the I.sub.DS of the N4y.sub.21 and N4x.sub.21 is also independent of V.sub.DD variations because they mirror N4c.sub.21 and N4c′.sub.21.
(502) Be mindful that the drain terminals of N4x.sub.21 and N4y.sub.21 (when selected in iDACs) are coupled with the x and y analog input current ports of iMULT.sub.21, respectively, whose bias voltages are arranged as V.sub.GSp of PxoM.sub.21 and PyM2.sub.1. In summary, the MSB current sources of iDAC's current reference networks are arranged to be independent of V.sub.DD variations, without cascoded FETs in iDAC's current reference network, and with the iDAC's binary weighted current reference network that is not sized in a binary weighted manner, combination of which saves substantial silicon area (especially in machine learning applications where 1000s of iDACs may be required).
(503) Note that the same description as above is applicable to N2r.sub.21, N2r′.sub.21 and N1r.sub.21, N1r′.sub.21 that in conjunction with the regulating mechanism of their respective PSR.sub.21 sections, generate the V2r.sub.21 and V1r.sub.21 bus voltages.
(504) Thus, V2r.sub.21 that is the V.sub.GS of N2c.sub.21 and N2c′.sub.21 is the bus voltage that is coupled with the gate terminals of N2y.sub.21 and N2x.sub.21 which can be referred to as the second bit current sources of current reference network of iDACx.sub.21 and iDACy.sub.21. The IDs of N2y.sub.21 and N2x.sub.21 is also independent of V.sub.DD variations, without cascoded FETs, as explained above.
(505) Similarly, V1r.sub.21 that is the V.sub.GS of N1c.sub.21 and N1c′.sub.21 is the bus voltage that is coupled with the gate terminals of N1y.sub.21 and N1x.sub.21 which are the LSB current sources of current reference network of iDACx.sub.21 and iDACy.sub.21. Accordingly, IDS of N1y.sub.21 and N1x.sub.21 is independent of V.sub.DD variations, without cascoded FETs. As indicated earlier, V4r.sub.21, V2r.sub.21, and V1r.sub.21 are bus voltages in the reference bias network (RBN) that set the sequence of reference bias currents for plurality of iDACs (e.g., there can be 1000s if iDACs sharing the sequence bus voltages generated by the same RBN).
(506) In summary, the sequence of reference bias currents generated in the RBN circuit are substantially desensitized from V.sub.DD variations by the PSR circuit before they are mirrored onto the iDAC's current reference networks. As such, iDAC's output currents are arranged to be independent of V.sub.DD variations, without cascoded FETs in iDAC's current reference network which save silicon area.
(507) As presented in section 20, the iMULT.sub.21's input output transfer function follows the Iy.sub.21/Ir.sub.21=Io.sub.21/Ix.sub.21 relationship. The Iy.sub.21/Ir.sub.21 is substantially desensitized to V.sub.DD variations, since iDACy.sub.21 current output that is Iy.sub.21 and Ir.sub.21 are substantially desensitized to V.sub.DD variations without cascoded FETs, as explained earlier.
(508) The iDACx.sub.21 current output is also substantially desensitized to V.sub.DD variations without cascoded FETs. The PoM.sub.21 is cascoded with PoM′.sub.21 to increase the output impedance of output port of iMULT.sub.21 and substantially desensitized 1021 to V.sub.DD variations. Also, PxM.sub.21 is cascoded with PxM′.sub.21 to help match the V.sub.DS of PxM.sub.21 and PoM.sub.21, which helps with Io.sub.21/Ix.sub.21 insensitivity to V.sub.DD variations.
(509) Each XD.sub.iI.sub.O is substantially desensitized from power supply variations by utilizing another embodiment of the multiplier power supply desensitization method that is indicated by SPICE circuit simulations of
(510) In summary some of the benefits of the embodiment disclosed in
(511) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(512) Second, the disclosed embodiment benefits from savings in silicon die area, lower glitch, and faster speed when plurality of XD.sub.iI.sub.O are required (e.g., in machine learning applications where 1000s of XD.sub.iI.sub.O may be needed) by utilizing the multiple iDAC method that is disclosed in section 19.
(513) Third, the disclosed embodiment benefits from further saving in silicon die area as well as desensitization to power supply variations for each XD.sub.iI.sub.O by utilizing another embodiment of the multiplier power supply desensitization method, which also facilitates the elimination of the cascoded FETs in iDACs current reference network.
Section 22A—Description of FIG. 22A
(514)
(515) Keeping in mind that 8-bit of resolution computes to about ±0.4% of accuracy,
Section 22B—Description of FIG. 22B
(516)
(517) Keeping in mind that 8-bit of resolution computes to about ±0.4% of accuracy,
Section 23—Description of FIG. 23
(518)
(519) For descriptive clarity and illustrative simplicity, the XD.sub.iIo.sub.23's resolution is arranged as a 3-bit (x-channel for iDACx.sub.23) by 3-bit (y-channel for iDACy.sub.23), but the resolution can be higher (e.g., 16-bits).
(520) A current reference (Ir′.sub.23) is inputted and mirrored onto iDACx.sub.23's binary weighed current reference network comprising of P4x.sub.23 (scaled at 4×), P2x.sub.23 (scaled at 2×), and P1x.sub.23 (scaled at 1×). The iDACx.sub.23's digital inputs (Dx.sub.23 digital word) are D3x.sub.23 (as MSB) through D1x.sub.23 (as LSB), which control iDACx.sub.23's analog current switches P4x′.sub.23 through P1x′.sub.23 and P4x″.sub.23 through P1x″.sub.23.
(521) The selected sums of iDACx.sub.23's analog current switch outputs are steered through node n.sub.23 onto the reference input of iDACy.sub.23.
(522) The iDACy.sub.23's binary weighed current reference network comprising of P4y.sub.23 (scaled at 4×), P2y.sub.23 (scaled at 2×), and P1y.sub.23 (scaled at 1×) have their source terminals coupled together and floating on node n.sub.23. Moreover, note that the gate terminal of P4y.sub.23, P2y.sub.23, and P1y.sub.23 are coupled together with Pr′.sub.23's cascode bias voltage Vy′.sub.23, which provides enough headroom for the iDACx.sub.23's binary weighed current reference network and improves its output impedance. Similarly, the iDACy.sub.23's digital inputs (Dy.sub.23 digital word) are D3y.sub.23 (as MSB) through D1y.sub.23 (as LSB) control iDACy.sub.23's analog current switches P4y′.sub.23 through P1y′.sub.23 and P4y″.sub.23 through P1y″.sub.23. The selected sums of iDACy.sub.23's analog current switch outputs are steered through the XD.sub.iI.sub.O23's current-output node Io.sub.23 that generates the analog current product Ax.sub.23×Ay.sub.23/Ar.sub.23, wherein Ax.sub.23 is the analog current representation of the digital word Dx.sub.23, Ay.sub.23 is the analog current representation of the digital word Dy.sub.23, and Ar.sub.23 is a multiple of Ir′.sub.23.
(523) The disclosed XD.sub.iIo.sub.23 benefits from current mode operations, which has been discussed in this disclosure. Another benefit of XD.sub.iI.sub.O23 disclosure results from feeding the current output of a first iDAC directly into the reference port of a second iDAC, whose reference input port is floating. The floating iDAC method (that is utilized here) was describe in section 1 of this disclosure. Here, the source terminals of current reference FET network of the second iDAC are coupled together to arrange the floating reference port of the second iDAC. As such, a current mirror (to channel the first iDAC output current onto the second iDAC reference input port) is avoided, which saves area and improves accuracy since it avoids the mismatch associated with the said current mirror.
Section 24—Description of FIG. 24
(524)
(525) For descriptive clarity and illustrative simplicity, the XD.sub.iIo.sub.24's resolution is arranged as a 3-bit (x-channel for iDACx.sub.24) by 3-bit (y-channel for iDACy.sub.24) but the resolution can be higher (e.g., 16-bits).
(526) A current reference (Ir′.sub.24) is inputted and mirrored onto iDACx.sub.24's binary weighed current reference network comprising of P4x.sub.24 (scaled at 4×), P2x.sub.24 (scaled at 2×), and P1x.sub.24 (scaled at 1×). The iDACx.sub.24's digital inputs (Dx.sub.24 digital word) are D3x.sub.24 (as MSB) through D1x.sub.24 (as LSB), which control iDACx.sub.24's analog current switches P4x′.sub.24 through P1x′.sub.24 and P4x″.sub.24 through P1x″.sub.24.
(527) Note that the embodiment of
(528) The selected sums of iDACx.sub.24's analog current switch outputs are steered through the floating node n.sub.24 and onto the reference input of iDACy.sub.24.
(529) The iDACy.sub.24's binary weighed current reference network comprising of P4y.sub.24 (scaled at 4×), P2y.sub.24 (scaled at 2×), and Ply.sub.24 (scaled at 1×) have their source terminals coupled together and floating on node n.sub.24. Moreover, be mindful that the gate terminal of P4y.sub.24, P2y.sub.24, and Ply.sub.24 are coupled together with Pr′.sub.24's cascode bias voltage Vy′.sub.24, which provides enough headroom for the iDACx.sub.24's binary weighed current reference network and improves its output impedance. Similarly, the iDACy.sub.24's digital inputs (Dy.sub.24 digital word) are D3y.sub.24 (as MSB) through D1y.sub.24 (as LSB) control iDACy.sub.24's analog current switches P4y′.sub.24 through P1y′.sub.24 and P4y″.sub.24 through P1y″.sub.24. The selected sums of iDACy.sub.24's analog current switch outputs are steered through the XD.sub.iIo.sub.24's current-output node Io.sub.24 that generates the analog current product Ax.sub.24×Ay.sub.24/Ar.sub.24, wherein Ax.sub.24 is the analog current representation of the digital word Dx.sub.24, Ay.sub.24 is the analog current representation of the digital word Dy.sub.24, and Ar.sub.24 is a multiple of Ir′.sub.24.
(530) The disclosed XD.sub.iIo.sub.24 benefits from current mode operations, which has been discussed in this disclosure. Another benefit of XD.sub.iIo.sub.24 disclosure results from feeding the current output of a first iDAC directly into the reference port of a second iDAC, whose reference input port is floating. The floating iDAC method, which is utilized here, was describe in section 1 of this disclosure. Here, the source terminals of current reference FET network of the second iDAC are coupled together to arrange the floating reference port of the second iDAC. As such, a current mirror (to channel the first iDAC output current onto the second iDAC reference input port) is avoided, which saves area and improves accuracy since it avoids the mismatch associated with the said current mirror.
Section 25—Description of FIG. 25
(531)
(532) For descriptive clarity and illustrative simplicity, the XD.sub.iIo.sub.25's resolution is arranged as a 3-bit (x-channel for iDACx.sub.25) by 3-bit (y-channel for iDACy.sub.25) but the resolution can be higher (e.g., 16-bits).
(533) A current reference (Ir′.sub.25) is inputted and mirrored onto iDACx.sub.25's binary weighed current reference network comprising of P4x.sub.25 (scaled at 4×), P2x.sub.25 (scaled at 2×), and P1x.sub.25 (scaled at 1×). The iDACx.sub.25's digital inputs (Dx.sub.25 digital word) are D3x.sub.25 (as MSB) through D1x.sub.25 (as LSB), which control iDACx.sub.25's analog current switches P4x′.sub.25 through P1x′.sub.25 and P4x″.sub.25 through P1x″.sub.25.
(534) Be mindful that generally cascoded FETs are utilized in an iDAC's current reference network to increase its output impedance and substantially desensitize an iDAC's output current from power supply variations.
(535) Here, the selected sums of iDACx.sub.25's analog current switch outputs are steered through node n.sub.25 onto a power supply desensitization circuit (PSR.sub.25). One of the objectives of PSR.sub.25 is to substantially desensitize the output current of XD.sub.iIo.sub.25 from power supply variations, wherein the cascode FETs are eliminated from the binary weighted current reference network of iDACx.sub.25 and iDACy.sub.25. Without the cascode FETs, the binary weighted current reference network net-net area is reduced substantially compared to the added area of PSR.sub.25 (and hence the overall area of XD.sub.iI.sub.O25 is reduced).
(536) In the disclosed embodiment of
(537) The iDACy.sub.25's binary weighed current reference network comprising of N4y.sub.25 (scaled at 4×), N2y.sub.25 (scaled at 2×), and N1y.sub.25 (scaled at 1×) are scaled and mirrored to IDS of Nq′.sub.25, and Nq.sub.25. Here also, the iDACy.sub.25's digital inputs (Dy.sub.25 digital word) are D3y.sub.25 (as MSB) through D1y.sub.25 (as LSB) control iDACy.sub.25's analog current switches N4y′.sub.25 through N1y′.sub.25 and N4y″.sub.25 through N1y″.sub.25. The selected sums of iDACy.sub.25's analog current switch outputs are steered through the XD.sub.iIo.sub.25's current-output node Io.sub.25. The iDACy.sub.25's output generates the equivalent analog output current product Ax.sub.25×Ay.sub.25/Ar.sub.25, wherein Ax.sub.25 is the analog current representation of the digital word Dx.sub.25, Ay.sub.25 is the analog current representation of the digital word Dy.sub.25, and Ar.sub.25 is a scaled Ir′.sub.25. Again, consider that node IO.sub.25 can be biased at a V.sub.GS below V.sub.DD.
(538) The disclosed XD.sub.iIo.sub.25 benefits from current mode operations, which has been discussed in this disclosure. Another benefit of XD.sub.iIo.sub.25 is having a smaller area by utilizing a method of rejecting power supply variations by regulating the first iDAC's output current before it is fed onto the reference input the second iDAC, wherein the iDAC's current reference networks are stripped from cascoded FETs. This power supply desensitization method utilized in XD.sub.iIo.sub.25 (via the embodiment of a power supply desensitization circuit PSR.sub.25) substantially desensitizes XD.sub.iIo.sub.25's output from V.sub.DD variations, wherein the cascoded FETs (in the iDAC's current reference networks) are eliminated, which saves silicon area and lowers cost.
Section 26—Description of FIG. 26
(539)
(540) For descriptive clarity and illustrative simplicity, the XD.sub.iIo.sub.26's resolution is arranged as a 3-bit (x-channel for iDACx.sub.26) by 3-bit (y-channel for iDACy.sub.26) but the resolution can be higher (e.g., 16-bits).
(541) A current reference (Ir′.sub.26) is inputted and mirrored onto iDACx.sub.26's binary weighed current reference network comprising of P4x.sub.26 (scaled at 4×), P2x.sub.26 (scaled at 2×), and P1x.sub.26 (scaled at 1×). The iDACx.sub.26's digital inputs (Dx.sub.26 digital word) are D3x.sub.26 (as MSB) through D1x.sub.26 (as LSB), which control iDACx.sub.26's analog current switches P4x′.sub.26 through P1x′.sub.26 and P4x″.sub.26 through P1x″.sub.26.
(542) The selected sums of iDACx.sub.26's analog current switch outputs are steered through node n.sub.26 onto a power supply desensitization circuit (PSR.sub.26). Similar to the disclosure in section 25, one of the objectives of PSR.sub.26 is to substantially desensitize the output current of DD.sub.iI.sub.o.sub.
(543) Consider that cascoded FETs may be needed in an iDAC's current reference network to increase its output impedance and substantially desensitize an iDAC's output current from power supply variations. Here, the PSR.sub.26 receives the iDACx.sub.26 output current at node n.sub.26 whose DC voltage is biased at V.sub.DD−V.sub.GS.sub.
(544) Moreover, keep in mind that without the PSR.sub.26 and without the cascoded FETs, the iDACy.sub.26's output current would also vary with V.sub.DD since the drain-to-source voltage (V.sub.DS) of iDACy.sub.26's binary weighted current reference network (N4y.sub.26, N2y.sub.26, and N1y.sub.26) is subject to V.sub.DD variations and the DC bias voltage of IO.sub.26 port (e.g., V.sub.IO.sub.
(545) The iDACy.sub.26's binary weighed current reference network comprising of N4y.sub.26 (scaled at 4×), N2y.sub.26 (scaled at 2×), and N1y.sub.26 (scaled at 1×) are scaled and mirrored to IDS of Nq′.sub.26Nq.sub.26. Here also, the iDACy.sub.26's digital inputs (Dy.sub.26 digital word) are D3y.sub.26 (as MSB) through D1y.sub.26 (as LSB) control iDACy.sub.26's analog current switches N4y′.sub.26 through N1y′.sub.26 and N4y″.sub.26 through N1y″.sub.26. The selected sums of iDACy.sub.26's analog current switch outputs are steered through the XD.sub.iIo.sub.26's current-output node IO.sub.26 that generates the equivalent analog output current product Ax.sub.26×Ay.sub.26/Ar.sub.26, wherein Ax.sub.26 is the analog current representation of the digital word Dx26, Ay26 is the analog current representation of the digital word Dy.sub.26, and Ar.sub.26 is a scaled Ir′.sub.26. Again, notice that node IO.sub.26 can be biased at a V.sub.GS below V.sub.DD.
(546) The disclosed XD.sub.iI.sub.O.sub.
Section 27—Description of FIG. 27
(547)
(548) For descriptive clarity and illustrative simplicity, the XD.sub.iIo.sub.27's resolution is arranged as a 3-bit (x-channel for iDACx.sub.27) by 3-bit (y-channel for iDACy.sub.27), but the resolution can be higher (e.g., 16-bits).
(549) A current reference (Ir′.sub.27) is inputted and mirrored onto iDACx.sub.27's binary weighed current reference network comprising of P4.sub.27 (scaled at 4×), P2.sub.27 (scaled at 2×), and P1.sub.27 (scaled at 1×). The iDACx.sub.27's digital inputs (Dx.sub.27 digital word) are D3x.sub.27 (as MSB) through D1x.sub.27 (as LSB), which control iDACx.sub.27's analog current switches P4′.sub.27 through P1′.sub.27 and P4″.sub.27 through P1″.sub.27. For example, when D3x.sub.27 is in a low state, current switch P4″.sub.27 turns on and all of P4.sub.27's current flows through P4″.sub.27 into Vx.sub.27 (which can be coupled with V.sub.SS). Conversely, when D3x.sub.27 is in a high state, current switch P4″.sub.27 turns off and all of P4.sub.27's current flows through P4′.sub.27 into node n.sub.27 (which is the current output port of iDACx.sub.27). Note also that gate terminals of FETs comprising of P4′.sub.27 through P1′.sub.27 are coupled to a fixed bias voltage (Vx′.sub.27), and as such, these FETs can serve as analog current switch as well as cascoded FETs that increase the output impedance of iDACx.sub.27's current reference network. The output current of iDACx.sub.27 is fed onto Ny.sub.27 to function in a current mirror supplying the current reference input of iDACy.sub.27.
(550) The iDACy.sub.27's binary weighed current reference network comprising of N4.sub.27 (scaled at 4×), N2.sub.27 (scaled at 2×), and N1.sub.27 (scaled at 1×) are scaled and mirrored to IDs of Ny.sub.27. Here also, the iDACy.sub.27's digital inputs (Dy.sub.27 digital word) are D3y.sub.27 (as MSB) through D1y.sub.27 (as LSB) that control iDACy.sub.27's analog current switches N4′.sub.27 through N1′.sub.27 and N4″.sub.27 through N1″.sub.27. Similar to the arrangement in iDACx.sub.27, here for example, when D3y.sub.27 is in a high state, current switch N4′.sub.27 turns on and all of N4.sub.27's current flows through N4′.sub.27 into IO.sub.27 port. Conversely, when D3y.sub.27 is in a low state, current switch N4′.sub.27 turns off and all of N4.sub.27's current flows through N4″.sub.27 and onto Vy.sub.27 (which can be coupled with V.sub.DD). Note also that gate terminals of FETs comprising of N4″.sub.27 through N1″.sub.27 are coupled to a fixed bias voltage (Vy″.sub.27), and as such, these FETs serve as analog current switch as well as cascode that increase the output impedance of iDACy.sub.27's current reference network. The selected sums of iDACy.sub.27's analog current switch outputs are steered through the XD.sub.iIo.sub.27's current-output node IO.sub.27 that generates the equivalent analog output current product Ax.sub.27×Ay.sub.27/Ar.sub.26, wherein Ax.sub.27 is the analog current representation of the digital word Dx.sub.27, Ay.sub.27 is the analog current representation of the digital word Dy.sub.27, and Ar.sub.27 is a scaled Ir′.sub.27.
(551) The disclosed XD.sub.iIo.sub.27 benefits from current mode operations, which has been discussed in this disclosure. Another benefit of XD.sub.iIo.sub.27 is having a smaller area by utilizing the same FETs as current switches of each iDAC and as cascoded FETs (to increase the iDAC's current reference network's output impedance).
Section 28—Description of FIG. 28
(552)
(553) As noted, the XD.sub.iI.sub.O circuit (whose simulation is provided in
(554)
Section 29—Description of FIG. 29
(555)
(556) As noted, the XD.sub.iI.sub.O circuit whose simulation is provided in
(557)
Section 30—Description of FIG. 30
(558)
(559) The overall description of XD.sub.iI.sub.O provided in section 21 (illustrated in
(560) The embodiment of RBN.sub.30 & PSR.sub.30 utilizes another combination of the multiple-channel data-converter method disclosed in section 19 and the XPSR method disclosed in section 20. In the embodiment of RBN.sub.30 & PSR.sub.30 illustrated in
(561) Bear in mind that FET early voltage (V.sub.A) causes the FET's IDs to vary with varying the FET's VDs. The Vas of the N4y.sub.30 is about a V.sub.GS of PyoM.sub.30 below V.sub.DD, assuming low on resistance (low voltage drop) across iDACx.sub.30 current reference network current switches (N4y′.sub.30 and N4y″.sub.30) which causes the I.sub.DS of the N4y.sub.30 to vary. The gate port of N4y.sub.30 is coupled with a diode connected N4r.sub.30 (whose V.sub.DS and V.sub.GS are substantially equal). The IDS of the N4r.sub.30 would vary with changes in V.sub.DD since the VDS of P4r.sub.30 is about V.sub.DD minus V.sub.GS of N4r.sub.30. The disclosed power supply desensitization circuit (PSR.sub.30) emulates a similar signal path from the gate port of P4r.sub.30 to gate port of PyoM.sub.30 (which is the output of iDACx.sub.30 and the input of iMULT.sub.30). This is done for the current input of iMULT.sub.30 to be insensitive to power supply variations, while all iMULT.sub.30, iDACx.sub.30, iDACy.sub.30, and RBN.sub.30 current sources are without cascodes, which saves substantial silicon area.
(562) This is how the PSR.sub.30 circuit emulates a similar signal path from the gate port of P4r.sub.30 to gate port of PyoM.sub.30: The fixed current reference Ir′.sub.30 is mirrored between Pc′.sub.30 and Pc″.sub.30 whose V.sub.DS is V.sub.GS of a PMOS and tracks each other with changes in V.sub.DD. The I.sub.DS of diode connected Pc″.sub.30 changes with V.sub.DD variations in light of V.sub.DS of the Nc′.sub.30 being V.sub.DD minus V.sub.GS of Pc″.sub.30. The Nc′.sub.30 and diode connected Nc.sub.30 are mirrors, wherein VDS of Pc.sub.30 is V.sub.DD minus the V.sub.GS of Nc.sub.30 which causes the IDS of Nc.sub.30 to change with V.sub.DD. Now, PcR.sub.30 substantially equalizes Ir′.sub.30 with the IDS of Pc′.sub.30 by regulating the current in Nc″.sub.30 that is mirrored onto Nr′.sub.30 which regulates the gate voltage (and thus the I.sub.DS) of Pr′.sub.30 and Pc.sub.30 as well as the gate voltage (and thus the I.sub.DS) of P4r.sub.30, P2r.sub.30, and P1r.sub.30. Also, consider that IDS of P4r.sub.30, P2r.sub.30, and P1r.sub.30 (establishes the bus voltages V4r.sub.30, V2r.sub.30, and V1r.sub.30) generate the sequence of reference bias currents from the reference bias network (RBN.sub.30).
(563) In summary some of the benefits of the embodiment disclosed in
(564) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(565) Second, the disclosed embodiment benefits from savings in silicon die area, lower glitch, and faster speed when plurality of XD.sub.iI.sub.O are required (e.g., in machine learning applications where 1000s of XD.sub.iI.sub.O may be needed) by utilizing the multiple iDAC method that is disclosed in section 19.
(566) Third, the disclosed embodiment benefits from further saving in silicon die area as well as desensitization to power supply variations for each XD.sub.iI.sub.O by combining the multiple iDAC method with another embodiment of the multiplier power supply desensitization method, which also facilitates the elimination of the cascoded FETs in iDACs current reference network as well as the PSR circuit.
Section 31—Description of FIG. 31
(567)
(568) As noted, the XD.sub.iI.sub.O circuit whose simulation is provided in
(569)
Section 32—Description of FIG. 32
(570)
(571) The mD.sub.iS.sub.O method of
(572) In summary, the binary weighted version of the meshed digital-to-analog multiplication method utilizes a multi-branch binary-weighted current reference network, wherein each of the first binary weighted reference current branches (y-branch) supply the current reference inputs of the sets of second binary weighted reference current branches (set of x-branches). Accordingly, the digital X word or Dx.sub.32 and the digital Y word or Dy.sub.32 control the respective sets of analog switches that steer (or transmit) the combined respective x-branch analog signals to an output port (e.g., Sxy.sub.32). Keep in mind that, the X and Y word bits and their respective X and Y DAC channels here are interchangeable give the commutative property of multiplication. Benefits of utilizing the meshed digital-to-analog multiplication method is discussed in the embodiments of the said method, next.
Section 32′—Description of FIG. 32′
(573)
(574) The mD.sub.iS.sub.O method of
(575) A clarification point regarding the
(576) The D1y.sub.32′ bit steers the three reference sources 0.5×Sr.sub.32′, Sr.sub.32′, and 2Sr.sub.32′ onto the three switches of DACx1.sub.32′ which are controlled by D1x.sub.32′, D2x.sub.32′, and D3x.sub.32′, respectively. The D2y.sub.32′ bit steers the three reference sources Sr.sub.32′, 2Sr.sub.32′, and 4Sr.sub.32′ onto the three switches of DACx2.sub.32′ which are controlled by D1x.sub.32′, D2x.sub.32′, and D3x.sub.32′, respectively. And, the D3y.sub.32 bit steers the three reference sources 2Sr.sub.32′, 4Sr.sub.32′, and 8Sr.sub.32′ onto the three switches of DACx3.sub.32 which are controlled by D1x.sub.32′, D2x.sub.32′, and D3x.sub.32′, respectively.
(577) The outputs of x-channel sub-DACs (e.g., DACx1.sub.32′, DACx2.sub.32′, and DACx3.sub.32′) are combined to generate the final analog multiplicand representation (Sxy.sub.32′) of the digital X.Math.Y multiplications. Here, the analog output or S.sub.O of DACx1.sub.32′, DACx2.sub.32′, and DACx3.sub.32′ are added together to generate Sxy.sub.32′. Note that for a binary (linear) multiplier, the (three) banks of scaled reference network is also binarily weighted, but the reference network can be scaled in other fashions (e.g., thermometer or non-linear).
(578) In summary, the binary weighted version of the meshed digital-to-analog multiplication method utilizes banks of multi-branch binary-weighted current reference network, wherein each of the Y-banks of the binary weighted reference current branches (y-branch) supply the current reference inputs of the sets of X-banks of the binary weighted reference current branches (set of x-branches). Accordingly, the digital X word or Dx.sub.32′ and the digital Y word or Dy.sub.32′ control the respective sets of analog switches that steer (or transmit) the combined respective x-branch analog signals to an output port (e.g., Sxy.sub.32′). Keep in mind that, the X and Y word bits and their respective X and Y DAC channels here are interchangeable given the commutative property of multiplication. Benefits of utilizing the meshed digital-to-analog multiplication method is discussed in the embodiments of the said method, next.
Section 33—Description of FIG. 33
(579)
(580) The XD.sub.iI.sub.O multiplier of
(581) The XD.sub.if.sub.o multiplier here is also inputted with a reference current signal (Ir) that is scaled onto a scaled reference network, comprising of 3 banks namely: First scaled reference current bank I1r.sub.33=1×I.sub.r, I2r.sub.33=2×I.sub.r, and I4r.sub.33=4×I.sub.r. Second scaled reference current bank I2r′.sub.33=2×I.sub.r, 14r′.sub.33=4×I.sub.r, and I8r′.sub.33=8×I.sub.r. Third scaled reference current bank I4r″.sub.33=4×I.sub.r, I8r″.sub.33=8×I.sub.r, and I16r″.sub.33=16×I.sub.r.
(582) A first y-channel sub-iDAC receives the first scaled reference bank (i.e., I1r.sub.33, I2r.sub.33, and I4r.sub.33) at its current switch inputs that are the source-nodes of N1y.sub.33, N1y′.sub.33, and N1y″.sub.33 whose gate-nodes are controlled by D1y.sub.33 bit. Accordingly, I1r.sub.33, I2r.sub.33, and I4r.sub.33 currents are respectively steered through, N1y.sub.33, N1y′.sub.33, and N1y″.sub.33 which are gated by the D1y.sub.33 bit, to provide the first x-channel sub-iDAC's reference input currents (in accordance with Dy.sub.33 word). Consequently, the said first x-channel sub-iDAC reference currents are steered through current switches N1x.sub.33, N2x.sub.33, and N3x.sub.33 that are controlled by the first x-channel DAC's digital inputs D1x.sub.33, D2x.sub.33, and D3x.sub.33. The drain-node currents of N1x.sub.33, N2x.sub.33, and N3x.sub.33 are summed together and coupled to Ixy.sub.33, which is the analog current output port of XD.sub.iI.sub.O multiplier.
(583) Similarly, a second y-channel sub-iDAC receives the second scaled reference bank (i.e., I2r′.sub.33, I4r′.sub.33, and I8r′.sub.33) at its current switch inputs that are the source-nodes of N2y.sub.33, N2y′.sub.33, and N2y″.sub.33 whose gate-nodes are controlled by D2y.sub.33 bit. Accordingly, I2r′.sub.33, I4r′.sub.33, and I8r′.sub.33 currents are respectively steered through N2y.sub.33, N2y′.sub.33, and N2y″.sub.33 which are gated by the D2y.sub.33 bit, to provide the second x-channel sub-iDAC's reference input currents (in accordance with Dy.sub.33 word). Consequently, the said second x-channel sub-iDAC reference currents are steered through current switches N1x′.sub.33, N2x′.sub.33, and N3x′.sub.33 that are controlled by the second x-channel sub-DAC's same digital inputs D1x.sub.33, D2x.sub.33, and D3x.sub.33. The drain-node currents of N1x′.sub.33, N2x′.sub.33, and N3x′.sub.33 are summed together and also coupled to Ixy.sub.33.
(584) Also, a third y-channel sub-iDAC receives the second scaled reference bank (i.e., I4r″.sub.33, I8r″.sub.33, and I16r″.sub.33) at its current switch inputs that are the source-nodes of N3y.sub.33, N3y′.sub.33, and N3y″.sub.33 whose gate-nodes are controlled by D3y.sub.33 bit. Accordingly, I4r″.sub.33, I8r″.sub.33, and I16r″.sub.33 currents are respectively steered through, N3y.sub.33, N3y′.sub.33, and N3y″.sub.33 which are gated by the D3y.sub.33 bit, to provide the third x-channel sub-iDAC's reference input currents (in accordance with Dy.sub.33 word). Consequently, the said third x-channel sub-iDAC reference currents are steered through current switches N1x″.sub.33, N2x″.sub.33, and N3x″.sub.33 that are controlled by the third x-channel sub-DAC's same digital inputs D1x.sub.33, D2x.sub.33, and D3x.sub.33. The drain-node currents of N1x′.sub.33, N2x′.sub.33, and N3x′.sub.33 are summed together and also coupled to Ixy.sub.33.
(585) As noted above, the outputs of the first and second and third x-channel iDACs are summed at Ixy.sub.33 to generate the analog multiplicand representation of X.Math.Y digital multiplications. Note that for a binary (linear) multiplier, the scaled reference network (bank) is also binarily weighted, but the reference network can be scaled in other fashions (e.g., thermometer or non-linear).
(586) In summary some of the benefits of the embodiment disclosed in
(587) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(588) Second, the dynamic response of XD.sub.iI.sub.O multiplier is fast also in part because the scaled reference network banks are constant current sources whose current are steered by single MOFET switches which are inherently fast.
(589) Third, current mirror loop associated with conventional multiplying iDACs (where a first iDAC's output signal supplies the reference signal to a second iDAC, generally through a current mirror) is avoided which helps the speed.
(590) Fourth, the minimum power supply can be very low since it is only limited by the drain-to-source voltage of current sources of the scaled reference network.
Section 34—Description of FIG. 34
(591)
(592) The XD.sub.iI.sub.O multiplier of
(593) The XD.sub.iI.sub.O multiplier here is also inputted with a reference current signal (i.sub.r=Ir.sub.34) that is mirrored and scaled (via Ny.sub.34) onto a scaled reference network, comprising of 3 current sources: First scaled reference currents wherein the current through N1y.sub.34=1×i.sub.t that is split according to a programmed weight scale between N1x.sub.34 (e.g., scaled at 1×), N2x.sub.34 (e.g., scaled at 2×), and N3x.sub.34 (e.g., scaled at 4×). Second scaled reference currents wherein the current through N2y.sub.34=2×i.sub.r that is split according to a programmed weight scale between N1x′.sub.34 (e.g., scaled at 1×), N2x′.sub.34 (e.g., scaled at 2×), and N3x′.sub.34 (e.g., scaled at 4×). Third scaled reference currents wherein the current through N3y.sub.34=4×i.sub.t that is split according to a programmed weight scale between N1x″.sub.34 (e.g., scaled at 1×), N2x″.sub.34 (e.g., scaled at 2×), and N3x″.sub.34 (e.g., scaled at 4×).
(594) A first y-channel sub-iDAC receives the first scaled reference currents (i.e., 1D of N1x.sub.34, N2x.sub.34, and N3x.sub.34) at its FET switch inputs (i.e., at source-nodes of coupled pairs M1y.sub.34-M′1y.sub.34, M1y.sub.34-M′1y.sub.34, and M1y.sub.34-M′1y.sub.34) whose gate-nodes are controlled by the y1.sub.34 bit. Accordingly, the first y-channel sub-iDAC scaled reference currents, gated by the y1.sub.34 bit, are outputted through the FETs switches (i.e., as I.sub.D of M1y.sub.34, M1y′.sub.34, and M1y″.sub.34), which provide the first x-channel sub-iDAC reference currents. Consequently, the said first x-channel sub-iDAC reference currents are steered through its FET current switches (i.e., at source-nodes of coupled pairs M1x.sub.34-M′1x.sub.34, M2x.sub.34-M′2x.sub.34, and M3x.sub.34-M′3x.sub.34) that are controlled by the first x-channel sub-DAC's digital inputs x1.sub.34, x2.sub.34, and x3.sub.34. The drain-node currents of M1x.sub.34, M2x.sub.34, and M3x.sub.34 are summed together and coupled to Ixy.sub.34, which is the analog current output port of XD.sub.iI.sub.O multiplier. Also, notice that drain-nodes of M′.sup.1y34, M′.sup.1y′.sub.34, and M′1y″.sub.34 are coupled together and terminated at a voltage source (V1.sub.34). Similarly, drain-nodes of M′1x.sub.34, M′2x.sub.34, and M′3x.sub.34 are coupled together and terminated at a voltage source (V1.sub.34).
(595) Similarly, a second y-channel sub-iDAC receives the second scaled reference currents (i.e., I.sub.D of N1x′.sub.34, N2x′.sub.34, and N3x′.sub.34) at its FET switch inputs (i.e., at source-nodes of coupled pairs M2y.sub.34-M′2y.sub.34, M2y.sub.34-M′2y.sub.34, and M2y.sub.34-M′2y.sub.34) whose gate-nodes are controlled by the y2.sub.34 bit. Accordingly, the second y-channel sub-iDAC scaled reference currents, gated by the y2.sub.34 bit, are outputted through the FETs switches (i.e., as I.sub.D of M2y.sub.34, M2y′.sub.34, and M2y″.sub.34), which provide the second x-channel sub-iDAC reference currents. Consequently, the said second x-channel sub-iDAC reference currents are steered through its FET current switches (i.e., at source-nodes of coupled pairs M1x′.sub.34-M′1x′.sub.34, M2x′.sub.34-M′2x′.sub.34, and M3x′.sub.34-M′3x′.sub.34) that are controlled by the second x-channel sub-DAC's digital inputs x1.sub.34, x2.sub.34, and x3.sub.34. The drain-node currents of M1x′.sub.34, M2x′.sub.34, and M3x′.sub.34 are summed together and coupled to Ixy.sub.34 as well. Also, notice that drain-nodes of M′2y.sub.34, M′2y′.sub.34, and M′2y″.sub.34 are coupled together and also terminated at V1.sub.34. Similarly, drain-nodes of M′1x′.sub.34, M′2x′.sub.34, and M′3x′.sub.34 are coupled together and also terminated at V1.sub.34.
(596) Also, a third y-channel sub-iDAC receives the third scaled reference currents (i.e., I.sub.D of N1x″.sub.34, N2x″.sub.34, and N3x″.sub.34) at its FET switch inputs (i.e., at source-nodes of coupled pairs M3y.sub.34-M′3y.sub.34, M3y.sub.34-M′3y.sub.34, and M3y.sub.34-M′3y.sub.34) whose gate-nodes are controlled by the y3.sub.34 bit. Accordingly, the third y-channel sub-iDAC scaled reference currents, gated by the y3.sub.34 bit, are outputted through the FETs switches (i.e., as I.sub.D of M3y.sub.34, M3y′.sub.34, and M3y″.sub.34), which provide the third x-channel sub-iDAC reference currents. Consequently, the said third x-channel sub-iDAC reference currents are steered through its FET current switches (i.e., at source-nodes of coupled pairs M1x″.sub.34-M′1x″.sub.34, M2x″.sub.34-M′2x″.sub.34, and M3x″.sub.34-M′3x″.sub.34) that are controlled by the third x-channel sub-DAC's digital inputs x1.sub.34, x2.sub.34, and x3.sub.34. The drain-node currents of M1x″.sub.34, M2x″.sub.34, and M3x″.sub.34 are summed together and coupled to Ixy.sub.34 as well. Also, notice that drain-nodes of M′3y.sub.34, M′3y′.sub.34, and M′3y″.sub.34 are coupled together and also terminated at V1.sub.34. Similarly, drain-nodes of M′1x″.sub.34, M′2x″.sub.34, and M′3x″.sub.34 are coupled together and also terminated at V1.sub.34.
(597) As such the outputs of the three x-channel sub-iDACs is summed at Ixy.sub.34 to generate the analog multiplicand representation of X.Math.Y digital multiplications. Note that for a binary (linear) multiplier, the scaled reference network (bank) is also binarily weighted, but the reference network can be scaled in other fashions (e.g., thermometer or non-linear).
(598) Note that coupling the iDAC switches gates to voltage sources V2.sub.34 and V3.sub.34 reduces logic gates that would otherwise be needed to drive the iDAC switches and it also reduces iDAC glitch (and thereby lowers the XD.sub.iI.sub.O multiplier glitch).
(599) In summary some of the benefits of the embodiment disclosed in
(600) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(601) Second, the dynamic response of XD.sub.iI.sub.O multiplier is fast also in part because the scaled reference network banks are constant current sources whose current are steered by single MOFET switches which are inherently fast.
(602) Third, current mirror loop associated with conventional multiplying iDACs (where a first iDAC's output signal supplies the reference signal to a second iDAC, generally through a current mirror) is avoided which helps the speed.
(603) Fourth, utilizing the floating iDAC method surrounding N3y.sub.34, N2y.sub.34, and N1y.sub.34 reduces die area.
(604) Fifth, biasing one side of the iDAC switches by voltage sources (V2.sub.34 and V3.sub.34) saves area and lowers the XD.sub.iI.sub.O multiplier glitch.
Section 35—Description of FIG. 35
(605)
(606)
(607) Consider that for descriptive clarity the embodiment of XD.sub.iI.sub.O.sub.
(608) A current reference (Ir′.sub.35) is inputted and mirrored onto iDACx.sub.35's binary weighed current reference network, which constitutes the first binary weighted reference current branches (x-branch). The iDACx.sub.35 current reference network is comprising of P4x.sub.35 (scaled at 4×), P2x.sub.35 (scaled at 2×), and P1x.sub.35 (scaled at 1×).
(609) In the
(610) Here also, the floating iDAC method (described earlier in section 1) is utilized, whereby each of the iDAC1x.sub.35, iDAC2x.sub.35, and iDAC3x.sub.35 binary weighted reference current branches (via each of the respective PMOSFETs: P1x.sub.35, P1x.sub.35, and P1x.sub.35) feed a respective current reference inputs of 3 floating y-branch iDACs, which are the next set of three binary weighted reference current branches (set of 3 y-branches: iDAC1y.sub.35, iDAC2y.sub.35, and iDAC3y.sub.35).
(611) First, the drain terminal of P1x.sub.35 (scaled at 1×) is coupled with the reference current input port of a first floating iDAC1y.sub.35 comprising of P14y.sub.35 (scaled at 4×), P12y.sub.35 (scaled at 2×), and P11y.sub.35 (scaled at 1×).
(612) Second, the drain terminal of P2x.sub.35 (scaled at 2×) is coupled with the reference current input port of a second floating iDAC2y.sub.35 comprising of P24y.sub.35 (scaled at 4×), P22y.sub.35 (scaled at 2×), and P21y.sub.35 (scaled at 1×).
(613) Third, the drain terminal of P4x.sub.35 (scaled at 4×) is coupled with the reference current input port of a third floating iDAC3y.sub.35 comprising of P44y.sub.35 (scaled at 4×), P42y.sub.35 (scaled at 2×), and P41y.sub.35 (scaled at 1×).
(614) The x-channel digital inputs (Dx.sub.35 word) are D3x.sub.35 (MSB) through D1x.sub.35 (LSB). The y-channel digital inputs (Dy.sub.35 word) are D3y.sub.35 (MSB) through D1y.sub.35 (LSB).
(615) The digital decoding can be accomplished by an AND matrix (AND.sub.35) that is inputted with digital input words Dx.sub.35 and Dy.sub.35, whose output is a 3×3 bits wide word (Dxy.sub.35 word). As noted earlier, each bit of the Dxy.sub.35 word has a respective weight and as such the Dxy.sub.35 digital word controls the respective current switches of iDAC1y.sub.35 (comprising of P11′.sub.35, P12′.sub.35, and P13′.sub.35), iDAC2y.sub.35 (comprising of P21′.sub.35, P22′.sub.35, and P23′.sub.35), and iDAC3y.sub.35 (comprising of P31′.sub.35, P32′.sub.35, and P34′.sub.35). For example, when D3x.sub.35 is high, then the output of the AND gates U34y.sub.35 through U31.sub.35 respond to D3y.sub.35 through D1y.sub.35 considering their respective weights. Accordingly, P4x.sub.35 current (having its respective weight) flows onto P44y.sub.35 through P41y.sub.35, in response to D3y.sub.35 through D1y.sub.35 states, wherein P44y.sub.35 through P41y.sub.35 have their respective weights.
(616) In the illustrated embodiment, to reduce glitch and lower dynamic current consumption and to save logic area, the inverters and the bus lines (that would otherwise be needed for the opposite polarity of the Dxy.sub.35 word) are eliminated. To attain such benefits, the biasing voltage Vs.sub.35 is coupled with the gate terminals of current switches of iDAC1y.sub.35 (comprising of P11.sub.35, P12.sub.35, and P13.sub.35), iDAC2y.sub.35 (comprising of P21.sub.35, P22.sub.35, and P23.sub.35), and iDAC3y.sub.35 (comprising of P31.sub.35, P32.sub.35, and P34.sub.35). The current switches P11′.sub.35 through P34′.sub.35 (whose outputs are coupled with the I1o.sub.35 port) and P11.sub.35 through P34.sub.35 (whose outputs are coupled with the I2o.sub.35 port) steer their respective currents onto the I1o.sub.35 and I2o.sub.35 ports in accordance with their digital selection, controlled by Dxy.sub.35.
(617) Notice that the 4× binary weighted (scaled) reference current through P4x.sub.35 is passed on through (to the iDAC3y.sub.35) depending on the sign of D3x.sub.35, which is the MSB of the X-word. The 2× binary weighted (scaled) reference current through P2x.sub.35 is passed on through (to the iDAC2y.sub.35) depending on the sign of D2x.sub.35, which is the middle-bit of the X-word. The 1× binary weighted (scaled) reference current through P1x.sub.35 is passed on through (to the iDAC1y.sub.35) depending on the sign of D1x.sub.35, which is the LSB of the X-word.
(618) The selected sums of (analog) current switch outputs of iDAC1y.sub.35 through iDAC3y.sub.35 are steered through the XD.sub.iIo.sub.35's current-output port(s) I1o.sub.35 (and I2o.sub.35) that generate the analog current product Ax.sub.35×Ay.sub.35/Ar.sub.35, wherein Ax.sub.35 is the analog current representation of the digital word Dx.sub.35, Ay.sub.35 is the analog current representation of the digital word Dy.sub.35, and Ar.sub.35 is scaled relative to reference current signal Ir′.sub.35.
(619) Bear in mind that the gate terminals of P11y.sub.35 through P44y.sub.35 are coupled with a bias voltage source Vr.sub.35, which leaves enough V.sub.DS headroom for P1x.sub.35 through P4x.sub.35. Moreover, P11y.sub.35 through P44y.sub.35 also function as cascoded FETs which can help increase the output impedance of the (XD.sub.iI.sub.o35 and) iDAC's current reference networks. Also consider that instead of a binary weighted current reference network for the iDACs, other thermometer, linear, or non-linear reference network can be programmed here for different objective transfer functions.
(620) The disclosed XD.sub.iI.sub.O35 benefits from current mode operations, which has been discussed in this disclosure. Multiplying a 3×3 bit digital words generates a 6-bit word that can then be inputted to a 6-bit iDAC to generate a current output product. Digital multipliers are expensive and power hungry when they operate at full speed due to dynamic power consumption of logic gates whose numbers increase exponentially in with the length of a digital multiplier's input word. The embodiment of XD.sub.iIo.sub.35 that utilizes the disclosed mD.sub.iI.sub.O method requires a larger size current reference network compared to that of a conventional a 6-bit iDAC but it requires a substantially smaller digital logic, which net-net has the benefit of yielding a smaller die size.
Section 36—Description of FIG. 36
(621)
(622) The first NDAC method of
(623) The first NDAC method of
(624) Furthermore, the first NDAC method of
(625) Moreover, the first NDAC method of
(626) The linear outputs of DAC1L.sub.36 and DAC2L.sub.36 are combined together to generate an output that serves as a straight line approximation to fill the gaps in-between MSP segments of the output of the non-linear DACQ.sub.36. Utilizing the first NDAC method, a non-linear output signal (CO.sub.36) can be generated which is an analog non-linear representation of D.sub.36, as a function of an analog reference signal (e.g., scaled RSQ.sub.36 signal).
(627) It would be obvious to one skilled in the art that DACQ.sub.36 function can be realized by utilizing a square (non-linear) digital logic circuit. Such square (non-linear) digital logic circuit would receive an (MSP bank) digital-input word and generates a (non-linear) square digital-output word. Then, the digital (non-linear) square output word can be applied to a linear DAC to generate the equivalent (non-linear) square MSP analog output signal.
(628) In summary, the first non-linear digital-to-analog converter (NDAC) method of
Section 36′—Description of FIG. 36′
(629)
(630) The second NDAC method of
(631) The second NDAC method of
(632) Furthermore, the second NDAC method of
(633) Moreover, the NDAC method of
(634) The linear outputs of DAC1L.sub.36′ and XDiSo.sub.36′ are combined together to generate an output that serves as a straight line approximation to fill the gaps in-between MSP segments of the output of the non-linear DACQ.sub.36′. Utilizing the second NDAC method, a non-linear output signal (CO.sub.36′) can be generated which is an analog non-linear representation of D.sub.36′, as a function of an analog reference signal (e.g., scaled RSQ.sub.36′ signal).
(635) It would be obvious to one skilled in the art that DACQ.sub.36, function can be realized by utilizing a square (non-linear) digital logic circuit. Such square (non-linear) digital logic circuit would receive an (MSP bank) digital-input word and generates a (non-linear) square digital-output word. Then, the digital (non-linear) square output word can be applied to a linear DAC to generate the equivalent (non-linear) square MSP analog output signal.
(636) In summary, the non-linear digital-to-analog converter (NDAC) method of
Section 37—Description of FIG. 37
(637)
(638) The third NDAC method of
(639) The third NDAC method of
(640) Furthermore, the third NDAC method of
(641) Moreover, the third NDAC method of
(642) The output the linear DAC2L.sub.37 serves as a straight-line approximation to fill the gaps in-between Most-Significant-Portion (MSP) output segments of the non-linear DACQ36. Utilizing the third NDAC method, a non-linear output signal (CO.sub.37) can be generated which is an analog non-linear representation of D3.sub.7, as a function of an analog reference signal (e.g., scaled RSQ.sub.37 signal).
(643) It would be obvious to one skilled in the art that DACQ.sub.37 function can be realized by utilizing a square (non-linear) digital logic circuit. Such square (non-linear) digital logic circuit would receive an (MSP bank) digital-input word and generates a (non-linear) square digital-output word. Then, the digital (non-linear) square output word can be applied to a linear DAC to generate the equivalent (non-linear) square MSP analog output signal.
(644) In summary, the third non-linear digital-to-analog converter (NDAC) method of
Section 38—Description of FIG. 38
(645)
(646) For clarity of description and illustration,
(647) The non-linear Most-Significant-Portion (MSP) DAC (iDACQ.sub.38) is a non-linear thermometer iDAC. The iDACQ.sub.38 non-linear thermometer reference current network is comprised of I1r.sub.38=i.sub.r, I1r.sub.38=3i.sub.r, I1r.sub.38=5i.sub.r, I1r.sub.38=7i.sub.r, I1r.sub.38=9i.sub.r, I1r.sub.38=11i.sub.r, and I1r.sub.38=13i.sub.r, wherein i.sub.r is a (unit) scaled reference signal. By inputting the MSB bank word (D6.sub.38, D5.sub.38, and D4.sub.38) to a 3-bit input to 7-bit output digital encoder (ENC.sub.38), a 7-bit digital word is generated. The 7-bit output word of ENC.sub.38 control the current switches P1t.sub.38, P2t.sub.38, P3t.sub.38, P4t.sub.38, P5t.sub.38, P6t.sub.38, and P7t.sub.38, whose inputs are couple to their respective non-linear current source segments of the non-linear thermometer reference current network. The current switches control the steering of the non-linear current source segments. The outputs of the current switches are coupled together at node iQ38 wherein a non-linear MSP current signal is generated that approximates a square profile.
(648) The first linear Least-Significant-Portion (LSP) iDAC (iDAC1L.sub.38) is a linear binary weighted iDAC. The iDAC1L.sub.38 binary weighted reference current network is comprised of I9r.sub.38=8i.sub.r, I10r.sub.38=4i.sub.r, and I11r.sub.38=2i.sub.r. The MSB bank word (D6.sub.38, D5.sub.38, and D4.sub.38) controls the current switches P6d.sub.38, P5d.sub.38, and P4d.sub.38 whose inputs are couple to their respective binary-weighted current sources (e.g., I9r.sub.38=8i.sub.r, I10r.sub.38=4i.sub.r, and I11r.sub.38=2i.sub.r). The P6d.sub.38, P5d.sub.38, and P4d.sub.38 current switches control the steering of the respective binary-weighted current sources. The outputs of P6d.sub.38, P5d.sub.38, and P4d.sub.38 current switches are coupled together at node i1L.sub.38 wherein a first linear LSP current signal is generated.
(649) An offset reference signal I8r.sub.38=i.sub.t is also coupled to the i1L.sub.38 node, which is then coupled to the reference current input port of the second linear LSP iDAC (iDAC2L38).
(650) The second linear LSP iDAC or iDAC2L.sub.38 is also a linear binary weighted iDAC. The iDAC2L.sub.38 binary scaled reference current network is comprised of PMOSFETs: Pf.sub.38 @ 1×, P1d′.sub.38@1×, P2d′.sub.38@2×, and P3d′.sub.38@4×. The LSB bank word (D1.sub.38, D2.sub.38, and D3.sub.38) controls the current switches P1d.sub.38, P2d.sub.38, and P3d.sub.38 whose inputs are couple to their respective binary-scaled current dividers (e.g., P1d′.sub.38@1λ, P2d′.sub.38@2λ, and P3d′.sub.38@4λ). The P1d.sub.38, P2d.sub.38, and P3d.sub.38 current switches control the steering of the respective binary-scaled current divider of the (reference input current of iDAC2L.sub.38) supplied through the i1L.sub.38 node. The outputs of P1d.sub.38, P2d.sub.38, and P3d.sub.38 current switches are coupled together at node i2L.sub.38 wherein a second linear LSP current signal is generated.
(651) The i2L.sub.38 node and node iQ.sub.38 node are coupled together and coupled to the output node of the iNDAC.sub.38 which is iCO.sub.38.
(652) Note that the current signals at the i2L.sub.38 port fills-in the gap between the current signals at the AQM port. As such, the signal at node iCO.sub.38 follows an approximate profile that is squarely weighted, as a function of the i.sub.r, and is responsive to the Di.sub.38 word.
(653) In summary some of the benefits of the embodiment disclosed in
(654) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(655) Second, the dynamic response of the non-linear iDAC is fast also in part because the scaled reference network banks utilized in the non-linear MSP, first linear LSP, and second linear LSP iDACs are constant current sources whose current are steered by single MOFET switches which are inherently fast.
(656) Third, current mirror loop associated with conventional multiplying iDACs (where a first linear LSP iDAC's output signal supplies the reference signal to a second linear LSP iDAC, generally through a current mirror) is avoided which helps the speed.
(657) Fourth, utilizing the floating iDAC method surrounding the first linear LSP iDAC and second linear LSP iDAC reduces die area and cost.
(658) Fifth, the iNDAC.sub.38 enables making a fast and low-cost digital input to current analog output multiplier using the quarter square procedure. Here, by subtracting the current outputs of two iNDAC.sub.38 a multiplicand 4X.Math.Y can be generated, wherein the first iNDAC.sub.38 receives the sum of two digital words and generates (X+Y).sup.2 and the second iNDAC.sub.38 receives the difference of the same two digital words and generates (X−Y).sup.2.
Section 39—Description of FIG. 39
(659)
(660) For clarity of description and illustration,
(661) The non-linear Most-Significant-Portion (MSP) DAC (iDACQ.sub.39) is arranged as a non-linear thermometer iDAC. The iDACQ.sub.39 non-linear thermometer reference current network is comprised of PMOSFETs whose drain currents are scaled as follows: P1t.sub.39@i.sub.r, P1t.sub.39@3i.sub.r, P1t.sub.39@5i.sub.r, P1t.sub.39@7i.sub.r, P1t.sub.39@9i.sub.r, P1t.sub.39@11i.sub.r, and P1t.sub.39@13i.sub.r, wherein i.sub.t is a (unit) scaled reference signal programmed by Ir.sub.39=1i.sub.r. By inputting the MSB bank word (D6.sub.39, D5.sub.39, and D4.sub.39) to a 3-bit input to 7-bit output digital encoder (ENC.sub.39), a 7-bit digital word is generated. The 7-bit output word of ENC.sub.39 control the PMOSFET current switches comprising of s1t.sub.39, s2t.sub.39, s3t.sub.39, s4t.sub.39, s5t.sub.39, s6t.sub.39, and s7t.sub.39, whose inputs are couple to their respective non-linear current source segments of the respective non-linear thermometer reference current network. As such, the current switches control the steering of the non-linear current source segments onto the outputs of the said current switches which are coupled together at the output node iQ.sub.39.
(662) The first linear offset Least-Significant-Portion (LSP) iDAC (iDAC1L.sub.39) is a linear binary weighted iDAC. The iDAC1L.sub.39 binary weighted reference current network is comprised of PMOSFETs whose drain currents are scaled at: P1f.sub.39@ ½i.sub.r, P2f.sub.39@ i.sub.r and P3f.sub.39@ 2i.sub.r. The LSB bank word (D1.sub.39, D2.sub.39, and D3.sub.39) controls the PMSOFET current switches P1f.sub.39, P2f.sub.39, and P3f.sub.39 whose inputs are couple to their respective binary-weighted PMOSFET current sources (e.g., P1f.sub.39@ 0.5×, P2f.sub.39@ 1×, and P3f.sub.39@ 2×). The P1f.sub.39, P2f.sub.39, and P3f.sub.39 current switches control the steering of the respective binary-weighted current sources. The outputs of P1f.sub.39, P2f.sub.39, and P3f.sub.39 current switches are coupled together at node iQ.sub.39.
(663) To generate the linear LSP output signal, the iNDAC.sub.39 also utilizes the XDiSo.sub.39 meshed multiplier, which utilizes the mD.sub.iS.sub.O method.
(664) Similar to the XD.sub.iI.sub.O disclosed in section 35 and illustrated in
(665) The D4.sub.39 bit is AND gated (e.g., via U41.sub.39, U42.sub.39, and U43.sub.39) with the LSB bank word (D3.sub.39, D2.sub.39, D1.sub.39) to generate the control signals for a first sub-iDAC switches (s1L.sub.39, s2L.sub.39, and s3L.sub.39). The first sub-iDAC switches steer the first bank of binary weighted current reference signals (generated by the PMOSFET binary scaled current reference sources: P1L.sub.39@ 1×, P2L.sub.39@ 2×, and P3L.sub.39@ 4×), wherein the full scale of the first sub-iDAC is 7i.sub.r. The output of the first sub-iDAC switches are also coupled together at node iQ.sub.39.
(666) The D5.sub.39 bit is also AND gated (e.g., via U51.sub.39, U52.sub.39, and U53.sub.39) with the LSB bank word (D3.sub.39, D2.sub.39, D1.sub.39) to generate the control signals for a second sub-iDAC switches (s1L′.sub.39, s2L′.sub.39, and s3L′.sub.39). The second sub-iDAC switches steer the second bank of binary weighted current reference signals (generated by the PMOSFET binary scaled current reference sources: P1L′.sub.39@ 2×, P2L′.sub.39@ 4×, and P3L′.sub.39@ 8×), wherein the full scale of the second sub-iDAC is 14i.sub.r. The output of the second sub-iDAC switches are also coupled together at node iQ.sub.39.
(667) The D6.sub.39 bit is also AND gated (e.g., via U61.sub.39, U62.sub.39, and U63.sub.39) with the LSB bank word (D3.sub.39, D2.sub.39, D1.sub.39) to generate the control signals for a third sub-iDAC switches (s1L″.sub.39, s2L″.sub.39, and s3L″.sub.39). The third sub-iDAC switches that steer the third bank of binary weighted current reference signals (generated by the PMOSFET binary scaled current reference sources: P1L″.sub.39@ 4×, P2L″.sub.39@ 8×, and P3L″.sub.39@ 16×), wherein the full scale of the second sub-iDAC is 28i.sub.r. The output of the third sub-iDAC switches are also coupled together at node iQ.sub.39.
(668) Notice that the current output signal of the XDiIo.sub.39 combined with the output signal of at the linear offset iDAC1L.sub.39 fills-in the gap between segments of the current signal of the iDACQ.sub.39. As such, the signal at node iQ.sub.39 follows an approximate squarely weighted profile, that is a function of the i.sub.r, and is responsive to the Di.sub.39 word.
(669) In summary some of the benefits of the iNDAC.sub.39 embodiment disclosed in
(670) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(671) Second, the dynamic response of the non-linear iDAC is fast also in part because the scaled reference network banks utilized in the non-linear MSP and the linear LSP segments are constant current sources whose current are steered by single MOFET switches which are inherently fast.
(672) Third, current mirror loop associated with conventional multiplying iDACs (where for example a first linear LSP iDAC's output feeds the reference input port of a second linear LSP iDAC, generally through a current mirror) is avoided which helps the speed.
(673) Fourth, utilizing a meshed digital input to analog output multiplier XDiIo.sub.39 is fast and can operate with low V.sub.DD
(674) Fifth, the iNDAC.sub.39 enables making a fast and low-cost digital input to current analog output multiplier using the quarter square procedure. Here, by subtracting the current outputs of two iNDAC.sub.39 a multiplicand 4A.Math.B can be generated, wherein the first iNDAC.sub.39 receives the sum of two digital words and generates (A+B).sup.2 and the second iNDAC.sub.39 receives the difference of the same two digital words and generates (A−B).sup.2.
(675) Sixth, the disclosed iNDAC.sub.39 power consumption is event driven in that if there is not event (e.g., data polarity of zero), the iDACs and XDiIo.sub.39 shut of their respective current sources and hence power down.
Section 40—Description of FIG. 40
(676)
(677) The XD.sub.iI.sub.O of
(678) The XD.sub.iI.sub.O.sub.
(679) Also, for clarity and not as a limitation, the XD.sub.iI.sub.O.sub.
(680) The three sections of XD.sub.iI.sub.O multiplier circuit, comprising of RBN.sub.40, PSR.sub.40, and XD.sub.iI.sub.o.sub.
(681) In
(682) The NMOSFET current sources of the XD.sub.iI.sub.O.sub.
(683) For the first sub-iDAC of the meshed XD.sub.iI.sub.O.sub.
(684) For the second sub-iDAC of the meshed XD.sub.iI.sub.O.sub.
(685) For the third sub-iDAC of the meshed XD.sub.iI.sub.O.sub.
(686) As indicated earlier, the PSR.sub.40 circuit utilizes a second PSR method. In the embodiment of PSR.sub.40 illustrated in
(687) The second power supply desensitization (PSR) method utilized in the PSR.sub.40 circuit is briefly explained as follows:
(688) A central reference bias current network (RBN), free of cascodes, generates a reference bias voltage bus, wherein the reference bias voltage bus is shared with a plurality of reference bias current networks of a plurality of cascode-free data-converters. To substantially desensitize the plurality of output currents of the plurality of cascode-free data-converters, a power supply desensitization circuit tracks the power supply variations and varies each reference bias currents of the central RBN. Utilization of the second PSR method PSR.sub.40 is described next. in Bear in mind that FET early voltage (V.sub.A) causes the FET's IDs to vary with varying the FET's V.sub.DS. Also, keep in mind that the output port of the XD.sub.iI.sub.O.sub.
(689) Next, the XD.sub.iI.sub.O.sub.
(690) As described earlier, the XD.sub.iI.sub.O.sub.
(691) A first x-channel sub-iDAC receives the first scaled reference bank (i.e., I1r.sub.40, I2r.sub.40, and I4r.sub.40) at its current switch inputs that are the source-nodes of N1x.sub.40, N1x′.sub.40, and N1x″.sub.40 whose gate-nodes are controlled by x1.sub.40 bit. Accordingly, each of the I1r.sub.40, I2r.sub.40, and I4r.sub.40 currents are respectively steered through, N1x.sub.40, N1x′.sub.40, and N1x″.sub.40 which are gated by the x1.sub.40 bit, to provide the scaled reference input currents to the first y-channel sub-iDAC (in accordance with Dx.sub.40 word). Consequently, the said first y-channel sub-iDAC reference currents are steered through current switches N1y.sub.40, N2y.sub.40, and N3y.sub.40 that are controlled by the first y-channel sub-iDAC's digital inputs y1.sub.40, y2.sub.40, and y3.sub.40 bits, respectively. The drain-node currents of N1y.sub.40, N2y.sub.40, and N3y.sub.40 are summed together and coupled to Ixy.sub.40, which is the analog current output port of the XD.sub.iI.sub.O.sub.
(692) Similarly, a second x-channel sub-iDAC receives the second scaled reference bank (i.e., I2r.sub.40, I4r.sub.40, and I8r.sub.40) at its current switch inputs that are the source-nodes of N2x.sub.40, N2x′.sub.40, and N2x″.sub.40 whose gate-nodes are controlled by x2.sub.40 bit. Accordingly, each of the I2r.sub.40, I4r.sub.40, and I8r.sub.40 currents are respectively steered through, N2x.sub.40, N2x′.sub.40, and N2x″.sub.40 which are gated by the x2.sub.40 bit, to provide the scaled reference input currents to the second y-channel sub-iDAC (in accordance with Dx.sub.40 word). Consequently, the said second y-channel sub-iDAC reference currents are steered through current switches N1y′.sub.40, N2y′.sub.40, and N3y′.sub.40 that are controlled by the second y-channel sub-iDAC's digital inputs y1.sub.40, Y2.sub.40, and y3.sub.40 bits, respectively. The drain-node currents of N1y′.sub.40, N2y′.sub.40, and N3y′.sub.40 are summed together and coupled to Ixy.sub.40, which as noted earlier is the analog current output port of the XD.sub.iI.sub.O.sub.
(693) Lastly, a third x-channel sub-iDAC receives the third scaled reference bank (i.e., I4r.sub.40, I8r.sub.40, and I16r.sub.40) at its current switch inputs that are the source-nodes of N3x.sub.40, N3x′.sub.40, and N3x″.sub.40 whose gate-nodes are controlled by x3.sub.40 bit. Accordingly, each of the I4r.sub.40, I8r.sub.40, and I16r.sub.40 currents are respectively steered through, N3x.sub.40, N3x′.sub.40, and N3x″.sub.40 which are gated by the x3.sub.40 bit, to provide the scaled reference input currents to the third y-channel sub-iDAC (in accordance with Dx.sub.40 word). Consequently, the said third y-channel sub-iDAC reference currents are steered through current switches N1y″.sub.40, N2y″.sub.40, and N3y″.sub.40 that are controlled by the third y-channel sub-iDAC's digital inputs y1.sub.40, Y2.sub.40, and y3.sub.40 bits, respectively. The drain-node currents of N1y′″.sub.40, N2y″.sub.40, and N3y″.sub.40 are summed together and coupled to Ixy.sub.40, which as just noted is the analog current output port of the XD.sub.iI.sub.O.sub.
(694) In summary, the outputs of the first and second and third y-channel iDACs are summed at Ixy.sub.40 to generate the analog multiplicand representation, proportion to a unit scaled reference current signal, that is the X.Math.Y digital multiplications. Note that for a binary (linear) multiplier, the scaled reference network (bank) is also binarily weighted, but the reference network can be scaled in other fashions (e.g., thermometer or non-linear) for multipliers with different input-to-output transfer functions.
(695) In conclusion, some of the benefits of the XD.sub.iI.sub.O multiplier embodiment disclosed in
(696) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(697) Second, the dynamic response of XD.sub.iI.sub.O multiplier is fast also in part because the scaled reference network banks are constant current sources whose current are steered by single MOFET switches which are inherently fast.
(698) Third, current mirror loop associated with conventional multiplying iDACs (where a first iDAC's output signal supplies the reference signal to a second iDAC, generally through a current mirror) is avoided which helps the speed.
(699) Fourth, the minimum power supply can be lowered since it is chiefly limited by the drain-to-source voltage of current sources of the scaled reference network.
(700) Fifth, for multiple channels of XD.sub.iI.sub.O multiplier required in AI & ML applications, the disclosed embodiment enjoys substantial benefits attributed to the multiple-channel data-converter method summarized in section 19. There is an area savings, in utilizing the multiple-channel data-converter method, in part because the requirement for individually weighted current sources (e.g., binary weighted or non-linearly weighted) is decoupled from requiring individually scaled current sources. Here, utilization of RBN.sub.40 to generate a common reference voltage bus that is shared between plurality of sub-iDACs reduces the size of sub-iDACs current reference (cells in the) reference network of each sub-iDACs which lowers cost. Moreover, it lowers the combined associated parasitic and stray capacitance associated with current reference cells, which improves each of the sub-iDAC's dynamic response, lowers glitch, lowers digital injections into power supplies, and reduces the disclosed sub-iDAC's dynamic power consumption. The small size and improved performance on each sub-iDAC used in arranging each XD.sub.LI.sub.O multipliers are thus enjoyed by the plurality of plurality of such XD.sub.iI.sub.O multipliers.
(701) Sixth, despite area savings attainable by the disclosed multiple-channel data-converter method in the sub-iDACs and the XD.sub.iI.sub.O multipliers, the accuracy of individual the sub-iDACs and the XD.sub.iI.sub.O multipliers are not substantially deterred. All else substantially equal, the matching of MOSFETs that form a data-converter's reference current network dominate the accuracy of a current-mode data-converter. The scaled MOSFETs in both the (central) reference bias network (RBN.sub.40) match the 1× scaled MOSFETs in each of the sub-iDACs and the XD.sub.iI.sub.O multipliers because they are all arranged with the same (non-minimum W/L size) cell layout and same orientation.
(702) Seventh, the disclosed sub-iDACs and the XD.sub.iI.sub.O multipliers substantially reduces the number of MOSFETs that for example form the sub-iDAC's binary weighted current source network, and as such the fewer MOSFETs can be placed closer to each other on a chip. Similarly oriented and physically closer MOEFETs, that form the current reference network of the sub-iDACs and the XD.sub.iI.sub.O multipliers, generally match better which in turn improves the accuracy of each of the sub-iDACs and the XD.sub.iI.sub.O multipliers and the matching between them in plurality of the sub-iDACs and the XD.sub.iI.sub.O multipliers in one chip.
(703) Eight, in AI & ML applications the output current of plurality of the XD.sub.iI.sub.O multipliers could be coupled together and coupled to the input of iADCs. Generally and all else substantially equal, the larger the W/L size of a FET current source of the XD.sub.iI.sub.O multipliers, the larger the capacitance of the XD.sub.iI.sub.O multiplier's output port and the slower the of the XD.sub.iI.sub.O multipliers output node. Moreover, the XD.sub.iI.sub.O multiplier's output can capacitively load an iADC's input port which can also reduce the speed of the iADC right at its input port. As noted earlier, the multiple-channel data-converter method here enables decoupling the weight of a current source from the scaling of the sizes of FETs utilizing in forming the data-converter's reference current sources. By keeping each of the W/L sizes of the current source FETs the same at 1× and small for example (despite each of their binary weighted currents), the out node capacitances of the XD.sub.iI.sub.O multipliers that feeds the input of the iADC can be kept small which can help speeds up the dynamic response of the iADC.
(704) Ninth, there are no passive devices in the disclosed sub-iDACs and the XD.sub.iI.sub.O multipliers, and as such there is no need for resistors or capacitors, which reduces manufacturing size and cost.
(705) Tenth, the disclosed sub-iDACs and the XD.sub.iI.sub.O multipliers utilize same type of MOSFET current sources and MOSFET switches which are symmetric and matched. Such arrangement facilitates device parameters to track each other over process-temperature-operation conditions variations. Accordingly, each of the data-coefficient, power supply coefficient, and AC power supply rejection performance can be enhanced and matched between the plurality of data-converters.
(706) Eleventh, the disclosed embodiment enjoys the benefits of a second power supply desensitization (PSR) method, which helps eliminate a cascode FET from the scaled current reference sources which saves area and improves the dynamic response of the sub-iDAC and that of the meshed multiplier.
(707) Twelfth, in an embodiment of the disclosed sub-iDACs and the XD.sub.iI.sub.O multipliers that utilizes the multiple-channel data-converter method wherein the central RBN is trimmed or calibrated for accuracy, the accuracy of each of the plurality of data-converters, sub-iDACs, and the XD.sub.iI.sub.O multipliers whose reference current network is biased from the same central RBN can be improved.
(708) Thirteenth, in an embodiment of the sub-iDACs and the XD.sub.iI.sub.O multipliers that utilizes multiple-channel data-converter method wherein the central RBN is desensitized from power supply variations (e.g., by utilizing the second power supply desensitization method or the second PSR method disclosed in
(709) Fourteenth, the disclosed embodiment enjoys the benefits of meshed digital-to-analog multiplication (mD.sub.iS.sub.O) method summarized in sections 32′ and 33.
(710) Fifteenth, the benefits of the sub-iDACs and the XD.sub.iI.sub.O multipliers utilizing the multiple-channel data-converter method can be attained in other higher-order systems including but not limited to multiply-accumulate (MAC), and artificial-neural-network (ANN) that utilize the multiple-channel data-converter method.
Section 41—Description of FIG. 41
(711)
(712) The XD.sub.i I.sub.o.sub.
(713) The RBN.sub.41 circuit generates the following reference bias voltages (bus) on diode connected NMOSFETs for mostly the linear sub-iDACs of iNDAC.sub.P41 and iNDAC.sub.Q41: V.sub.1 via V.sub.GS of N.sub.1 whose I.sub.D is set by P.sub.i's I.sub.D=1i.sub.r; V.sub.2 via V.sub.Gs of N.sub.2 whose I.sub.D is set by P.sub.2's I.sub.D=2i.sub.r; V.sub.4 via V.sub.Gs of N.sub.4 whose I.sub.D is set by P.sub.4's I.sub.D=4i.sub.r; V.sub.8 via V.sub.Gs of N.sub.8 whose I.sub.D is set by P.sub.8's I.sub.D=8i.sub.r; V.sub.16 via V.sub.Gs of N.sub.16 whose I.sub.D is set by P.sub.16's I.sub.D=16i.sub.r; V.sub.32 via V.sub.Gs of N.sub.32 whose I.sub.D is set by P.sub.32's I.sub.D=32i.sub.r.
(714) Additionally, the RBN.sub.41 circuit generates the following reference bias voltages (bus) on diode connected NMOSFETs for mostly the non-linear iDACs of iNDAC.sub.P41 and iNDAC.sub.Q41 (e.g., iDACs whose input-output transfer functions approximates a square profile): V.sub.24 via V.sub.Gs of N.sub.24 whose I.sub.D is set by P.sub.24's I.sub.D=24i.sub.r; V.sub.40 via V.sub.Gs of N.sub.40 whose I.sub.D is set by P.sub.40's I.sub.D=40i.sub.r; V.sub.56 via V.sub.Gs of N.sub.56 whose I.sub.D is set by P.sub.56's I.sub.D=56i.sub.r; V.sub.72 via V.sub.Gs of N.sub.72 whose I.sub.D is set by I3.sub.72's I.sub.D=72i.sub.r; V.sub.88 via V.sub.Gs of N.sub.88 whose I.sub.D is set by P.sub.88's I.sub.D=88i.sub.r; V.sub.104 via V.sub.Gs of N.sub.104 whose I.sub.D is set by P.sub.104's I.sub.D=104i.sub.r.
(715) Similar to the circuit in section 40 and illustrated in
(716) The SUB.sub.41 is a simple embodiment of a current mirror that can perform the subtraction of the outputs current signals of the iNDAC.sub.P41 and the iNDAC.sub.Q41 and generate the analog multiplicand current signal of 4I.sub.XY. Note that to arrange a MAC which requires the summation of a plurality of multiplication results, the output of plurality of pairs of non-linear multiplier's outputs (e.g., plurality of iNDAC.sub.P41 and iNDAC.sub.Q41) can be coupled to the opposite side of the same current mirror circuit. As such, the current mirror can perform the function of subtraction (needed for pairs of non-linear DACs to generate the multiplicand results) and the function of addition (needed in MAC) with one subtractor circuit and in one shot, which save area, helps speed, and improves accuracy.
(717) Next, the different sections of iNDAC.sub.P41 circuit is described in accordance with the partitioning of the second non-linear digital-to-analog converter or the NDAC method disclosed in section 36′:
(718) The first linear offset LSP iDAC section of iNDAC.sub.P41 is a linear binary weighted iDAC whose current reference network is comprised of (NMOSFETs scaled with W/L of 1×) N.sub.1P, N.sub.2P, and N.sub.3P which operate at I.sub.D of 1i.sub.r, 2i.sub.r, and 4i.sub.r, respectively. The current switches N.sub.1Pf, N.sub.2Pf, and N.sub.3Pf are controlled by the Least-Significant-Bit (LSB) bank word (e.g., P′.sub.1, P′.sub.2, and P′.sub.3 bits) which respectively steer the reference currents 1i.sub.r, 2i.sub.r, and 4i.sub.r to the output port of the iNDAC.sub.P41.
(719) The linear multiplication section of iNDAC.sub.P41 utilizes the meshed digital-to-analog multiplication or mD.sub.iS.sub.O method summarized in sections 32′, which is described next:
(720) As described earlier, the linear multiplication section that utilizes the meshed multiplication in iNDAC.sub.P41 is also arranged with a plurality of scaled reference current signals proportional to ir.sub.40 (that utilize NMOSFETs that are each scaled with W/L of 1×) comprising of 3 banks namely: The first scaled reference current bank is comprised of I.sub.D=2i.sub.r through N.sub.4P, I.sub.D=4i.sub.r through N.sub.SP, and I.sub.D=8i.sub.r through N.sub.6P. The second scaled reference current bank is comprised of I.sub.D=4i.sub.r through N.sub.7P, I.sub.D=8i.sub.r through N.sub.8P, and I.sub.D=816 through N.sub.9P. The third scaled reference current bank is comprised of I.sub.D=8i.sub.r through N.sub.10P, I.sub.D=16i.sub.r through N.sub.11P, and I.sub.D=32i.sub.r through N.sub.12P.
(721) A first MSP sub-iDAC utilized in the meshed multiplication section of iNDAC.sub.P41 receives the first scaled reference bank (i.e., 2i.sub.r, 4i.sub.r, and 8i.sub.r) at its current switch inputs that are the source-nodes of N.sub.4P and N.sub.4P′ and N.sub.4P″. These current switches are controlled by P′.sub.4 bit. Accordingly, each of 2i.sub.r, 4i.sub.r, and 8i.sub.r currents, which are gated by the P′.sub.4 bit, are respectively steered through current switches N.sub.4P and N.sub.4P′ and N.sub.4P″ to provide the scaled reference input currents to the first LSP sub-iDAC. Next, the said first LSP sub-iDAC reference currents are steered through current switches N.sub.1P and N.sub.2P and N.sub.3P that are controlled by the first LSP sub-iDAC's digital inputs P′.sub.1, P′.sub.2, and P′.sub.3 bits, respectively. The output of current switches N.sub.1P and N.sub.2P and N.sub.3P are summed together and coupled to the output port of the iNDAC.sub.P41.
(722) Similarly, a second MSP sub-iDAC utilized in the meshed multiplication section of iNDAC.sub.P41 receives the second scaled reference bank (i.e., 4i.sub.r, 8i.sub.r, and 16i.sub.r) at its current switch inputs that are the source-nodes of N.sub.5P and N.sub.5P′ and N.sub.5P″. These current switches are controlled by P′s bit. Accordingly, each of 4i.sub.r, 8i.sub.r, and 16i.sub.r currents, which are gated by the P′s bit, are respectively steered through current switches N.sub.5P and N.sub.5P′ and N.sub.5P″ to provide the scaled reference input currents to the first LSP sub-iDAC. Next, the said first LSP sub-iDAC reference currents are steered through current switches N.sub.1P, and N.sub.2P, and N.sub.3P, that are controlled by the first LSP sub-iDAC's digital inputs P′.sub.1, P′.sub.2, and P′.sub.3 bits, respectively. The output of current switches N.sub.1P, and N.sub.2P, and N.sub.3P, are summed together and coupled to the output port of the iNDAC.sub.P41.
(723) Furthermore, a third MSP sub-iDAC utilized in the meshed multiplication section of iNDAC.sub.P41 receives the second scaled reference bank (i.e., 8i.sub.r, 16i.sub.r, and 32i.sub.r) at its current switch inputs that are the source-nodes of N.sub.6P and N.sub.6P′ and N.sub.6P″. These current switches are controlled by P′.sub.6 bit. Accordingly, each of 4i.sub.r, 8i.sub.r, and 16i.sub.r currents, which are gated by the P′.sub.6 bit, are respectively steered through current switches N.sub.6P and N.sub.6P′ and N.sub.6P″ to provide the scaled reference input currents to the first LSP sub-iDAC. Next, the said first LSP sub-iDAC reference currents are steered through current switches N.sub.1P″ and N.sub.2P″ and N.sub.3P″ that are controlled by the first LSP sub-iDAC's digital inputs P′.sub.1, P′.sub.2, and P′.sub.3 bits, respectively. The output of current switches N.sub.1P″ and N.sub.2P″ and N.sub.3P″ are summed together and coupled to the output port of the iNDAC.sub.P41.
(724) The non-linear MSP iDAC section of the iNDAC.sub.P41 is arranged as a non-linear (e.g., to approximate a square transfer function) thermometer iDAC. Here, the non-linear thermometer reference current network is comprised of NMOSFETs that are scaled with W/L of 1×, namely N.sub.13P through N.sub.19P. The gate-ports N.sub.13P through N.sub.19P) are respectively coupled to the reference network voltage busV.sub.8, V.sub.24, V.sub.40, V.sub.56, V.sub.72, V.sub.88, and V.sub.104, which are supplied from RBN.sub.41 circuit. The drain currents of N.sub.13P through N.sub.19P are scaled to 8i.sub.r, 24i.sub.r, 40i.sub.r, 56i.sub.r, 72i.sub.r, 88i.sub.r, and 104i.sub.r wherein i.sub.t is programmed by Ir.sub.1. By inputting the proper polarity of the MSB bank word (xP′.sub.6, xP′.sub.5, and xP′.sub.4) to a 3-bit input to 7-bit output digital encoder (ENC.sub.P), a 7-bit digital word is generated. The 7-bit output word of ENC.sub.P control the NMOSFET current switches comprising of N.sub.t1P, N.sub.t2P, N.sub.t3P, N.sub.t4P, N.sub.t5P, N.sub.t6P, and N.sub.t7P whose inputs are couple to their respective non-linear current source segments (e.g., 8i.sub.r, 24i.sub.r, 40i.sub.r, 56i.sub.r, 72i.sub.r, 88i.sub.r, and 104i.sub.r) of the respective non-linear thermometer reference current network. As such, the current switches control the steering of the non-linear current source segments onto the outputs of the said current switches which are coupled together at the output node of the iNDAC.sub.P41.
(725) The iNDAC.sub.Q41 is arranged and operates the same as iNDAC.sub.P41.
(726) As noted earlier, an analog multiplicand current signal of 4X.Math.Y can be generated by (setting P′=X+Y and Q′=X−Y and) inputting the proper polarity of P′ and Q′ into the digital input ports of iNDAC.sub.P41 and iNDAC.sub.Q41, and then subtracting the outputs of iNDAC.sub.P41 and iNDAC.sub.Q41 via SUB.sub.41. Bear in mind that as such, the iNDAC.sub.P41 receives the sum of two digital words and generates (X+Y).sup.2 and the iNDAC.sub.Q41 receives the difference of the same two digital words and generates (X−Y).sup.2 and the (X+Y).sup.2−(X−Y).sup.2=4XY.
(727) In conclusion, some of the benefits of the XD.sub.iI.sub.O multiplier embodiment disclosed in
(728) First, the disclosed embodiment benefits from operating in current mode that has been discussed in this disclosure
(729) Second, the dynamic response of XD.sub.iI.sub.O multiplier is fast also in part because the scaled reference network banks are constant current sources whose current are steered by single MOFET switches which are inherently fast.
(730) Third, current mirror loop associated with conventional multiplying iDACs (where a first iDAC's output signal supplies the reference signal to a second iDAC, generally through a current mirror) is avoided which reduces die size and helps improve dynamic response.
(731) Fourth, the minimum power supply can be lowered since it is chiefly limited by the drain-to-source voltage of current sources of the scaled reference network.
(732) Fifth, the disclosed embodiment of XD.sub.iI.sub.O.sub.
(733) Sixth, the disclosed embodiment of XD.sub.iI.sub.O.sub.
(734) Seventh, the disclosed embodiment of XD.sub.iI.sub.O.sub.
(735) Eight, the disclosed embodiment of XD.sub.iI.sub.O.sub.
(736) Ninth, the disclosed embodiment of XD.sub.iI.sub.O.sub.
(737) An inherent benefit of the disclosed embodiment of XD.sub.iI.sub.O.sub.
Section 42—Description of FIG. 42
(738)
(739) Keeping in mind that 4-bit of resolution computes to about 6% of accuracy,
Section 43—Description of FIG. 43
(740)
(741) As noted, the XD.sub.iI.sub.O multiplier of
(742) Keeping in mind that 6-bit of resolution computes to about 1.6% of accuracy,
Section 44—Description of FIG. 44
(743)
(744) Keeping in mind that 7-bit of resolution computes to about 0.8% of accuracy, the lower graph in
Section 45—Description of FIG. 45
(745)
(746) Keeping in mind that 7-bit of resolution computes to about 0.8% of accuracy, the upper graph in
Section 46—Description of FIG. 46
(747)
(748) As noted, the XD.sub.iI.sub.O multiplier of
(749) Keeping in mind that 7-bit of resolution computes to about 0.8% of accuracy,
Section 47—Description of FIG. 47
(750)
(751) As noted, for clarity and not as a limitation, the aNDC method is utilized in a aSQRL.sub.47 digital block of
(752) The aSQRL.sub.47 digital input ports receive a digital Z word, wherein the digital Z word is comprised of a digital MSB bank word (Z.sub.MSP) and a digital LSB bank word (Z.sub.LSP).
(753) The aSQRL.sub.47 digital block outputs a digital word ˜Z.sup.2 that is an approximate representation of square of its input word Z.
(754) The aSQRL.sub.47 digital block is comprised of the following sub-blocks: a MSP square logic (mSQRL.sub.47), a digital multiplier (MULTL.sub.47) and first digital scale (SRL1.sub.47), an offset (OFSL.sub.47) and second digital scale (SRL2.sub.47), and a digital summation (SUML.sub.47).
(755) The sub-block mSQRL.sub.47 receives the Z.sub.MSP word at its digital input (I-port), and it generates a digital square word Z.sub.MSP at its digital output (O-port).
(756) The sub-block MULTL.sub.47 receives the Z.sub.MSP word at its MPS digital input (I.sub.M-port), and receives the Z.sub.LSP word at its LPS digital input (I.sub.L-port), and generates a digital word Z.sub.MSP×Z.sub.LSP at its digital output (O-port).
(757) The sub-block SRL1.sub.47, whose scale factor (s.sub.L) is programmed by the digital word S.sub.DIV, receives the Z.sub.MSP×Z.sub.LSP digital word at its digital input I-port and generates a scaled digital output word s.sub.L (Z.sub.MSP×Z.sub.LSP) at its digital 0-port. Bear in mind that for a square transfer function wherein s.sub.L can be an even binary number, the scaling function of the sub-block SRL1.sub.47 can be simply programmed by shifting the Z.sub.MSP×Z.sub.LSP digital word to the left or right of a digital shift register a proper number of times.
(758) The sub-block OFSL.sub.47 receives the Z.sub.LSP word at its digital input (I-port), and generates an offset digital word Z.sub.LSP at its digital output (0-port).
(759) The sub-block SRL2.sub.47, whose scale factor (s.sub.O) can be programmed by the digital word S.sub.DIV, receives the Z.sub.LSP digital word at its digital input I-port and generates a scaled digital output word s.sub.O (Z′.sub.LSP) at its digital O-port. Again, bear in mind that for a square transfer function wherein s.sub.O can be an even binary number, the digital offset and digital scaling function of the sub-blocks OFSL.sub.47 and SRL2.sub.47 can be simply programmed by shifting the Z.sub.LSP digital word to the left or right of a digital shift register a proper number of times.
(760) The digital sub-block SUML.sub.47 generates an approximate (non-linear) square digital word ˜Z.sup.2 at its output O-port by summing the respective digital words inputted to its input ports I.sub.1-port, I.sub.2-port, and I.sub.3-port. The input ports of SUML.sub.47 receive the digital outputs from the O-ports of mSQRL.sub.47, SRL1.sub.47, and SRL2.sub.47 which are the digital words representing Z.sub.MSP.sup.2, s.sub.L(Z.sub.MSP×Z.sub.LSP), and s.sub.O(Z′.sub.LSP), respectively.
(761) Notice that that in utilizing the aNDC method in the aSQRL block of
(762) By utilizing the aNDC method, a digital approximate non-linear square output signal (˜Z.sup.2) can be generated as a function of the digital input word Z.
(763) Keep in mind that the transfer function of a non-linear mSQRL.sub.47 can be arranged to follow a square transfer function or other non-linear profiles including but not limited to logarithmic, wherein linear offset digital signals can be combined with a linear digital multiplier output signals to generate a digital signal that serves as a linear straight-line approximation to fill the gaps in-between the non-linear mSQRL.sub.47 digital output segment.
(764) Notice that section 53 (
(765) Some of the benefits of utilizing the aNDC method in the non-linear aSQRL.sub.47 block having a square transfer function is as follows:
(766) First, the aSQRL.sub.47 can be significantly smaller and lower cost with lower dynamic power consumption, as compared to a conventional means of generating a digital Z.sup.2 that for example require the multiplication of Z×Z whose die cost, die size, and dynamic power consumption increases significantly with higher width of the Z-bit word.
(767) Second, the aSQRL.sub.47 enables making a fast and low-cost digital-input to digital-output multiplier using the quarter square procedure. Here, by subtracting the digital outputs of (one time multiplexed or two) aSQRL.sub.47 to generate a scaled multiplicand of two digital words X and Y, whose summation (X+Y) and subtraction (X−Y) is inputted into aSQRL.sub.47. By inputting digital summation (X+Y) and digital subtraction (X−Y) onto a aSQRL.sub.47 and subtracting the approximate digital outputs ˜(X+Y).sup.2 and ˜(X−Y).sup.2 from one another, an approximate scaled multiplicand digital signal ˜4X. Y can be generated.
(768) Third, the aSQRL.sub.47 enables making a digital input to multi-quadrant digital output multiplier via using the quarter square procedure, by for example squaring the digital absolute values of |X+Y| and |X−Y|.
(769) Fourth, because aSQRL.sub.47 is all digital, it can be time multiplexed at a high-speed to generate plurality of multiplicand digital words. Accordingly, such plurality of multiplicand digital words can be inputted onto a plurality of respective Digital-to-Analog converters (DAC)s. By summing the analog outputs of such plurality of DACs to perform the function of summation, a mixed-mode multiply-accumulate (MAC) signal can be generated. Such an arrangement can be more area and power efficient as compared to larger area and dynamic power consumption associated with an all-digital MAC that utilizes an alternative plurality of digital registers and adders. For example, the summation operations in such mixed-mode MAC function can by performed by inputting the joined (summed) output currents of plurality of iDACs into an analog input port a current mode Analog to digital converter (iADC).
Section 48—Description of FIG. 48
(770)
(771) Bear in mind that the analog output XD.sub.iI.sub.O of
(772) The XD.sub.iI.sub.O of
(773) In
(774) The digital absolute value of the summation |X+Y| and digital absolute value of the subtraction |X−Y| are time multiplex inputted into SQRL.sub.48. The time multiplexed digital outputs |X+Y|.sup.2 and |X−Y|.sup.2 of SQRL.sub.48 are subtracted from one another to generate a scaled multiplicand digital signal 4XY. This is how the digital-input to digital-output multiplication is performed by the MULTL.sub.48 section that is shown inside the dotted line of
(775) The digital output of MULTL.sub.48 which is the digital 4XY word is then fed onto an iDAC to generate an equivalent analog 4X′Y′ signal (proportional to the iDAC.sub.48's reference signal).
(776) In the embodiment of
(777) The MULTL.sub.48's 4XY digital output word is then inputted onto an iDAC.sub.48 to generate a scaled multiplicand analog current signal 4X′Y′ that is proportional a reference current signal (Ir.sub.48) and responsive to the 4XY digital word.
(778) The SQRL.sub.48 can utilize an approximate square logic block, similar to aSQRL.sub.47 that is described in section 48 and illustrated in
(779) Some of the benefits of XD.sub.iI.sub.O that utilizes a SQRL.sub.48 in
(780) First, the multiplier XD.sub.iI.sub.O that utilizes an SQRL.sub.48 can be significantly smaller with lower cost with lower dynamic power consumption, for medium digital word width and medium accuracy ANNs (e.g., 5 to 10 bits).
(781) Second, the multiplier XD.sub.iI.sub.O that utilizes an SQRL.sub.48 enables making a digital input to multi-quadrant digital output multiplier via using the quarter square procedure.
(782) Third, because the multiplier XD.sub.iI.sub.O that utilizes an SQRL.sub.48 is all digital (excluding the iDAC.sub.48), it can be time multiplexed at higher speeds to generate plurality of time multiplexed multiplicand digital words. Accordingly, such plurality of multiplicand digital words can be inputted onto a plurality of respective iDACs. As noted earlier, by subsequently summing the analog current outputs of such plurality of iDAC, a multiply-accumulate (MAC) analog signal can be generated to perform the function of summation is analog. Analog summation (via simply joining plurality of wires) in a mixed-mode MAC can be more area and power efficient compared to the larger area and higher dynamic power consumption associated with an alternative all-digital MAC that utilizes plurality of digital registers and adders.
Section 49—Description of FIG. 49
(783)
(784) The analog output XD.sub.iI.sub.O of
(785) The XD.sub.iI.sub.O of
(786)
(787) Accordingly, a pair of digital absolute value digital blocks (ABSLs.sub.49 and ABSLd.sub.49) receive the sum (X+Y) and subtraction (X−Y) of the digital input words X and Y. The pair of output words of ABSLs.sub.49 and ABSLd.sub.49 which are the absolute value of sum and subtraction of digital input words (i.e., |X+Y| and |X−Y|) are then inputted to a pair of square logic blocks that generate the square of the sum and square of the difference of the digital input words (i.e., |X+Y|.sup.2 and |X−Y|.sup.2), which are then subtracted from one another to generate the scaled multiplicand digital word 4XY. This is how the digital input to digital output multiplication is performed by the MULTL.sub.49 section that is shown inside the dotted line of
(788) The digital output of MULTL.sub.49 which is the digital 4XY word is then fed onto a DAC to generate an equivalent analog 4X′Y′ signal (proportional to the iDAC.sub.49's reference signal) and responsive to the 4XY digital word.
(789) The benefits of XD.sub.iI.sub.O that utilizes a pair of SQRLs.sub.49 and SQRLd.sub.49 in
Section 50—Description of FIG. 50
(790)
(791) The analog output XD.sub.iI.sub.O of
(792) The XD.sub.iI.sub.O of
(793)
(794) Accordingly, a pair of digital absolute value digital blocks (ABSLs.sub.50 and ABSLd.sub.50) receive the sum (X+Y) and subtraction (X−Y) of the digital input words X and Y. The pair of output words of ABSLs.sub.50 and ABSLd.sub.50 which are the absolute value of sum and subtraction of digital input words (i.e., |X+Y| and |X−Y|) are then inputted to a pair of square logic blocks that generate the square of the sum and the difference of the digital input words (i.e., |X+Y|.sup.2 and |X−Y|.sup.2). The |X+Y|.sup.2 and |X−Y|.sup.2 digital words are then fed onto the digital input ports of the pair of iDACs (iDACs.sub.50 and iDACd.sub.50) whose analog current outputs are subsequently subtracted from one another to generate the scaled multiplicand analog current signal 4X′Y′ that is proportional a reference current signals Irs.sub.49 and Irs.sub.49 and responsive to the 4XY digital word.
(795) The benefits of XD.sub.iI.sub.O that utilizes a pair of SQRLs.sub.50 and SQRLd.sub.50 in
Section 51—Description of FIG. 51
(796)
(797) The embodiment of MACiDAC of
(798) The disclosed embodiment of the MACiDAC of
(799) A sequence of sums and a subtraction of X and Y digital input words (X+Y and X−Y) are time multiplexed through a MUXL.sub.s1 digital logic block that is controlled and clocked by a S.sub.c digital word. The sequence of time multiplexed X+Y and X−Y words, represented in
(800) The respective timed sequence of Z.sup.2 that represent a timed sequence of pairs of |X+Y|.sup.2 and |X−Y|.sup.2 digital words are selected and clocked (via the S.sub.C digital word) and inputted onto n pairs of respective digital registers (i.e., REGL1.sub.51 & REGL1′.sub.51 pair through REGLn.sub.51 & REGLn′.sub.51 pair), wherein n represents the number of pairs of X and Y digital input words allocated per MAC.
(801) The saved pairs of |X+Y|.sup.2 and |X−Y|.sup.2 digital words are then inputted from n pairs of the respective digital registers onto n pairs of respective iDACs (i.e., iDAC1.sub.51 & iDAC1′.sub.51 pair through iDACn.sub.51 & iDACn′.sub.51).
(802) The current outputs of n respective iDAC1.sub.51 through iDACn.sub.51 are summed (coupled) together, whose sum is deducted from a respective paired counterpart sum (coupled) of current outputs of n respective iDAC1′.sub.51 through iDACn′.sub.51.
(803) Notice that the subtraction of pairs of iDAC currents is performed utilizing only one analog current subtraction circuit iSUB.sub.51 (which can be a current mirror with pairs of iDAC output currents coupled respectively to the current mirror's input and output ports) that saves on area and improves accuracy.
(804) Also, note bear in mind that here the value of iDAC's current references (Ir1.sub.51& Ir1′.sub.51 through Irn.sub.51& Irn′.sub.51) are equal to one another and equal to Jr.
(805) An offset iDACb.sub.51's output current (responsive to the offset digital word B) is coupled with the output current of the iSUB.sub.51, where their combination generates a net MAC current I.sub.MAC that is proportional to Ir and responsive to the sum of the digital words X.sub.1Y.sub.1+X.sub.2Y2+ . . . +X″Y″+B.
(806) The analog MAC current I.sub.MAC is then digitized by iADC.sub.51 whose digital output word represents X.sub.1Y.sub.1+X.sub.2Y.sub.2+ . . . +X″Y″+B that is proportional to the reference current signal (mIr.sub.51) of the iADC.sub.51 and is responsive to its analog input current IMAC signal.
(807) Some of the benefits of the disclosed embodiment of MACiDAC
(808) First, alternative digital adders and subtractors can occupy a substantially larger die area compared to the analog summation and subtraction performed by a single SUB.sub.51 in analog mode that is simply the joining of plurality of wires which saves on die area.
(809) Second, the SQRL.sub.51 of
(810) Third, since the iDACs are current mode and fast, the dynamic response of MACiDAC would be dominated primarily by the iADC.sub.51 and secondarily by iSUB.sub.51. Accordingly, the all-digital SQRL.sub.51 (which is able to operates fast inherently) can be time multiplexed to generate the digital data fast enough to be inputted onto a plurality of pairs of iDACs (whose output currents are processed and fed) onto a slower iADC. Such arrangement strikes an optimal balance (for the MACiDAC of
(811) Fourth, as noted earlier, operating in current mode has the following benefits for the disclosed D.sub.iD.sub.o MACiDAC: (a) current mode is inherently fast, (b) voltage swings in current-mode signal processing are small, which enables operating with lower power supply voltage and operating at low supply voltages facilitates reducing power consumption, (c) current-mode signal processing such as addition or subtraction functions take small area and can be performed fast.
(812) Fifth, there are no passive devices in the disclosed D.sub.iD.sub.o MACiDAC, and as such there is no need for resistors or capacitors, which reduces manufacturing size and cost.
(813) Sixth, the precision of the disclosed D.sub.iD.sub.o MACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(814) Seventh, the disclosed D.sub.iD.sub.o MACiDAC can utilize lower resolution iDACs (e.g., 3-bits or 5-bits) to perform the multiplication function, which occupy smaller areas, but can still deliver higher accuracy (e.g., 8-bits of accuracy or ±0.4%) which is beneficial. For example, higher than 3 of 5 bits of accuracy for iDACs is attainable in standard CMOS fabrication factories due to (8-bits of accuracy or ±0.4%)) matching that is achievable between the iDAC's binary weighted current sources or segmented current sources. As such, the disclosed D.sub.iD.sub.o MACiDAC can utilize low resolution iDACs that occupy small areas but still achieve higher accuracy multiply-accumulate performance at lower cost.
(815) Eighth, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 52—Description of FIG. 52
(816)
(817) The embodiment of MACiDAC of
(818) Bear in mind that the MULTL.sub.52 of
(819) Also, keep in mind that the MULTL.sub.52 section of
(820) The disclosed embodiment of the MACiDAC of
(821) A sequence of n pairs of X.sub.1 & Y.sub.1 through X.sub.n & Y.sub.n are inputted onto a time multiplexed digital-input to digital-output multiplier MULTL.sub.52. The timed sequence of MULTL.sub.52 digital out words (X.sub.1×Y.sub.1 through X.sub.n×Y.sub.n) are respectively selected and clocked (via the S.sub.C digital word) and inputted onto n respective digital registers (i.e., REGL1.sub.52 through REGLn.sub.52), wherein n represents the number of pairs of X and Y digital input words allocated per MAC.
(822) The digital words X.sub.1×Y.sub.1 through X.sub.n×Y.sub.n are then inputted onto n respective iDACs (i.e., iDAC1.sub.52 through iDACn.sub.52) from the digital output ports of the n respective REGL1.sub.52 through REGLn.sub.52.
(823) The current outputs of n respective iDAC1.sub.52 through iDACn.sub.52 are (summed) coupled together to generate an analog current signal (I.sub.MAC), proportional to a reference current signal (Ir), that is responsive a digital word X.sub.1Y.sub.1+X.sub.2Y.sub.2+ . . . +X.sub.nY.sub.n.
(824) Also note that the value of iDAC's current references (Ir1.sub.52 through Irn52 for the embodiment of
(825) An offset iDACb.sub.52's output current (proportional to Ir and responsive to the offset digital word B) is coupled to I′.sub.MAC to generate an I.sub.MAC that is proportional to Ir and responsive to the sum of the digital words X.sub.1Y.sub.1+X.sub.2Y.sub.2+ . . . +X.sub.nY.sub.n+B.
(826) The analog MAC current I.sub.MAC is then digitized by iADC.sub.52 whose digital output word represents X.sub.1Y.sub.1+X.sub.2Y.sub.2+ . . . +X.sub.nY.sub.n+B that is proportional to the reference current signal (mlr.sub.51) of the iADC.sub.51 and is responsive to its analog input current IMAC signal.
(827) Some of the benefits of the disclosed embodiment of MACiDAC of
(828) First, alternative digital adders and subtractors can occupy a substantially larger die area compared to the analog summation that is simply the joining of plurality of (iDAC output current) wires which saves on die area.
(829) Second, the MULT.sub.52 of
(830) Third, since the iDACs are current mode and fast, the dynamic response of MACiDAC would be dominated primarily by the iADC.sub.52. Accordingly, the all-digital MULTL.sub.52 (which is able to operates fast inherently) can be time multiplexed to generate the digital data fast enough to be inputted onto a plurality of pairs of iDACs whose output are simply coupled together and coupled to an analog current input port of a slower iADC. Such arrangement strikes an optimal balance (for the MACiDAC of
(831) Fourth, as noted earlier, operating in current mode has the following benefits for the disclosed D.sub.iD.sub.o MACiDAC: (a) current mode is inherently fast, (b) voltage swings in current-mode signal processing are small, which enables operating with lower power supply voltage and operating at low supply voltages facilitates reducing power consumption, (c) current-mode signal processing such as addition or subtraction functions take small area and can be performed fast.
(832) Fifth, there are no passive devices in the disclosed D.sub.iD.sub.o MACiDAC, and as such there is no need for resistors or capacitors, which reduces manufacturing size and cost.
(833) Sixth, the precision of the disclosed D.sub.iD.sub.o MACiDAC can be improved by improving the accuracy of iDACs (for example) by segmenting the iDAC's reference current transfer-function (along with digital binary-to-thermometer logic decoding of iDAC's digital input code).
(834) Seventh, the disclosed D.sub.iD.sub.o MACiDAC can utilize lower resolution iDACs (e.g., 3-bits or 5-bits) to perform the multiplication function, which occupy smaller areas, but can still deliver higher accuracy (e.g., 8-bits of accuracy or ±0.4%) which is beneficial. For example, higher than 3 of 5 bits of accuracy for iDACs is attainable in standard CMOS fabrication factories due to (8-bits of accuracy or ±0.4%)) matching that is achievable between the iDAC's binary weighted current sources or segmented current sources. As such, the disclosed D.sub.iD.sub.o MACiDAC can utilize low resolution iDACs that occupy small areas but still achieve higher accuracy multiply-accumulate performance at lower cost.
(835) Eighth, utilizing plurality of iDACs, whose outputs are summed, would attenuate the statistical contribution of the cumulative iDAC's random errors (such as random noise, offset, mismatches, linearity, gain, drift, etc.) at the summing node where the iDAC's current outputs are coupled. The statistical contribution of such cumulative iDAC's random errors, at the summing node, is the square root of the sum of the squares of such random error terms.
Section 53—Description of FIG. 53
(836)
(837) For the purpose of this simulations, the aSQRL.sub.47 (having a square transfer function) is inputted with a 6-bit digital word Z that is comprising of Z.sub.MSB that is a 3-bit digital word, and Z.sub.LSB that is a 3-bit digital word. The embodiment of mSQRL.sub.47 section (in aSQRL.sub.47) is arranged with a 3-input to 6-output standard digital square logic circuit less than 12 logic gates. Other blocks used in this simulation are ideal macro-models.
(838) As noted, the digital inputs are 6-bit (X+Y) and a 6-bit (X−Y) digital words, wherein X and Y digital words are ramped in the opposite direction between zero-scale to full scale.
(839) For clarity of waveform illustration to fit in the
(840) The lower waveforms of
(841) The upper waveform of
(842) Keeping in mind that 6-bit of resolution computes to about 1.6% of accuracy,