JP2011164688A - Cumulative addition circuit - Google Patents
Cumulative addition circuit Download PDFInfo
- Publication number
- JP2011164688A JP2011164688A JP2010023284A JP2010023284A JP2011164688A JP 2011164688 A JP2011164688 A JP 2011164688A JP 2010023284 A JP2010023284 A JP 2010023284A JP 2010023284 A JP2010023284 A JP 2010023284A JP 2011164688 A JP2011164688 A JP 2011164688A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- bit
- count value
- counter
- register
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Abstract
【課題】累積加算回路の消費電力を削減すること。
【解決手段】累積加算回路は、加算回路と、カウンタと、クロックゲーティング制御回路とを備える。加算回路は、所定ビットのデータを累積加算し、桁上げが発生した場合に桁上げ信号を活性化する。カウンタは、桁上げ信号が活性化されているときにカウントアップを行い、Nビットのカウント値を累積加算結果の上位桁として出力する。カウンタは、カウント値のそれぞれのビットをラッチするNビットレジスタを備える。桁上げ信号の活性化に応じて値が変化するビットを保持するレジスタは、活性レジスタである。クロックゲーティング制御回路は、加算回路から桁上げ信号を受け取り、且つ、カウンタからカウント値を受け取る。桁上げ信号が活性化された場合、クロックゲーティング制御回路は、カウンタから受け取ったカウント値を参照することによって、活性レジスタへのクロック供給だけを活性化し、それ以外のクロック供給を非活性化する。
【選択図】図1The power consumption of a cumulative adder circuit is reduced.
A cumulative addition circuit includes an addition circuit, a counter, and a clock gating control circuit. The adder circuit cumulatively adds predetermined bits of data, and activates a carry signal when a carry occurs. The counter counts up when the carry signal is activated, and outputs the N-bit count value as the upper digit of the cumulative addition result. The counter includes an N-bit register that latches each bit of the count value. A register holding a bit whose value changes in response to activation of the carry signal is an active register. The clock gating control circuit receives the carry signal from the adder circuit and the count value from the counter. When the carry signal is activated, the clock gating control circuit refers to the count value received from the counter, and activates only the clock supply to the activation register and deactivates other clock supplies. .
[Selection] Figure 1
Description
本発明は、半導体集積回路における累積加算回路に関する。 The present invention relates to a cumulative addition circuit in a semiconductor integrated circuit.
半導体集積回路において、複数のデジタルデータを累積的に加算する累積加算回路が用いられる場合がある。 In a semiconductor integrated circuit, a cumulative addition circuit that cumulatively adds a plurality of digital data may be used.
例えば、デジタルTVやディスクプレーヤー等の画像処理を行う機器において、画像をより鮮明に表示するために、画像の動き解析等の画像解析が行われる。その画像解析において、複数の画素データを累積加算した結果が用いられる。例えば、水平1ラインに1920画素を有するHDサイズの画像に関して、8ビットの画素データを1920回累積加算することを考える。その場合、19ビット構成の累積加算回路が必要となる。処理する画素数は高画質化に伴って増加し、そのことは、累積加算回路の消費電力の更なる増大を招く。 For example, in an apparatus that performs image processing such as a digital TV or a disk player, image analysis such as image motion analysis is performed in order to display an image more clearly. In the image analysis, a result obtained by accumulating a plurality of pixel data is used. For example, it is assumed that 8-bit pixel data is cumulatively added 1920 times for an HD size image having 1920 pixels in one horizontal line. In that case, a 19-bit configuration cumulative addition circuit is required. The number of pixels to be processed increases with an increase in image quality, which causes a further increase in power consumption of the cumulative addition circuit.
特許文献1には、消費電力の低減を目的としたカウンタが記載されている。そのカウンタにおいて、下位桁カウンタと上位桁カウンタとの間にクロックゲーティング制御回路が介挿されている。下位桁カウンタは、リプルカウンタであり、クロックのアップカウントを行う。下位桁カウンタのカウント値が上限値となって桁上げを行うべきとき、クロックゲーティング制御回路は、クロックCLKaを上位桁カウンタへ供給する。上位桁カウンタは、同期カウンタであり、このようにして供給されるクロックCLKaのアップカウントを行う。
累積加算回路の消費電力を低減することが望まれる。上記特許文献1に記載された技術によれば、桁上げ発生時、クロックCLKaが上位桁カウンタの全てのレジスタに供給される。すなわち、アップカウントにより保持データが変化しないレジスタに対しても、クロックCLKaが供給される。この場合、当該レジスタを構成する回路の負荷容量が、クロックCLKaの変化によって電力を消費してしまう。すなわち、消費電力がいたずらに増大してしまう。このような消費電力の増大は、データビット数や累積加算回数の増加に伴って、更に顕著になる。
It is desired to reduce the power consumption of the cumulative addition circuit. According to the technique described in
本発明の1つの観点において、累積加算回路が提供される。その累積加算回路は、加算回路と、カウンタと、クロックゲーティング制御回路とを備える。加算回路は、所定ビットのデータを累積加算し、該累積加算結果の下位桁を出力し、且つ、桁上げが発生した場合に桁上げ信号を活性化する。カウンタは、桁上げ信号が活性化されているときにカウントアップを行い、Nビット(Nは2以上の整数)のカウント値を累積加算結果の上位桁として出力する。クロックゲーティング制御回路は、カウンタへのクロック供給を制御する。 In one aspect of the invention, a cumulative adder circuit is provided. The cumulative addition circuit includes an addition circuit, a counter, and a clock gating control circuit. The adder circuit cumulatively adds data of predetermined bits, outputs a lower digit of the cumulative addition result, and activates a carry signal when a carry occurs. The counter counts up when the carry signal is activated, and outputs a count value of N bits (N is an integer of 2 or more) as an upper digit of the cumulative addition result. The clock gating control circuit controls clock supply to the counter.
カウンタは、供給されるクロックに応答してカウント値のそれぞれのビットをラッチするNビットのレジスタを備える。Nビットのカウント値のうち、桁上げ信号の活性化に応じて値が変化するビットは、変化ビットである。Nビットのレジスタのうち、変化ビットを保持するレジスタは、活性レジスタである。活性レジスタに供給されるクロックは、対象クロックである。 The counter includes an N-bit register that latches each bit of the count value in response to a supplied clock. Of the N-bit count value, a bit whose value changes in response to activation of the carry signal is a change bit. Of the N-bit registers, the register holding the change bit is an active register. The clock supplied to the activation register is the target clock.
クロックゲーティング制御回路は、加算回路から桁上げ信号を受け取り、且つ、カウンタからカウント値を受け取る。桁上げ信号が活性化された場合、クロックゲーティング制御回路は、カウンタから受け取ったカウント値を参照することによって、対象クロックの供給だけを活性化し、それ以外のクロック供給を非活性化する。 The clock gating control circuit receives the carry signal from the adder circuit and the count value from the counter. When the carry signal is activated, the clock gating control circuit refers to the count value received from the counter to activate only the supply of the target clock and deactivate the other clock supplies.
本発明によれば、累積加算回路の消費電力を削減することが可能である。 According to the present invention, it is possible to reduce the power consumption of the cumulative addition circuit.
1.第1の実施の形態
1−1.構成
図1は、本発明の第1の実施の形態に係る累積加算回路を示すブロック図である。累積加算回路は、所定ビットの入力データ111を累積加算し、累積加算結果を出力する。以下の説明において、入力データ111は8ビットのデータであり、また、累積加算結果は19ビットのデータA[18:0]として表されるとする。尚、A[18:0]は、A[18]、A[17]、・・・A[0]が[]内の数字の順に並んでいる事を表している。
1. 1. First embodiment 1-1. Configuration FIG. 1 is a block diagram showing a cumulative addition circuit according to a first embodiment of the present invention. The cumulative addition circuit cumulatively adds the
図1に示されるように、本実施の形態に係る累積加算回路は、下位桁加算回路61、上位桁カウンタ62、及びクロックゲーティング制御回路63を備えている。下位桁加算回路61は、累積加算結果の下位桁である8ビットのデータA[7:0]を算出し、出力する。一方、上位桁カウンタ62は、累積加算結果の上位桁である11ビットのデータA[18:8]を算出し、出力する。クロックゲーティング制御回路63は、下位桁加算回路61及び上位桁カウンタ62に接続されている。このクロックゲーティング制御回路63は、上位桁カウンタ62へのクロック供給を制御する。各回路の詳細は、次の通りである。 As shown in FIG. 1, the cumulative addition circuit according to the present embodiment includes a lower digit addition circuit 61, an upper digit counter 62, and a clock gating control circuit 63. The lower digit addition circuit 61 calculates and outputs 8-bit data A [7: 0], which is the lower digit of the cumulative addition result. On the other hand, the upper digit counter 62 calculates and outputs 11-bit data A [18: 8], which is the upper digit of the cumulative addition result. The clock gating control circuit 63 is connected to the lower digit adding circuit 61 and the upper digit counter 62. The clock gating control circuit 63 controls the clock supply to the upper digit counter 62. Details of each circuit are as follows.
(下位桁加算回路61)
下位桁加算回路61は、複数の入力データ111を連続的に受け取り、それら入力データ111を累積的に加算する。そして、下位桁加算回路61は、累積加算結果の下位桁である8ビットのデータA[7:0]を出力する。更に、下位桁加算回路61は、クロックゲーティング制御回路63に接続されており、クロックゲーティング制御回路63に桁上げ信号112を出力する。下位桁からの桁上げが発生した場合、下位桁加算回路61は、その桁上げ信号112を活性化する。本実施の形態では、桁上げ信号112に関して、“1(High)”が活性状態を表し、“0(Low)”が非活性状態を表す。
(Lower digit addition circuit 61)
The lower digit addition circuit 61 continuously receives a plurality of
より詳細には、図1に示されるように、下位桁加算回路61は、8ビット加算回路71及び8ビットレジスタ72を備えている。8ビット加算回路71は、8ビットの入力データ111を順次受け取る。8ビット加算回路71は、各入力データ111と累積加算結果の下位8ビットデータA[7:0]とを加算し、加算結果を8ビットレジスタ72に出力する。また、8ビット加算回路71は、桁上げが発生する度に桁上げ信号112を活性化する。
More specifically, as shown in FIG. 1, the lower digit addition circuit 61 includes an 8-
8ビットレジスタ72は、8ビット加算回路71の出力に接続されている。また、8ビットレジスタ72には、外部からクロック100が供給される。そのクロック100の立ち上がりに応答して、8ビットレジスタ72は、8ビット加算回路71からの出力データを下位8ビットデータA[7:0]としてラッチする。その下位8ビットデータA[7:0]は、外部に出力されると共に、8ビット加算回路71にフィードバックされる。
The 8-
(上位桁カウンタ62)
上位桁カウンタ62は、カウント動作を行い、Nビット(Nは2以上の整数)のカウント値を出力する。より詳細には、カウント値の初期値は0であり、上位桁カウンタ62は、下位桁加算回路61によって桁上げ信号112が活性化される度に、1ずつカウントアップを行う。従って、このNビットのカウント値が、累積加算結果の上位桁となる。本実施の形態では、N=11であり、上位桁カウンタ62は、11ビットのカウント値を、累積加算結果の上位11ビットデータA[18:8]として出力する。
(Upper digit counter 62)
The upper digit counter 62 performs a count operation and outputs a count value of N bits (N is an integer of 2 or more). More specifically, the initial value of the count value is 0, and the upper digit counter 62 counts up by one each time the
より詳細には、図1に示されるように、上位桁カウンタ62は、11ビット加算回路81及び11ビットレジスタ82を備えている。11ビット加算回路81は、上位11ビットデータA[18:8]を受け取る。11ビット加算回路81は、その上位11ビットデータA[18:8]に「1」を加算することによって加算データD[10:0]を生成し、その加算データD[10:0]を11ビットレジスタ82に出力する。
More specifically, as shown in FIG. 1, the upper digit counter 62 includes an 11-
11ビットレジスタ82は、11ビット加算回路81の出力に接続されている。また、11ビットレジスタ82には、クロックゲーティング制御回路63からクロック(310〜320)が供給される。そのクロック供給に応答して、11ビットレジスタ82は、加算データD[10:0]を上位11ビットデータA[18:8]としてラッチする。その上位11ビットデータA[18:8]は、外部に出力されると共に、11ビット加算回路81にフィードバックされる。後に説明されるように、クロックゲーティング制御回路63からのクロック供給は、上述の桁上げ信号112が活性化された場合に活性化される。従って、上位11ビットデータA[18:8]は、桁上げ信号112が活性化されているときにカウントアップされることになる。
The 11-bit register 82 is connected to the output of the 11-
図2は、本実施の形態における11ビットレジスタ82の構成例を示す回路図である。11ビットレジスタ82は、上位11ビットデータA[18:8]のそれぞれのビットを保持する11個のレジスタ(第1〜第11レジスタ)を備えている。図2の例において、第1〜第11レジスタは、フリップフロップFF0〜FF10である。それらフリップフロップFF0〜FF10が、下位側から上位側に向けてビットA[8]〜ビットA[18](第1〜第Nビット)のそれぞれを保持し、出力する。より詳細には、フリップフロップFF0〜FF10には、加算データD[10:0]のそれぞれのビットD[0]〜D[10]が入力される。また、フリップフロップFF0〜FF10のそれぞれには、別々のクロック配線を介して、別々のクロック310〜320が供給される。フリップフロップFF0〜FF10は、それぞれ、クロック310〜320の立ち上がりに応答して、最新の上位11ビットデータA[18:8](すなわち、加算データD[10:0])をラッチし、出力する。
FIG. 2 is a circuit diagram showing a configuration example of the 11-bit register 82 in the present embodiment. The 11-bit register 82 includes 11 registers (first to eleventh registers) that hold the respective bits of the upper 11-bit data A [18: 8]. In the example of FIG. 2, the first to eleventh registers are flip-flops FF0 to FF10. The flip-flops FF0 to FF10 hold and output bits A [8] to A [18] (first to Nth bits) from the lower side to the upper side. More specifically, the respective bits D [0] to D [10] of the addition data D [10: 0] are input to the flip-flops FF0 to FF10.
(クロックゲーティング制御回路63)
クロックゲーティング制御回路63は、下位桁加算回路61及び上位桁カウンタ62に接続されている。クロックゲーティング制御回路63は、クロック100を受け取り、下位桁加算回路61から桁上げ信号112を受け取り、更に、上位桁カウンタ62から上位11ビットデータA[18:8]を受け取る。そして、クロックゲーティング制御回路63は、桁上げ信号112及び上位11ビットデータA[18:8]に基いて、上位桁カウンタ62へのクロック310〜320の供給を制御する。
(Clock gating control circuit 63)
The clock gating control circuit 63 is connected to the lower digit adding circuit 61 and the upper digit counter 62. The clock gating control circuit 63 receives the
より詳細には、次の通りである。上位11ビットデータA[18:8]のうち、桁上げ信号112の活性化に応じて値が変化するビットは、以下「変化ビット」と参照される。11ビットレジスタ82(フリップフロップFF0〜FF10)のうち、変化ビットを保持するレジスタは、以下「活性レジスタ」と参照される。その活性レジスタに供給されるクロックは、以下「対象クロック」と参照される。桁上げ信号112が活性化されたとき、クロックゲーティング制御回路63は、上位桁カウンタ62から受け取った上位11ビットデータA[18:8](カウントアップ前のカウント値)を参照することによって、変化ビット、活性レジスタ及び対象クロックを認識することができる。それにより、クロックゲーティング制御回路63は、活性レジスタへの対象クロックの供給だけを活性化し、それ以外のレジスタへのクロック供給を非活性化することができる。その結果、上位桁カウンタ62の消費電力が削減される。
More details are as follows. Of the upper 11-bit data A [18: 8], a bit whose value changes in response to the activation of the
図3は、桁上げ信号112、上位11ビットデータA[18:8]、及びクロック310〜320の活性化/非活性化の間の対応関係を示している。桁上げ信号112に関して、“1”が活性状態(桁上げ発生)を表し、“0”が非活性状態を表す。上位11ビットデータA[18:8]に関して、最左端が最上位ビットA[18]を表し、最右端が最下位ビットA[8]を表し、“x”は“0”、“1”のどちらでもよいことを表す。クロック310〜320に関して、“ON”が活性化(供給)を表し、“OFF”が非活性化(停止)を表す。
FIG. 3 shows a correspondence relationship between the
図3に示されるように、クロック310〜320のON/OFFパターンは、桁上げ信号112及び上位11ビットデータA[18:8]のパターンに依存して決まる。特に、A[18:8]のうち値が0であって最も下位側に位置する「最下位0ビット」に着目すると、桁上げ信号112=“1”の場合は、その最下位0ビットの位置によってクロック310〜320のON/OFFパターンが決まることが分かる。すなわち、上位11ビットデータA[18:8]のうち、最下位ビットA[8]から最下位0ビットまでのビットが、上述の「変化ビット」である。従って、最下位ビットA[8]から最下位0ビットまでを保持するレジスタにだけ、対応するクロックを供給すればよい。
As shown in FIG. 3, the ON / OFF pattern of the
このように、上位11ビットデータA[18:8]中の最下位0ビットの位置に基いて、クロック310〜320のON/OFFパターンを決定することができる。そのために、図1に示されるように、クロックゲーティング制御回路63は、クロックゲーティング回路91及び0位置検出回路92を有している。0位置検出回路92は、上位桁カウンタ62から上位11ビットデータA[18:8]を受け取り、その上位11ビットデータA[18:8]中の最下位0ビットの位置を検出する。クロックゲーティング回路91は、その検出結果に基づき、図3で示された対応関係に従って、クロック310〜320の供給を制御する。
Thus, the ON / OFF pattern of the
図4は、本実施の形態におけるクロックゲーティング制御回路63の構成例を示す回路図である。クロックゲーティング制御回路63は、11個のクロックゲートCG0〜CG10(第1〜第11クロックゲート)を備えている。クロックゲートCG0〜CG10は、それぞれ、フリップフロップFF0〜FF10(第1〜第11レジスタ)に接続されており、フリップフロップFF0〜FF10へのクロック310〜320の供給を制御する。
FIG. 4 is a circuit diagram showing a configuration example of the clock gating control circuit 63 in the present embodiment. The clock gating control circuit 63 includes eleven clock gates CG0 to CG10 (first to eleventh clock gates). The clock gates CG0 to CG10 are connected to the flip-flops FF0 to FF10 (first to eleventh registers), respectively, and control the supply of the
クロックゲートCG0〜CG10の各々は、図5に示されるような構成を有している。具体的には、クロックゲートは、ラッチ回路51及びANDゲート52を有している。また、クロックゲートには、入力クロックCLK1及びイネーブル信号EN1が入力される。ラッチ回路51は、入力クロックCLK1がLレベル(“0”)のときにイネーブル信号EN1を通過させ、入力クロックCLK1の立ち上がりエッジでイネーブル信号EN1をラッチする。ラッチ回路51の出力はイネーブル信号EN2である。ANDゲート52には入力クロックCLK1及びイネーブル信号EN2が入力され、それらの論理積が出力クロックCLK2として出力される。
Each of the clock gates CG0 to CG10 has a configuration as shown in FIG. Specifically, the clock gate has a
このような構成のクロックゲートは、次のように動作する。入力クロックCLK1が非活性化されている場合、つまり、入力クロックCLK1が“0”のまま変わらない場合、出力クロックCLK2も“0”のまま変わらず、非活性化される。すなわち、クロック供給が非活性化(遮断)される。また、イネーブル信号EN1が非活性化されている場合、つまり、イネーブル信号EN1が“0”の場合、イネーブル信号EN2も“0”となる。その結果、出力クロックCLK2は“0”のまま変わらず、非活性化される。すなわち、クロック供給が非活性化(遮断)される。一方、入力クロックCLK1及びイネーブル信号EN1が共に活性化されている場合、入力クロックCLK1が出力クロックCLK2として出力される。すなわち、クロック供給が活性化される。 The clock gate having such a configuration operates as follows. When the input clock CLK1 is inactivated, that is, when the input clock CLK1 remains “0”, the output clock CLK2 remains “0” and is deactivated. That is, the clock supply is deactivated (cut off). When the enable signal EN1 is inactivated, that is, when the enable signal EN1 is “0”, the enable signal EN2 is also “0”. As a result, the output clock CLK2 remains “0” and remains inactive. That is, the clock supply is deactivated (cut off). On the other hand, when both the input clock CLK1 and the enable signal EN1 are activated, the input clock CLK1 is output as the output clock CLK2. That is, the clock supply is activated.
再度図4を参照すると、第1クロックゲート(クロックゲートCG0)は、クロック100を入力クロックCLK1として受け取り、また、桁上げ信号112をイネーブル信号EN1として受け取る。また、パラメータiが2〜Nの各々であるとき、第iクロックゲート(クロックゲートCG(i−1))は、第(i−1)クロックゲートから出力される出力クロックCLK2を入力クロックCLK1として受け取る。更に、その第iクロックゲートは、ビットA[8]〜ビットA[17](第1〜第10ビット)のうち第(i−1)ビットを、イネーブル信号EN1として受け取る。このような構成により、図3で示された対応関係が実現される。
Referring to FIG. 4 again, the first clock gate (clock gate CG0) receives the
1−2.動作例
図6は、本実施の形態に係る累積加算回路の動作例を示すタイミングチャートである。より詳細には、図6は、上位桁カウンタ62におけるカウント値(上位11ビットデータA[18:8])が初期値“0”から“8”まで増加する例を示している。
1-2. Operation Example FIG. 6 is a timing chart showing an operation example of the cumulative addition circuit according to the present embodiment. More specifically, FIG. 6 shows an example in which the count value (upper 11-bit data A [18: 8]) in the upper digit counter 62 increases from the initial value “0” to “8”.
時刻t1でのクロック100の立ち上がりエッジで、桁上げ信号112が、“0”から“1”に変わる。この桁上げ信号112は、クロックゲートCG0にイネーブル信号EN1として入力される。
At the rising edge of
時刻t2において、クロックゲートCG0のイネーブル信号EN2が“0”から“1”に変わる。その結果、クロック310の供給が活性化される。
At time t2, the enable signal EN2 of the clock gate CG0 changes from “0” to “1”. As a result, the supply of the
時刻t3において、クロック310が立ち上がる。その他のクロックは停止している。フリップフロップFF0は加算データD[0]=“1”をラッチし、ビットA[8]が“1”になる。つまり、カウント値A[18:8]が“1”になる。
At time t3, the
クロックゲートCG1には、ビットA[8]=“1”がイネーブル信号EN1として入力され、また、活性化されたクロック310が入力クロックCLK1として入力される。従って、時刻t4において、クロックゲートCG1のイネーブル信号EN2が“0”から“1”に変わる。その結果、クロック311の供給が活性化される。
Bit A [8] = “1” is input to the clock gate CG1 as the enable signal EN1, and the activated
時刻t5において、クロック310及びクロック311が立ち上がる。その他のクロックは停止している。フリップフロップFF0は加算データD[0]=“0”をラッチし、ビットA[8]が“0”になる。また、フリップフロップFF1は加算データD[1]=“1”をラッチし、ビットA[9]が“1”になる。つまり、カウント値A[18:8]が“2”になる。
At time t5, the
クロックゲートCG1には、ビットA[8]=“0”がイネーブル信号EN1として入力される。従って、時刻t6において、クロックゲートCG1のイネーブル信号EN2が“1”から“0”に変わり、クロック311が非活性化される。このとき、クロックゲートCG2にはビットA[9]=“1”がイネーブル信号EN1として入力されているが、入力クロック311が非活性化されたため、クロック312も停止したままである。
Bit A [8] = “0” is input to clock gate CG1 as enable signal EN1. Therefore, at time t6, the enable signal EN2 of the clock gate CG1 changes from “1” to “0”, and the
時刻t7において、クロック310が立ち上がる。フリップフロップFF0は加算データD[0]=“1”をラッチし、ビットA[8]が“1”になる。つまり、カウント値A[18:8]が“3”になる。
At time t7, the
クロックゲートCG1には、再度、ビットA[8]=“1”がイネーブル信号EN1として入力される。従って、時刻t8において、クロックゲートCG1のイネーブル信号EN2が“0”から“1”に変わる。その結果、クロック311の供給が再度活性化される。クロック311が活性化されるため、クロックゲートCG2によるクロック312の供給も活性化される。
The bit A [8] = “1” is input again to the clock gate CG1 as the enable signal EN1. Accordingly, at time t8, the enable signal EN2 of the clock gate CG1 changes from “0” to “1”. As a result, the supply of the
時刻t9において、クロック310、311、312が立ち上がる。その他のクロックは停止している。フリップフロップFF0は加算データD[0]=“0”をラッチし、ビットA[8]が“0”になる。また、フリップフロップFF1は加算データD[1]=“0”をラッチし、ビットA[9]が“0”になる。また、フリップフロップFF1は加算データD[1]=“1”をラッチし、ビットA[10]が“1”になる。つまり、カウント値A[18:8]が“4”になる。その後も同様である。 At time t9, clocks 310, 311 and 312 rise. Other clocks are stopped. The flip-flop FF0 latches the addition data D [0] = “0”, and the bit A [8] becomes “0”. The flip-flop FF1 latches the addition data D [1] = “0”, and the bit A [9] becomes “0”. The flip-flop FF1 latches the addition data D [1] = “1”, and the bit A [10] becomes “1”. That is, the count value A [18: 8] becomes “4”. The same applies thereafter.
1−3.効果
以上に説明されたように、本実施の形態によれば、カウント値A[18:8]中の変化ビットを保持する活性レジスタにだけ、必要なクロックが供給される。一方、アップカウントにより保持データが変化しないレジスタに対しては、クロック供給が非活性化(遮断)される。従って、消費電力が削減される。
1-3. Effect As described above, according to the present embodiment, a necessary clock is supplied only to the active register that holds the change bits in the count value A [18: 8]. On the other hand, the clock supply is deactivated (blocked) for a register whose retained data does not change due to the up-count. Therefore, power consumption is reduced.
比較例として、上記特許文献1(特開2008−109563号公報)と同じように、桁上げ信号112が活性化されたときにクロック310〜320の全てが活性化される場合を考える。2048回アップカウントする間に、上位桁カウンタ62の11ビットレジスタ82に供給されるクロック回数は、22528(=2048×11)回となる。また、クロックゲーティング制御回路63内のクロックゲートは共通化され、その共通のクロックゲートにはクロック100が2048回供給される。クロックゲート内では、ラッチ回路51及びANDゲート52の2つの回路にクロックが供給され、そのクロック回数は、4096(=2048×2)回である。よって、クロック総数は26624(=22528+4096)回となる。
As a comparative example, let us consider a case where all of the
一方、本実施の形態では次の通りである。図6から分かるように、クロック311の回数はクロック310の回数の半分であり、クロック312の回数はクロック311の回数の半分である。その他も同様で、ある段のクロックの回数は、前段のクロックの回数の半分となる。従って、2048回(211回)アップカウントする間に、上位桁カウンタ62の11ビットレジスタ82に供給されるクロック回数は、4094(=211+210+・・・・+21)回となる。また、クロックゲート制御回路63に関して、クロックゲートCG0にはクロック100が2048回供給される。クロックゲートCG1〜CG10には、クロック310〜319がそれぞれ供給される。従って、クロックゲートCG0〜CG11に供給されるクロック回数は、6140(=211+211+210+29+・・・+22)回となる。各クロックゲート内では、ラッチ回路51及びANDゲート52の2つの回路にクロックが供給される。従って、クロック総数は、16374(=4094+6140×2)回となる。これは、比較例の62%以下であり、これに伴い消費電力も削減される。
On the other hand, this embodiment is as follows. As can be seen from FIG. 6, the number of
2.第2の実施の形態
図7は、本発明の第2の実施の形態に係る累積加算回路を示すブロック図である。既出の第1の実施の形態と比較して、クロックゲーティング制御回路63がクロックゲーティング制御回路63Bで置換され、11ビットレジスタ82が11ビットレジスタ82Bで置換されている。クロックゲーティング制御回路63Bは、11ビットレジスタ82Bへのクロック810〜812の供給を制御する。その他は第1の実施の形態と同様であり、重複する説明は適宜省略される。
2. Second Embodiment FIG. 7 is a block diagram showing a cumulative addition circuit according to a second embodiment of the present invention. As compared with the first embodiment, the clock gating control circuit 63 is replaced with the clock gating control circuit 63B, and the 11-bit register 82 is replaced with the 11-bit register 82B. The clock gating control circuit 63B controls the supply of the
図8は、11ビットレジスタ82Bの回路構成例を示している。11ビットレジスタ82Bは、ビットA[8]〜ビットA[18](第1〜第11ビット)のそれぞれを保持するフリップフロップFF0〜FF10(第1〜第11レジスタ)を備えている。本実施の形態において、それらフリップフロップFF0〜FF10は、M個(Mは2以上N以下の整数)のグループに区分けされる。図8の例において、M=3であり、第1グループはフリップフロップFF0〜FF3を含み、第2グループはフリップフロップFF4〜FF7を含み、第3グループはフリップフロップFF8〜FF10を含んでいる。 FIG. 8 shows a circuit configuration example of the 11-bit register 82B. The 11-bit register 82B includes flip-flops FF0 to FF10 (first to eleventh registers) that hold bits A [8] to A [18] (first to eleventh bits), respectively. In the present embodiment, the flip-flops FF0 to FF10 are divided into M groups (M is an integer of 2 or more and N or less). In the example of FIG. 8, M = 3, the first group includes flip-flops FF0 to FF3, the second group includes flip-flops FF4 to FF7, and the third group includes flip-flops FF8 to FF10.
第1〜第3グループのそれぞれには、別々のクロック配線を介して、別々のクロック810〜812が供給される。但し、同一グループ内のフリップフロップには、同一クロックが共通に供給される。すなわち、第1グループのフリップフロップFF0〜FF3にはクロック810が供給され、第2グループのフリップフロップFF4〜FF7にはクロック811が供給され、第3グループのフリップフロップFF8〜FF10にはクロック812が供給される。
図9は、既出の図3と同様であり、本実施の形態における桁上げ信号112、上位11ビットデータA[18:8]、及びクロック810〜812の活性化/非活性化の間の対応関係を示している。クロックゲーティング制御回路63Bは、図9で示される対応関係を実現するように構成される。
FIG. 9 is the same as FIG. 3 described above, and correspondence between the
図10は、本実施の形態におけるクロックゲーティング制御回路63Bの構成例を示す回路図である。クロックゲーティング制御回路63Bは、3個のクロックゲートCG0〜CG2(第1〜第3クロックゲート)を備えている。クロックゲートCG0〜CG2は、それぞれ、上述の第1〜第3グループに接続されており、第1〜第3グループへのクロック810〜812の供給を制御する。クロックゲートCG0〜CG2の各々は、既出の図5に示される構成を有している。
FIG. 10 is a circuit diagram showing a configuration example of the clock gating control circuit 63B in the present embodiment. The clock gating control circuit 63B includes three clock gates CG0 to CG2 (first to third clock gates). The clock gates CG0 to CG2 are connected to the first to third groups, respectively, and control the supply of the
クロックゲーティング制御回路63Bは更に、ANDゲート93B、94Bを備えている。ANDゲート93Bは、第1グループに属するフリップフロップFF0〜FF3によってそれぞれ保持されるビットA[8]〜ビットA[11]の論理積813を出力する。ANDゲート94Bは、第2グループに属するフリップフロップFF4〜FF7によってそれぞれ保持されるビットA[12]〜ビットA[15]の論理積814を出力する。
The clock gating control circuit 63B further includes AND
第1クロックゲート(クロックゲートCG0)は、クロック100を入力クロックCLK1として受け取り、また、桁上げ信号112をイネーブル信号EN1として受け取る。第2クロックゲート(クロックゲートCG1)は、クロック810を入力クロックCLK1として受け取り、また、ANDゲート93Bから出力される論理積813をイネーブル信号EN1として受け取る。第3クロックゲート(クロックゲートCG2)は、クロック811を入力クロックCLK1として受け取り、また、ANDゲート94Bから出力される論理積814をイネーブル信号EN1として受け取る。パラメータj(jは2〜Mの各々)を用いて一般化すれば、次の通りである。第jクロックゲート(クロックゲートCG(j−1))は、第(j−1)クロックゲートから出力される出力クロックCLK2を入力クロックCLK1として受け取る。更に、その第jクロックゲートは、第(j−1)グループに属するフリップフロップによって保持されるそれぞれのビットの論理積を、イネーブル信号EN1として受け取る。このような構成により、図9で示された対応関係が実現される。
The first clock gate (clock gate CG0) receives the
第2の実施の形態によれば、第1の実施の形態の場合と同様に、消費電力を低減することが可能である。更に、第2の実施の形態によれば、クロックゲーティング制御回路63Bから11ビットレジスタ82Bへ供給されるクロックが、複数ビット毎にまとめられる。これにより、第1の実施の形態と比較して、クロックゲーティング制御回路63B中のクロックゲートの個数が減る。その結果、累積加算回路の面積が削減される。 According to the second embodiment, as in the case of the first embodiment, it is possible to reduce power consumption. Furthermore, according to the second embodiment, the clocks supplied from the clock gating control circuit 63B to the 11-bit register 82B are collected for each of a plurality of bits. Thereby, the number of clock gates in the clock gating control circuit 63B is reduced as compared with the first embodiment. As a result, the area of the cumulative addition circuit is reduced.
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。 The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.
61 下位桁加算回路
62 上位桁カウンタ
63 クロックゲーティング制御回路
71 8ビット加算回路
72 8ビットレジスタ
81 11ビット加算回路
82 11ビットレジスタ
91 クロックゲーティング回路
92 0位置検出回路
100 クロック
111 入力データ
112 桁上げ信号
310〜320 クロック
61 Lower digit addition circuit 62 Upper digit counter 63 Clock
Claims (4)
前記桁上げ信号が活性化されているときにカウントアップを行い、Nビット(Nは2以上の整数)のカウント値を前記累積加算結果の上位桁として出力するカウンタと、
前記カウンタへのクロック供給を制御するクロックゲーティング制御回路と
を備え、
前記カウンタは、供給されるクロックに応答して前記カウント値のそれぞれのビットをラッチするNビットのレジスタを備え、
前記Nビットのカウント値のうち、前記桁上げ信号の活性化に応じて値が変化するビットは、変化ビットであり、
前記Nビットのレジスタのうち、前記変化ビットを保持するレジスタは、活性レジスタであり、
前記活性レジスタに供給されるクロックは、対象クロックであり、
前記クロックゲーティング制御回路は、前記加算回路から前記桁上げ信号を受け取り、且つ、前記カウンタから前記カウント値を受け取り、
前記桁上げ信号が活性化された場合、前記クロックゲーティング制御回路は、前記カウンタから受け取った前記カウント値を参照することによって、前記対象クロックの供給だけを活性化し、それ以外のクロック供給を非活性化する
累積加算回路。 An addition circuit that cumulatively adds data of predetermined bits, outputs a lower digit of the cumulative addition result, and activates a carry signal when a carry occurs;
A counter that counts up when the carry signal is activated and outputs a count value of N bits (N is an integer of 2 or more) as an upper digit of the cumulative addition result;
A clock gating control circuit for controlling clock supply to the counter,
The counter includes an N-bit register that latches each bit of the count value in response to a supplied clock;
Of the N-bit count value, a bit whose value changes in response to the activation of the carry signal is a change bit,
Of the N-bit registers, the register holding the change bit is an active register,
The clock supplied to the active register is a target clock,
The clock gating control circuit receives the carry signal from the adder circuit, and receives the count value from the counter,
When the carry signal is activated, the clock gating control circuit activates only the supply of the target clock by referring to the count value received from the counter and disables the other clock supply. Cumulative adder circuit to be activated.
前記Nビットのカウント値のうち、値が0であって最も下位側に位置するビットは、最下位0ビットであり、
前記Nビットのカウント値のうち、最下位ビットから前記最下位0ビットまでのビットが、前記変化ビットであり、
前記クロックゲーティング制御回路は、前記カウンタから受け取った前記カウント値から前記最下位0ビットを検出することによって、前記対象クロックの供給だけを活性化する
累積加算回路。 The cumulative addition circuit according to claim 1,
Of the N-bit count value, the bit that is 0 and is located on the lowest side is the lowest 0 bit,
Of the N-bit count value, bits from the least significant bit to the least significant 0 bit are the change bits,
The clock gating control circuit activates only the supply of the target clock by detecting the least significant 0 bit from the count value received from the counter.
前記Nビットのカウント値は、下位側から上位側に向けて第1〜第Nビットを含み、
前記Nビットのレジスタは、前記第1〜第Nビットのそれぞれを保持する第1〜第Nレジスタを含み、
前記クロックゲーティング制御回路は、前記第1〜第Nレジスタのそれぞれに接続され、前記第1〜第Nレジスタのそれぞれに対するクロック供給を制御する第1〜第Nクロックゲートを備え、
前記第1クロックゲートは、前記桁上げ信号をイネーブル信号として受け取り、また、入力クロックを受け取り、
前記第iクロックゲート(iは2〜Nの各々)は、前記第(i−1)ビットをイネーブル信号として受け取り、また、前記第(i−1)クロックゲートから出力されるクロックを入力クロックとして受け取り、
前記第1〜第Nクロックゲートの各々は、前記イネーブル信号及び前記入力クロックが活性化された場合にクロック供給を活性化し、前記イネーブル信号あるいは前記入力クロックが非活性化された場合にクロック供給を非活性化する
累積加算回路。 The cumulative addition circuit according to claim 1,
The N-bit count value includes first to Nth bits from the lower side to the upper side,
The N-bit register includes first to Nth registers for holding the first to Nth bits, respectively.
The clock gating control circuit includes first to Nth clock gates connected to each of the first to Nth registers and controlling clock supply to each of the first to Nth registers,
The first clock gate receives the carry signal as an enable signal and receives an input clock;
The i-th clock gate (i is each of 2 to N) receives the (i-1) -th bit as an enable signal, and uses a clock output from the (i-1) -th clock gate as an input clock. Acceptance,
Each of the first to Nth clock gates activates clock supply when the enable signal and the input clock are activated, and supplies clock when the enable signal or the input clock is deactivated. Deactivate cumulative adder circuit.
前記Nビットのカウント値は、下位側から上位側に向けて第1〜第Nビットを含み、
前記Nビットのレジスタは、前記第1〜第Nビットのそれぞれを保持する第1〜第Nレジスタを含み、
前記第1〜第Nレジスタは、M個(Mは2以上N以下の整数)のグループに区分けされ、
前記M個のグループは、下位側から上位側に向けて第1〜第Mグループを含み、
前記クロックゲーティング制御回路は、前記第1〜第Mグループのそれぞれに接続され、前記第1〜第Mグループのそれぞれに対するクロック供給を制御する第1〜第Mクロックゲートを備え、
前記第1クロックゲートは、前記桁上げ信号をイネーブル信号として受け取り、また、入力クロックを受け取り、
前記第jクロックゲート(jは2〜Mの各々)は、前記第(j−1)グループに属するレジスタによって保持されるそれぞれのビットの論理積をイネーブル信号として受け取り、また、前記第(j−1)クロックゲートから出力されるクロックを入力クロックとして受け取り、
前記第1〜第Mクロックゲートの各々は、前記イネーブル信号及び前記入力クロックが活性化された場合にクロック供給を活性化し、前記イネーブル信号あるいは前記入力クロックが非活性化された場合にクロック供給を非活性化する
累積加算回路。 The cumulative addition circuit according to claim 1,
The N-bit count value includes first to Nth bits from the lower side to the upper side,
The N-bit register includes first to Nth registers for holding the first to Nth bits, respectively.
The first to Nth registers are divided into M groups (M is an integer of 2 to N),
The M groups include first to Mth groups from the lower side to the upper side,
The clock gating control circuit includes first to Mth clock gates connected to each of the first to Mth groups and controlling clock supply to each of the first to Mth groups,
The first clock gate receives the carry signal as an enable signal and receives an input clock;
The j-th clock gate (j is each of 2 to M) receives the logical product of the respective bits held by the register belonging to the (j−1) -th group as an enable signal, and the (j− 1) Receive the clock output from the clock gate as the input clock,
Each of the first to Mth clock gates activates clock supply when the enable signal and the input clock are activated, and supplies clock when the enable signal or the input clock is deactivated. Deactivate cumulative adder circuit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010023284A JP2011164688A (en) | 2010-02-04 | 2010-02-04 | Cumulative addition circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010023284A JP2011164688A (en) | 2010-02-04 | 2010-02-04 | Cumulative addition circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2011164688A true JP2011164688A (en) | 2011-08-25 |
Family
ID=44595343
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010023284A Withdrawn JP2011164688A (en) | 2010-02-04 | 2010-02-04 | Cumulative addition circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2011164688A (en) |
-
2010
- 2010-02-04 JP JP2010023284A patent/JP2011164688A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10007320B2 (en) | Serializer and deserializer for odd ratio parallel data bus | |
| US8122279B2 (en) | Multiphase clocking systems with ring bus architecture | |
| US8422619B2 (en) | Clock frequency divider circuit, clock distribution circuit, clock frequency division method, and clock distribution method | |
| US8564336B2 (en) | Clock frequency divider circuit and clock frequency division method | |
| US8369477B2 (en) | Clock frequency divider circuit and clock frequency division method | |
| US20200042034A1 (en) | Using a stuttered clock signal to reduce self-induced voltage noise | |
| US10908877B2 (en) | Median value determination in a data processing system | |
| EP3189591A2 (en) | Delay circuits and related systems and methods | |
| WO2015171265A1 (en) | Clock skew management systems, methods, and related components | |
| Lin et al. | Hardware design of low-power high-throughput sorting unit | |
| US8693615B2 (en) | RAM-based event counters using transposition | |
| US8525567B2 (en) | Pipeline circuit, semiconductor device, and pipeline control method | |
| US20180082724A1 (en) | Apparatus and method of clock shaping for memory | |
| JP2011164688A (en) | Cumulative addition circuit | |
| US20140375617A1 (en) | Semiconductor device, display device, and signal loading method | |
| US10374981B1 (en) | Data transfer circuitry given multiple source elements | |
| US10249219B2 (en) | Chip and method for operating a processing circuit | |
| US9455706B2 (en) | Dual-rail encoding | |
| JP2009218877A (en) | Counter circuit | |
| EP2775395B1 (en) | Integrated circuit, electronic device and instruction scheduling method | |
| US20130297667A1 (en) | OSBS subtractor Accelerator | |
| JP4894218B2 (en) | Semiconductor integrated circuit | |
| US20120096300A1 (en) | Communication circuit and communication method | |
| JP2010206603A (en) | Delay generator and ic tester | |
| US20080072092A1 (en) | System and method for tuning power consumption and group delay in wireless RFICs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130507 |