Current cell array circuitry

Abstract: Cell array circuitry (20) includes a cell array (22) made up of a plurality of current-source cells (2) arranged in rows and columns. The cells of the array are assigned respective ordinal positions in a predetermined selection sequence conforming, for example, to a so-called "magic square". The assigned ordinal positions are such as to tend to equalise the respective sequence-position sums for different rows of the array and/or to tend to equalise the respective sequence-position sums for different columns of the array, where the sequence-position sum for a row or column is determined by summing the respective ordinal positions of the cells in the row or column concerned. Switch circuits (4 1 to 4 16 ) select those cells whose assigned ordinal positions are less than an applied value (e.g. 3). Respective currents produced by the selected cells are accumulated as an output current (I A ) on a summing path (A). In such cell array circuitry the effects of graded and symmetrical errors within the cell array are reduced. Such cell array circuitry is suitable for use, for example, in a digital-to-analog converter (Figure 5). Other embodiments (Figures 19-24) relate to the use of plural cell arrays to reduce the effects of such errors.

Description: The present invention relates to cell array circuitry for use, for example, in digital-to-analog converters (DACs). Figure 1 of the accompanying drawings shows parts of a conventional digital-to-analog converter (DAC) of the so-called "current-steering" type. The DAC 1 is designed to convert an m-bit digital input word (D1-Dm) into a corresponding analog output signal. The DAC 1 includes a plurality (n) of identical current sources 2 1 to 2 n , where n=2 m -1. Each current source 2 passes a substantially constant current I. The DAC 1 further includes a plurality of differential switching circuits 4 1 to 4 n corresponding respectively to the n current sources 2 1 to 2 n . Each differential switching circuit 4 is connected to its corresponding current source 2 and switches the current I produced by the current source either to a first terminal, connected to a first connection line A of the converter, or a second terminal connected to a second connection line B of the converter. Each differential switching circuit 4 receives one of a plurality of control signals T1 to Tn (called "thermometer-coded signals" for reasons explained hereinafter) and selects either its first terminal or its second terminal in accordance with the value of the signal concerned. A first output current I A of the DAC 1 is the sum of the respective currents delivered to the differential-switching-circuit first terminals, and a second output current I B of the DAC 1 is the sum of the respective currents delivered to the differential-switching-circuit second terminals. The analog output signal is the voltage difference V A -V B between a voltage V A produced by sinking the first output current I A of the DAC 1 into a resistance R and a voltage V B produced by sinking the second output current I B of the converter into another resistance R. In the Figure 1 DAC the thermometer-coded signals T1 to Tn are derived from the binary input word D1-Dm by a binary-thermometer decoder 6. The decoder 6 operates as follows. When the binary input word D1-Dm has the lowest value the thermometer-coded signals T1-Tn are such that each of the differential switching circuits 4 1 to 4 n selects its second terminal so that all of the current sources 2 1 to 2 n are connected to the second connection line B. In this state, V A = 0 and V B = nIR. The analog output signal V A -V B = -nIR. As the binary input word D1-Dm increases progressively in value, the thermometer-coded signals T1 to Tn produced by the decoder 6 are such that more of the differential switching circuits select their respective first terminals (starting from the differential switching circuit 4 1 ) without any differential switching circuit that has already selected its first terminal switching back to its second terminal. When the binary input word D1-Dm has the value i, the first i differential switching circuits 4 1 to 4 i select their respective first terminals, whereas the remaining n-i differential switching circuits 4 i+1 to 4 n select their respective second terminals. The analog output signal V A -V B is equal to (2i-n)IR. Figure 2 shows an example of the thermometer-coded signals generated for a three-bit binary input word D1-D3 (i.e. in this example m=3). In this case, seven thermometer-coded signals T1 to T7 are required (n=2 m -1 = 7). As Figure 2 shows, the thermometer-coded signals T1 to Tn generated by the binary-thermometer decoder 6 follow a so-called thermometer code in which it is known that when an rth-order signal Tr is activated (set to "1"), all of the lower-order signals T1 to Tr-1 will also be activated. Thermometer coding is popular in DACs of the current-steering type because, as the binary input word increases, more current sources are switched to the first connection line A without any current source that is already switched to that line A being switched to the other line B. Accordingly, the input/output characteristic of the DAC is monotonic and the glitch impulse resulting from a change of 1 in the input word is small. It will be appreciated that the number of current sources 2 and corresponding differential switching circuits 4 in the Figure 1 architecture is quite large, particularly when m is greater than or equal to 6. When m = 6, for example, n = 63, and 63 current sources and 63 differential switching circuits are required. In order to deal with such a large number of current sources, and to enable the thermometer signals to be delivered efficiently to the different differential switching circuits, it has been proposed to arrange the current sources and differential switching circuits as a two-dimensional array of cells, each cell including one current source and its associated differential switching circuit. This arrangement is shown in Figure 3. In Figure 3, 64 cells CL ij are arranged in an 8 x 8 square array having eight rows and eight columns. In Figure 3, the first digit of the suffix applied to each cell denotes the row in which the cell is located and the second digit of the suffix denotes the column in which the cell is located. Thus, the cell CL 18 is the cell in row 1, column 8. Each cell CL ij includes its own current source 2 and its own differential switching circuit 4. The respective first terminals of the cells of the array are connected together to a first connection line A of the DAC and the respective second terminals of the cells of the array are connected together to a second connection line B of the DAC, as in the Figure 1 DAC. In order to avoid having to generate and supply different respective thermometer-coded signals to all the cells of the array, a two-stage decoding process is adopted to convert the binary input word D1-D6 into the respective thermometer-coded control signals T required by the differential switching circuits 4 in the different cells. The first stage of this two-stage decoding process is carried out by respective row and column decoders 12 and 14, and the second stage is carried out by a local decoder 16 provided for each cell. The three lower-order bits D1-D3 of the binary input word are applied to the column decoder 14 which derives therefrom seven thermometer-coded column selection signals in accordance with Figure 2. The row decoder 12 receives the three higher-order bits D4-D6 of the input word and derives therefrom seven thermometer-coded row selection signals, also in accordance with Figure 2. The row and column selection signals are distributed to the cells of the array. In each cell the local decoder 16 combines the row and column selection signals to derive therefrom the required local control signal T for the differential switching circuit 4 of the cell concerned. In practice, the local decoder 16 in each cell does not need to employ all seven row and column selection signals to produce the required local control signal T. This is because, for any digital input word, the rows of the matrix fall into one of three different states: (1) rows in which the respective differential switching circuits of all cells of the row select the second terminal; (2) rows in which the respective differential switching circuits of all cells of the row select the first terminal; and (3) a (unique) row in which the differential switching circuits of one or more cells of the row select the second terminal whereas the differential switching circuits of one or more other cells of the row select the first terminal. In view of these limited possibilities, it is possible for each local decoder to derive its local control signal T simply by combining two of the row selection signals r n and r n+1 and one of the column selection signals c n . The numbers allotted to the cells CL ij in Figure 3 denote the sequence in which the cells are activated (or controlled) to change from selecting their respective second terminals to selecting their respective first terminals. The activation sequence follows the physical order of the cells in the array, starting from row 1 and activating the cells of that row sequentially in column order, followed by row 2, and so on for each successive row of the array. One problem which arises in the Figure 3 arrangement is that, although the output currents of the respective current sources 2 of the different cells of the array should be uniform, in practice the actual output currents of the cells suffer from non-uniformity arising from various causes. For example, a voltage drop along a power supply line can cause a graded error along a row or column, as shown in Figure 4(A). In this case, the current sources in the first four cells of the row or column concerned may have negative errors, signifying that each of them produces a below-average output current. These negative errors decrease towards the centre of the row or column concerned. The current sources in the remaining cells 5 to 8 of the row or column concerned have respective positive errors, signifying that each of them produces an above-average output current. These positive errors increase from the centre of the row or column to the end. Thermal distribution inside a chip including the array can cause a symmetrical error within a row or column, as shown in Figure 4(B). In this case, the current sources in the end cells 1, 2, 7 and 8 of the row or column have negative errors, whereas the current sources of the central cells 3 to 6 of the row or column have positive errors. In addition, there can be other types of error such as random errors. The final error distribution for the cell array is produced by superposing all the different error components. The graded and symmetrical errors shown in Figures 4(A) and Figure 4(B) tend to accumulate and result in a large integral linearity error (INL). For example, imagine that the graded error distribution shown in Figure 4(A) exists within the first row of the cell array shown in Figure 3. In this case, as cells 1 to 4 are progressively activated (changed from selecting their respective second terminals to selecting their respective first terminals) the negative errors accumulate, amounting to a significant total negative error when the digital input code is 4. Only when cells 5 to 8 are sequentially activated do the positive errors attributable to these cells start to cancel out the large negative error attributable to cells 1 to 4. Of course the situation is even worse if there are graded errors corresponding to Figure 4(A) along each of the columns 1 to 8. In this case, as cells 1 to 8 are progressively activated, the largest negative error (the error at position 1 in Figure 4(A)) occurs for each of the eight cells of row 1. Similarly, in row 2, negative errors corresponding to position 2 in Figure 4(A) accumulate eight times. Thus, by the time the input code has increased to 32 (corresponding to all of the cells in rows 1 to 4 being activated) the accumulated negative error is very large indeed. Similar problems arise with the accumulation of symmetrical errors of the kind shown in Figure 4(B). Heretofore various proposals have been made which attempt to address the problem of accumulation of graded and symmetrical errors within a row or column of a cell array. For example, IEEE Journal of Solid-State Circuits, Volume 26 No. 4, April 1991, pp. 637-642 discloses a technique referred to as "hierarchical symmetrical switching" for cancelling graded and symmetrical errors within a single row or column. However, such techniques do not provide a fully satisfactory way of dealing with the problem of accumulation of graded and symmetrical errors within different rows and columns of a cell array, i.e. two-dimensional cancellation. A paper entitled "A 10-bit 70MS/s CMOS D/A Converter", Y. Nakamura et al., IEEE Proceedings of the Symposium on VLSI Circuitry, vol. 6, no. 2, 1990, pp. 57-58, describes cell array circuitry having an 8 x 16 array of cells, each having an identical current source. The cells within each row are selected in a predetermined sequence, e.g. the first cell in the row has sequence position 14, the second cell has sequence position 10, and so on along the row. This "hierarchical symmetrical switching'' is carried out in the column decoder and has the effect of suppressing graded errors and symmetrical errors within each row. EP-A-0898374, which is document qualifying as prior art only by virtue of EPC Article 54(3), discloses various examples of cell array circuitry having two cell arrays, each having 31 cells. Each cell comprises 16 current sources which may be arranged in 4 x 4 square, or in a 1 x 16 line. The cells in each array are selected in a symmetrical sequence with respect to a centroid of the array. A further example has 32 cell arrays and each cell within an array has just one current source. Each cell array has 4 x 8 cells.but the cells within each array are selected in conventional order. EP-A-0903861, which is another EPC Article 54(3) document, discloses a square cell array. Multiple symmetries are used to define the sequence in which the cells are selected, including symmetries about the centre of the square and about symmetry points midway between the centre and the four corners. This arrangement permits a simple row decoder to be used but the column decoder is more complex. According to a first aspect of the present invention there is provided cell array circuitry including: a cell array made up of a plurality of mutually-corresponding cells arranged in at least three rows and at least three columns; selection means for assigning the cells of the array respective ordinal positions in a predetermined selection sequence and for selecting the cells in accordance with their respective assigned ordinal positions; and accumulation means for accumulating respective analog quantities produced by, or associated with, the selected cells; characterised in that the assigned ordinal positions are such as to minimise the difference between the respective sequence-position sums for all rows of the array and/or to minimise the differences between the respective sequence-position sums for all columns of the array, where the sequence-position sum for a row or column is determined by summing the respective ordinal positions of the cells in the row or column concerned. In such cell array circuitry the effects of graded and symmetrical errors within the cell array are reduced. The cells may include any suitable type of analog circuitry where matching between respective analog quantities produced by, or associated with, the different cells is required. For example, each cell may include a current source or current sink circuit, in which case the accumulation means may be operable to accumulate respective currents sourced, or sunk as the case may be, by the current source/sink circuits of the selected cells. Alternatively, each cell may include a capacitance element, in which case the accumulation means may be operable to accumulate respective charges stored by the capacitance elements of the selected cells. Alternatively, each cell may include a resistance element, in which case the accumulation means may be operable to accumulate respective resistances of the resistance elements of the selected cells. The selection means may, for example, be operable to select together each cell of the array whose said assigned ordinal position is less than a given value. For example, when the given value is i, the cells whose assigned ordinal positions are 1,2,...,i-1 are selected. It is convenient in this case if the said given value is determined by a selection signal (a digital input word) applied to the said selection means. It is not necessary for the selection means to select the cells in this way, however. For example, as in the second aspect of the invention the said selection means could alternatively be operable to select the cells of the array in at least first and second binary-weighted groups, the number of cells in the first group being double the number of cells in the second group. This type of selection is suitable for use in a "charge distribution" ADC which requires binary-weighted capacitors. These binary-weighted capacitors can be formed by selecting binary-ratioed numbers (e.g. 1,2,4,8...) of capacitor-cells from the cell array and connecting the selected cells in parallel with one another. Preferably, in at least the said first group the cells in the group have consecutive assigned ordinal positions. This helps to ensure that, within each group containing two or more cells, errors are cancelled. In cell array circuitry embodying the first aspect of the invention the assigned ordinal positions are such as to tend to equalise the respective sequence-position sums for all the rows of the array and/or to tend to equalise the respective sequence-position sums for all the columns of the array. This increases the effectiveness in overcoming the errors associated with the different cells. When the cell array is square (i.e. has equal numbers of rows and columns), it is preferable that the said assigned ordinal positions are such as to tend to equalise the respective sequence-position sums for all rows and columns of the array. This can be achieved, for example, by distributing the said assigned ordinal positions within the array such that they conform to the distribution of integers in a magic square of order equal to the number of rows or columns of the array. In some embodiments the magic square may be pandiagonal and/or associative. This may give additional error-compensating effects depending on the mode of selection of the cells. When the cell array is rectangular (i.e. has different numbers of rows and columns), it is not necessary for the sequence-position sum(s) for the rows to be the same as the sequence-position sum(s) for the columns. Instead, the said assigned ordinal positions are preferably such as to tend to equalise the respective sequence-position sums for all rows and to tend to equalise the respective sequence-position sums for all columns. In one embodiment of the present invention the cell array circuitry has first and second such cell arrays, the second cell array being placed in a predetermined spatial relationship with respect to the first cell array; wherein said selection means are further operable to select the cells of the arrays in sets, each such cell set including a first cell from the first cell array and an individually-corresponding second cell from the second cell array, the physical arrangement of such second cells within the second cell array corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells within the first cell array; and said accumulation means are further operable to accumulate respective analog quantities produced by, or associated with, the first and second cells of a selected cell set. In such cell array circuitry the effects of graded and/or symmetrical errors are further reduced by virtue of the placement, in a predetermined arrangement, of an original cell array having sequence-position sum equalisation (the first cell array) and at least one "transformed" cell array (the second cell array) derived from the original cell array. In one embodiment, suitable for cancelling out two sets of errors (e.g. a symmetrical error in one direction and a graded error in the perpendicular direction, or graded errors in each of two mutually-perpendicular directions, or symmetrical errors in each of two-mutually-perpendicular directions) the first and second cell arrays are spaced apart in a first direction, and a centreline of the second cell array that extends centrally through that array in the first direction is aligned with a centreline of the first cell array that extends centrally through that array in the first direction. In this case, the said predetermined transformation may involve, for example, a reflection of the said first cell array about its said centreline, or a rotation of the first cell array through 180°. In another embodiment, suitable for cancelling graded errors in each of two-mutually-perpendicular directions, each cell array has a first half on one side of its said centreline and a second half on the other side of its said centreline, and the said predetermined transformation involves copying the first half of the first cell array into the second half of the second cell array, and copying the second half of the first cell array into the first half of the second cell array. Although the embodiments using two cell arrays are effective in overcoming two sets of errors, as outlined above, it is possible to use more arrays placed together to facilitate the cancellation of other combinations of graded and symmetrical errors in one or both mutually-perpendicular directions. In another embodiment of the present invention the cell array circuitry includes first, second, third and fourth such cell arrays, each of the second, third and fourth cell arrays being placed in a predetermined spatial relationship with respect to the first cell array, said selection means also serving to select the cells of the arrays in sets, each such cell set including a first cell from the first cell array and individually-corresponding second, third and fourth cells from the second, third and fourth cell arrays respectively, the physical arrangement of such second cells within the second cell array corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells within the first cell array, the physical arrangement of such third cells within the third cell array corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells within the first cell array, and the physical arrangement of such fourth cells within the fourth cell array corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells within the first cell array; and accumulation means for accumulating respective analog quantities produced by, or associated with, the first, second, third and fourth cells of the selected cell sets. For example, an area containing the four cell arrays may be considered to be divided into four quadrants by respective first and second mutually-perpendicular axes that intersect at an origin point of the area, the first, second, third and fourth cell arrays being arranged respectively in the four quadrants. The second, third and fourth cell arrays could simply be copies of the first cell array, which would enable symmetrical errors parallel to both axes to be cancelled. However, in one preferred embodiment, first and second ones of the quadrants are on the same side of the said second axis, and the said first quadrant and a third one of the quadrants are on the same side of the first axis; the first cell array is located in the said first quadrant; the second cell array corresponds to a reflection about the said second axis of the said first cell array, which reflection is located in the said second quadrant; the third cell array corresponds to a reflection about the said first axis of the said first cell array, which reflection is located in the said third quadrant; and the fourth cell array corresponds to a rotation through 180° of the said first cell array, which rotation is located in the said fourth quadrant. The result of arranging the first, second, third and fourth cell arrays in such a configuration is that the corresponding cells of each cell set have a common centroid at the origin. In this case, both graded and symmetrical errors parallel to both axes are cancelled: a highly-desirable effect. In this embodiment of the invention the accumulated analog quantities may be e.g. currents, capacitances, resistances etc. produced by, or associated with, the cells of the selected cell sets. Reference will now be made, by way of example, to the accompanying drawings, in which: Figure 1, discussed hereinbefore, shows parts of a previously-considered current-steering DAC; Figure 2, also discussed hereinbefore, shows a table for use in explaining how thermometer-coded control signals are derived from a binary input word in the Figure 1 DAC; Figure 3, also discussed hereinbefore, shows parts of cell array circuitry previously considered for use in a DAC; Figures 4(A) and 4(B), also discussed hereinbefore, are schematic diagrams for use in explaining the occurrence of graded and symmetrical errors in the cell array circuitry of Figure 3; Figure 5 shows cell array circuitry according to a first embodiment of the present invention; Figure 6 shows a table for use in explaining the effects of graded and symmetrical errors in the Figure 5 embodiment; Figure 7(A) shows, for comparison with the table of Figure 6, a table showing the effects of graded and symmetrical errors in cell array circuitry not embodying the present invention; Figure 7(B) shows an example of conventional cell array circuitry; Figure 8 shows one example of a 3 x 3 magic square; Figure 9(A) is a schematic diagram for use in explaining how the Figure 8 magic square can be transformed to produce further magic squares; Figures 9(B) to 9(H) show respective magic squares produced by the transformations shown in Figure 9(A); Figures 10 and 11 show respective examples of 4 x 4 magic squares; Figures 12(A) and 12(B) are schematic diagrams for use in explaining properties of the Figure 10 magic square; Figures 13(A), 13(B) and 13(C) show examples of 5 x 5, 6 x 6 and 8 x 8 magic squares respectively; Figure 14(A) shows an example of a further 3 x 3 square; Figure 14(B) shows an example of a 3 x 2 rectangular array; Figure 15 shows an example of the constitution of one of the cells of the Figure 5 cell array circuitry; Figure 16 shows parts of cell array circuitry according to a second embodiment of the present invention; Figure 17 shows parts of cell array circuitry according to a third embodiment of the present invention; Figure 18 shows an example of the constitution of one of the cells of the Figure 17 cell array circuitry; Figures 19 to 22 show schematic diagrams for use in explaining cell array circuitry having plural cell arrays; Figure 23 shows cell array circuitry according to a fourth embodiment of the present invention; and Figure 24 shows cell array circuitry according to a fifth embodiment of the present invention. Figure 5 shows parts of cell array circuitry embodying the present invention. The Figure 5 cell array circuitry 20 is suitable for use in a digital-to-analog converter of the current-steering type. In Figure 5, components which correspond to components already described with reference to the DAC of Figure 3 have the same reference numerals as used in Figure 3. The cell array circuitry 20 comprises a cell array 22 made up of 16 individual cells arrayed in four rows and four columns. Each cell comprises a current source 2, as shown schematically for the cell numbered 11 in Figure 5. Each cell has an output node denoted by a cross within the cell in Figure 5. Each cell of the cell array 22 has an individually-corresponding switch circuit 4 1 to 4 16 . In this embodiment, the switch circuits 4 are external to the cells and the output node of each cell is connected to an input node of its individually-corresponding switch circuit 4. Each switch circuit has respective first and second terminals, the first terminal being connected to a first summing connection line A and the second terminal being connected to a second summing connection line B. The switch circuits 4 1 to 4 16 receive respective thermometer-coded selection signals S1 to S16 from decoding circuitry of the DAC (not shown). This decoding circuitry may derive the selection signals S1 to S16 directly (in one stage) from a binary input word of the DAC (as shown schematically in Figure 1) or in two stages using respective row and column decoders to perform the first stage of the decoding and using local decoders corresponding respectively to the cells to perform the second stage of the decoding (as shown in Fig. 3). Each switch circuit selects its second output terminal when the selection signals applied to it has the low logic level L and selects its first output terminal when the selection signal S applied to it has the high logic level H. As shown in Figure 5 itself, the selection signals S1 and S2 are both H, whereas the remaining selection signals S3 to S16 are L. Thus, the switch circuits 4 1 and 4 2 have selected their respective first terminals, whereas the remaining switch circuits are selecting their respective second terminals. The cells in the cell array 22 of Figure 5 are selected in a sequence different from the conventional selection sequence described above with reference to Figure 3. In particular, the selection sequence in this embodiment is such that, for each row, column and diagonal of the cell array 22, the sum of the respective selection-sequence positions of the cells is the same (in this case 34). Thus, for example, taking row 1 as one example, the respective selection-sequence positions 1, 15, 14 and 4 add up to 34. Similarly, the respective selection-sequence positions 1, 12, 8 and 13 of the cells of column 1 also add up to 34. Along the diagonal from the top left to the bottom right, the respective selection-sequence positions of the cells are 1, 6, 11 and 16 which again add up to 34. To understand the advantageous effect of the particular cell array layout shown in Figure 5, consider the table shown in Figure 6. In Figure 6, it is assumed that graded errors exist in both the row-direction (x-direction) and the column-direction (y-direction). The error for position 1 of each row or column is assumed to be -2 (units), the error for position 2 of each row 2 or column is assumed to be -1, the error for position 3 of each row or column is assumed to be +1, and the error for position 4 of each row or column is assumed to be +2. In Figure 6, the table shows the x-error and y-error for each ordinal position in the selection sequence of the cells. For those cells that are selected at the same time in response to a given input code, the respective x-errors sum to produce a total x-error Σx, and the respective y-errors sum to produce a total y-error Σy. As is apparent from Figure 6, the total x-error Σx varies in a small range from -2 to +2, as does the total y-error Σy. The total error E (which the sum of the total x-error Σx and the total y-error Σy) varies within a narrow range from -4 to +3. By way of comparison, Figure 7(A) shows the error values and accumulations in the case in which the selection sequence in the cell array is as shown in Figure 7(B). In this case, it can be seen that the total x-error Σx, the total y-error Σy and the total error E each vary in greater ranges than the corresponding total errors in Figure 6. In particular the total y-error Σy is consistently negative and reaches -12 in the worst case. Furthermore, the total x-error Σx, although relatively small compared to the total y-error Σy, is also consistently negative and so has the effect of increasing the total error E for every input code. Similar advantages are obtained in relation to symmetrical and other errors in the cells of the cell array 22 in Figure 5. It may be appreciated by mathematicians that the ordinal positions in the selection sequence of the cells in the cell array 22 shown in Figure 5 correspond to the order of integers in a so-called magic square. Such a magic square contains the integers from 1 to n 2 , without repetition, in such a way that each row (left to right) and column (top to bottom) and the two diagonals have the same sum. The number n is called the order, base, module or root of the square. It is not yet known what mathematical law governs the disposition of numbers in magic squares. Known solutions have only been discovered by trial and error. There is no magic square of order 2. A magic square of order 3 is shown in Figure 8. It will be appreciated that it is possible to produce other magic squares of order 3 by transforming the magic square shown in Figure 8, as shown in Figures 9(A) to 9(H). In these figures, Figure 9(A) shows, as a starting point, the magic square of Figure 8. Figure 9(B) shows the effect of rotating the magic square of Figure 9(A) anticlockwise through 90°, as denoted by the arrow labelled B in Figure 9(A). Figures 9(C) and (D) relate respectively to anticlockwise rotations of 180 and 270°, as denoted by the arrows C and D in Figure 9(A). Figures 9(E) to (H) show the effect of reflecting the magic square of Figure 9(A) about various axes E to H. Further magic squares can be obtained by using combinations of the basic rotations and reflections shown in Figures 9(B) to 9(H). Excluding rotations and reflections, there exists a unique magic square of order 3. However, with higher orders, the number of arrangements (excluding rotations and reflections) increases. A fourth-order square (i.e. four rows and four columns) has 880 different possible placings of its 16 numbers, excluding reflections and rotations. The numbers in each of the rows, columns and diagonals of the fourth-order square add up to 34. For higher-order squares (fifth-order and above) the number of different possible placings increases dramatically. For example, a fifth-order square has 275,305,224 different placings, excluding rotations and reflections. In the case of a square of order 4, Figures 10 and 11 show two alternative possibilities, each different from the arrangement shown in Figure 5. The arrangement shown in Figure 11 is referred to as a "pandiagonal" magic square since the sum of the four central squares is 13 + 8 + 3 + 10 = 34, as is the sum of the four corners (7 + 14 + 9 + 4 = 34) and the 4 off-diagonal squares (e.g. the top-left square: 7 + 12 + 2 + 13 = 34). Furthermore, as shown in Figures 12(A) and 12(B) the same sum, 34, is obtained by adding the numbers at the four positions a, the numbers at the four positions b, or the numbers at the four positions c in Figure 12(A) or the numbers at the four positions d, or the numbers at the four positions e, or the numbers at the four positions f in Figure 12(B). Examples of fifth-,sixth- and eighth- order magic squares are shown in Figures 13(A), 13(B) and 13(C) respectively. For the fifth-order magic square, the sum of the rows, columns and the two diagonals is 65, for the sixth-order magic square it is 111 and for the eighth-order magic square it is 260. Referring to Figure 13(A), it can be seen that any pair of numbers opposite the centre (e.g. 7 and 19; 20 and 6; 1 and 25) adds up to n 2 +1 (the order n being 5 in this case). Such a magic square is called "associative". The third-order magic square shown in Figure 8 also has this property and is therefore associative. A fourth-order square may be either associative or pandiagonal but not both. The smallest square that can be both associative and pandiagonal is of the fifth order. There are 16 fifth-order squares that are both associative and pandiagonal, excluding rotations and reflections. Embodiments of the present invention can be constructed such that the selection sequence within the cell array is in accordance with any suitable magic square of the appropriate order, whether or not the square.is pandiagonal and/or associative. In addition, it is not absolutely critical for the squares to be true "magic squares" in the sense that all of the rows, columns and the two diagonals add up to exactly the same value. Take, for example, the non-magic square of order 3 shown in Figure 14(A). This is formed by juxtaposing the numbers 7 and 5 in the magic square of Figure 8. In this case, the numbers in rows 1 to 3 and column 1 each sum to 15 (as in the magic square of Figure 8) but the sums for columns 2 and 3 and the two diagonals deviate slightly from the "normal" value 15, and have the values 13 and 17. However, such an approximation to a magic square still provides worthwhile advantages in accordance with the present invention since the sums in the different rows, columns and the two diagonals are approximately the same. Any arrangement which reduces the deviation between the sums in the rows, columns and diagonals is advantageous for the purposes of the present invention. It is also possible to apply the same principle to rectangular (non-square) arrays. For example, Figure 14(B) shows a rectangular array having 2 rows and 3 columns. In this case, the sums for columns 1 to 3 have the same value 7 whereas the sums for rows 1 and 2 are as close as possible, at 10 and 11 respectively. Note that because the columns have less cells than the rows in this case, it is not possible to equalise the sums for rows and columns. Instead, it is sufficient to seek to minimise the deviation between the different rows (in this case 1) and to minimise the deviation between the different columns (in this case 0). In the cell array 22 shown in Figure 5, each cell is constituted by a current source 2. An example of the constitution of such a current source is shown in Figure 15. In Figure 15, the current source 2 comprises a PMOS field-effect transistor 32 having its source connected to a positive power supply line Vdd, its gate connected to receive a predetermined bias potential Vbias and its drain connected to an output node OUT of the current source. The predetermined bias potential Vbias has a constant potential difference from the positive power supply potential Vdd, for example. Accordingly, the transistor 32 is permanently turned on and supplies a substantially constant current I to its output node OUT. Of course, each cell 2 in Figure 5 could comprise a current sink circuit in place of the current source circuit 2. In this case, in a FET implementation the transistor 32 shown in Figure 15 is changed to an NMOS FET and the source of the transistor is connected to a negative supply line potential such as Vss. In this case, Vbias is a predetermined reference potential above Vss, for example having a constant potential difference from Vss. Alternatively, either the current source or the current sink can be implemented by using bipolar transistors. It is possible to use several transistors in parallel to make up the current source or current sink, so as to increase the current capacity of the circuit. For example, it is possible to use four transistors connected in parallel. It is not necessary for the cells in cell array circuitry embodying the present invention to contain current sources or current sinks. For example, in another embodiment of the present invention shown in Figure 16, respective capacitance elements C are included in the different cells 44 of a cell array 42. Each cell 44 has an individually-corresponding switch circuit 46 1 to 46 16 . An input node of each switch circuit 46 is connected to an output node (denoted by a cross in Figure 16) of its corresponding cell 44. This output node is connected to a bottom plate of the capacitance element C in the cell. In this embodiment, each switch circuit has three terminals, the respective first terminals being connected in common to receive an input voltage V IN , the respective second terminals being connected in common to a negative reference voltage Vss, and the respective third terminals being connected in common to receive a predetermined reference potential V REF . Each switch circuit 46 is controllable, in dependence upon a selection signal S applied thereto, to connect its input node to one of its first, second and third terminals. The respective top plates of the capacitance elements C in the different cells are connected in common to a first input of a comparator 48. This first input is also connected via a switch element 50 to Vss. A second input of the comparator 48 is connected to Vss. A digital output signal D is produced at the output of the comparator 48. The cell array circuitry shown in Figure 16 is suitable for use in a successive-approximation analog-to-digital converter (ADC) which operates in accordance with the so-called "charge redistribution" principle. Such a successive-approximation ADC employs a digital-to-analog converter (DAC) incorporating binary-weighted capacitors. Further information on this type of capacitor DAC can be found, for example, in IEEE Journal of Solid State Circuits, Vo. Sc-14, pp.920-926, December 1979. In the Figure 16 embodiment, five such binary-weighted capacitors C 0 to C 4 are provided by the capacitance elements C in the different cells, as shown in the top right-hand corner of Figure 16. The capacitor C 0 is provided by the capacitance element C of cell 1 alone. The capacitor C 1 is provided by the capacitance element C of cell 2 alone. The capacitor C 2 is provided by the respective capacitance elements C of cells 3 and 4 connected in parallel. The capacitor C 3 is provided by the respective capacitance elements C of cells 5 to 8 connected in parallel. The capacitor C 4 is provided by the respective capacitance elements C of cells 9 to 16 connected in parallel. The capacitance ratios of the capacitors C 0 to C 4 are therefore 1: 1: 2: 4: 8. The cell array circuitry 40 in Figure 16 operates as follows. Firstly, in a sampling mode of the circuitry, the top plates of all of the capacitors C 0 to C 4 are connected to Vss using the switch element 50, and all the bottom plates are connected to receive the input voltage V IN by controlling the switch circuits 46 1 to 46 16 so that all of them select their respective first terminals. Next, the switch element 50 is turned off and all of the bottom plates are connected to Vss, so that the top-plate voltage V TOP becomes equal to the negative of the sampled input voltage V IN , i.e. V TOP = -V IN . The analog-to-digital conversion process then commences. In this process it is identified which of the capacitors C 1 to C 4 need to have their bottom plates changed from Vss potential to V REF potential in order for the top plate voltage V TOP to become 0. This determination is made according to a binary search algorithm. For example, in a first step of the binary search algorithm, used to determine the most significant bit of the digital output word, the bottom plate of C 4 is switched from Vss to V REF so that the top plate voltage V TOP increases by an amount equal to ½ V REF . This is accomplished by causing the switch circuits 46 9 to 46 16 , corresponding to cells 9 to 16 whose respective capacitance elements make up the capacitor C 4 , to operate in parallel to change their selections from the second terminal (connected to Vss) to the third terminal (connected to V REF ). The output D of the comparator 48 indicates the polarity of the difference between the top plate voltage V TOP and Vss, which in turn determines the value of the most significant bit of the digital output word. The remaining bits of the digital output word are determined iteratively in a similar manner. Figure 17 shows yet another embodiment of the present invention in which cell array circuitry 60 includes a cell array 62 made up of individual cells 64, each containing a resistance element R. In this embodiment, a bus 70 is used to make connections between the different cells 64 and a selector circuit 72. The selector circuit 72 has inputs I 1 to I 17 connected to respective bus lines 70 1 to 70 17 of the bus 70. The first and last bus lines 70 1 and 70 17 are connected respectively to nodes N 1 and N 2 of the cell array circuitry. The resistance element R of each cell 64 is connected in series, via connection lines 66 and 68, between a pair of mutually-adjacent bus lines. For example, the resistance element R of cell 1 is connected in series between the bus lines 70 1 and 70 2 . The selector circuit 72 is selectively controllable, in accordance with a digital selection word S applied thereto, to make a connection between one of its inputs I 1 to I 17 and an output O thereof which is connected to an output node OUT of the cell array circuitry 60. For example, when, as shown in Figure 17 itself, the selector circuit 72 connects its input I 3 to its output O, the number of resistance elements R connected in series between the first node N 1 of the circuitry and the output node OUT of the circuitry is two (the resistance elements in cells 1 and 2), and the number of resistance elements connected between the nodes N 2 and OUT is 14 (the resistance elements in cells 3 to 16 inclusive). It will be appreciated that, as shown on the right-hand side of Figure 17, the cell array circuitry in this embodiment functions as a digitally-controllable potentiometer, the position of the output tap being determined by the value of the digital selection word S. For example, the nodes N 1 and N 2 may be connected to first and second power supply lines Vdd and Vss respectively. If desired, a constant-current generator may be interposed between, on the one hand, one of the nodes N 1 and N 2 , and, on the other hand, the power supply line to which the node is connected. The resistance element R in each cell in Figure 11 can be formed, for example, by a depletion-type MOSFET 74 as shown in Figure 18. Several such transistors can be connected in parallel if higher current capacity is required. It will be appreciated that in the first embodiment described with reference to Figure 5, the quantities being summed as the cells are selected sequentially are currents. In the second embodiment described with reference to Figure 16 the quantities being summed are charges. In the third embodiment described with reference to Figure 17, the quantities being summed are resistances. However, the present invention is not restricted to summing these three quantities. Any suitable analog quantities can be summed in cell array circuitry embodying the present invention. Thus, the invention is applicable advantageously in any situation in which respective analog quantities produced by, or associated with, nominally-matched cells must be accumulated or summed in some way. Although not shown in the embodiments described with reference to Figures 5, 16 and 17, it is possible for the cells to incorporate their respective associated switch circuits as well as parts of any decoding circuitry, if desired. However, in order to minimise the size of the individual cells, and thereby enable the cells to be in close physical proximity with one another (so as to equalise their operating conditions), it is normally preferable for the switch circuits and decoding circuitry to be external to the cells. A fourth embodiment of the present invention will now be described with reference to Figure 19. In this embodiment, four rectangular (or square) cell arrays, each embodying the present invention, are placed in a predetermined arrangement, again for the purpose of minimising the effects of fabrication errors on the summed analog quantities to be produced. Referring firstly to Figure 19, a first cell array 100, made up of a plurality of individual cells arrayed in rows and columns, is placed in a first quadrant. Two representative cells A1 and B1 of the array 100 are shown in Figure 19, the cell A1 being spaced by distances Ax and Ay from the nearest edges in the x and y directions respectively, and the cell B1 being spaced from its nearest edges by distances Bx and By in the x and y directions respectively. Then, as shown in Figure 20, a second cell array 102 is placed in a second quadrant. The arrangement of cells in the second cell array 102 is produced by reflecting the first cell array 100 about the y axis and then translating (moving) the resulting reflection into the second quadrant. Thus, representative cells A2 and B2 of the second cell array 102, which correspond respectively to the representative cells A1 and B1 of the first cell array 100, are located as shown in Figure 20. Next, as shown in Figure 21, a third cell array 104 is placed in a third quadrant. The arrangement of cells in the third cell array 104 is produced by reflecting the first cell array 100 about the x axis and then shifting the resulting reflection into the third quadrant. Representative cells A3 and B3, corresponding respectively to the representative cells A1 and B1 of the cell array 100, are shown in Figure 21. Finally, as shown in Figure 22, a fourth cell array 106 is placed in a fourth quadrant. The arrangement of the cells in the fourth cell array 106 is produced by rotating the first cell array 100 through 180° about the origin. Representative cells A4 and B4, corresponding respectively to the representative cells A1 and B1 of the first cell array 100, are shown in Figure 22. The result of arranging the first, second, third and fourth cell arrays 100 to 106 in the configuration shown in Figure 22 is that the corresponding representative cells of the four cell arrays have a common centroid at the origin. For example, considering the set of four representative cells A1 to A4, A1 and A4 are both spaced by the same distance Ax from the y axis on opposite sides thereof, and the cells A2 and A3 are also equidistant from the y axis on opposite sides thereof. Similarly, A1 and A4 are equidistant from the x axis on opposite sides thereof, as are the cells A2 and A3. Thus, any graded errors in the x-direction attributable to A1 and A4 cancel one another out. Any graded x-direction errors attributable to A2 and A3 also cancel one another out. The same is true for y-direction graded errors. However, it will also be seen that in the y-direction, A1 is spaced from the top edge of the area occupied by the four cell arrays 100-106 by the same distance Ay as A2 is spaced from the centreline of the area in the y-direction (that is from the x axis). Any symmetrical y-direction errors attributable to A1 and A2 therefore cancel one another out. The same is true for A3 and A4 in the y-direction, and for A1 and A3 and for A2 and A4 in the x-direction. The same is true for every other set of corresponding cells of the four arrays. The selection sequence of the cells within the first cell array 100 (which in turn determines the respective selection sequences within the other cell arrays 102, 104 and 106 derived from the first cell array 100) is determined in accordance with the principles underlying the invention, as described previously with reference to Figures 5 to 14(B). In this case, graded, symmetrical and other errors within each individual cell array can be compensated as well as the errors present across the area occupied by the four cell arrays as a whole. Figure 23 shows an example of the way in which the four different cells belonging to each set of cells can be connected together and selected. As shown in Figure 23, each set of four corresponding cells has an individually-corresponding switch circuit 4. For example, the set of four cells A1 to A4 has an individually-corresponding switch circuit 4 A . In this example, the cells are constituted by respective constant-current sources 2 and the four cells of a set are connected to a common connection line 110 that is connected to an input of the corresponding switch circuit. As described previously with reference to Figure 15, each cell may be constituted by a single transistor or by plural transistors connected in parallel. For example, each cell may comprise four parallel-connected p-type FETs. As described previously with reference to Figures 16 and 17, the cells in the four cell arrays of Figure 23 need not comprise constant-current sources. They could alternatively comprise constant-current sink circuits. Furthermore, they could comprise capacitance elements C as shown in Figure 16, or resistance elements R as shown in Figure 17. In this case, the connections from the cells to the switch circuits should be modified in accordance with Figures 16 and 17, as appropriate. Worthwhile advantages in accordance with the present invention can be obtained using just two cell arrays, depending upon the combination of errors present in the area occupied by the two cell arrays. Take for example just the two cell arrays 100 and 102 of Figure 22 used without the arrays 104 and 106. In this case, a graded error in the x-direction is cancelled out and a symmetrical error in the y-direction is cancelled out. Similarly, take for example just the two cell arrays 100 and 104 of Figure 22 used without the arrays 102 and 106. In this case, a symmetrical error in the x-direction is cancelled out and a graded error in the y-direction is cancelled out. Another useful embodiment can be made using just the two cell arrays 100 and 106 of Figure 22 and placing them in quadrants 1 and 2 respectively. In this case, graded errors in both the x- and y-directions are cancelled out. The same effect can be achieved by using the cell arrays 100 and 106 only and placing them in quadrants 1 and 3 respectively. Figure 24 shows another embodiment in which a first cell array 100 is split equally across quadrants 1 and 3. The portion in quadrant 1 is copied to quadrant 4 without rotating or reflecting it and the portion in quadrant 3 is copied to quadrant 2 without rotating or reflecting it. In the result, symmetrical errors in both the x- and y-directions are cancelled out. Another possibility is to place four identical cell arrays 100 in quadrant 1 to 4 respectively. This has the effect of cancelling out symmetrical errors in both the x- and y-directions. It is not necessary for the cell arrays to be placed directly adjacent to one another in embodiments of the present invention. For example, in the Figure 22 embodiment the arrays 100 and 102 could be spaced apart in the x-direction from the arrays 104 and 106 so as to leave a space in which to place further circuitry such as other cells of the DAC.

Claims: Cell array circuitry including: a cell array (22; 42; 62) made up of a plurality of mutually-corresponding cells arranged in at least three rows and at least three columns; selection means for (4; 46; 72) assigning the cells of the array respective ordinal positions in a predetermined selection sequence (1, 15, 14, 4, 12, ...) and for selecting the cells in accordance with their respective assigned ordinal positions; and accumulation means (A, B; 48, 50; 66, 68, 70) for accumulating respective analog quantities (I A , I B ; C; R) produced by, or associated with, the selected cells; characterised in that the assigned ordinal positions are such as to minimise the differences between the respective sequence-position sums (34) for all rows of the array and/or to minimise the differences between the respective sequence-position sums (34) for all columns of the array, where the sequence-position sum for a row or column is determined by summing the respective ordinal positions of the cells in the row or column concerned. Cell array circuitry as claimed in claim 1, wherein each cell includes a current source or current sink circuit (2), and the accumulation means (A, B) are operable to accumulate respective currents sourced, or sunk as the case may be, by the current source/sink circuits of the selected cells. Cell array circuitry as claimed in claim 1, wherein each cell includes a capacitance element (44), and the accumulation means (48, 50) are operable to accumulate respective charges stored by the capacitance elements of the selected cells. Cell array circuitry as claimed in claim 1, wherein each cell includes a resistance element (74), and the accumulation means (66, 68, 70) are operable to accumulate respective resistances (R) of the resistance elements of the selected cells. Cell array circuitry as claimed in any preceding claim, wherein the said selection means (4; 72) are operable to select together each cell of the array whose said assigned ordinal position is less than a given value. Cell array circuitry as claimed in claim 5, wherein the said given value is determined by a selection signal (S) applied to the said selection means. Cell array circuitry as claimed in any preceding claim, wherein the said selection means (46) are operable to select the cells of the array in at least first and second binary-weighted groups (CELL 2, CELLS 3 & 4, CELLS 5-8, CELLS 9-16), the number of cells in the first group being double the number of cells in the second group. Cell array circuitry as claimed in any preceding claim, wherein the cell array (22; 42; 62) has equal numbers of rows and columns, and the said assigned ordinal positions are such as to minimise the differences between the respective sequence-position sums for all rows and columns of the array. Cell array circuitry as claimed in claim 8, wherein the distribution of the said assigned ordinal positions within the array conforms to the distribution of integers in a magic square of order equal to the number of rows or columns of the array. Cell array circuitry as claimed in claim 9, wherein the said magic square is pandiagonal. Cell array circuitry as claimed in claim 9 or 10, wherein the said magic square is associative. Cell array circuitry as claimed in any one of claims 1 to 7, wherein the cell array has different numbers of rows and columns, and the said assigned ordinal positions are such as to minimise the differences between the respective sequence-position sums (10/11) for all rows and to minimise the differences between the respective sequence-position sums (7) for all columns. Cell array circuitry as claimed in claim 7, wherein in at least the said first group the cells in the group have consecutive assigned ordinal positions. Cell array circuitry as claimed in any preceding claim, having first and second such cell arrays (100, 102; 100, 108), the second cell array (102; 108) being placed in a predetermined spatial relationship with respect to the first cell array (100); wherein: said selection means (4 A , 4 B ) are further operable to select the cells of the arrays in sets (A1+A2, B1+B2), each such cell set including a first cell from the first cell array (100) and an individually-corresponding second cell from the second cell array (102; 108), the physical arrangement of such second cells (A2, B2) within the second cell array (102; 108) corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells (A1, B1) within the first cell array (100); and said accumulation means are further operable to accumulate respective analog quantities produced by, or associated with, the first and second cells of a selected cell set. Cell array circuitry as claimed in claim 14, wherein the first and second cell arrays (100, 102; 100, 108) are spaced apart in a first direction (y), and a centreline of the second cell array that extends centrally through that array in the first direction is aligned with a centreline of the first cell array that extends centrally through that array in the first direction. Cell array circuitry as claimed in claim 15, wherein the said predetermined transformation (102) involves a reflection of the said first cell array (100) about its said centreline. Cell array circuitry as claimed in claim 14, wherein the said predetermined transformation (106) involves a rotation of the first cell array through 180°. Cell array circuitry as claimed in claim 15, wherein each cell array has a first half on one side of its said centreline and a second half on the other side of its said centreline, and the said predetermined transformation (108) involves copying the first half of the first cell array into the second half of the second cell array, and copying the second half of the first cell array into the first half of the second cell array. Cell array circuitry as claimed in any one of claims 1 to 13, having first, second, third and fourth such cell arrays (100, 102, 104, 106), each of the second, third and fourth cell arrays (102, 104, 106) being placed in a predetermined spatial relationship with respect to the first cell array (100); wherein said selection means (4 A , 4 B ) are further operable to select the cells of the arrays in sets, each such cell set including a first cell from the first cell array (100) and individually-corresponding second, third and fourth cells from the second, third and fourth cell arrays (102, 104, 106) respectively, the physical arrangement of such second cells (A2, B2) within the second cell array (102) corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells (A1, B1) within the first cell array (100), the physical arrangement of such third cells (A3, B3) within the third cell array (104) corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells within the first cell array, and the physical arrangement of such fourth cells (A4, B4) within the fourth cell array (106) corresponding to a predetermined transformation of the physical arrangement of their respective corresponding first cells within the first cell array; and said accumulation means are further operable to accumulate respective analog quantities produced by, or associated with, the first, second, third and fourth cells (A1-A4, B1-B4) of the selected cell sets. Cell array circuitry as claimed in claim 19, wherein an area containing the four cell arrays is divided into four quadrants by respective first and second mutually-perpendicular axes (x, y) that intersect at an origin point of the area, the first, second, third and fourth cell arrays (100, 102, 104, 106) being arranged respectively in the four quadrants. Cell array circuitry as claimed in claim 20, wherein: first and second ones of the quadrants are on the same side of the said second axis (y), and the said first quadrant and a third one of the quadrants are on the same side of the first axis (x); the first cell array (100) is located in the said first quadrant; the second cell array (102) corresponds to a reflection about the said second axis (y) of the said first cell array (100), which reflection is located in the said second quadrant; the third cell array (104) corresponds to a reflection about the said first axis (x) of the said first cell array (100), which reflection is located in the said third quadrant; and the fourth cell array (106) corresponds to a rotation through 180° of the said first cell array, which rotation is located in the said fourth quadrant. A digital-to-analog converter including cell array circuitry as claimed in any preceding claim. An analog-to-digital converter including cell array circuitry as claimed in any one of claims 1 to 21.

Inventors: DEDIC IAN JUSO, SCHOFIELD WILLIAM GEORGE JOHN, DEDIC, IAN JUSO, SCHOFIELD, WILLIAM GEORGE JOHN
Applicants: FUJITSU MICROELECTRONICS EUROP, FUJITSU MICROELECTRONICS EUROPE GMBH
Application year: 1999
Main classification: H03M1
IPC codes: H03M1