WO2010113205A1 - 集積回路装置及び電子装置 - Google Patents

集積回路装置及び電子装置 Download PDF

Info

Publication number
WO2010113205A1
WO2010113205A1 PCT/JP2009/001471 JP2009001471W WO2010113205A1 WO 2010113205 A1 WO2010113205 A1 WO 2010113205A1 JP 2009001471 W JP2009001471 W JP 2009001471W WO 2010113205 A1 WO2010113205 A1 WO 2010113205A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
output
input
clock
outputs
Prior art date
Application number
PCT/JP2009/001471
Other languages
English (en)
French (fr)
Inventor
明文 武藤
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2009/001471 priority Critical patent/WO2010113205A1/ja
Publication of WO2010113205A1 publication Critical patent/WO2010113205A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register

Definitions

  • the present invention relates to an integrated circuit device and an electronic device including arithmetic circuits such as a cumulative adder and a step counter.
  • the accumulator or accumulator is frequently used in the field of digital signal processing such as general digital logic circuits or FFT (Fast Fourier Transform) and DFT (Digital Fourier Transform).
  • FFT Fast Fourier Transform
  • DFT Digital Fourier Transform
  • the cumulative adder is used to obtain a cumulative addition result of consecutive N pieces of data in data continuously input in synchronization with a clock.
  • step counters are frequently used in general digital logic circuits and the like.
  • the step counter is used to add or subtract a count value by a predetermined increment every time a clock is input.
  • a multiplier that is used in digital signal processing and has an accumulator circuit that inputs two input signals and obtains a multiplication output at high speed is known.
  • a plurality of arithmetic units provided in parallel, each of which performs processing such as accumulation, an interconnected pipeline memory that connects adjacent arithmetic units, a data selector that selectively applies input data to the arithmetic units, and a discrete Arithmetic processing devices that perform processing such as cosine transformation are known.
  • a parallel-serial converter that divides input parallel data based on a low-speed clock or the like to generate a plurality of divided data and performs parallel-serial conversion on the plurality of divided data based on a high-speed clock to generate serial data.
  • JP 63-086027 A Japanese Patent Laid-Open No. 06-292178 JP 2005-142650 A
  • the cumulative adder is used in the FFT and DFT for the cumulative addition operation of the real part / imaginary part data of the complex frequency component after multiplying the input data and the twiddle factor coefficient.
  • the step counter is used for generating an address signal of the twiddle factor table data stored in the ROM that is referred to during multiplication in FFT and DFT.
  • stream data processing For example, when several k to several tens of k pieces of data are continuously input and pipeline processing such as a cumulative adder cannot be performed, the stream data is synchronized with the operation for each data. It is required to be completed in one clock period in the clock that is present.
  • the disclosed integrated circuit device or electronic device includes an input circuit, a cumulative adder, and an output circuit.
  • the input circuit divides the data input in synchronization with the first clock into n groups (n is an integer of 2 or more) in the order of repetition, and outputs the data.
  • the cumulative adder includes n unit cumulative adders.
  • the n unit cumulative adders are provided corresponding to the n groups.
  • Each of the n unit cumulative adders outputs data corresponding to the unit cumulative adder output from the input circuit in synchronization with the second clock having a frequency 1 / n of the frequency of the first clock.
  • the accumulated value is output.
  • the output circuit adds the outputs of the n unit cumulative adders and outputs the result.
  • the disclosed integrated circuit device or electronic device includes an input circuit, a step counter, and an output circuit.
  • the input circuit outputs the input data and (n-1) values obtained by multiplying the input data by an integer from 2 to n (n is an integer of 2 or more).
  • the step counter outputs a value obtained by accumulating a value obtained by multiplying the input data output from the input circuit by n in synchronization with a second clock having a frequency 1 / n of the frequency of the first clock.
  • the output circuit includes (n ⁇ 1) adders, n registers, a selection circuit, and an output register.
  • the (n ⁇ 1) adders have a value obtained by multiplying the output of the step counter and the input data or the input data in the (n ⁇ 1) values output from the input circuit by 2 to (n ⁇ 1). Add to each other.
  • the n registers output the output of the step counter and the outputs of (n ⁇ 1) adders in synchronization with the second clock.
  • the selection circuit repeatedly selects the outputs of the n registers in the order set in synchronization with a selection signal formed based on the second clock.
  • the output register outputs the outputs of the n registers selected by the selection circuit in synchronization with the first clock.
  • the cumulative adder or step counter can be operated at a frequency lower than the frequency of the clock with which the data is synchronized, resulting in a required clock frequency. Even if the circuit is high and cannot be realized, an integrated circuit device or electronic device including a cumulative adder or step counter equivalent to a cumulative adder or step counter operating with a clock having a required frequency can be obtained.
  • FIG. 3 is an operation waveform diagram of the cumulative adder of FIG. 2. It is a figure which shows another example of a structure of a cumulative adder. It is a figure which shows another example of a structure of a cumulative adder. It is a figure which shows another example of a structure of a cumulative adder. It is a block diagram which shows an example of an integrated circuit device provided with a step counter. It is a figure which shows an example of a structure of a step counter.
  • FIG. 9 is an operation waveform diagram of the step counter of FIG. 8. It is a figure which shows another example of a structure of a step counter. It is a figure which shows a cumulative adder. It is a figure which shows a step counter. It is a figure explaining a step counter.
  • FIG. 11A shows an example of a cumulative adder
  • FIG. 11B shows an operation timing chart of the cumulative adder of FIG.
  • input data x i is continuously input to the input register 131 in synchronization with the clock signal CLK synchronized with the cycle of the input data.
  • the output Qout of the input register 131 is input to the adder 132 and the multiplexer 133.
  • the adder 132 adds the output Qout of the input register 131 and the cumulative addition result ACC i that is the output of the output register 134.
  • the multiplexer 133 selects and outputs one of the output of the input register 131 and the output of the adder 132. For example, the multiplexer 133 selects the output of the input register 131 when the LOAD signal at the start of the frame is active, and selects the output of the adder 132 when it is not active.
  • i 0, 1, 2,..., N ⁇ 1.
  • i indicates the i-th in the frame.
  • N is the frame length, that is, the total number of data in one frame.
  • x i is the i-th data in the frame.
  • FIG. 12A shows an example of a step counter
  • FIG. 13A shows an operation timing chart of the step counter of FIG.
  • the step counter in FIG. 12A uses a register with a synchronous reset function with the initial value of the step count being 0.
  • the register 161 is first reset by the synchronous reset signal RTS. As a result, the step counter output COUNT of the adder 162 is reset to zero.
  • i indicates the i-th in the frame.
  • N is the frame length, that is, the total number of data clocks in one frame.
  • COUNT i is the i-th count output.
  • FIG. 12B shows another example of the step counter
  • FIG. 13B shows an operation timing chart of the step counter of FIG.
  • the multiplexer 163 is provided to select the step count initial value.
  • the multiplexer 163 selects the step counter initial value signal N 0, in synchronization with the rising edge of the clock CLK, and outputs a step counter initial value data n 0 to the register 162.
  • i indicates the i-th in the frame.
  • N is the frame length, that is, the total number of data clocks in one frame.
  • COUNT i is the i-th count output.
  • the frequency of stream data is determined in advance by external factors. If the operating frequency when a circuit is configured with a certain device cannot satisfy the required frequency, a higher frequency device is selected. However, if there is no device that satisfies these specifications, the circuit cannot be realized. Also, a device with a high operating frequency is very expensive in terms of price.
  • the cumulative adder and step counter disclosed below operate in the same manner as the cumulative adder and step counter operating with the required clock at a frequency 1/2 to 1 / n of the required clock frequency. Is realized.
  • FIG. 1 shows an example of a configuration of an integrated circuit device including a cumulative adder.
  • the integrated circuit device 50 includes a pre-stage data calculation unit 51, a cumulative adder 52, a post-stage data calculation unit 53, a clock generation unit 54, and a control signal generation unit 55.
  • the pre-stage data calculation unit 51 inputs a data string including a plurality of data X i to the cumulative adder 52.
  • the cumulative adder 52 cumulatively adds the data string including the plurality of data X i input from the preceding data calculating unit 51 and inputs the result ACC i of the cumulative addition to the subsequent data calculating unit 53.
  • the post-stage data calculation unit 53 executes a calculation using the result ACC i of the cumulative addition.
  • the clock generation unit 54 generates a first clock CLK and a second clock CLKDIV2 and inputs them to the cumulative adder 52.
  • the control signal generation unit 55 generates a control signal LOAD and inputs it to the cumulative adder 52.
  • the integrated circuit device 50 is, for example, one semiconductor integrated circuit device (LSI). However, instead of the integrated circuit device 50, one electronic device may include the processing units 51 to 55. good. In other words, each of the processing units 51 to 55 may be realized by a plurality of semiconductor integrated circuit devices (LSIs) on one or a plurality of mounting substrates.
  • LSIs semiconductor integrated circuit devices
  • FIG. 2 is a diagram showing an example of the configuration of the cumulative adder.
  • the cumulative adder 2 includes two unit cumulative adders 3.
  • a plurality of data included in one data string is divided into two groups.
  • two unit accumulators are provided corresponding to the two groups.
  • each of the two groups is added in a separate unit cumulative adder 3.
  • the operation speed of the unit cumulative adder 3 can be reduced to 1 ⁇ 2 of the first clock CLK with which the data string is synchronized. Therefore, it can be said that the cumulative adder 52 of the integrated circuit device of FIG. 2 is a so-called 1: 2 pre-data interleaved cumulative adder.
  • the pre-data interleaving unit 1 is an input circuit, and outputs data input in synchronization with the first clock CLK in two groups in the order of repeated setting.
  • the predata interleaving unit 1 includes an input register 11 and a delay register 12. That is, the pre-data interleave unit 1 is composed of two stages of registers because a plurality of data is divided into two groups.
  • the first clock CLK is input to the input register 11 and the delay register 12. As a result, the input register 11 and the delay register 12 operate in synchronization with the first clock CLK.
  • the first clock CLK is a clock with which the data string is synchronized.
  • the input register 11 When the data X i is input to the terminal D, the input register 11 outputs this from the output terminal Q.
  • the output of the input register 11 is input to the delay register 12 and is input to the input register 31 of the unit cumulative adder 3 as odd data d-odd which is odd-numbered data. Therefore, the unit cumulative adder 3 corresponds to the odd data d-odd and also corresponds to the input register 11.
  • the delay register 12 When the data X i is input from the input register 11 to the terminal D, the delay register 12 outputs the data from the output terminal Q.
  • the output of the delay register 12 is input to the unit cumulative adder 3 as even-numbered data d-even which is even-numbered data. Therefore, the unit cumulative adder 3 corresponds to the even data d-even and also corresponds to the delay register 12.
  • the pre-data interleave unit 1 interleaves the plurality of data into the odd data d-odd and the even data d-even in time, and inputs the data to the corresponding unit cumulative adder 3.
  • Each unit accumulator 3 outputs a value obtained by accumulating the data corresponding to the unit accumulator 3 output from the pre-data interleave unit 1 in synchronization with the second clock CLKDIV2.
  • the unit cumulative adder 3 includes an input register 31, an adder 32, a multiplexer 33, and an output register 34.
  • the second clock CLKDIV2 is input to the input register 31 and the output register 34.
  • the second clock CLKDIV2 has a cycle twice that of the first clock CLK with which the data string is synchronized.
  • the adder 32 and the multiplexer 33 form and output a signal corresponding to the input.
  • the multiplexer 33 is initialized by the load signal LOAD.
  • the input register 31 When the corresponding data from the delay register 12 is input to the terminal D, the input register 31 outputs it from the output terminal Q.
  • the output of the input register 31 is input to the input terminal b of the adder 32 and input to the terminal D 1 of the multiplexer 33.
  • the adder 32 When data is input from the input register 31 and the output register 34, the adder 32 receives a value input from the input register 31 to the input terminal b, and a value input in a feedback manner from the output register 34 to the input terminal a. Are added and output from the output terminal s. The output of the adder 32 is input to the terminal D0 of the multiplexer 33.
  • the multiplexer 33 selects either the output of the adder 32 input to the terminal D0 or the output of the input register 31 input to the terminal D1 according to the load signal LOAD, and outputs it from the output terminal Y.
  • the output of the multiplexer 33 is input to the terminal D of the output register 34.
  • the load signal LOAD is input to the S terminal.
  • the multiplexer 33 selectively outputs the output of the input register 31 input to the terminal D1 when the load signal LOAD is at a high level, and the addition input to the terminal D0 when the load signal LOAD is at a low level.
  • the output of the device 32 is selectively output.
  • a control signal defining the frame is a period of the addition of a data string including a plurality of data X i. It is assumed that continuously input data is a frame, and one frame includes N consecutive data (data strings). There may or may not be free time between frames, but this is not the case here.
  • the period from the application of the first load signal LOAD to the application of the next load signal LOAD is a period in which the result ACC i of the cumulative addition for a plurality of data X i is to be calculated.
  • the load signal LOAD (high level signal) is supplied at a set timing with respect to the first clock CLK with which the data string is synchronized.
  • the output register 34 When the data from the multiplexer 33 is input to the terminal D, the output register 34 outputs the data from the output terminal Q.
  • the output of the output register 34 is input to a corresponding input terminal of the adder 41 of the post-pipeline adder 4, that is, the terminal a or b.
  • the unit cumulative adder 3 calculates the result of cumulative addition for either one of the corresponding odd data d-odd or even data d-even, and adds the adder 41 of the post-pipeline adder 4. Input to the corresponding input terminal.
  • the post-pipeline adder 4 is an output circuit that adds the outputs of the two unit accumulators 3 and outputs the result.
  • the post-pipeline adder 4 includes an adder 41 and an output register 42.
  • the adder 41 is provided with two input terminals a and b because two unit cumulative adders 3 are provided as a result of dividing a plurality of data into two groups.
  • the output register 42 receives the second clock CLKDIV2. Thereby, the output register 42 operates in synchronization with the second clock CLKDIV2.
  • the adder 41 When data is input from the two unit cumulative adders 3, the adder 41 adds two values input from these and outputs from the output terminal s.
  • the output of the adder 41 is input to the terminal D of the output register 42.
  • the output register 42 When the data is input from the adder 41 to the terminal D, the output register 42 outputs the data from the output terminal Q as the result ACC i of the cumulative addition.
  • the post pipeline adder unit 4 further adds the result of the cumulative addition for each of the odd data d-odd and even data d-the even, eventually, the data string including a plurality of data X i ACC i is obtained as a result of the cumulative addition of.
  • FIG. 3 is an operation timing chart of the cumulative adder 52 of FIG.
  • a data string including a plurality of data X i is input to the input register 11 in synchronization with the first clock CLK.
  • the input register 11 takes in the input data X 0 in synchronization with the first clock CLK, and outputs it in synchronization with the first clock CLK of the next (Indicated as “input register Q”).
  • Delay register 12 takes in the data X 0 which is input from the input register 11 in synchronization with the first clock CLK, and outputs in synchronization with the first clock CLK of the next (the "delay register Q" Notation).
  • input register 31 takes in synchronization data X 0 input from the delay register 12 to the second clock CLKDIV2, the second clock so the following CLKDIV2 (Indicated as “even register Q”).
  • the cycle of the second clock CLKDIV2 is equal to the length of one cycle of the first clock CLK with which the data string is synchronized, and the unit cumulative adder 3 included in the cumulative adder 2 is included. , That is, a value obtained by multiplying 2 in the example of FIG. That is, the second clock CLKDIV2 has a frequency that is 1 ⁇ 2 times the frequency of the first clock CLK.
  • the input register 31 as shown in FIG. 3, the period until the output of the next data X 2, i.e., the period of the first clock CLK 2 during the multiple of the period, and outputs the data X 0.
  • input register 31 takes in synchronization with data X 1 inputted from the input register 11 to the second clock CLKDIV2, the second clock so the following CLKDIV2 Are output to the output terminal Q (denoted as “odd register Q”).
  • the input register 31 as shown in FIG. 3, the period until the output of the next data X 3, i.e., the period of the first clock CLK 2 times the period, and outputs the data X 1.
  • the timing of the delay register 12 outputs data X 0 the input register 11 is the same as the timing for outputting the data X 1. Therefore, the even register Q and the odd register Q output data X 0 and X 1 at the same timing, respectively.
  • the load signal LOAD (high level) is input to the multiplexer 33 at the timing when the delay register 12 outputs the data X0 as the “delay register Q”. Thereby, the multiplexer 33 outputs the even register Q or the odd register Q from the input register 31 in synchronization with the load signal LOAD (high level).
  • the output register 34 takes in the data X 0 or X 1 input from the corresponding multiplexer 33 in synchronization with the second clock CLKDIV2, and synchronizes with the next second clock CLKDIV2. , Output to the output terminal Q.
  • the output of the output register 34 of the unit cumulative adder 3 corresponding to the delay register 12 is expressed as “even cumulative register Q”, and the output of the output register 34 of the unit cumulative adder 3 corresponding to the input register 11 is It is written as “odd cumulative register Q”.
  • the adder 41 adds the outputs of the two output registers 34 and outputs the result.
  • the output register 42 takes in the output of the adder 41 in synchronization with the second clock CLKDIV2, and outputs it in synchronization with the next second clock CLKDIV2.
  • the cumulative adder 2A includes n unit cumulative adders 3.
  • a plurality of data included in one data string is divided into n groups.
  • n unit accumulators are provided corresponding to n groups.
  • each of the n groups is added in a separate unit cumulative adder 3.
  • the operation speed of the unit cumulative adder 3 can be set to 1 / n of the first clock CLK with which the data string is synchronized. Therefore, it can be said that the cumulative adder 52A of FIG. 4 is a so-called 1: n pre-data interleaved cumulative adder.
  • the pre-data interleave unit 1A divides the data input in synchronization with the first clock CLK into n groups (n is an integer of 3 or more) in the repeated order and outputs the data.
  • the pre-data interleaving unit 1 includes n registers 13 as shown in FIG.
  • the n registers 13 may be considered, for example, as one input register 13 and (n ⁇ 1) delay registers 13. That is, the pre-data interleaving unit 1 is composed of n stages of registers because a plurality of data is divided into n groups.
  • the pre-data interleaving unit 1A including n registers 13 interleaves a plurality of data into n groups of data d_0, d_1,.
  • each of the n unit cumulative adders 3 cumulatively adds the data corresponding to the unit cumulative adder 3 output from the pre-data interleave unit 1 in synchronization with the second clock CLKDIVn. Output the value.
  • the second clock CLKDIVn has a 1 / n frequency of the first clock CLK with which the data string is synchronized.
  • the unit accumulator 3 calculates partial accumulative addition results ACC_0, ACC_1,... ACC_n-1 for any one of the corresponding data d_0, d_1,. Then, the data is input to the corresponding input terminal of the adder 41 of the post-pipeline adder 4.
  • the post-pipeline adder 4 adds the outputs of the n unit cumulative adders 3 and outputs the result.
  • the post-pipeline adder 4 includes a plurality of adders 43, 45, 47, 49 and a plurality of registers 44, 46, 48, 410 connected as shown in FIG.
  • the adder 43 to which ACC — 0 and ACC — 1 are input as a result of the partial cumulative addition adds them and inputs them to the register 44.
  • the adder 43 to which the partial accumulative addition results ACC_2 and ACC_3 are input adds them and inputs them to the register 44.
  • the outputs of the two registers 44 are added by an adder 45.
  • the above processing is performed on the results ACC_0 to ACC_n of all partial cumulative additions in the post-pipeline adding unit 4.
  • the sum of the results of the four partial cumulative additions is obtained by adding the results of the two partial cumulative additions, and by repeating this, the result of all the partial cumulative additions ACC_0 Calculate the sum of ACC_n ⁇ 1.
  • the post-pipeline addition unit 4 further adds the cumulative addition results ACC_0 to ACC_n ⁇ 1 for the data d_0 to d_n ⁇ 1, and finally accumulates the data string including the plurality of data X i. As a result of addition, ACC i is obtained.
  • FIG. 7 illustrates an example of a configuration of an integrated circuit device including a step counter.
  • the integrated circuit device 50 includes a pre-stage data calculation unit 56, a step counter 57, a post-stage data calculation unit 58, a clock generation unit 59, and a control signal generation unit 510.
  • Front data calculating unit 56, the data N s, is input to the step counter 57.
  • Data N s is a step count update data, for example, a fixed value n s.
  • the step counter 57 adds an increment based on the count value to the data input from the preceding data calculation unit 56 and inputs the calculation result COUNT i to the subsequent data calculation unit 58.
  • the post-stage data calculation unit 58 executes a calculation using the calculation result COUNT i .
  • the clock generator 59 generates a first clock CLK and a second clock CLKDIV2 and inputs them to the step counter 57.
  • the control signal generator 510 generates a control signal RST and inputs it to the step counter 57.
  • the integrated circuit device 50 is, for example, one semiconductor integrated circuit device (LSI). However, instead of the integrated circuit device 50, one electronic device may include the processing units 56 to 510. good. In other words, each of the processing units 56 to 510 may be realized by a plurality of semiconductor integrated circuit devices (LSIs) on one or a plurality of mounting substrates.
  • LSIs semiconductor integrated circuit devices
  • FIG. 8 is a diagram showing an example of the configuration of the step counter.
  • step counter 6 operates the n times i.e. twice the value of the input data N s Step count increment.
  • step counter 6 in order to interpolate data between increment values that cannot be obtained by the output of the step counter 6, (n-1), that is, one computing unit 51 is provided in the pre-data processing unit 5, and The post-interleave data processing unit 7 is provided with (n ⁇ 1), that is, one adder 71 and n, that is, two registers 72 and 73.
  • the adder 71 adds the input data N s to the output value of the step counter 6 to create interpolation data.
  • the interpolation data alone can not be obtained step count output of step counter 6, separately obtained in the post-interleaving data processing unit 7, to obtain whole step count of the step count increment and N s as a whole Is possible.
  • the operation speed of the step counter 6 itself can be 1 ⁇ 2 of the first clock CLK with which the step count is synchronized. Therefore, it can be said that the step counter 57 of the integrated circuit device of FIG. 8 is a so-called 1: 2 pre-data interleave type step counter.
  • the pre-data processing unit 5 is an input circuit, and outputs a single value obtained by doubling the input data that has been input.
  • the pre-data processing unit 5 includes one computing unit 51. That is, the pre-data processing unit 5, the output of the increment step counter 6 is calculated using two times the value of the input data N s, by one operation unit 51 for doubling operation input data Composed. Calculator 51, the data N s is input, and outputs this to twice the value.
  • the output of the computing unit 51 is input to the adder 61 of the step counter 6.
  • the input data N s is input to the input terminal b of the adder 71 of the post-interleaving data processing unit 7. It may be considered that the input data N s is input to the post-interleave data processing unit 7 by the pre-data processing unit 5.
  • the pre-data processing unit 5 outputs the input data and (n ⁇ 1) values obtained by multiplying the input data by an integer from 2 to n (n is an integer of 2 or more).
  • Step counter 6 twice the value of the input data N s, in synchronization with the second clock CLKDIV2, outputs a value obtained by accumulating.
  • the step counter 6 includes an adder 61 and an output register 62.
  • the value obtained by doubling the input data N s is a single value that is output from the pre-data processing unit 5 input circuit.
  • the second clock CLKDIV2 is half the frequency of the first clock.
  • a second clock CLKDIV2 is input to the output register 62.
  • the output register 62 operates in synchronization with the second clock CLKDIV2.
  • the adder 61 When data is input from the arithmetic unit 51 and the output register 62, the adder 61 receives a value obtained by doubling the input data from the arithmetic unit 51 and is input to the input terminal b, and from the output register 62 to the input terminal a. The feedback input value is added and output from the output terminal s. The output of the adder 61 is input to the terminal D of the output register 62.
  • the output register 62 outputs the output of the adder 61 input to the terminal D from the output terminal Q.
  • the reset signal RST is input to the RST terminal of the output register 62. For example, when the reset signal RST is at a high level, the output register 62 resets an output to be output to the terminal Q.
  • the reset signal RST is a control signal defining a reference to, as described later, the increment of the input data N s is a period in which the step counting frame to FIG. That is, the period from the application of the first reset signal RST to the next application of the reset signal RST, the increment of the input data N s is a period for the step count.
  • the reset signal RST (high level signal) is supplied at a set timing with respect to the first clock CLK with which the data string is synchronized.
  • the output register 62 When the data from the adder 61 is input to the terminal D, the output register 62 outputs the data from the output terminal Q.
  • the output of the output register 62 is input to the input terminal a of the adder 71 and the terminal D of the register 72 in the post-interleave data processing unit 7.
  • the step counter 6 calculates the result of the cumulative addition of the values obtained by doubling the input data N s, it is input to the adder 71 and a register 72.
  • Post interleave data processing unit 7 an output circuit, the input data N s, the input data N s twice the value by adding the value obtained by cumulative addition of the outputs.
  • the post-interleave data processing unit 7 includes one adder 71, two registers 72 and 73, a selection circuit 74, an inverter 75, and an output register 76.
  • the adder 71 includes two input terminals a and b.
  • the adder 71 the data is input to the input terminals a and b, adds the input and output data N s of the output register 62 of the step counter 6.
  • the adder 71 outputs the addition result from the output terminal s.
  • the output of the adder 71 is input to the terminal D of the register 73.
  • the second clock CLKDIV2 is input to the registers 72 and 73.
  • the output registers 72 and 73 operate in synchronization with the second clock CLKDIV2.
  • the register 72 outputs the output of the step counter 6 to the output terminal Q in synchronization with the second clock CLKDIV2.
  • the output of the register 72 is input to the terminal 0 of the multiplexer 74 which is a selection circuit.
  • the register 73 outputs the output of the adder 71 to the output terminal Q in synchronization with the second clock CLKDIV2.
  • the output of the register 73 is input to the terminal 1 of the multiplexer 74.
  • the selection circuit is a multiplexer 74, for example.
  • the multiplexer 74 selects the outputs of the two registers 72 and 73 in the order set repeatedly, and outputs them to the output terminal Y in synchronization with the selection signal.
  • the selection signal is formed by the inverter 75 based on the second clock. Therefore, the selection signal is an inverted signal of the second clock CLKDIV2.
  • the selection signal is input to the terminal S of the multiplexer 74.
  • the output register 76 receives the first clock CLK. As a result, the output register 76 operates in synchronization with the first clock CLK. The output register 76 outputs the output of one of the two registers 72 and 73 selected by the multiplexer 74 to the output terminal Q in synchronization with the first clock. This is the step count value COUNT i .
  • FIG. 9 is an operation timing chart of the step counter 57 of FIG.
  • input data N s (expressed as “N s ”) whose value is ns is input to the computing unit 51.
  • the computing unit 51 outputs a value n s * 2 obtained by doubling the input data N s (denoted as “SLL ⁇ 1”).
  • the adder 61 outputs a value obtained by adding the value n s * 2 input from the calculator 51 and the current count value of the output register 62 of the step counter 6 (denoted as “2N s ADDER”). ).
  • the output register 62 when the reset signal RST (high level) is input to the output register 62, the output register 62 resets the output to be output to the output terminal Q, that is, 0. Further, the output register 62 takes in the addition result of the value n s * 2 input from the computing unit 51 in synchronization with the second clock CLKDIV2 and the current count value of the output register 62 of the step counter 6 to obtain the next The addition result is output in synchronization with the second clock CLKDIV2 (denoted as “register output”).
  • the register 72 takes in the value input from the output register 62 in synchronization with the second clock CLKDIV2, and outputs the value in synchronization with the next second clock CLKDIV2 (denoted as “register 1 output”). ). For example, the register 72 first outputs “0”, and then outputs n s * 2.
  • the adder 71 compares the value input from the output register 62, adds the input data N s, and outputs to the output terminal s. In response to this, the register 73 takes in the value input from the adder 71 in synchronization with the second clock CLKDIV2, and outputs the value in synchronization with the next second clock CLKDIV2. 2 output "). For example, the register 73 outputs n s first, and then outputs n s + n s * 2.
  • the multiplexer 74 to which the outputs of the registers 72 and 73 are inputted selects and outputs one of the outputs of the registers 72 and 73 in synchronization with the selection signal.
  • the selection signal is an inverted signal of the second clock CLKDIV2
  • the output of the multiplexer 74 is switched from the output of the register 72 to the output of the register 73 in the middle of one clock of the second clock CLKDIV2. Accordingly, the multiplexer 74 alternately outputs the output of the register 72 and the output of the register 73 to the output terminal Y (denoted as “multiplexer output”).
  • the first step count data which is updated output in synchronization with the clock CLK can be obtained to a step count update value n s that.
  • FIG. 10 is a diagram illustrating another example of the configuration of the step counter.
  • 10 includes a pre-data processing unit 5A, a step counter 6, and a post-interleave data processing unit 7A.
  • step counter 6 operates the n times the input data N s Step count increment.
  • (n-1) computing units 52 are provided in the pre-data processing unit 5A, and post-interleaving is performed.
  • the data processing unit 7A is provided with (n ⁇ 1) adders 77 and n registers 78. To create a (n-1) pieces of data n times the N s for increment interpolation and the step counter 6 from 2 to each calculator 52 is input data N s of the pre-data processing unit 5A.
  • each of the (n-1) adders 77 adds interpolation data corresponding to the output value of the step counter 6 to obtain the interpolation data. create.
  • step count interpolation data that cannot be obtained only by the output of the step counter 6 is obtained separately in the post-interleave data processing section 7A.
  • the operation speed of the step counter 6 can be set to 1 / n of the first clock CLK with which the step count is synchronized. Therefore, it can be said that the step counter 57A of the integrated circuit device of FIG. 10 is a so-called 1: n pre-data interleave type step counter.
  • the pre-data processing unit 5A outputs n values obtained by multiplying input data N s by 2 to n.
  • the pre-data processing unit 5A includes (n ⁇ 1) computing units 52. That is, the pre-data processing unit 5A, since the increment of the output of the step counter 6 is calculated using the values of n times twice the input data N s, performs n multiply operation input data from the 2-fold ( It is composed of n-1) computing units 52. Each of the arithmetic unit 52, the data N s is input, and outputs a 2-fold ⁇ n times value.
  • the output of the arithmetic unit 52 for outputting n times the data in the input data N s is input to the adder 61 of the step counter 6.
  • the input data N s and the output of the computing unit 52 that outputs data of 2 to (n ⁇ 1) times the input data N s are respectively added to the corresponding adder 77 in the post-interleave data processing unit 7A. Is input.
  • each of the adders 77 cumulatively adds the data obtained by multiplying the input data output from the step counter 6 by n times, and the input data N s or the input data ns twice to (n ⁇ 1) times the data. Is added to the output of the arithmetic unit 52 that outputs the signal to the corresponding register 78. The output of the step counter 6 is also input to the corresponding register 78.
  • N s as an input signal and n s as its data value are used synonymously.
  • the outputs COUNT_0 to COUNT_ (n ⁇ 1) of these registers 78 are input to the multiplexer 79.
  • the multiplexer 79 selects and outputs the outputs COUNT_0 to COUNT_ (n ⁇ 1) in this order based on the select signal from the select signal generator 710.
  • the output register 711 outputs the register 78 outputs COUNT_0 to COUNT_ (n ⁇ 1) selected by the multiplexer 79 to the output terminal Q in synchronization with the first clock. This is the step count value COUNT i .
  • the present invention can be applied to operations having the same properties and regularity as the cumulative addition or step count.
  • Property 1 is that it is independent of the order of the data.
  • x i, 0 , x i, 1 , x i, 2 , x i, 3 , ..., x i, N-2 , x i, N-1 are x 0 , x 1 , x 2 , x 3 ,..., X N ⁇ 2 , x N ⁇ 1 permutation (ie, the order is changed).
  • Property 2 is that when the data is divided into two or more sets, the final calculation result is equal to the calculation result of the calculation result for each group. In addition, the output that is finally required is one, and the intermediate operation result is not necessarily required.
  • y n1 f (x n1,0 , x n1,1 , x n1,2 , x n1,3 , ..., x n1, N 1-2 , x n1, N1-1 )
  • y n2 f (x n2,0 , x n2,1 , x n2,2 , x n2,3 , ..., x n2, N2-2 , x n2, N2-1 )
  • y n3 ⁇ ⁇ ⁇ ⁇
  • y n f (y n1 , y n2 , y n3 , ⁇ ⁇ ⁇ ⁇ ) It is to be.
  • the present invention can be applied to any operation having the same properties and regularity as the cumulative adder in which the above properties 1 and 2 are established.
  • the calculation is f
  • the output data is y n
  • the initial value is y 0
  • the time series is 0, 1,... N ⁇ 1.
  • the following property 1 and property 2 are considered.
  • Property 1 is a recurrence relation between output data.
  • f 2 is to repeat the same operation f twice
  • f n1 is to repeat the same operation f n1 times.
  • the present invention can be applied to any operation having the same properties and regularity as the step counter in which the above property 1 is established.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 入力回路は、第1のクロックに同期して入力されたデータを、繰り返し設定された順にn(nは2以上の整数)個のグループに分けて出力する。累積加算器は、n個のグループに対応して設けられるn個の単位累積加算器を備える。単位累積加算器は、第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、入力回路から出力された単位累積加算器に対応するデータを累積加算した値を出力する。出力回路は、n個の単位累積加算器の各々の出力を加算して出力する。

Description

集積回路装置及び電子装置
 本発明は、累積加算器、ステップカウンタ等の演算回路を備える集積回路装置及び電子装置に関する。
  累積加算器即ちアキュームレータは、一般的なデジタル論理回路、又は、FFT(高速フーリエ変換)及びDFT(デジタルフーリエ変換)等のデジタル信号処理の分野において、多用される。例えば、累積加算器は、クロックに同期して連続的に入力されるデータにおける、連続したN個のデータの累積加算結果を求めるために用いられる。
  また、ステップカウンタは、一般的なデジタル論理回路等において、多用される。例えば、ステップカウンタは、クロックが入力される毎にカウント値を所定の増分値だけ加算又は減算するために用いられる。
 デジタル信号処理において使用する乗算器であって、2つの入力信号を入力し、乗算出力を高速で得るようにする、アキュームレータ回路を備えた乗算器が知られている。
 また、各々が累積等の処理を行う複数の並列に設けられた演算ユニット、隣接する演算ユニットを接続する相互接続パイプラインメモリ、演算ユニットに入力データを選択的に印可するデータセレクタを備え、離散コサイン変換等の処理を行う演算処理装置が知られている。
 また、低速クロック等に基づいて入力パラレルデータを分割して複数の分割データを生成し、高速クロックに基づいて複数の分割データをパラレル-シリアル変換してシリアルデータを生成するパラレル-シリアル変換器が知られている。
特開昭63-086027号公報 特開平06-292178号公報 特開2005-142650号公報
 例えば、累積加算器は、FFT及びDFTにおいて、入力データと回転因子係数を乗じた後の複素周波数成分の実部・虚部データの累積加算演算の際に使用される。また、ステップカウンタは、FFT及びDFTにおいて、乗算の際に参照するROMに格納された回転因子係数テーブルデータのアドレス信号発生のために使用される。
 一方、FFT及びDFTにおいては、クロックに同期して、複数のデジタルデータが連続的に入力される。複数のデジタルデータが連続的に入力されるデータはストリームデータと言われ、ストリームデータの処理はストリームデータ処理と言われる。ストリームデータ処理においては、たとえば数k~数10k個のデータが連続的に入力され、累積加算器のようなパイプライン処理ができない場合には、各々のデータについての演算を、ストリームデータが同期しているクロックにおける1個のクロック周期において、完了することが必要とされる。
 本発明は、データが同期しているクロックの周波数よりも低い周波数で動作することが可能な累積加算器又はステップカウンタを備える集積回路装置又は電子装置を提供することを目的とする。
 開示される集積回路装置又は電子装置は、入力回路と、累積加算器と、出力回路とを備える。入力回路は、第1のクロックに同期して入力されたデータを、繰り返し設定された順にn(nは2以上の整数)個のグループに分けて出力する。累積加算器はn個の単位累積加算器を備える。n個の単位累積加算器はn個のグループに対応して設けられる。n個の単位累積加算器は、各々、第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、入力回路から出力された当該単位累積加算器に対応するデータを累積加算した値を出力する。出力回路は、n個の単位累積加算器の各々の出力を加算して出力する。
 開示される集積回路装置又は電子装置は、入力回路と、ステップカウンタと、出力回路とを備える。入力回路は、入力された入力データと、入力データを2からn(nは2以上の整数)までの整数倍した(n-1)個の値とを出力する。ステップカウンタは、入力回路から出力された入力データをn倍した値を、第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、累積加算した値を出力する。出力回路は、(n-1)個の加算器と、n個のレジスタと、選択回路と、出力レジスタとを備える。(n-1)個の加算器は、ステップカウンタの出力と入力データ又は入力回路から出力された(n-1)個の値の中の入力データを2から(n-1)倍した値の各々とを加算する。n個のレジスタは、第2のクロックに同期して、ステップカウンタの出力及び(n-1)個の加算器の出力を出力する。選択回路は、第2のクロックに基づいて形成された選択信号に同期して、n個のレジスタの出力を繰り返し設定された順に選択する。出力レジスタは、第1のクロックに同期して、選択回路により選択されたn個のレジスタの出力を出力する。
 開示される集積回路装置又は電子装置によれば、累積加算器又はステップカウンタを、データが同期しているクロックの周波数よりも低い周波数で動作させることができ、この結果、求められるクロックの周波数が高くて実現不可能な回路であっても、求められる周波数のクロックで動作する累積加算器又はステップカウンタと同等の累積加算器又はステップカウンタを備える集積回路装置又は電子装置を得ることができる。
累積加算器を備える集積回路装置の構成の一例を示す図である。 累積加算器の構成の一例を示す図である。 図2の累積加算器の動作波形図である。 累積加算器の構成の他の一例を示す図である。 累積加算器の構成の他の一例を示す図である。 累積加算器の構成の他の一例を示す図である。 ステップカウンタを備える集積回路装置の一例を示す構成図である。 ステップカウンタの構成の一例を示す図である。 図8のステップカウンタの動作波形図である。 ステップカウンタの構成の他の一例を示す図である。 累積加算器を示す図である。 ステップカウンタを示す図である。 ステップカウンタを説明する図である。
符号の説明
  1  プリデータインターリーブ部
  2  累積加算器
  3  単位累積加算器
  4  ポストパイプライン加算部
  5  プリデータ処理部
  6  ステップカウンタ
  7  ポストインターリーブデータ処理部
  50  集積回路装置
  51  前段データ演算部
  52  累積加算器
  53  後段データ演算部
  54  クロック生成部
  55  制御信号生成部
  56  前段データ演算部
  57  ステップカウンタ
  58  後段データ演算部
  59  クロック生成部
  510  制御信号生成部
 図11(A)は、累積加算器の一例を示し、図11(B)は、図11(A)の累積加算器の動作タイミングチャートを示す。
 図11(A)及び図11(B)の累積加算器において、入力レジスタ131には、入力データの周期に同期したクロック信号CLKに同期して、入力データxが連続して入力される。入力レジスタ131の出力Qoutは、加算器132及びマルチプレクサ133に入力される。加算器132は、入力レジスタ131の出力Qoutと、出力レジスタ134の出力である累積加算結果ACCとを加算する。
 マルチプレクサ133は、入力レジスタ131の出力又は加算器132の出力の一方を選択して出力する。例えば、マルチプレクサ133は、フレーム開始時のLOAD信号がアクティブの場合には、入力レジスタ131の出力を選択し、アクティブでない場合には、加算器132の出力を選択する。出力レジスタ134は、2クロック分のレイテンシで、フレームの開始から最後まで、逐次、式1で示す累積加算結果を出力する。この結果、フレームの最後には、フレーム内のデータの全累積加算結果が得られる。即ち、
ACC=Σx    (nは0から(i-1)まで)・・・(式1)
である。
 ここで、iは、i = 0,1,2,・・・,N-1である。iは、フレーム内のi番目を示す。Nは、フレーム長、即ち、1フレーム内のデータの総数である。xは、フレーム内のi番目のデータである。ACCは、フレーム内データのi番目までの総和である。従って、i=N-1のときに、フレーム内全データの累積加算値となる。
 図12(A)は、ステップカウンタの一例を示し、図13(A)は、図12(A)のステップカウンタの動作タイミングチャートを示す。
 図12(A)のステップカウンタは、ステップカウントの初期値を0として、同期式リセット機能つきのレジスタを使用する。
  レジスタ161は、最初に同期式リセット信号RTSによりリセットされる。これにより、加算器162のステップカウンタ出力COUNTは、0にリセットされる。加算器162は、この値にステップカウント増分信号Nの増分値nを加算して、その結果をクロックCLKの立ち上がりに同期して、レジスタ162に出力する。以後、同様にしてステップカウント値の更新を繰り返す。この結果、ステップカウント出力が得られる。即ち、
COUNT=n*i    (i = 0,1,2, ・・・,N-1) ・・・(式2)
である。ここで、iは、フレーム内のi番目を示す。Nは、フレーム長、即ち、1フレーム内のデータクロックの総数である。COUNTは、i番目のカウント出力である。
  図12(B)は、ステップカウンタの他の一例を示し、図13(B)は、図12(B)のステップカウンタの動作タイミングチャートを示す。
 図12(B)のステップカウンタは、ステップカウントの初期値として任意の値をロードできるようにした例である。即ち、ステップカウント初期値を選択するために、マルチプレクサ163が設けられる。
  LOAD信号がアクティブの場合、マルチプレクサ163は、ステップカウンタ初期値信号Nを選択し、クロックCLKの立ち上がりに同期して、レジスタ162にステップカウンタ初期値データnを出力する。
  以後は、LOAD信号が非アクティブとなり、マルチプレクサ163は、加算器161の出力Sを選択する。これにより、出力レジスタ162は、図12(A)の場合と同様にして、ステップカウント値COUNTの更新を繰り返す。この結果、ステップカウント出力が得られる。即ち、
COUNT=n+n*i     (i = 0,1,2, ・・・,N-1) ・・・(式3)
である。ここで、iは、フレーム内のi番目を示す。Nは、フレーム長、即ち、1フレーム内のデータクロックの総数である。COUNTは、i番目のカウント出力である。
 このような累積加算器又はステップカウンタの場合、累積加算器又はステップカウンタのビット数が大きくなると、演算遅延時間が大きくなり、無視できなくなる。例えば、ストリームデータの周波数にあわせて、1クロックの周期内で所定の演算を行なうことができなくなる。
 具体的には、レジスタ134及び162からの帰還的な入力(フィードバックループ)により、ある周波数以上になると所定の演算を行なうことができなくなる。このように、累積加算器やステップカウンタにはフィードバックループがあるため、パイプライン処理によって段階的に演算することができない。
 通常、ストリームデータの周波数は外部的な要因によりあらかじめ決定される。あるデバイスで回路を構成した場合の動作周波数が必要な周波数を満たすことができない場合には、より高い周波数のデバイスを選択することとなる。しかし、このような仕様を満たすデバイスがない場合には、その回路は実現できない。また、動作周波数の高いデバイスは、価格の面でもまた非常に高価である。
 以下に開示される累積加算器及びステップカウンタは、必要とされるクロックの周波数の1/2~1/nの周波数により、必要とされるクロックで動作する累積加算器及びステップカウンタと同等の動作を実現する。
 (第1の実施態様)
 図1は、累積加算器を備える集積回路装置の構成の一例を示す。
 集積回路装置50は、前段データ演算部51と、累積加算器52と、後段データ演算部53と、クロック生成部54と、制御信号生成部55とを備える。
 前段データ演算部51は、複数のデータXを含むデータ列を、累積加算器52に入力する。累積加算器52は、前段データ演算部51から入力された複数のデータXを含むデータ列を累積加算して、その累積加算の結果ACCを、後段データ演算部53に入力する。後段データ演算部53は、累積加算の結果ACCを用いた演算を実行する。ク
ロック生成部54は、第1のクロックCLKと第2のクロックCLKDIV2とを生成して、累積加算器52に入力する。制御信号生成部55は、制御信号LOADを生成して、累積加算器52に入力する。
 なお、集積回路装置50は、例えば1個の半導体集積回路装置(LSI)であるが、集積回路装置50に代えて、1個の電子装置が、各処理部51~55を備えるようにしても良い。換言すれば、各処理部51~55が、1又は複数の実装基板上の複数の半導体集積回路装置(LSI)により実現されるようにしても良い。
 図2は、累積加算器の構成の一例を示す図である。
 図2の集積回路装置の累積加算器52は、プリデータインターリーブ部1と、累積加算器2と、ポストパイプライン加算部4とを備える。累積加算器2は、2個の単位累積加算器3を備える。
 図2の例においては、1個のデータ列に含まれる複数のデータが2個のグループに分割される。これに対応して、2個の単位累積加算器が、2個のグループに対応して設けられる。これにより、2個のグループの各々が、別個の単位累積加算器3において加算される。これにより、単位累積加算器3の動作速度を、データ列が同期している第1のクロックCLKの1/2とすることができる。従って、図2の集積回路装置の累積加算器52は、いわば1:2プリデータインターリーブ式の累積加算器であると言うことができる。
 プリデータインターリーブ部1は、入力回路であり、第1のクロックCLKに同期して入力されたデータを、繰り返し設定された順に2個のグループに分けて出力する。このために、プリデータインターリーブ部1は、入力レジスタ11と、遅延レジスタ12とを備える。即ち、プリデータインターリーブ部1は、複数のデータが2個のグループに分割されるので、2段のレジスタで構成される。入力レジスタ11及び遅延レジスタ12には、第1のクロックCLKが入力される。これにより、入力レジスタ11及び遅延レジスタ12は、第1のクロックCLKに同期して動作する。第1のクロックCLKは、データ列が同期しているクロックである。
 入力レジスタ11は、データXが端子Dに入力されると、これを出力端子Qから出力する。入力レジスタ11の出力は、遅延レジスタ12に入力され、また、奇数番目のデータである奇数データd-oddとして、単位累積加算器3の入力レジスタ31に入力される。従って、この単位累積加算器3は、奇数データd-oddに対応し、また、入力レジスタ11に対応する。
 遅延レジスタ12は、入力レジスタ11からデータXが端子Dに入力されると、これを出力端子Qから出力する。遅延レジスタ12の出力は、偶数番目のデータである偶数データd-evenとして、単位累積加算器3に入力する。従って、この単位累積加算器3は、偶数データd-evenに対応し、また、遅延レジスタ12に対応する。
 これにより、プリデータインターリーブ部1は、複数のデータを、奇数データd-oddと偶数データd-evenとに時間的にインターリーブして、対応する単位累積加算器3に入力する。
 単位累積加算器3は、各々、第2のクロックCLKDIV2に同期して、プリデータインターリーブ部1から出力された当該単位累積加算器3に対応するデータを累積加算した値を出力する。このために、単位累積加算器3は、入力レジスタ31と、加算器32と、マルチプレクサ33と、出力レジスタ34とを備える。入力レジスタ31及び出力レジスタ34には、第2のクロックCLKDIV2が入力される。これにより、入力レジスタ31及び出力レジスタ34は、第2のクロックCLKDIV2に同期して動作する。第2のクロックCLKDIV2は、データ列が同期している第1のクロックCLKの2倍の周期である。加算器32及びマルチプレクサ33は、入力に応じた信号を形成して出力する。マルチプレクサ33は、ロード信号LOADにより初期化される。
 入力レジスタ31は、遅延レジスタ12からの対応するデータが端子Dに入力されると、これを出力端子Qから出力する。入力レジスタ31の出力は、加算器32の入力端子bに入力され、また、マルチプレクサ33の端子D1に入力される。
 加算器32は、入力レジスタ31及び出力レジスタ34からデータが入力されると、入力レジスタ31から入力端子bに入力された値と、出力レジスタ34から入力端子aに帰還的な入力された値とを加算して、出力端子sから出力する。加算器32の出力は、マルチプレクサ33の端子D0に入力される。
 マルチプレクサ33は、ロード信号LOADに従って、端子D0に入力された加算器32の出力、又は、端子D1に入力された入力レジスタ31の出力のいずれか一方を選択して、出力端子Yから出力する。マルチプレクサ33の出力は、出力レジスタ34の端子Dに入力される。
 ロード信号LOADはS端子に入力される。マルチプレクサ33は、例えば、ロード信号LOADがハイレベルである場合、端子D1に入力された入力レジスタ31の出力を選択的に出力し、ロード信号LOADがロウレベルである場合、端子D0に入力された加算器32の出力を選択的に出力する。
 なお、ロード信号LOADは、図3を参照して後述するように、複数のデータXを含むデータ列の加算の期間であるフレームを定める制御信号である。連続して入力されるデータをフレームとし、1フレームはN個の連続するデータ(データ列)を含むものとする。フレームとフレームとの間には、空き時間はあってもなくても良いが、ここではないものとしている。
 最初のロード信号LOADの印加から次のロード信号LOADの印加までの期間が、複数のデータXについての累積加算の結果ACCを算出すべき期間である。ロード信号LOAD(ハイレベル信号)は、データ列が同期している第1のクロックCLKに対して、設定されたタイミングで供給される。
 出力レジスタ34は、マルチプレクサ33からのデータが端子Dに入力されると、これを出力端子Qから出力する。出力レジスタ34の出力は、ポストパイプライン加算部4の加算器41の対応する入力端子、即ち、端子a又はbに入力される。
 これにより、単位累積加算器3は、各々、対応する奇数データd-odd又は偶数データd-evenのいずれか一方について、累積加算の結果を算出して、ポストパイプライン加算部4の加算器41の対応する入力端子に入力する。
 ポストパイプライン加算部4は、出力回路であり、2個の単位累積加算器3の各々の出力を加算して出力する。このために、ポストパイプライン加算部4は、加算器41と、出力レジスタ42とを備える。加算器41は、複数のデータが2個のグループに分割された結果、2個の単位累積加算器3が設けられるので、2個の入力端子a及びbを備える。出力レジスタ42には、第2のクロックCLKDIV2が入力される。これにより、出力レジスタ42は、第2のクロックCLKDIV2に同期して動作する。
 加算器41は、2個の単位累積加算器3からデータが入力されると、これらから入力された2個の値を加算して、出力端子sから出力する。加算器41の出力は、出力レジスタ42の端子Dに入力される。出力レジスタ42は、加算器41からデータが端子Dに入力されると、これを出力端子Qから累積加算の結果ACCとして出力する。
 これにより、ポストパイプライン加算部4は、奇数データd-odd及び偶数データd-evenの各々についての累積加算の結果を更に加算して、最終的に、複数のデータXを含むデータ列についての累積加算の結果ACCを得る。
 図3は、図2の累積加算器52の動作タイミングチャートである。
 プリデータインターリーブ部1において、第1のクロックCLKに同期して、複数のデータXを含むデータ列が、入力レジスタ11に入力される。例えば、先頭のデータXに着目すると、入力レジスタ11は、入力されたデータXを第1のクロックCLKに同期して取り込んで、これを次の第1のクロックCLKに同期して出力する(「入力レジスタQ」と表記)。
 遅延レジスタ12は、入力レジスタ11から入力されたデータXを第1のクロックCLKに同期して取り込んで、これを次の第1のクロックCLKに同期して出力する(「遅延レジスタQ」と表記)。
 遅延レジスタ12に対応する単位累積加算器3において、入力レジスタ31は、遅延レジスタ12から入力されたデータXを第2のクロックCLKDIV2に同期して取り込んで、これを次の第2のクロックCLKDIV2に同期して出力する(「偶数レジスタQ」と表記)。
 ここで、第2のクロックCLKDIV2の周期は、図3に示すように、データ列が同期している第1のクロックCLKの1周期の長さに、累積加算器2が備える単位累積加算器3の個数、即ち、図2の例では2を乗じた値とされる。即ち、第2のクロックCLKDIV2は、第1のクロックCLKの周波数の1/2倍の周波数を持つ。
 従って、遅延レジスタ12に対応する単位累積加算器3において、入力レジスタ31は、図3に示すように、次のデータXを出力するまでの期間、即ち、第1のクロックCLKの周期の2倍の周期の間、データXを出力する。
 入力レジスタ11に対応する単位累積加算器3において、入力レジスタ31は、入力レジスタ11から入力されたデータXを第2のクロックCLKDIV2に同期して取り込んで、これを次の第2のクロックCLKDIV2に同期して、出力端子Qに出力する(「奇数レジスタQ」と表記)。
 従って、入力レジスタ11に対応する単位累積加算器3において、入力レジスタ31は、図3に示すように、次のデータXを出力するまでの期間、即ち、第1のクロックCLKの周期の2倍の期間、データXを出力する。
 なお、図3から判るように、遅延レジスタ12がデータXを出力するタイミングは、入力レジスタ11がデータXを出力するタイミングと同じである。従って、偶数レジスタQと奇数レジスタQも、各々、同じタイミングでデータX及びXを出力する。
 一方、遅延レジスタ12が「遅延レジスタQ」としてデータX0を出力するタイミングで、ロード信号LOAD(ハイレベル)が、マルチプレクサ33に入力される。これにより、マルチプレクサ33は、入力レジスタ31からの偶数レジスタQ又は奇数レジスタQを、ロード信号LOAD(ハイレベル)に同期して出力する。
 これに応じて、出力レジスタ34は、対応するマルチプレクサ33から入力されたデータX又はXを第2のクロックCLKDIV2に同期して取り込んで、これを次の第2のクロックCLKDIV2に同期して、出力端子Qに出力する。図3において、遅延レジスタ12に対応する単位累積加算器3の出力レジスタ34の出力は「偶数累積レジスタQ」と表記され、入力レジスタ11に対応する単位累積加算器3の出力レジスタ34の出力は「奇数累積レジスタQ」と表記されている。
 以上の結果、加算器41は、2個の出力レジスタ34の出力を加算して出力する。出力レジスタ42は、加算器41の出力を第2のクロックCLKDIV2に同期して取り込んで、これを次の第2のクロックCLKDIV2に同期して出力する。これが、累積加算の結果ACCであり、i番目のデータまで累積したときの値は、
ACC = X+X+X+・・・+X (i = 0,1,・・・,N-1)
である。
 (第2の実施態様)
 図4~図6は、累積加算器の構成の他の一例を示す図である。
 図4の累積加算器52Aは、プリデータインターリーブ部1Aと、累積加算器2Aと、ポストパイプライン加算部4Aとを備える。累積加算器2Aは、n個の単位累積加算器3を備える。
 図4の例においては、1個のデータ列に含まれる複数のデータがn個のグループに分割される。これに対応して、n個の単位累積加算器が、n個のグループに対応して設けられる。これにより、n個のグループの各々が、別個の単位累積加算器3において加算される。これにより、単位累積加算器3の動作速度を、データ列が同期している第1のクロックCLKの1/nとすることができる。従って、図4の累積加算器52Aは、いわば1:nプリデータインターリーブ式の累積加算器であると言うことができる。
 プリデータインターリーブ部1Aは、第1のクロックCLKに同期して入力されたデータを、繰り返し設定された順にn個(nは3以上の整数)のグループに分けて出力する。このために、プリデータインターリーブ部1は、図5に示すように、n個のレジスタ13を備える。n個のレジスタ13は、例えば、1個の入力レジスタ13と(n-1)個の遅延レジスタ13と考えて良い。即ち、プリデータインターリーブ部1は、複数のデータがn個のグループに分割されるので、n段のレジスタで構成される。
 これにより、n個のレジスタ13を含むプリデータインターリーブ部1Aは、複数のデータを、n個のグループのデータd_0、d_1、・・・d_n-1に時間的にインターリーブして、対応するn個の単位累積加算器3に入力する。
 n個の単位累積加算器3は、前述したように、各々、第2のクロックCLKDIVnに同期して、プリデータインターリーブ部1から出力された当該単位累積加算器3に対応するデータを累積加算した値を出力する。第2のクロックCLKDIVnは、データ列が同期している第1のクロックCLKの1/nの周波数である。
 これにより、単位累積加算器3は、各々、対応するデータd_0、d_1、・・d_n-1のいずれか1個について、部分的な累積加算の結果ACC_0、ACC_1、・・ACC_n-1を算出して、ポストパイプライン加算部4の加算器41の対応する入力端子に入力する。
 ポストパイプライン加算部4は、n個の単位累積加算器3の各々の出力を加算して出力する。このために、ポストパイプライン加算部4は、図6に示すように接続された、複数の加算器43、45、47、49と、複数のレジスタ44、46、48、410とを備える。
 例えば、部分的な累積加算の結果ACC_0及びACC_1が入力される加算器43は、これらを加算して、レジスタ44に入力する。部分的な累積加算の結果ACC_2及びACC_3が入力される加算器43は、これらを加算して、レジスタ44に入力する。以上の2個のレジスタ44の出力は加算器45で加算される。
 以上の処理が、ポストパイプライン加算部4において、全ての部分的な累積加算の結果ACC_0~ACC_nについて行われる。換言すれば、2個の部分的な累積加算の結果を加算することにより4個の部分的な累積加算の結果の和を求め、これを繰り返すことにより、全ての部分的な累積加算の結果ACC_0~ACC_n-1の和を求める。
 これにより、ポストパイプライン加算部4は、データd_0~d_n-1についての累積加算の結果ACC_0~ACC_n-1を更に加算して、最終的に、複数のデータXを含むデータ列についての累積加算の結果ACCを得る。
 (第3の実施態様)
 図7は、ステップカウンタを備える集積回路装置の構成の一例を示す。
 集積回路装置50は、前段データ演算部56と、ステップカウンタ57と、後段データ演算部58と、クロック生成部59と、制御信号生成部510とを備える。
 前段データ演算部56は、データNを、ステップカウンタ57に入力する。データNは、ステップカウント更新データであり、例えば固定値nである。ステップカウンタ57は、前段データ演算部56から入力されたデータにカウント値に基づく増分を付加して、その演算結果COUNTを、後段データ演算部58に入力する。後段データ演算部58は、演算結果COUNTを用いた演算を実行する。クロック生成部59は、第1のクロックCLKと第2のクロックCLKDIV2とを生成して、ステップカウンタ57に入力する。制御信号生成部510は、制御信号RSTを生成して、ステップカウンタ57に入力する。
 なお、集積回路装置50は、例えば1個の半導体集積回路装置(LSI)であるが、集積回路装置50に代えて、1個の電子装置が、各処理部56~510を備えるようにしても良い。換言すれば、各処理部56~510が、1又は複数の実装基板上の複数の半導体集積回路装置(LSI)により実現されるようにしても良い。
 図8は、ステップカウンタの構成の一例を示す図である。
 図8の集積回路装置のステップカウンタ57は、プリデータ処理部5と、ステップカウンタ6と、ポストインターリーブデータ処理部7とを備える。
 図8の例においては、ステップカウンタ6は入力データNのn倍即ち2倍の値をステップカウント増分値として動作する。これに対応して、ステップカウンタ6の出力では得られない増分値間のデータを補間するために、プリデータ処理部5に(n-1)個即ち1個の演算器51が設けられ、また、ポストインターリーブデータ処理部7に(n-1)個即ち1個の加算器71とn個即ち2個のレジスタ72、73とが設けられる。加算器71はステップカウンタ6の出力では得られないステップカウント値を得るために、ステップカウンタ6の出力の値に入力データNを加算して補間データを作成する。これにより、ステップカウンタ6の出力だけでは得られないステップカウントの補間データが、ポストインターリーブデータ処理部7において別個に得られ、全体としてステップカウント増分値をNとする全ステップカウント値を得ることが可能となる。これにより、ステップカウンタ6自体の動作速度を、ステップカウントが同期している第1のクロックCLKの1/2とすることができる。従って、図8の集積回路装置のステップカウンタ57は、いわば1:2プリデータインターリーブ式のステップカウンタであると言うことができる。
 プリデータ処理部5は、入力回路であり、入力された入力データを、2倍した1個の値を出力する。このために、プリデータ処理部5は、1個の演算器51を備える。即ち、プリデータ処理部5は、ステップカウンタ6の出力の増分が入力データNの2倍の値を用いて算出されるので、入力データを2倍する演算を行う1個の演算器51で構成される。演算器51は、データNが入力されると、これを2倍した値を出力する。演算器51の出力は、ステップカウンタ6の加算器61に入力される。
 また、入力データNは、ポストインターリーブデータ処理部7の加算器71の入力端子bに入力される。入力データNのポストインターリーブデータ処理部7への入力は、プリデータ処理部5が行うと考えても良い。この場合、プリデータ処理部5は、入力データと、入力データを2からn(nは2以上の整数)までの整数倍した(n-1)個の値とを出力する。
 ステップカウンタ6は、入力データNを2倍した値を、第2のクロックCLKDIV2に同期して、累積加算した値を出力する。このために、ステップカウンタ6は、加算器61と、出力レジスタ62とを備える。入力データNを2倍した値は、プリデータ処理部5入力回路から出力された1個の値である。第2のクロックCLKDIV2は、第1のクロックの周波数の1/2の周波数である。出力レジスタ62には、第2のクロックCLKDIV2が入力される。これにより、出力レジスタ62は、第2のクロックCLKDIV2に同期して動作する。
 加算器61は、演算器51と出力レジスタ62からデータが入力されると、演算器51から入力データを2倍した値が入力端子bに入力された値と、出力レジスタ62から入力端子aに帰還的な入力された値とを加算して、出力端子sから出力する。加算器61の出力は、出力レジスタ62の端子Dに入力される。
 出力レジスタ62は、端子Dに入力された加算器61の出力を、出力端子Qから出力する。リセット信号RSTは、出力レジスタ62のRST端子に入力される。出力レジスタ62は、例えば、リセット信号RSTがハイレベルである場合、端子Qへ出力されるべき出力をリセットする。
 なお、リセット信号RSTは、図9を参照して後述するように、入力データNの増分をステップカウントする期間であるフレームを定める制御信号である。即ち、最初のリセット信号RSTの印加から次のリセット信号RSTの印加までの期間が、入力データNの増分をステップカウントすべき期間である。リセット信号RST(ハイレベル信号)は、データ列が同期している第1のクロックCLKに対して、設定されたタイミングで供給される。
 出力レジスタ62は、加算器61からのデータが端子Dに入力されると、これを出力端子Qから出力する。出力レジスタ62の出力は、ポストインターリーブデータ処理部7において、加算器71の入力端子aと、レジスタ72の端子Dに入力される。
 これにより、ステップカウンタ6は、入力データNを2倍した値を累積加算した結果を算出して、加算器71及びレジスタ72に入力する。
 ポストインターリーブデータ処理部7は、出力回路であり、入力データNと、入力データNを2倍した値を累積加算した値とを加算して出力する。このために、ポストインターリーブデータ処理部7は、1個の加算器71と、2個のレジスタ72及び73と、選択回路74と、インバータ75と、出力レジスタ76とを備える。
 加算器71は、2個の入力端子a及びbを備える。加算器71は、入力端子a及びbにデータが入力されると、ステップカウンタ6の出力レジスタ62の出力と入力データNとを加算する。加算器71は、加算結果を出力端子sから出力する。加算器71の出力は、レジスタ73の端子Dに入力される。
 レジスタ72及び73には、第2のクロックCLKDIV2が入力される。これにより、出力レジスタ72及び73は、第2のクロックCLKDIV2に同期して動作する。
 レジスタ72は、第2のクロックCLKDIV2に同期して、ステップカウンタ6の出力を、出力端子Qに出力する。レジスタ72の出力は、選択回路であるマルチプレクサ74の端子0に入力される。レジスタ73は、第2のクロックCLKDIV2に同期して、加算器71の出力を、出力端子Qに出力する。レジスタ73の出力は、マルチプレクサ74の端子1に入力される。
 選択回路は、例えばマルチプレクサ74である。マルチプレクサ74は、選択信号に同期して、2個のレジスタ72及び73の出力を、繰り返し設定された順に選択して、出力端子Yに出力する。選択信号は、第2のクロックに基づいてインバータ75により形成される。従って、選択信号は、第2のクロックCLKDIV2の反転信号である。選択信号は、マルチプレクサ74の端子Sに入力される。
 出力レジスタ76には、第1のクロックCLKが入力される。これにより、出力レジスタ76は、第1のクロックCLKに同期して動作する。出力レジスタ76は、第1のクロックに同期して、マルチプレクサ74により選択された、2個のレジスタ72及び73のいずれか一方の出力を、出力端子Qに出力する。これが、ステップカウント値COUNTである。
 図9は、図8のステップカウンタ57の動作タイミングチャートである。
 プリデータ処理部5において、その値がnである入力データN(「N」と表記」)が、演算器51に入力される。演算器51は、入力データNを2倍した値n*2を出力する(「SLL<<1」と表記)。これに応じて、加算器61は、演算器51から入力された値n*2とステップカウンタ6の出力レジスタ62の現在のカウント値を加算した値を出力する(「2N ADDER」と表記)。
 一方、リセット信号RST(ハイレベル)が出力レジスタ62に入力されると、出力レジスタ62は、出力端子Qに出力されるべき出力をリセット即ち0とする。また、出力レジスタ62は、第2のクロックCLKDIV2に同期して演算器51から入力された値n*2とステップカウンタ6の出力レジスタ62の現在のカウント値との加算結果を取り込んで、次の第2のクロックCLKDIV2に同期して、当該加算結果を出力する(「レジスタ出力」と表記)。
 レジスタ72は、第2のクロックCLKDIV2に同期して出力レジスタ62から入力された値を取り込んで、次の第2のクロックCLKDIV2に同期して、当該値を出力する(「レジスタ1出力」と表記)。例えば、レジスタ72は、最初に「0」を出力し、次に、n*2を出力する。
 また、加算器71は、出力レジスタ62から入力された値と、入力データNとを加算して、出力端子sに出力する。これに応じて、レジスタ73は、第2のクロックCLKDIV2に同期して加算器71から入力された値を取り込んで、次の第2のクロックCLKDIV2に同期して、当該値を出力する(「レジスタ2出力」と表記)。例えば、レジスタ73は、最初にnを出力し、次に、n+n*2を出力する。
 レジスタ72及び73の出力が入力されたマルチプレクサ74は、選択信号に同期して、レジスタ72及び73の出力のいずれか一方を選択して出力する。この時、選択信号が第2のクロックCLKDIV2の反転信号であるので、第2のクロックCLKDIV2の1クロックの中間で、マルチプレクサ74の出力が、レジスタ72の出力からレジスタ73の出力に切り替わる。これにより、マルチプレクサ74は、レジスタ72の出力とレジスタ73の出力とを、交互に、出力端子Yに出力する(「マルチプレクサ出力」と表記)。
 出力レジスタ76は、第1のクロックCLKに同期してマルチプレクサ74の出力を取り込み、これを次の第1のクロックCLKに同期して出力端子Qに出力する。これが、ステップカウントの結果COUNTであり、
COUNT = n*i   (i=0,1,2,・・・,N-1)
というステップカウント更新値をnとする第1のクロックCLKに同期して更新出力されるステップカウントデータが得られる。
 (第4の実施態様)
 図10は、ステップカウンタの構成の他の一例を示す図である。
 図10のステップカウンタ57Aは、プリデータ処理部5Aと、ステップカウンタ6と、ポストインターリーブデータ処理部7Aとを備える。
 図10の例においては、ステップカウンタ6は入力データNのn倍をステップカウント増分値として動作する。これに対応して、ステップカウンタ6の出力では得られない増分値間のデータを補間するために、プリデータ処理部5Aに(n-1)個の演算器52が設けられ、また、ポストインターリーブデータ処理部7Aに(n-1)個の加算器77とn個のレジスタ78とが設けられる。プリデータ処理部5Aの(n-1)個の演算器52はそれぞれ入力データNから補間用およびステップカウンタ6の増分値用のNを2からn倍したデータを作成する。(n-1)個の加算器77のそれぞれはステップカウンタ6の出力では得られないステップカウント値を得るために、ステップカウンタ6の出力の値に該当する補間用データを加算して補間データを作成する。これにより、ステップカウンタ6の出力だけでは得られないステップカウントの補間データが、ポストインターリーブデータ処理部7Aにおいて別個に得られる。これにより、ステップカウンタ6の動作速度を、ステップカウントが同期している第1のクロックCLKの1/nとすることができる。従って、図10の集積回路装置のステップカウンタ57Aは、いわば1:nプリデータインターリーブ式のステップカウンタであると言うことができる。
 プリデータ処理部5Aは、入力された入力データNを、2倍からn倍したn個の値を出力する。このために、プリデータ処理部5Aは、(n-1)個の演算器52を備える。即ち、プリデータ処理部5Aは、ステップカウンタ6の出力の増分が入力データNの2倍からn倍の値を用いて算出されるので、入力データを2倍からn倍する演算を行う(n-1)個の演算器52で構成される。演算器52の各々は、データNが入力されると、これを2倍~n倍した値を出力する。
 入力データNのn倍のデータを出力する演算器52の出力は、ステップカウンタ6の加算器61に入力される。一方、入力データNと、入力データNの2倍から(n-1)倍のデータを出力する演算器52の出力とは、各々、ポストインターリーブデータ処理部7Aにおいて、対応する加算器77に入力される。
 これにより、加算器77のそれぞれは、ステップカウンタ6が出力する入力データをn倍したデータを累積加算した値と、入力データN又は入力データnsの2倍から(n-1)倍のデータを出力する演算器52の出力とを加算し、対応するレジスタ78に入力する。ステップカウンタ6の出力も、対応するレジスタ78に入力される。なお、以上の説明においては、入力信号としてのNとそのデータ値としてのnを同義的に用いている。
 これらのレジスタ78の出力COUNT_0~COUNT_(n-1)は、マルチプレクサ79に入力される。マルチプレクサ79は、セレクト信号発生器710からのセレクト信号に基づいて、出力COUNT_0~COUNT_(n-1)をこの順に選択して出力する。
 出力レジスタ711は、第1のクロックに同期して、マルチプレクサ79により選択された、レジスタ78出力COUNT_0~COUNT_(n-1)を、出力端子Qに出力する。これが、ステップカウント値COUNTである。
 (第5の実施態様)
 以上、本発明をその実施態様により説明したが、本発明は、その主旨の範囲内において種々の変形が可能である。
 例えば、本発明は、累積加算又はステップカウントと同様の演算の性質及び規則性を持つ演算に適用することができる。
 累積加算器について、今、演算がf、入力データがx、出力データがy、時間系列が 0,1, ・・・N-1 であるとする。この場合において、以下の性質1及び性質2を考慮する。
 性質1は、データの順序に無関係であることである。換言すれば、
yn = f(x0,x1,x2,x3, ・・・・,xN-2,xN-1) = f(xi,0,xi,1,xi,2,xi,3,・・・・,xi,N-2,xi,N-1
であることである。ここで、xi,0,xi,1,xi,2,xi,3,・・・・,xi,N-2,xi,N-1は、x0,x1,x2,x3,・・・・,xN-2,xN-1の置換である(即ち、順序を入れ替えたものである)。
 性質2は、データを2つ以上の集合に分割した場合、最終演算結果はグループ毎の演算結果の演算結果に等しいことである。また、最終的に必要な出力は1 つであり途中の演算結果は必ずしも必要でないことである。換言すれば、
yn1 = f(xn1,0,xn1,1,xn1,2,xn1,3,・・・・,xn1,N1-2,xn1,N1-1) 、
yn2 = f(xn2,0,xn2,1,xn2,2,xn2,3,・・・・,xn2,N2-2,xn2,N2-1) 、
yn3 = ・・・・・、
yn = f(yn1,yn2,yn3, ・・・・) 
であることである。
 以上の性質1及び性質2が成立する累積加算器と同様の性質および規則性をもつ演算であれば、これに本発明を適用することができる。
 なお、以上を図2の累積加算器に当てはめると、
yeN = f(x0,x2,x4,x6,・・・・,xN-4,xN-2) 、
yoN = f(x1,x3,x5, ・・・・,xN-3,xN-1) 、
yN = f(yeN , yoN
という関係式によって最終的な累積加算結果を算出している。なお、ここでは、説明の簡単化のために、Nは偶数を仮定している。
 また、ステップカウンタについて、演算がf、出力データがy、初期値がy、時間系列が 0,1, ・・・N-1 であるとする。この場合において、以下の性質1及び性質2を考慮する。
 性質1は、出力データ間の漸化式関係である。換言すれば、
yn+2 = f(yn+1) = f(f(yn)) = f2(yn) = fn1(yn-n1+2
である。ここで、f2は、2回同じ演算fを繰り返すことであり、fn1 はn1回同じ演算fを繰り返すことである。
 以上の性質1が成立するステップカウンタと同様の性質および規則性をもつ演算であれば、これに本発明を適用することができる。
 なお、以上を図8のステップカウンタに当てはめると、
y2n+2 = f2(y2n) 、
y2n+1 = f(y2n)
という関係式によって最終的に必要なステップカウント値を算出し、マルチプレクサで選択出力している。

Claims (4)

  1.  第1のクロックに同期して入力されたデータを、繰り返し設定された順にn(nは2以上の整数)個のグループに分けて出力する入力回路と、
     各々が、前記第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、前記入力回路から出力された当該単位累積加算器に対応するデータを累積加算した値を出力するn個の単位累積加算器と、
     前記n個の単位累積加算器の各々の出力を加算して出力する出力回路とを備える
     ことを特徴とする累積加算器を備える集積回路装置。
  2.  第1のクロックに同期して入力されたデータを、繰り返し設定された順にn(nは2以上の整数)個のグループに分けて出力する入力回路と、
     各々が、前記第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、前記入力回路から出力された当該単位累積加算器に対応するデータを累積加算した値を出力するn個の単位累積加算器と、
     前記n個の単位累積加算器の各々の出力を加算して出力する出力回路とを備える
     ことを特徴とする累積加算器を備える電子装置。
  3.  入力された入力データと、前記入力データを2からn(nは2以上の整数)までの整数倍した(n-1)個の値を出力する入力回路と、
     前記入力回路から出力された前記入力データをn倍した値を、第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、累積加算した値を出力するステップカウンタと、
     前記ステップカウンタの出力と前記入力データ又は前記入力回路から出力された前記(n-1)個の値の中の前記入力データを2から(n-1)倍した値の各々とを加算する(n-1)個の加算器と、前記第2のクロックに同期して、前記ステップカウンタの出力及び前記(n-1)個の加算器の出力を出力するn個のレジスタと、前記第2のクロックに基づいて形成された選択信号に同期して、前記n個のレジスタの出力を繰り返し設定された順に選択する選択回路と、前記第1のクロックに同期して、前記選択回路により選択された前記n個のレジスタの出力を出力する出力レジスタとを備える出力回路とを備える
     ことを特徴とするステップカウンタを備える集積回路装置。
  4.  入力された入力データと、前記入力データを2からn(nは2以上の整数)までの整数倍した(n-1)個の値を出力する入力回路と、
     前記入力回路から出力された前記入力データをn倍した値を、第1のクロックの周波数の1/nの周波数である第2のクロックに同期して、累積加算した値を出力するステップカウンタと、
     前記ステップカウンタの出力と前記入力データ又は前記入力回路から出力された前記(n-1)個の値の中の前記入力データを2から(n-1)倍した値の各々とを加算する(n-1)個の加算器と、前記第2のクロックに同期して、前記ステップカウンタの出力及び前記(n-1)個の加算器の出力を出力するn個のレジスタと、前記第2のクロックに基づいて形成された選択信号に同期して、前記n個のレジスタの出力を繰り返し設定された順に選択する選択回路と、前記第1のクロックに同期して、前記選択回路により選択された前記n個のレジスタの出力を出力する出力レジスタとを備える出力回路とを備える
     ことを特徴とするステップカウンタを備える電子装置。
PCT/JP2009/001471 2009-03-31 2009-03-31 集積回路装置及び電子装置 WO2010113205A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/001471 WO2010113205A1 (ja) 2009-03-31 2009-03-31 集積回路装置及び電子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/001471 WO2010113205A1 (ja) 2009-03-31 2009-03-31 集積回路装置及び電子装置

Publications (1)

Publication Number Publication Date
WO2010113205A1 true WO2010113205A1 (ja) 2010-10-07

Family

ID=42827540

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/001471 WO2010113205A1 (ja) 2009-03-31 2009-03-31 集積回路装置及び電子装置

Country Status (1)

Country Link
WO (1) WO2010113205A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104974A (ja) * 1993-10-01 1995-04-21 Kokusai Electric Co Ltd 高速積算回路
JPH09185492A (ja) * 1995-12-27 1997-07-15 Sony Corp 定数加算回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104974A (ja) * 1993-10-01 1995-04-21 Kokusai Electric Co Ltd 高速積算回路
JPH09185492A (ja) * 1995-12-27 1997-07-15 Sony Corp 定数加算回路

Similar Documents

Publication Publication Date Title
US8422619B2 (en) Clock frequency divider circuit, clock distribution circuit, clock frequency division method, and clock distribution method
JP5547569B2 (ja) パラレルシリアル変換装置
US8564336B2 (en) Clock frequency divider circuit and clock frequency division method
JP2011109555A (ja) パラレル−シリアル変換回路
JP2014102768A (ja) 乱数生成回路
JP4842989B2 (ja) プライオリティエンコーダならびにそれを利用した時間デジタル変換器、試験装置
JP2008538434A (ja) 高速フーリエ変換アーキテクチャ
WO2010004747A1 (ja) 多相クロック分周回路
US20140195578A1 (en) Fast fourier transform circuit
CN107888166B (zh) 多相位不交叠时钟信号产生电路及相应的方法
WO2010113205A1 (ja) 集積回路装置及び電子装置
JP2013074351A5 (ja)
JP4666462B2 (ja) カウンタ回路と、それを含む半導体装置
TWI469529B (zh) 非整數頻率時脈產生電路及其方法
TWI552528B (zh) 時脈產生裝置
JP5605472B2 (ja) パラレル−シリアル変換回路
WO2005002051A1 (ja) デジタルフィルタ
JP4595055B2 (ja) ガロア体のα乗算回路および演算回路
TWI462483B (zh) 用來產生輸出時脈訊號的時脈產生電路及相關方法
JP6289110B2 (ja) 集積回路
KR20080056036A (ko) 유한체 상의 고속 직렬 곱셈기 구조
JP5092475B2 (ja) 遅延信号発生回路
JP4996385B2 (ja) 信号遅延回路
KR20030032180A (ko) 카운팅 스피드를 개선시킨 카운터
JP5223696B2 (ja) クロック分周回路、及びクロック分周方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09842563

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09842563

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP