従来、電子回路の電力消費を低減するために、使用しないラッチ回路のクロックゲーティングなどを行っていた。クロックゲーティング(clock gating)とは、予め入力が変化しないとわかっている場合に、その部分へのクロック供給を停止することである。しかし、使用するラッチ回路においてはクロック供給を停止することはできず、電力消費を低減することはできなかった。
そこでラッチ回路の入出力のデータ信号を比較し、一致した場合に、入力されたクロックのラッチ回路の内部への伝搬を抑止することが行われるようになった。このように、内部へのクロック伝搬を抑止する機能を備えるラッチ回路の一例を図1に示す。
図1に示すラッチ回路10は、データ入力端子11、データ出力端子12、反転クロックを入力するクロック入力端子13、およびラッチ内のクロック伝搬を抑止する制御信号を入力するIH(Inhibit)ピン14を備えている。以下、図1に示す、IHピンを備えるラッチ回路をIHラッチ回路10と記す。
図2に、図1の回路のブロック図を示す。クロック入力端子13とIHピン14はクロック内部伝搬抑止部21に接続されており、クロック内部伝搬抑止部21によりクロックの伝搬制御が行われた内部クロック信号XCLKがラッチ部22に入力される。ラッチ部22は入力される値を保持して出力するもので、内部クロック信号XCLKとデータ入力端子11からのデータ信号を入力とし、データ出力端子12にデータ信号を出力する。
図3に、図1、図2に示したIHラッチ回路10の詳細な構成例を示す。この回路は、PチャネルMOSFET(P−channel Metal Oxide Semiconductor Field Effect Transistor)P1,P2,P3,P4,P5,P6,P7,P8及びNチャネルMOSFET(N−channel Metal Oxide Semiconductor Field Effect Transistor) N1,N2,N3,N4,N5,N6,N7,N8を備える。以下では、PチャネルMOSFETをPMOSトランジスタ、NチャネルMOSFETをNMOSトランジスタと記す。
PMOSトランジスタP1のソース端子は高電位側電源端子(VDD)に接続され、ゲート端子はIHピン14に接続されている。PMOSトランジスタP2のソース端子は、PMOSトランジスタP1のドレイン端子に接続され、ゲート端子はクロック入力端子13に接続されている。NMOSトランジスタN1のソース端子は低電位側電源端子(VSS)に接続され、ゲート端子はクロック入力端子13に接続され、ドレイン端子はPMOSトランジスタP2のドレイン端子に接続されている。NMOSトランジスタN2のソース端子は低電位側電源端子に接続され、ゲート端子はIHピン14に接続され、ドレイン端子はPMOSトランジスタP2およびNMOSトランジスタN1のドレイン端子に接続されている。
PMOSトランジスタP1,P2,およびNMOSトランジスタN1,N2により構成される部分(図3の点線で囲んだ部分)は、図2のクロック内部伝搬抑止部21に対応する。つまりこの部分によりクロック信号の内部伝搬が制御される。クロック信号の内部伝搬を抑止する制御信号(以下、IH信号と記す)がハイレベル(以下、Hと記す)のとき、PMOSトランジスタP1はOFF、NMOSトランジスタN2はONとなり、内部クロック信号XCLKは常にローレベル(以下、Lと記す)となる。つまり、IH信号がHのとき、クロック入力端子13からのクロック信号の伝搬は抑止される。一方、IH信号がLで、クロック入力端子13から入力される反転クロックがLならば、PMOSトランジスタP1およびP2がONとなり、NMOSトランジスタN1,N2がOFFとなりXCLKはHとなる。また、IH信号がHで、クロック入力端子13から入力される反転クロックがHならばPMOSトランジスタP1およびP2がOFFとなり、NMOSトランジスタN1,N2がONとなりXCLKはLとなる。このようにIH信号がLのとき、クロック入力端子13から入力される反転クロックの反転結果(信号)が内部クロック信号XCLKとしてラッチ部22に伝搬する。
また、図2のラッチ部22に対応する部分について以下に説明する。
PMOSトランジスタP3のソース端子は高電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。NMOSトランジスタN3のソース端子は低電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力され、ドレイン端子はPMOSトランジスタP3のドレイン端子に接続される。PMOSトランジスタP3とNMOSトランジスタN3はインバータ(否定回路)を構成している。
PMOSトランジスタP4のソース端子は高電位側電源端子に接続され、ゲート端子はデータ入力端子11に接続されている。NMOSトランジスタN4のソース端子は低電位側電源端子に接続され、ゲート端子はデータ入力端子11に接続され、ドレイン端子はPMOSトランジスタP4のドレイン端子に接続されている。PMOSトランジスタP4とNMOSトランジスタN4はインバータを構成している。
PMOSトランジスタP5のソース端子はPMOSトランジスタP4およびNMOSトランジスタN4のドレイン端子に接続され、ゲート端子はPMOSトランジスタP3およびNMOSトランジスタN3のドレイン端子に接続されている。NMOSトランジスタN5のソース端子はPMOSトランジスタP4およびNMOSトランジスタN4のドレイン端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。それぞれパストランジスタである、PMOSトランジスタP5およびNMOSトランジスタN5はトランスファーゲート20を構成しており、PMOSトランジスタP5のゲート端子がL、NMOSトランジスタN5のゲート端子がHになったときデータ入力端子12から入力される入力データ信号が反転された信号をデータ信号PCM1として出力する。
PMOSトランジスタP6のソース端子は高電位側電源端子に接続され、ゲート端子にはPCM1が入力される。NMOSトランジスタN6のソース端子は低電位側電源端子に接続され、ゲート端子にはPCM1が入力され、ドレイン端子はPMOSトランジスタP6のドレイン端子に接続されている。PMOSトランジスタP6およびNMOSトランジスタN6はインバータを構成しており、データ信号PCM1を反転してデータ信号PAM1を出力する。
PMOSトランジスタP7のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力される。NMOSトランジスタN7のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力され、ドレイン端子はPMOSトランジスタP7のドレイン端子に接続されている。PMOSトランジスタP7およびNMOSトランジスタN7はインバータを構成しており、データ信号PAM1を反転してデータ信号PCM1を出力する。
PMOSトランジスタP6,P7,NMOSトランジスタN6,N7で構成される2つのインバータ回路によるループ部分はラッチデータを保持する機能をする部分である。
PMOSトランジスタP8のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力される。NMOSトランジスタN8のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力され、ドレイン端子はPMOSトランジスタP8のドレイン端子に接続される。PMOSトランジスタP8とNMOSトランジスタN8はインバータを構成し、データ信号PCM1を反転してデータ出力端子12に出力する。
PMOSトランジスタP3,P4,P5,P6,P7,P8およびNMOSトランジスタN3,N4,N5,N6,N7で構成される部分は図2のラッチ部22に対応する。
図1〜図3に示したようなIHラッチ回路10において、入出力データ信号を比較し、その結果をIHピン14に制御信号として入力する必要があるが、この際の比較には、ENOR回路(Exclusive−NOR, 排他的否定論理和回路)やEOR回路(Exclusive−OR、排他的論理和回路)が用いられている。入出力データ信号比較にENOR回路41を用いた場合の例を図4に示す。
図4に示すように、図1に示したIHラッチ回路10のデータ入力端子11から入力されたデータ信号と、データ出力端子12に出力されるデータ信号をENOR回路41に入力し比較を行う。そして、データ比較の結果が、IHピン14に向けて出力される。ENOR回路41は、入力される二つの信号のうち、双方が同じであればHを出力し、異なればLを出力する。つまり、入出力データ信号が同じであればIHピン14にはHが入力され、入出力データ信号が異なればIHピン14にはLが入力される。これにより、入出力データ信号が同じであればIHラッチ回路10のクロックの内部伝搬は抑止され、入出力データ信号が異なればIHラッチ回路10内でクロックが伝搬する。
図5にIHピン14をLにクリップ(プルダウン)(低電位側電源端子に接続)した場合、すなわちIHピンがない状態と同意のタイミングチャートを示す。また、図6に図4に示した回路のように、IHラッチ回路10の入出力データ信号をENOR回路41に入力した結果をIHピン14に入力した場合のタイミングチャートを示す。
IHピン14がLにクリップされている場合、IHラッチ回路10内部のクロック伝搬は制御されないため、図5のタイミングチャートのように内部クロック信号XCLKは、クロック入力端子13に入力される信号の反転信号となる。一方、IHピン14がENOR回路41の出力に接続されている場合、IHラッチ回路10内部のクロック伝搬は、IHラッチ回路10の入出力データ信号が一致するか否かによって制御される。図6のタイミングチャートのように、入力データ信号Dと出力データ信号MがLの場合(タイミング1の場合)、および、入力データ信号Dと出力データ信号MがHの場合(タイミング3の場合)、ENOR回路41からの出力信号であるIH1はHとなる。これによりIHラッチ回路10内の内部クロック信号XCLKはLとなっている。このように図4に示した回路では、入出力データ信号が一致する場合にクロック信号の内部伝搬を抑止することができるため、IHラッチ回路10の電力消費を低減することが可能となっている。
しかしながら、入出力データ信号を比較するためのENOR回路41は、図7に示すように、最低でも10個のトランジスタを必要とする。回路を構成するためのトランジスタが多くなってしまうという問題がある。また、図7に示すように、入力端子A2から入力される入力データ信号は、PMOSトランジスタP71とNMOSトランジスタN71の二つを駆動すればよいが、入力端子A1から入力される入力データ信号はPMOSトランジスタP74,P75,NMOSトランジスタN73,N74の4つのトランジスタを駆動しなければならない。このように入力データ信号が駆動する入力容量(ファン・イン容量)が、通常の回路の二倍程度となっており、この部分の電力消費が増えてしまうという問題がある。
以下図面を参照して、ラッチ回路及びクロック制御回路の実施の形態について説明する。まず、図8〜図15を参照して実施の形態1について説明し、図16〜図20を参照して実施の形態2について説明する。そして最後に図21、図22、図23を参照して、以下に開示する回路例における電力消費について考察する。
実施の形態1
図8に、実施の形態1のラッチ回路およびクロック制御回路のブロック図を示す。
実施の形態1のラッチ回路は、データ一致検出部81、クロック内部伝搬抑止部82、ラッチ部83を有する構成である。また、クロック制御回路はクロック内部伝搬抑止部82を有する構成である。
クロック内部伝搬抑止部82およびラッチ部83は、図2のクロック内部伝搬抑止部21、ラッチ部22とそれぞれ同等の動作をする。すなわち、クロック内部伝搬抑止部82はデータ一致検出部81の出力結果に応じてクロックの伝搬を制御し、ラッチ部83は入力される値を保持して出力する。
図9に、クロック内部伝搬抑止部82とラッチ部83の回路構成例を示す。
この回路はPMOSトランジスタP201,P202,P203,P204,P205,P206,P207,P208及びNMOSトランジスタN201,N202,N203,N204,N205,N206,N207,N208を備える。
PMOSトランジスタP201のソース端子は高電位側電源端子に接続され、ゲート端子はIHピン87に接続されている。PMOSトランジスタP202のソース端子は、PMOSトランジスタP201のドレイン端子に接続され、ゲート端子はクロック入力端子84に接続されている。NMOSトランジスタN201のソース端子は低電位側電源端子に接続され、ゲート端子はクロック入力端子84に接続され、ドレイン端子はPMOSトランジスタP202のドレイン端子に接続されている。NMOSトランジスタN202のソース端子は低電位側電源端子に接続され、ゲート端子はIHピン87に接続され、ドレイン端子はPMOSトランジスタP202およびNMOSトランジスタN201のドレイン端子に接続されている。
PMOSトランジスタP201,P202,およびNMOSトランジスタN201,N202により構成される部分(図9の点線で囲んだ部分)は、図8のクロック内部伝搬抑止部82に対応する。つまりこの部分によりクロック信号の内部伝搬が制御される。クロック信号の内部伝搬を抑止する制御信号であるIH信号が、Hのとき、PMOSトランジスタP201はOFF、NMOSトランジスタN202はONとなり、内部クロック信号XCLKは常にLとなる。つまり、IH信号がHのとき、クロック入力端子84からのクロック信号の伝搬は抑止される。一方、IH信号がLで、クロック入力端子84から入力される反転クロックがLならば、PMOSトランジスタP201およびP202がONとなり、NMOSトランジスタN201,N202がOFFとなりXCLKはHとなる。また、IH信号がHで、クロック入力端子84から入力される反転クロックがHならばPMOSトランジスタP201およびP202がOFFとなり、NMOSトランジスタN201,N202がONとなりXCLKはLとなる。このようにIH信号がLのとき、クロック入力端子84から入力される反転クロックの反転結果(信号)が内部クロック信号XCLKとしてラッチ部83に伝搬する。
また、図8のラッチ部83に対応する部分について以下に説明する。
PMOSトランジスタP203のソース端子は高電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。NMOSトランジスタN203のソース端子は低電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力され、ドレイン端子はPMOSトランジスタP203のドレイン端子に接続される。PMOSトランジスタP203とNMOSトランジスタN203はインバータを構成している。
PMOSトランジスタP204のソース端子は高電位側電源端子に接続され、ゲート端子はデータ入力端子85に接続されている。NMOSトランジスタN204のソース端子は低電位側電源端子に接続され、ゲート端子はデータ入力端子85に接続され、ドレイン端子はPMOSトランジスタP204のドレイン端子に接続されている。PMOSトランジスタP204とNMOSトランジスタN204はインバータを構成している。
PMOSトランジスタP205のソース端子はPMOSトランジスタP204およびNMOSトランジスタN204のドレイン端子に接続され、ゲート端子はPMOSトランジスタP203およびNMOSトランジスタN203のドレイン端子に接続されている。NMOSトランジスタN205のソース端子はPMOSトランジスタP204およびNMOSトランジスタN204のドレイン端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。それぞれパストランジスタである、PMOSトランジスタP205およびNMOSトランジスタN205はトランスファーゲート200を構成しており、PMOSトランジスタP205のゲート端子がL、NMOSトランジスタN205のゲート端子がHになったときデータ入力端子85から入力される入力データ信号が反転された信号をデータ信号PCM1として出力する。
PMOSトランジスタP206のソース端子は高電位側電源端子に接続され、ゲート端子にはPCM1が入力される。NMOSトランジスタN206のソース端子は低電位側電源端子に接続され、ゲート端子にはPCM1が入力され、ドレイン端子はPMOSトランジスタP206のドレイン端子に接続されている。PMOSトランジスタP206およびNMOSトランジスタN206はインバータを構成しており、データ信号PCM1を反転してデータ信号PAM1を出力する。
PMOSトランジスタP207のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力される。NMOSトランジスタN207のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力され、ドレイン端子はPMOSトランジスタP207のドレイン端子に接続されている。PMOSトランジスタP207およびNMOSトランジスタN207はインバータを構成しており、データ信号PAM1を反転してデータ信号PCM1を出力する。
PMOSトランジスタP206,P207,NMOSトランジスタN206,N207で構成される2つのインバータ回路によるループ部分はラッチデータを保持する機能をする部分である。
PMOSトランジスタP208のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力される。NMOSトランジスタN208のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力され、ドレイン端子はPMOSトランジスタP208のドレイン端子に接続される。PMOSトランジスタP208とNMOSトランジスタN208はインバータを構成し、データ信号PCM1を反転してデータ出力端子86に出力する。
PMOSトランジスタP203,P204,P205,P206,P207,P208およびNMOSトランジスタN203,N204,N205,N206,N207で構成される部分は図8のラッチ部83に対応する。
図8の説明に戻る。データ一致検出部81には、データ入力端子85から入力データが入力されるとともにデータ出力端子86から出力データ信号が入力され、ラッチ回路内のクロック伝搬を制御するIH信号をクロック内部伝搬抑止部82に向けて出力する。クロック内部伝搬抑止部82は、IH信号と、クロック入力端子84からの信号を入力とし、内部クロック信号XCLKをラッチ部83に出力する。
データ一致検出部81は、入力データ信号と出力データ信号を比較し、両者がLで一致する、または、両者がHで一致するかのいずれかの場合にIH信号をHで出力する。
このように、本実施の形態1は、従来図4に示したように、ラッチ部の入出力データをENOR回路で比較していたが、該ENOR回路部分をデータ一致検出部81として置き換えるものである。
実施の形態1の回路例を図10(回路例1)、図13(回路例2)に示す。
回路例1
まず、回路例1について説明する。
回路例1は、図10に示すように、IHラッチ回路10(図1におけると同じ)のデータ入力端子92に入力される入力データ信号Dと、データ出力端子93に出力される出力データ信号MをNOR(否定的論理和)回路91に入力して比較を行う。そして、データ比較の結果(つまり、IH2)がIHピン94に向けて出力される。NOR回路91は、入力される二つの信号のうち、双方がLで一致すればIH2信号としてHを出力する。つまり、ラッチされているデータがL(つまり、0)で、入力データがL(つまり、0)の場合にのみ、IHラッチ回路10内の内部クロックXCLKが停止する。
図11に回路例1のタイミングチャートを示す。入力データ信号Dと出力データ信号MがLの場合(タイミング1の場合)、NOR回路91からの出力信号であるIH2はHとなる。これによりIHラッチ回路10内の内部クロック信号XCLKはLとなる。このように、回路例1では入出力データ信号がL(つまり、0)で一致する場合にクロック信号の内部伝搬を抑止することができる。
図12にNOR回路91の詳細な回路例を示す。図12に示すように、NOR回路は4個のトランジスタで構成することができる。ENOR回路でラッチ回路の入出力データ比較回路を構成した場合よりも6個のトランジスタを節約することができる。また、入力端子A1から入力される入力データ信号は、PMOSトランジスタP112とNMOSトランジスタN111の2個のトランジスタを駆動すればよく、また入力端子A2から入力される入力データ信号はPMOSとランジスタP111とNMOSトランジスタN112の2個のトランジスタを駆動すればよい。すなわち、ENOR回路の入力容量(ファン・イン容量)よりも小さい。
回路例2
次に、図13を参照して回路例2について説明する。
回路例2は、IHラッチ回路10(図1におけると同じ)のデータ入力端子122に入力される入力データ信号Dと、データ出力端子123に出力される出力データ信号MをAND(論理積)回路121に入力して比較を行う。そして、データ比較の結果(つまり、IH3)がIHピン124に向けて出力される。AND回路121は、入力される二つの信号のうち、双方がHで一致すればHを出力する。つまり、ラッチされているデータがH(つまり、1)で、入力データがH(つまり、1)の場合にのみ内部クロックXCLKが停止する。
図14に回路例2のタイミングチャートを示す。入力データ信号Dと出力データ信号MがHの場合(タイミング3の場合)AND回路121からの出力信号であるIH3はHとなる。これにより、IHラッチ回路10内の内部クロック信号XCLKはLとなる。このように、回路例2では入出力データ信号がH(つまり、1)で一致する場合にクロック信号の内部伝搬を抑止することができる。
図15にAND回路121の詳細な回路例を示す。図15に示すように、AND回路は6個のトランジスタで構成することができる。ENOR回路でラッチ回路の入出力データ比較回路を構成した場合よりも4個のトランジスタを節約することができる。また、入力端子A1から入力される入力データ信号は、PMOSトランジスタP142とNMOSトランジスタN141の2個のトランジスタを駆動すればよく、また入力端子A2から入力される入力データ信号は、PMOSトランジスタP141とNMOSトランジスタN142の2個のトランジスタを駆動すればよい。すなわち、ENOR回路の入力容量(ファン・イン容量)よりも小さい。
以上のように、回路例1、回路例2を参照して実施の形態1について説明した。
実施の形態1は、従来ENOR回路で構成されていた入出力データの一致を検出する機能をNOR回路またはAND回路を用いて構成するものである。すなわち、従来は入出力データがL(0)で一致する場合とH(1) で一致する場合の両方を検出したが、本実施の形態ではL(0) で一致する場合か、または、H(1) で一致する場合のいずれかのみを検出することになる。このように本実施の形態は、L(0) かH(1) のいずれかのデータの一致のみしか検出ができない。しかしデータ一致検出部81をNOR回路またはAND回路を用いて構成することにより、ラッチ回路の内部クロック伝搬を制御する部分の回路に必要なトランジスタ数を従来に比べて少なくすることが可能である。すなわち、NOR回路の場合はラッチ回路の入力データと出力データがLで一致する場合のみ内部クロックの伝搬を抑止することが可能で、AND回路の場合はラッチ回路の入力データと出力データがHで一致する場合のみ内部クロックの伝搬を抑止することが可能である。ENOR回路をNOR回路またはAND回路に置き換えることにより、回路を構成するトランジスタ数を低減する。尚、NOR回路を用いるか、AND回路を用いるかについては、ラッチの値がL(0)となる可能性が高いか、H(1) となる可能性が高いかを考慮して使用すれば電力消費の低減についても効果的に作用することとなる。電力消費についての考察は図21、図22、図23を参照して後述する。
次に、実施の形態2について説明する。
実施の形態2
実施の形態2は、実施の形態1の回路と同等の効果をより少ないトランジスタで実現するものである。実施の形態2のラッチ回路およびクロック制御回路のブロック図を図16に示す。
実施の形態2のラッチ回路は、データ一致検出およびクロック内部伝搬抑止部151、ラッチ部152を有する構成である。また、クロック制御回路は、クロック内部伝搬抑止部151を有する構成である。
データ一致検出およびクロック内部伝搬抑止部151には、データ入力端子154から入力データ信号が入力されるとともに、データ出力端子155から出力データ信号が入力され、さらにクロック入力端子153からクロック信号が入力される。データ一致検出およびクロック内部伝搬抑止部151は、入力データ信号と出力データ信号を比較し、両者がLで一致する、または、両者がHで一致するかのいずれかの場合のみ、内部クロック信号XCLKを停止する。このように、データ一致検出およびクロック内部伝搬抑止部151は、内部クロック信号XCLKをラッチ部152に出力する。尚、ラッチ部152は入力される値を保持して出力するもので、図8のラッチ部83に対応する。よって、ラッチ部152の詳細な説明はここでは省略する。
実施の形態2の回路例を以下に示す。
回路例3
図17に示す回路例3のラッチ回路160は、図10に示したNOR回路を用いたラッチ回路と同等の効果を実現したものである。これをlatch0回路と呼ぶことにする。
回路例3のラッチ回路160は、入力データ信号Dが入力されるデータ入力端子161、出力データ信号Mが出力されるデータ出力端子162と、反転クロック信号が入力されるクロック入力端子163を備える。
ラッチ回路160の詳細な回路例を図18に示す。
この回路は、PMOSトランジスタP171,P172,P173,P174,P175,P176,P177,P178,P179およびNMOSトランジスタN171,N172,N173,N174,N175,N176,N177,N178,N179を備える。
尚、図18において、PCM1からPMOSトランジスタP173,NMOSトランジスタN173への配線は、PCM1と同等の論理になるMの後段にインバータをつけたところから配線してもよい。
図18の点線で囲んだ以外のところは、ラッチ部152に対応し、図3で説明した、PMOSトランジスタP3,P4,P5,P6,P7,P8およびNMOSトランジスタN3,N4,N5,N6,N7で構成される部分に対応する。詳しくは次のようになる。
PMOSトランジスタP175のソース端子は高電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。NMOSトランジスタN175のソース端子は低電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力され、ドレイン端子はPMOSトランジスタP175のドレイン端子に接続される。PMOSトランジスタP175とNMOSトランジスタN175はインバータを構成している。
PMOSトランジスタP174のソース端子は高電位側電源端子に接続され、ゲート端子はデータ入力端子161に接続されている。NMOSトランジスタN174のソース端子は低電位側電源端子に接続され、ゲート端子はデータ入力端子161に接続されている。PMOSトランジスタP174とNMOSトランジスタN174はインバータを構成している。
PMOSトランジスタP176のソース端子はPMOSトランジスタP174およびNMOSトランジスタN174のドレイン端子に接続され、ゲート端子はPMOSトランジスタP175およびNMOSトランジスタN175のドレイン端子に接続されている。NMOSトランジスタN176のソース端子はPMOSトランジスタP174およびNMOSトランジスタN174のドレイン端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。PMOSトランジスタP176およびNMOSトランジスタN176はトランスファーゲート端子を構成しており、PMOSトランジスタP176のゲート端子がL、NMOSトランジスタN176のゲート端子がHになったときデータ入力端子161から入力される入力データ信号が反転された信号をデータ信号PCM1として出力する。
PMOSトランジスタP177のソース端子は高電位側電源端子に接続され、ゲート端子にはPCM1が入力される。NMOSトランジスタN177のソース端子は低電位側電源端子に接続され、ゲート端子にはPCM1が入力され、ドレイン端子はPMOSトランジスタP177のドレイン端子に接続されている。PMOSトランジスタP177およびNMOSトランジスタN177はインバータを構成しており、データ信号PCM1を反転してデータ信号PAM1を出力する。
PMOSトランジスタP178のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力される。NMOSトランジスタN178のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力され、ドレイン端子はPMOSトランジスタP178のドレイン端子に接続されている。PMOSトランジスタP178およびNMOSトランジスタN178はインバータを構成しており、データ信号PAM1を反転してデータ信号PCM1を出力する。
PMOSトランジスタP177, P178, NMOSトランジスタN177, N178で構成される部分はラッチデータを保持する機能をする部分である。
PMOSトランジスタP179のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力される。NMOSトランジスタN179のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力され、ドレイン端子はPMOSトランジスタP179のドレイン端子に接続される。PMOSトランジスタP179とNMOSトランジスタN179はインバータを構成し、データ信号PCM1を反転してデータ出力端子162に出力する。
このようにPMOSトランジスタP174, P175, P176, P177, P178, P179およびNMOSトランジスタN174, N175, N176, N177, N178, N179で構成される部分は図3で説明したラッチ部に相当する。
尚、図18の点線で囲んだ以外のところ、すなわちラッチ部の構成は別の構成のラッチでもよい。
図18の点線で囲んだ部分は、データ一致検出およびクロック内部伝搬抑止部151に対応し、次のように動作する。
データ入力信号DがL,出力データ信号MがLのとき、データ信号PCM1はHで、回路は次のように動作する。PMOSトランジスタP174およびNMOSトランジスタN174から成るインバータにより、データ入力信号Dは反転する。これにより、NMOSトランジスタN172はONとなる。また、データ信号PCM1はHであることから、NMOSトランジスタN173はONとなる。これにより、クロック入力端子163から入力される信号がLであってもHであっても、XCLK信号はLとなり、クロック伝搬が抑止されることになる。
データ入力信号DがH,出力データ信号MがHのとき、データ信号PCM1はLで、PMOSトランジスタP171,P173はON,NMOSトランジスタN172,N173はOFFとなる。これにより、クロック入力端子163から入力される反転クロック
が、PMOSトランジスタP172およびNMOSトランジスタN171から構成されるインバータにより反転されて、内部クロックXCLKとして出力される。
データ入力信号DがH,出力データ信号MがLのとき、データ信号PCM1はHで、PMOSトランジスタP171はON,PMOSトランジスタP173はOFF,NMOSトランジスタN172はOFF,NMOSトランジスタN173はONとなる。これにより、クロック入力端子163から入力される反転クロック
が、PMOSトランジスタP172およびNMOSトランジスタN171から構成されるインバータにより反転されて、内部クロックXCLKとして出力される。
データ入力信号DがL、出力データ信号MがHのとき、データ信号PCM1はLで、PMOSトランジスタP171はOFF,PMOSトランジスタP173はON,NMOSトランジスタN172はON,NMOSトランジスタN173はOFFとなる。これにより、クロック入力端子163から入力される反転クロックが、PMOSトランジスタP172およびNMOSトランジスタN171から構成されるインバータにより反転されて、内部クロックXCLKとして出力される。
以上のことから、回路例3のラッチ回路160は、NOR回路を用いたラッチ回路と同様に、入力データ信号Dおよび出力データ信号MがLで一致するときラッチ部に内部クロックXCLKの伝搬を抑止するという同様の効果を備えることが明らかである。すなわち、回路例3のタイミングチャートは、図11のD,M,XCLKと同一になる。
また、回路例3のトランジスタ数を、回路例1(図10)のトランジスタ数と比較すると次のようになる。回路例1のトランジスタの数は、NOR回路91部分に4個(図12参照)、IHラッチ回路10部分に16個(図3参照)で合計20個必要である。回路例3のトランジスタ数は、図18より18個必要である。これにより、回路例3のトランジスタ数は回路例1のトランジスタ数より2個減っていることがわかる。
回路例4
次に、実施の形態2の回路例として、回路例4について説明する。
回路例4のラッチ回路180は、図13に示したAND回路を用いたラッチ回路と同等の効果を実現したものである。これをlatch1回路と呼ぶことにする。
回路例4のラッチ回路180は、図19に示すように、入力データ信号Dを入力するデータ入力端子181、出力データ信号Mが出力されるデータ出力端子182と、反転クロック信号が入力されるクロック入力端子183を備える。
ラッチ回路180の詳細な回路例を図20に示す。
この回路は、PMOSトランジスタP191,P192,P193,P194,P195,P196,P197,P198,P199およびNMOSトランジスタN191,N192,N193,N194,N195,N196,N197,N198,N199を備える。
尚、図20において、PAM1からPMOSトランジスタP193、NMOSトランジスタN193へ行く配線は、PAM1と同等の論理であるMから配線してもよい。
図20の点線で囲んだ以外のところは、ラッチ部152に対応し、図3で説明した、PMOSトランジスタP3,P4,P5,P6,P7,P8およびNMOSトランジスタN3,N4,N5,N6,N7で構成される部分に対応する。詳しくは次のようになる。
PMOSトランジスタP195のソース端子は高電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力される。NMOSトランジスタN195のソース端子は低電位側電源端子に接続され、ゲート端子には内部クロック信号XCLKが入力され、ドレイン端子はPMOSトランジスタP195のドレイン端子に接続される。PMOSトランジスタP195とNMOSトランジスタN195はインバータを構成している。
PMOSトランジスタP194のソース端子は高電位側電源端子に接続され、ゲート端子はデータ入力端子161に接続されている。NMOSトランジスタN194のソース端子は低電位側電源端子に接続され、ゲート端子はデータ入力端子181に接続されている。PMOSトランジスタP194とNMOSトランジスタN194はインバータを構成している。
PMOSトランジスタP196のソース端子はPMOSトランジスタP194およびNMOSトランジスタN194のドレイン端子に接続され、ゲート端子はPMOSトランジスタP195およびNMOSトランジスタN195のドレイン端子に接続されている。NMOSトランジスタN196のソース端子はPMOSトランジスタP194およびNMOSトランジスタN194のドレイン端子に接続され、ゲート端子には内部クロック信号 XCLKが入力される。PMOSトランジスタP196およびNMOSトランジスタN196はトランスファーゲート端子を構成しており、PMOSトランジスタP196のゲート端子がL、NMOSトランジスタN196のゲート端子がHになったときデータ入力端子181から入力される入力データ信号が反転された信号をデータ信号PCM1として出力する。
PMOSトランジスタP197のソース端子は高電位側電源端子に接続され、ゲート端子にはPCM1が入力される。NMOSトランジスタN197のソース端子は低電位側電源端子に接続され、ゲート端子にはPCM1が入力され、ドレイン端子はPMOSトランジスタP197のドレイン端子に接続されている。PMOSトランジスタP197およびNMOSトランジスタN197はインバータを構成しており、データ信号PCM1を反転してデータ信号PAM1を出力する。
PMOSトランジスタP198のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力される。NMOSトランジスタN198のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PAM1が入力され、ドレイン端子はPMOSトランジスタP198のドレイン端子に接続されている。PMOSトランジスタP198およびNMOSトランジスタN198はインバータを構成しており、データ信号PAM1を反転してデータ信号PCM1を出力する。
PMOSトランジスタP197, P198, NMOSトランジスタN197, N198で構成される部分はラッチデータを保持する機能をする部分である。
PMOSトランジスタP199のソース端子は高電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力される。NMOSトランジスタN199のソース端子は低電位側電源端子に接続され、ゲート端子にはデータ信号PCM1が入力され、ドレイン端子はPMOSトランジスタP199のドレイン端子に接続される。PMOSトランジスタP199とNMOSトランジスタN199はインバータを構成し、データ信号PCM1を反転してデータ出力端子162に出力する。
このようにPMOSトランジスタP194, P195, P196, P197, P198, P199およびNMOSトランジスタN194, N195, N196, N197, N198, N199で構成される部分は図3で説明したラッチ部に相当する。
尚、図20の点線で囲んだ以外のところ、すなわちラッチ部の構成は別の構成のラッチでもよい。
図20の点線で囲んだ部分は、データ一致検出およびクロック内部伝搬抑止部151に対応し、次のように動作する。
データ入力信号DがH,出力データ信号MがHのとき、データ信号PAM1はHで、PMOSトランジスタP191,P193はOFF,NMOSトランジスタN192,N193はONとなる。これにより、クロック入力端子183から入力される信号がLであってもHであっても、XCLK信号はLとなり、クロック伝搬が抑止されることになる。
データ入力信号DがL出力データ信号MがLのとき、データ信号PAM1はLで、PMOSトランジスタP191,P193はON,NMOSトランジスタN192,N193はOFFとなる。これにより、クロック入力端子183から入力される反転クロック
が、PMOSトランジスタP192およびNMOSトランジスタN191から構成されるインバータにより反転されて、内部クロックXCLKとして出力される。
データ入力信号DがH,出力データ信号MがLのとき、データ信号PAM1はLで、PMOSトランジスタP191はOFF,PMOSトランジスタP193はON,NMOSトランジスタN192はOFF,NMOSトランジスタN193はONとなる。これにより、クロック入力端子163から入力される反転クロック
が、PMOSトランジスタP172およびNMOSトランジスタN171から構成されるインバータにより反転されて、内部クロックXCLKとして出力される。
データ入力信号DがL、出力データ信号MがHのとき、データ信号PAM1はHで、PMOSトランジスタP191はON,PMOSトランジスタP193はOFF,NMOSトランジスタN192はOFF,NMOSトランジスタN193はONとなる。これにより、クロック入力端子163から入力される反転クロックが、PMOSトランジスタP192およびNMOSトランジスタN191から構成されるインバータにより反転されて、内部クロックXCLKとして出力される。
以上のことから、回路例4のラッチ回路180は、AND回路を用いたラッチ回路と同様に、入力データ信号Dおよび出力データ信号MがHで一致するときラッチ部に内部クロックXCLKの伝搬を抑止するという同様の効果を備えることが明らかである。すなわち、回路例4のタイミングチャートは図14のD,M,XCLKと同一になる。
回路例4のトランジスタ数を、回路例2(図13)のトランジスタ数と比較すると次のようになる。回路例2のトランジスタ数は、AND回路部分に6個(図15参照)、IHラッチ回路10部分に16個(図3参照)で合計22個必要である。回路例4のトランジスタ数は図20より18個必要である。これにより、回路例4のトランジスタ数は回路例2のトランジスタ数より4個減っていることがわかる。
以上のように、実施の形態2によれば、ラッチ回路を構成するのに必要なトランジスタ数を実施の形態1よりも更に削減することが可能である。尚、実施の形態2についても実施の形態1の場合と同様に、回路例3については、ラッチ回路の入出力データがL(0)で一致する場合のみ内部クロックの伝搬が抑止される。また回路例4については、ラッチ回路の入出力データがH(1) で一致する場合のみ内部クロックの伝搬が抑止される。したがって、ラッチの値がL(0) の可能性が高いか、H(1) の可能性が高いかを考慮して回路例3または回路例4のいずれかを使用すれば、電力消費の低減についても効果的に作用することができる。電力消費についての考察は、図21、図22、図23を参照して後述する。
以上、本発明の実施の形態について回路例1〜回路例4を参照して詳細に説明した。上述のことから、開示のラッチ回路は、従来の回路に比べてトランジスタの数を少なくできる。
さて、開示の回路例について、電力消費が低減されることを検証するために、実際に各回路の消費電力を測定した。その測定結果を図21、図22、図23に示す。
図21は、回路例1〜回路例4、図1に示した回路(IH端子をLにクリップしたもの)、および図4に示した回路(ENOR回路を用いたもの)について各動作パターンでの平均電力を測定し、図4の回路を基準としてまとめたものである。(1)〜(4)の各動作パターンとは、図5、図6、図11、図14等に示したタイミング1〜4に対応する動作のことである。
図21において、「(1)0→0」はデータ出力端子のデータが0から0と変化しない場合の回路の平均電力、「(2)0→1」はデータ出力端子のデータが0から1に変化する場合の回路の平均電力、「(3)1→1」はデータ出力端子のデータが1から1と変化しない場合の回路の平均電力、「(4)1→0」はデータ出力端子のデータが1から0に変化する場合の回路の平均電力をそれぞれ測定したものである。
図22に、図21の測定結果から平均電力等を求めた結果を示す。図22において、「平均(=動作率50%)」は、(1)〜(4)のそれぞれが25%ずつあった場合(動作率50%)として平均を求めたものである。更に、図22の「0→0 97%」は、(0→0)の消費電力×0.97+(0→1)の消費電力×0.01+(1→1)の消費電力×0.01+(1→0)の消費電力×0.01として求めたものである。また、図22の「1→1 97%」は、(0→0)の消費電力×0.01+(0→1)の消費電力×0.01+(1→1)の消費電力×0.97+(1→0)の消費電力×0.01として求めたものである。つまり、前者は0→0のパターンが97%の場合の消費電力、後者は1→1のパターンが97%の場合の消費電力である。
回路例1について、図21を参照すると、0→0、0→1、1→0の場合、図4のENOR回路を用いた場合と比較して、それぞれ70.1%,67.3%,71.5%の電力消費となっており、ENOR回路を用いた場合(100パーセント)よりも少ないことがわかる。しかし、1→1の場合には453.3%と増えてしまう。この結果、図22に示すように、それぞれが25%ずつであった場合(動作率50%)の平均では77.2%となり、ENOR回路を用いた回路より少なく抑えられている。また、データの変化がほとんど無い0→0が97%の場合には72.7%とさらに低く抑えられている。しかし、データの変化が殆どない1→1が97%の場合には、327.4%に増えてしまう。
回路例2については、回路例1の場合とは逆の性質を示している。すなわち、図21を参照すると、1→1、1→0、0→1の場合、ENOR回路を用いた場合と比較して、それぞれ、78.8%,74.5%,78.9%の電力消費となっており、ENOR回路を用いた場合(100%)よりも少ないことがわかる。しかし、0→0の場合には526.6%に増えてしまう。この結果、図22に示すように、それぞれが25%ずつであった場合(動作率50%)の平均は85.3%となり、ENOR回路を用いた回路より少なく抑えられている。また、データの変化がほとんど無い1→1が97%の場合には、81.0%とさらに低く抑えられている。しかし、データの変化が殆どない0→0が97%の場合には、368.5%に増えてしまう。また、トランジスタが回路例1に比べて2個増えている影響で、回路例1(NOR)の場合に比べると電力消費が多い。
同様に、回路例3について、図21を参照すると、0→0、0→1、1→0の場合、図4のENOR回路を用いた場合と比較して、それぞれ、76.5%,60.6%,72.3%の電力消費となっており、ENOR回路を用いた場合(100%)よりも少ないことがわかる。しかし、1→1の場合には、435.3%に増えてしまう。この結果、図22に示すように、それぞれが25%であった場合(動作率50%)の平均では73.9%となり、ENOR回路を用いた場合より少なく抑えられている。また、データの変化が殆ど無い0→0または1→1が97%の場合には、それぞれ75.6%、314.3%である。
回路例4について、図21を参照すると、1→1、1→0、0→1の場合、ENOR回路を用いた場合と比較して、それぞれ、80.0%,60.4%,63.0%の電力消費となっており、ENOR回路を用いた場合(100%)よりも少ないことがわかる。しかし、0→0の場合には、499.5%に増えてしまう。この結果、図22に示すように、それぞれが25%であった場合(動作率50%)の平均では、70.3%となり、ENOR回路を用いた場合より少なく抑えられている。またデータの変化が殆どない0→0または1→1が97%の場合には、それぞれ345.8%、76.8%である。
このように回路例3、回路例4については、基本的には回路例1、回路例2と同様の傾向を示しているが、トランジスタ数が少ないこともあり、消費電力を回路例1、回路例2よりも少なくできている。またデータの変化が殆どない場合については、回路例3の0→0の場合で回路例1と同等程度、回路例4の1→1の場合で回路例2と同等以下の電力消費とすることができている。
また、図23は、回路例1〜回路例4および図1、図4に示した回路のリーク電力を測定したものをまとめたものである。リーク電力とは、クロックやデータが変化しない場合の消費電力のことである。すなわち、例えば図23の「<1>D=0,M=0」は、回路の入力データが0, 出力データが0の場合に、クロック入力端子にLの信号が入力される直前の電力を測定したものである。(”直前”とは信号が入力される前のタイミングのことである)同様に、「<2>D=1,M=0」は、回路の入力データが1、出力データが0の場合に、クロック入力端子にLの信号が入力される直前の電力を測定したものである。<3>、<4>についても同様である。
各回路について<1>〜<4>の場合の電力を測定し、平均したものを図23の一番右の列に示す。これによれば、図4に示した回路(ENOR回路を用いた場合)のリーク電力を100%とした場合に、回路例1〜回路例4の平均リーク電力は、それぞれ、69.6%,90.5%,67.4%,72.6%となっている。リーク電力は、回路のトポロジとトランジスタの数の影響を受けるので一概には言えないが、ENOR回路を用いた場合のリーク電力が100%と一番大きくなっている。このように、開示した回路例1〜回路例4はENOR回路を用いた場合と比較してリーク電力も低く抑えることができるといえる。
以上のことから、開示の回路例1〜回路例4は、動作時の電力消費も、リーク電力も従来の回路に比べて低く抑えることができると言える。更に詳しくは、図21の電力測定結果から、ラッチの値がL(0) である確率が高い回路では回路例1または回路例3の回路を用い、ラッチの値がH(1) である確率が高い回路では回路例2または回路例4の回路を用いれば電力消費を低減できることがわかる。多くの場合は、回路例3、回路例4のほうが回路例1、回路例2よりも使用するトランジスタ数が少ないため、ダウンサイジング、省電力の観点からはより優れた回路と言える。しかしながら、回路例1、回路例2は、例えば図1に示したIHラッチ回路等の、従来よりあるラッチ回路の構成を変更せずに、NOR回路やAND回路などの外付け回路で、従来のENOR回路を用いた場合(図4)よりも回路サイズと電力消費を低減できる特長がある。つまり、従来よりあるラッチ回路を用いて回路サイズと電力消費を低減したい場合には、実施の形態1を用いるのが有効であり、更なる回路のサイズを低減化および電力低下を求める場合には実施の形態2を用いるのが有効であると言える。
以上の本発明の実施の形態を詳細に説明したが、開示のラッチ回路によれば、内部クロック伝搬を制御する部分の回路を簡素化し、回路サイズの増大を抑えることが可能である。また電力消費を低減することが可能である。
尚、本発明は上記実施の形態に記載したことに限定されないことは言うまでもなく、本発明の趣旨を逸脱しない範囲において様々な変更が可能である。