Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
LOW-POWER REGISTER ARRAY FOR FAST SHIFT OPERATIONS
Document Type and Number:
WIPO Patent Application WO/2006/085273
Kind Code:
A1
Abstract:
A data register (300) for use in a computer comprises a clock terminal (310) configured to receive a clock signal. A plurality of registers (320) are configured to selectively store data. A data input circuit (330) is coupled to the registers and configured to receive input data and selectively deliver the input data to the registers. A data output circuit (340) is coupled to the data registers and configured to selectively output the output data. A selector (350) is coupled to the data input circuit and the data output circuit, and configured to permit the input data to enter selected registers through the data input circuit and permit selected registers to output data through the data output circuit. The invention provides an efficient technique for loading the shift registers without a large number of simultaneous serial shifts. The result is a power-efficient device that achieves high performance objectives while minimizing power consumption.

Inventors:
BI LEI (NL)
PU TIANYAN (NL)
Application Number:
PCT/IB2006/050415
Publication Date:
August 17, 2006
Filing Date:
February 08, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KONINKL PHILIPS ELECTRONICS NV (NL)
PHILIPS CORP (US)
BI LEI (NL)
PU TIANYAN (NL)
International Classes:
G06F5/10
Foreign References:
EP1293888A22003-03-19
US5504913A1996-04-02
US4803654A1989-02-07
Other References:
None
Attorney, Agent or Firm:
Zawilski, Peter (Intellectual Property Department 1109 McKay Drive, M/S-41S, San Jose CA, US)
Download PDF:
Claims:
CLAIMS
1. What is claimed is: A data register (300) for use in a computer, comprising: a clock terminal (310) configured to receive a clock signal; a plurality of registers (320) configured to selectively store data; a data input circuit (330) coupled to the registers and configured to receive input data and selectively deliver the input data to the registers; a data output circuit (340) coupled to the data registers and configured to selectively output the output data; and a selector (350) coupled to the data input circuit and the data output circuit, and configured to permit the input data to enter selected registers through the data input circuit and permit selected registers to output data through the data output circuit.
2. The data register of claim 1, wherein: the data input circuit includes a demultiplexer; the data output circuit includes a multiplexer; and the selector includes an address generator.
3. The data register of claim 1, wherein: the data input circuit includes an enable input to the shift registers; the data output circuit includes a multiplexer; and the selector includes an address/enable generator.
4. The data register of claim 1 , wherein: the data input circuit includes combinatorial logic; the data output circuit includes a multiplexer and; the selector includes an address/enable generator.
5. The data register of claim 1, wherein: the selector is configured to sequentially select the plurality of registers for data input and data output.
6. The data register of claim 2, wherein: the selector is configured to sequentially select the plurality of registers for data input and data output.
7. The data register of claim 3, wherein: the selector is configured to sequentially select the plurality of registers for data input and data output.
8. The data register of claim 4, wherein: the selector is configured to sequentially select the plurality of registers for data input and data output. The data register of claim 5, wherein: the selector is configured to sequentially select the plurality of registers for data input and data output.
9. A method of temporarily storing data using a data register (300) having a plurality of registers (320), a data input circuit (330), a data output circuit (340), and a selector (350) comprising the steps of: selectively delivering input data to the registers through the data input circuit in response to the selector circuit; and selectively outputing output data from the registers through the data output circuit in response to the selector circuit.
10. The method of claim 10, wherein: the step of selectviely delivering the input data to the registers is sequential.
11. The method of claim 10, wherein: the step of selectviely outputing the output data from the registers is sequential.
12. The method of claim 11 , wherein: the step of selectviely outputing the output data from the registers is sequential.
Description:
LOW-POWER REGISTER ARRAY FOR FAST SHIFT OPERATIONS

The present invention relates to the general field of shift registers that aid in performing fast calculations based on shifting contents among registers. These types of shift registers are especially useful in signal processor applications. Shift register arrays are widely used in many signal processing applications such as

Finite Impulse Response (FIR) filters and Pipeline Fast Fourier Transforms (FFT) and its inverse Fast Fourier Transforms (IFFT). Figure 1 depicts a conventional shift register array with N registers 11 Oa-11Od, which are linked together in a chain with the output of one register coupled to the input of the next. Since there is no combinational circuit logic between registers, the shift register array can run at a high speed in conventional integrated circuit designs, for example, a Very Large Scale Integrated Circuit (VLSI) implementation. However, since N shifts are required for the input data to reach the output for each cycle in the shift register array, dynamic power consumption is correlates directly to the number N. Consequently, when N is a large number, the power consumption is also large.

Figure 2 depicts a conventional 128-point Fast Fourier Transform/Inverse Fast Fourier Transform (FFT/IFFT) design with R22SDF architecture (Radix-22 Single-path Delay Feedback). In Figure 2, BUFl 210al stands for a butterfly unit with data swapping and data negating. BUF2 210bl stands for a normal butterfly unit. Above each butterfly unit, there is a storage element array, for example 210a2 and 210b2. In a high-speed FFT/IFFT design, the storage element is normally implemented as a register array to improve the throughput. A conventional implementation of such a register array is the shift register array depicted in Figure 1. In this exemplary case, 127 register shifts are implemented for each cycle. Such a large number of shift operations will dissipate a large amount of dynamic power.

Engineers are keenly aware that power consumption is an important concern in modern VLSI design, which is especially true for integrated circuits used in mobile or portable devices. A low-power design is strongly desirable since these devices are powered by a battery. In such cases, it is justified to trade reasonable hardware cost for lower power consumption. Consequently, the invention is directed to reduce the power consumption in the shift-register array using a low-power register array. The invention provides a Random

Access Memory (RAM) technique that leads to low-power dissipation. Since the invention is constructed of registers, the invention can also achieve high throughput.

The invention provides a low-power register array for fast shift calculations. In the exemplary embodiments, a low-power RAM- like register array is utilized to provide the shift operations. The RAM- like register is similar to the shift register array and it can achieve a high throughput required by some applications such as fast FIR and high-speed FFT. However, the invention consumes much less dynamic power than a shift register array as it works like a RAM. Several exemplary architectures for the low-power RAM- like register array are provided. In the exemplary embodiment, a data register for use in a computer comprises a clock terminal configured to receive a clock signal. A plurality of registers are configured to selectively store data. A data input circuit is coupled to the registers and configured to receive input data and selectively deliver the input data to the registers. A data output circuit is coupled to the data registers and configured to selectively output the output data. A selector is coupled to the data input circuit and the data output circuit, and configured to permit the input data to enter selected registers through the data input circuit and permit selected registers to output data through the data output circuit.

The invention provides an efficient technique for loading the shift registers without a large number of simultaneous serial shifts. The result is a power-efficient device that achieves high performance objectives while minimizing power consumption.

The invention is described with reference to the following figures.

Figure 1 depicts a conventional shift register array;

Figure 2 depicts a conventional 128-point R2 2 SDF FFT/IFFT architecture;

Figure 3 depicts a low-power data register architecture according to an embodiment of the invention;

Figure 4 depicts a low-power data register architecture with a demultiplexer, a multiplexer and an address register according to an embodiment of the invention;

Figure 5 depicts a low-power data register architecture with chip enabled registers and an address/enable generator according to an embodiment of the invention; and Figure 6 depicts a low-power data register architecture with clock gating and an address/enable generator according to an embodiment of the invention.

The invention is described with reference to specific apparatus and embodiments. Those skilled in the art will recognize that the description is for illustration and to provide the best mode of practicing the invention.

One exemplary concept of the invention is that a low-power RAM- like register array can be constructed so that only one data is input to the array and one data is output from the array at any given time. Therefore, the N data shifts may be avoided by delivering the input data to a register, whose content will be the output at current clock cycle. Thus, only one register is toggled instead of N registers. This concept helps to significantly reduce power consumption while still providing a fast throughput. Figure 3 depicts a low-power data register architecture 300 according to an embodiment of the invention. A clock input 310 is provided to the registers 320 to clock synchronize the data input to the registers and output from the registers. A data input circuit 330 is coupled to the registers 320 and configured to receive input data and selectively deliver the input data to the registers. A data output circuit 340 is coupled to the data registers 320 and configured to selectively output the output data. A selector 350 is coupled to the data input circuit 330 and the data output circuit 340, and configured to permit the input data to enter selected registers through the data input circuit and permit selected registers to output data through the data output circuit.

The data input circuit 330 can be constructed in a number of different ways, which are demonstrated below in additional figures. Likewise, while the data output circuit 340 is shown as a multiplexer in all the figures below, there are similar modifications that can be made to that circuit.

Figure 4 depicts a low-power data register architecture 300A with a demultiplexer 33OA and a multiplexer 340A and an address register 350A according to an embodiment of the invention. The register block 320 is constructed by using a plurality of N registers 320A0 to 320AN-1. In one aspect, the address register 350A increments in an ascending order to load the registers in order through the demultiplexer 33OA. Likewise, the address register 350A may also unload the registers in order through the multiplexer 340A.

The address generator 350A generates an address signal for the demultiplexer 330 so that the input data can be correctly passed to the register, whose content will be output at this cycle. The same address signal goes to the multiplexer 340 since the register accepting the input data will produce the output.

Compared to the shift register architecture in Figure 1, some extra hardware (i.e. a demultiplexer 33OA, a multiplexer 340A and an Address Generator 350A) is employed in Figure 4. In one aspect, the address generator 350A is a counter that counts from 0 to N-I for a N-register array. The hardware cost of 1 :N demutiplexer 33OA and N: 1 multiplexer 340A can be significant, but the overall power is reduced very significantly.

Additional embodiments are provided to demonstrate further reductions in hardware that can be implemented according to the invention.

Figure 5 depicts a low-power data register architecture 300B with chip enabled registers 320Al to 320AN-1 and an address/enable generator 350B according to an embodiment of the invention. The register block 320 is constructed by using a plurality of N registers 320B0 to 320BN-1, and these registers are chip enabled by the input from the address/enable generator 350B. Basically, a standard register is replaced with holdable registers 320B0 to 320BN-1 so that the data is only clocked into the register when the enable signal is active. The data input circuit 330 in this embodiment is labeled 33OB and includes the chip enable signals 33 OBE that control the enablement of the registers 320B0 to 320BN-1. In one aspect, the address/enable generator 350B increments in an ascending order to load the registers in order through the data input circuit 33OB. Likewise, the address register 350A may also unload the registers in order through the multiplexer 340B. This embodiment eliminates the demultiplexer 33OA in Figure 4. Since a holdable register is similar in silicon area as a standard register, the extra hardware is reduced nearly by half with the architecture in Figure 5 when it compares with the architecture in Figure 4.

Another way to achieve more power saving with a reasonable extra hardware is to use clock gating. Figure 6 depicts a low-power data register architecture 300C with clock gating 33OC and an address/enable generator 350C according to an embodiment of the invention. The register block 320 is constructed by using a plurality of N registers 320C0 to 320CN-1. In this aspect, since one register is toggled at each cycle, the other N-I registers can be disabled with a clock gating scheme. The data input circuit 330 in this embodiment is labeled 33OB and includes the enable signals 33 OCE that control the clock to the registers 320C0 to 320CN-1. The clock for each register is disabled when the corresponding enable signal is deactivated. The clock gating can be implemented by manual RTL coding or with aid of EDA tools like Synosys's power compiler. In one aspect, the address/enable generator 350C increments in an ascending order to load the registers in order through the

data input circuit 33OC. Likewise, the address register 350A may also unload the registers in order through the multiplexer 340B.

A comparison in term of hardware cost and power saving for the above three architectures are shown in Table 1.

TABLE 1

As shown in Table 1, the architectures depicted in Figures 5 and 6 are promising and can lead a low-power design with some moderate extra hardware.

Advantages of the invention are numerous. The invention provides an efficient technique for loading the shift registers without a large number of simultaneous serial shifts. The result is a power-efficient device that achieves high performance objectives while minimizing power consumption.

Having disclosed exemplary embodiments and the best mode, modifications and variations may be made to the disclosed embodiments while remaining within the subject and spirit of the invention as defined by the following claims.