JP2009147221A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2009147221A
JP2009147221A JP2007324991A JP2007324991A JP2009147221A JP 2009147221 A JP2009147221 A JP 2009147221A JP 2007324991 A JP2007324991 A JP 2007324991A JP 2007324991 A JP2007324991 A JP 2007324991A JP 2009147221 A JP2009147221 A JP 2009147221A
Authority
JP
Japan
Prior art keywords
circuit
data
output
flip
flop
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
Application number
JP2007324991A
Other languages
English (en)
Inventor
Masanao Yamaoka
雅直 山岡
Kenichi Osada
健一 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007324991A priority Critical patent/JP2009147221A/ja
Priority to US12/335,331 priority patent/US7911221B2/en
Publication of JP2009147221A publication Critical patent/JP2009147221A/ja
Priority to US13/028,212 priority patent/US20110133786A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00346Modifications for eliminating interference or parasitic voltages or currents

Abstract

【課題】クリティカルパスでの電源電圧に対する速度の変化の測定を可能とする。
【解決手段】第1論理回路(LOGIC1)と第2論理回路(LOGIC2)との間に、速度性能測定を可能とする速度性能測定回路(SEQ1)を設ける。上記速度性能測定回路は、第1データを記憶する第1フリップフロップ(FF1)と、上記第1データを遅延させて第2データを生成する第1遅延回路(DELAY1)と、上記第2データを記憶する第2フリップフロップ(FF2)とを含む。さらに上記速度性能測定回路は、上記1フリップフロップの出力と上記第2フリップフロップの出力とを比較する第1比較回路(EXOR1)と、上記第1クロック信号のタイミングに従って上記第1比較回路の出力データを記憶する第3フリップフロップ(FF3)とを含む。通常のパスと一定時間遅延させたパスのデータを比較して速度を測定し、それに基づいて回路の電源電圧を決定する。
【選択図】図1

Description

本発明は、入力された信号に所定の処理を行う複数の回路を含む半導体装置、さらには、集積された回路の性能が製造後にばらついても動作するように設計時に確保しているマージンの量を低減し、回路がもつ性能に最適な性能で半導体チップを動作させるための回路技術に関する。
半導体製造プロセスの微細化により、MOSトランジスタのしきい値電圧(Vth)のばらつきが増大している。Vthのばらつきによって製造後のMOSトランジスタのVthが低下するとMOSトランジスタの駆動電流が増加するため、回路が動作することのできる動作速度は速くなる。逆に、Vthのばらつきによって製造後のMOSトランジスタのVthが低下するとMOSトランジスタの駆動電流が低下するため、回路が動作することのできる動作速度は遅くなる。半導体製造プロセスが90nmより微細化されると、Vthばらつきの増加によりばらつきによる速度差が大きくなり、回路の動作速度の決定が困難となってきている。特に、回路の必要性能に応じて回路の動作周波数と回路の電源電圧を変化させるFV制御という技術を用いる場合には、電源電圧によって回路が動作可能な周波数が異なるため、ばらつきに応じてすべての電源電圧に対する動作周波数を設計時に決定することは困難である。よって、製造後の回路特性を測定し、最適な動作周波数を決定することができれば、製造後の回路性能を十分に活用することが可能となる。回路に入力されているクロックのタイミングを制御して回路の性能を測定する技術については、例えば特許文献1に記載されている。
特開2003-273234号公報
LSI(Large Scale Integrated circuit: 大規模集積回路)を製造するプロセスの進展により、LSI中のトランジスタの微細化が進展している。たとえば、2006年にはトランジスタのゲート長が50nmという微細なトランジスタの量産が行われている。トランジスタの微細化が進展するとトランジスタのVthのばらつきが増大し、実際に製造された回路を構成するトランジスタのVthが、設計時のトランジスタのVthから大きくずれてしまう。たとえば、設計時のVthよりも製造時のVthが高くなった場合にはトランジスタの動作電流が減少し、動作速度が低下する。特に、FV制御技術を用いる場合には、所定の周波数で回路が動作するために必要な電源電圧を製造後の回路ごとに正確に測定し、その測定結果を回路内で保持しておく必要がある。
上記特許文献1では、クリティカルパスと呼ばれる信号の伝播がもっとも遅い経路に配置される記憶素子フリップフロップ(FF)を2つ具備し、それぞれのFFを制御するクロックのタイミングをずらし、それぞれのFFで保持しているデータの内容を比較することでタイミングのエラーが発生するかどうかを測定する。その際には、電源電圧を徐々に低下させ、上記のFFの比較結果からエラーが起きた場合に、電源電圧を上昇させ、電源電圧の下限値を測定している。しかしながら、前記特許文献1においては、判定器106の出力Sig106を直接電源電圧制御回路に入力しており、その出力Sig106のエラー判定に従って電源電圧の調整を行っている。従って、(1)Sig106にグリッジ等のノイズが発生した場合、それをエラー判定と判断し、本来ならば下げることができる電源電圧であっても電圧を上昇させるおそれがある。また、(2)図9に示されるようにエラーが出た場合に電源電圧を上げ、エラーが出なかった場合は、電源電圧を下げる制御を行っている。従って、常に電源電圧が揺れ動く制御となる。特許文献1には、どの程度の刻みで電源電圧を動かしているかは不明だが、この制御は刻みが小さい場合には、揺れ動く範囲が小さいので特に問題にならない。しかしながら、刻みが小さい場合には、多数回上記制御を行わないと下限値まで到達しないため制御に時間が係るおそれがある。一方、下限値まで直ぐに到達させようと刻みを大きくすると動作速度への影響が大きくなってしまい、本来意図していた回路の安定動作が出来なくなるおそれがある。また、電源電圧の下限値を測定する際に、電源電圧を徐々に変化させる際に変化させる前の状態を保持しておかなければ、タイミングエラーが発生した際にエラーが出ない下限の電源電圧値を測定することはできない。更には、(3)通常動作を行う演算回路群203からエラー判定用のデータが出力される構成を取っており、また、エラー判定は1クロックサイクル毎に行われる。1クロックサイクル毎にエラー判定を行う場合には、F/Fのデータを反転させる必要があるため、通常の論理回路部から出力されるデータが1クロックサイクル毎に論理値”1””0”が変化する部分にしか適用することが難しい。最後に、(4)従来は、設計時にもっとも信号の伝播が遅くなる経路が推測できていたが、現在の微細化された半導体製造プロセスで製造された回路においては、MOSトランジスタのVthばらつきが大きくなるために、信号がもっとも遅くなる経路(クリティカルパス)が複数考えられるため、タイミングを測定する経路が複数必要になる。特許文献1では、エラー判定用のF/Fを新たに設けているために複数の経路に適用すると回路規模が大きくなってしまう。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、第1論理回路と第2論理回路との間に、速度性能測定を可能とする速度性能測定回路とを設ける。上記速度性能測定回路は、上記第1クロック信号に同期して入力された第1データを記憶する第1フリップフロップと、上記第1データを遅延させて第2データを生成する第1遅延回路と、上記第1クロック信号に同期して入力された上記第2データを記憶する第2フリップフロップと、上記1フリップフロップの出力と上記第2フリップフロップの出力とを比較する第1比較回路と、上記第1クロック信号のタイミングに従って上記第1比較回路の出力信号のデータを記憶する第3フリップフロップを含んで成る。上記第3フリップフロップの出力により、クリティカルパスでの電源電圧に対する速度の変化の測定結果を得る。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、クリティカルパスでの電源電圧に対する速度の変化の測定を行うことができる。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係る半導体装置(SOC1,SOC2)は、第1論理回路(LOGIC1)と、上記第1論理回路の後段に配置され、上記第1論理回路から出力される第1データが伝達される第2論理回路(LOGIC2)と、上記第1論理回路と上記第2論理回路との間で速度性能測定を可能とする速度性能測定回路(SEQ1)とを含む。上記速度性能測定回路は、クロック信号に同期して、上記第1データを記憶する第1フリップフロップ(FF1)と、上記第1データを遅延させて第2データを生成する第1遅延回路(DELAY1)と、上記クロック信号に同期して、上記第2データを記憶する第2フリップフロップ(FF2)と、上記1フリップフロップの出力と上記第2フリップフロップの出力とを比較する比較回路(EXOR1)と、上記第1クロック信号のタイミングに従って上記比較回路の出力信号のデータを記憶する第3フリップフロップ(FF3)とを含んで成る。
〔2〕各部に動作用の電源電圧を生成するための電圧生成回路(VGEN1)と、上記比較回路の出力データを用いて上記電源電圧を調整可能な電圧制御回路(CONTV)とを設けることができる。
〔3〕上記電源電圧の制御情報を保持可能な記憶回路(MEM1)を設け、上記電圧制御回路は、上記電源電圧の調整において上記記憶回路内の制御情報を参照するように構成することができる。
〔4〕上記第1比較回路の出力論理がハイレベルとなった場合に、それを受けて、出力状態を一定時間ハイレベルに保持するための第4フリップフロップ(FF4)を設けることができる。
〔5〕所定の機能を有する回路モジュール(CPU1,CPU2)のリソースを管理するリソースマネージャ(RM)を設け、上記リソースマネージャによる上記回路モジュールのリソース管理に応じて上記電源電圧が調整されるように構成することができる。
〔6〕上記速度性能測定回路(SEQ1)が複数設けられるとき、上記複数の速度性能測定回路の出力信号を一つの信号にまとめるための速度性能測定結果出力部(SEQ3)を設けることができる。このとき、上記度性能測定結果出力部は、上記複数の速度性能測定回路の出力信号のオア論理をとることで、上記複数の速度性能測定回路の出力信号を一つの信号にまとめるためのオア回路(OR1)と、上記オア回路の出力信号を上記クロック信号に同期して保持するための第5フリップフロップ回路(FF5)とを含んで構成することができる。
〔7〕また、上記度性能測定結果出力部は、上記クロック信号を遅延させるための第2遅延回路(DELAY2)と、上記複数の速度性能測定回路に対応して配置され、対応する上記速度性能測定回路の出力信号を取り込むための複数の第1トランジスタ(MN2,MN3)と、上記遅延回路の出力信号によって動作制御され、上記複数の第1トランジスタのドレイン電極を高電位側電源に結合するための第2MOSトランジスタ(MP1)と、上記第2遅延回路の出力信号によって動作制御され、上記複数の第1トランジスタのソース電極を低電位側電源に結合するための第3MOSトランジスタ(MN1)と、上記クロック信号に同期して上記複数の第1トランジスタのドレイン電極の論理を保持可能な第6フリップフロップ回路(FF5)とを含んで構成することができる。
〔8〕上記第1比較回路の出力データに基づいて、上記クロック信号の周波数を制御可能な周波数制御回路(CONTF)を設けることができる。
〔9〕上記クロック信号を生成するとともに、上記クロック信号の周波数を上記周波数制御回路の出力信号に基づいて変更可能なクロック発生回路(PLL)を設けることができる。
〔10〕上記比較回路の出力データを用いてトランジスタの基板バイアスを調整する基板バイアス調整回路(CONTVB)を設けることができる。
〔11〕基板バイアスの制御情報を保持する記憶回路(MEM3)を含み、上記基板バイアス調整回路は、上記トランジスタの基板バイアスの調整において、上記記憶回路内の制御情報を参照するように構成することができる。
〔12〕別の観点によれば、第1データをクロック信号のタイミングに従って記憶する第1フリップフロップ(FF7)と、上記第1データを遅延させて第2データを生成する第1遅延回路(INV10,INV11)と、上記第1データとは別の経路から入力される第3データと上記第2データとを選択的に出力する第1選択回路(INV12,INV13)と、上記第1選択回路の出力信号を上記クロック信号のタイミングに従って記憶する第2フリップフロップ(FF8)と、上記第1フリップフロップの出力と上記第2フリップフロップの出力とを比較する比較回路(EXOR2)とを含んで半導体装置を構成することができる。
〔13〕速度性能を測定する第1モードと、上記第1モード以外の第2モードとを含むとき、上記第1選択回路の選択動作により、上記第2フリップフロップには、上記第2モードにおいて上記第3データが入力され、上記第1モードにおいて上記第2データが入力されるように構成することができる。
〔14〕上記第2比較回路の出力を上記クロック信号のタイミングに同期して記憶する第3フリップフロップ(FF11)を設けることができる。
〔15〕別の観点によれば、入力された第6データをクロック信号のタイミングに同期して記憶する第7フリップフロップ(FF7)と、上記第1データを遅延させて第2データを生成する第1遅延回路(INV10,INV11)と、上記第2データと上記第1フリップフロップの出力とを選択的に出力する第1選択回路(INV12,INV23)と、上記第1選択回路の出力信号を上記クロック信号のタイミングに従って記憶する第2フリップフロップ(FF8)と、第1フリップフロップの出力と第2フリップフロップの出力とを比較する比較回路(EXOR2)とを含んで半導体装置を構成することができる。
〔16〕上記第2フリップフロップのデータを上記第1フリップフロップに入力可能な第2選択回路(INSEL3)を設けることができる。
〔17〕回路がスタンバイ状態のとき、上記第1フリップフロップ、上記第3遅延回路、上記第2選択回路、及び上記比較回路への電源電圧の供給が遮断され、上記第2フリップフロップには電源電圧レベルの信号が供給されるように構成することができる。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
<実施形態1>
図8には、本発明にかかる半導体装置の一例とされるSOC(System On a Chip)1が示される。図8に示されるSOC1は、CPU、PERI1,PERI2、SRAM1、及びVGEN1を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。CPUは中央処理装置であり、所定のプログラムに従って汎用的な処理を実行したり、各部の動作を制御する。PERI1及びPERI2はアクセレレータであり、特定の処理を行う。SRAM1はSOC1における主記憶装置として使用されるメモリブロックである。VGEN1は、このSOC1の各部の動作用電源電圧VDDを生成する電圧生成回路である。CPUは電圧制御回路(ERCNT1)を含み、このERCNT1は、CPUの動作速度を測定し、その性能に応じた最低の電源電圧をVGEN1に設定する。これにより、SOC1全体で速度性能を達成できる電源電圧に設定でき、LSIの必要性能を確保して、電源電圧を最低に設定し動作電力を最小化することが可能となる。
図4には、上記ERCNT1の構成例が示される。
図4において、VGEN1は電源電圧ジェネレータ、CONTVは電源電圧制御回路、MEM1は電源電圧の制御情報が格納された記憶回路である。ERCK1はエラーチェック回路、ERCNはエラー制御回路である。また、VDDは電源電圧、CHVは電源電圧を指定する信号、ERROUTは速度性能を測定する回路の出力信号である。本回路では、速度性能を測定する回路から出力されるERROUT信号によって動作する最低の電源電圧を設定することが可能となる。
図5には、本回路における電源電圧設定のシーケンスが示される。
図5において、ステップ201では、現在の電源電圧の値を図4中のMEM1に記憶される。ステップ202では電源電圧が低下される。ステップ203では、ERROUTのデータが比較される。この比較において、ハイ(H)レベルが出力された場合には、ステップ204の処理を行う。またロー(L)レベルが出力された場合には、ステップ201の動作が行われる。ステップ204では電源電圧の制御情報がMEM1に設定される。設定された制御情報に従って電源電圧の制御が行われる。ステップ201から開始してステップ204までの動作を実行することで回路が所定の動作速度で動作する最低の電源電圧を設定することが可能である。図5の電源電圧設定シーケンスにおいて、ステップ203において、ERROUTが"H"か"L"かの判定を行っている。このように電源電圧情報を記憶する記憶回路(MEM1)を設け、エラーが出なかった場合にのみ電源電圧情報を変更し、エラーが出ると、その前のエラーが出なかった値に設定しなおすことで電源電圧の下限を設定することが可能となり、上記課題(2)を解決することが可能となる。 図1には、上記ERCK1の構成例が示される。
上記ERCK1は、図1に示されるように、LOGIC1,LOGIC2間に配置される。LOGIC1,LOGIC2は、それぞれ所定の論理演算を可能とする組み合わせ論理回路とされる。
LOGIC1の出力信号は、ERCK1を介して後段に配置されたLOGIC2に伝達されるようになっている。ERCK1は、上記LOGIC1から上記LOGIC2に至るクリティカルパスの速度性能測定を行い、その速度性能測定結果に基づいて、エラーチェックを行う。このエラーチェック結果は、特に制限されないが、後述する電源電圧制御に使用される。
上記ERCK1は、上記クリティカルパスの速度性能測定を可能とする速度性能測定回路(SEQ1)、及びこのSEQ1での測定結果(ERROUT)に基づいてエラー判定を行うエラー判定回路(SEQ2)を含む。上記SEQ2からはエラー判定信号ERREX1が出力される。
上記SEQ1は、特に制限されないが、遅延回路(DELAY1)、フリップフロップ回路(FF1,FF2,FF3)、及びエクスクルーシブオア回路(EXOR1)を含んで成る。上記DELAY1は、2段のインバータで構成される。上記DELAY1により、上記LOGIC1の出力信号D1は、インバータ2段分の信号遅延を受ける。DELAY1の出力信号DD1は、FF2に伝達される。FF1は、クロック信号CLKに同期して上記LOGIC1の出力信号D1を保持する。FF2は、クロック信号CLKに同期して上記DELAY1の出力信号DD1を保持する。EXOR1は、上記FF1,FF2の出力信号のエクスクルーシブオア論理を得る。このエクスクルーシブオア論理結果ERRORは、クロック信号CLKに同期してFF3に保持される。FF3の出力信号ERROUTは、後段のSEQ2に伝達される。このように、比較回路であるEXOR1の出力ERRORをFF1,FF2に入力されるクロック信号CLKに従って取り込むFF3を設けることにより、ERRORにグリッジ等のノイズが発生したとしてもそのノイズは無視され、正確に比較結果ERRORの情報を保持することが可能となり、上記(1)の課題を解決することが可能となる。
なお、図4に示される電源電圧制御回路CONTV及び記憶回路MEM1は、FF3が無くERRORの信号を直接電源電圧情報を変化させるトリガとしても動作可能であるが、図1におけるFF3との組合せにおいて、特に効果が大きい。即ち、FF3が存在せず、記憶回路の電源電圧情報を変化させるトリガに直接ERRORを使用するとグリッジ等のノイズにより誤って電源電圧情報が変化してしまう可能性がある。そのため、FF3が保持する正確なエラー情報を得ることにより、安定した動作が可能となる。
また、図1に示している回路では、図示されていないが、LOGIC1の前段には、クロック信号CLKで動作するフリップフロップ回路が配置されており、上記クロック信号CLKの入力により、上記LOGIC1にデータが入力され、その出力が次のクロック信号CLKに同期してFF1に格納されるようになっている。本回路では、LOGIC1の遅延時間がクロック信号CLKで与えられる周波数よりもインバータ2段分の遅延時間以上速い速度で動作している場合には、FF3の出力信号ERROUTがローレベルとされるが、組み合わせ論理回路LOGIC1の遅延時間がクロック信号CLKであたられる周波数と同等程度、またはそれより遅くなると、FF3の出力信号ERROUTからハイレベルの信号が出力される。
次に、上記SEQ1の動作を説明する。
図2には、LOGIC1の遅延時間がクロック信号CLKで与えられる周波数よりもインバータ2段分の遅延時間以上速い速度で動作している場合の図1中の回路各部の動作波形が示される。
毎サイクルクロック信号CLKが入力されるとともに、LOGIC1の出力信号D1はクロックの立ち上がりよりも早くデータが変化する。その後、FF1にクロック信号CLKが入力されるため、LOGIC1の出力信号D1の値はFF1に取り込まれ信号として出力され、次段のLOGIC2に入力される。また、LOGIC1の出力信号D1をインバータ2段分遅延させた信号DD1もクロック信号CLKの立ち上がりよりも早くデータが変化する。そのため、DELAY1の出力信号DD1が入力されたFF2にはクロック信号CLKの立ち上がりとともにデータが取り込まれ、QD1として出力される。この際に、FF1とFF2に取り込まれたデータは同じであるため、その出力信号であるQ1とQD1は同じ値となり、そのエクスクルーシブオアをとった信号ERRORはローレベルとなる。さらに、そのような信号ERRORを取り込んでいるFF3の出力もローレベルとなる。
図3には、上記LOGIC1の遅延時間にインバータ2段の遅延時間を加えた時間が、クロック信号CLKの1周期の時間よりも長くなった場合、すなわちLOGIC1の動作速度にほとんど余裕がなくなった場合の図3中の回路各部の動作波形が示される。
図3に示される動作例の場合、LOGIC1の遅延時間が図2の場合と比較して遅くなっているため、タイミング111において、上記LOGIC1の出力信号D1は、その前のデータから変化しているが、DELAY1の出力信号DD1タは変化していない。よって、タイミング111におけるクロック信号CLKの立ち上がりでFF1への入力データはローレベルとなり、従ってFF1の出力信号Q1もローレベルとなる。一方、FF2のデータはハイレベルとなり、FF2の出力信号QD1もハイレベルとなる。よって、信号Q1と信号QD1のエクスクルーシブオアの値ERRORはハイレベルとなる。さらにその次のクロック信号CLKの立ち上がりであるタイミング112において、EXOR1の出力がFF3に保持され、信号ERROUTがハイレベルとなる。またその次のクロック信号CLKの立ち上がりであるタイミング113においては、FF1の出力信号Q1とFF2の出力信号QD2とが等しくなっているため、エクスクルーシブオアの値ERRORはローレベルとなり、FF3に取り込まれるデータもローレベルとなる。このように、図1に示される回路を用いると、上記LOGIC1の遅延時間がクロック信号CLKで与えられる周波数に近い値になったことを検出することが可能となる。
しかし図1におけるSEQ1では、速度エラーが起きる条件で毎サイクルERROUTが出力されるわけではない。これは、図1に示されるSEQ1では、データが変化した場合にFF1と、FF2とでデータを比較し、データが異なっているか否かを検出するため、に入力されたデータが変化しない場合には、速度エラーが起こっていても信号ERROUTがハイレベルにされることはないことに起因する。
そこで、本例では、速度性能測定回路SEQ1の後段にエラー判定回路SEQ2を配置することで、数サイクルの間に、フリップフロップ回路FF3の出力ERROUTがハイレベルになるか否かのエラー判定を可能にしている。
図6には、上記SEQ2の構成例が示される。
SEQ2は、特に制限されないが、図6に示されるように、論理回路(ORAND1)、及びフリップフロップ回路(FF4)を含んで成る。ORAND1は、FF3の出力信号ERROUTとFF4の出力信号ERREX1との論理和を演算するオア回路(OR1)と、このOR1の出力信号とリセット信号RESETとの論理積を演算するアンド回路(AND1)とが結合されて成る。上記ORAND1の出力信号N1は後段のFF4に伝達される。
図7には、図6に示される上記SEQ2における主要部の動作タイミングが示される。
クロック信号CLKは毎サイクル入力される。最初の状態は、一度、リセット信号がローレベルにされた後の状態を示しており、FF4の出力信号ERREX1はローレベルとなっている。時刻121において、FF3の出力信号ERROUTにハイレベルのデータが入力されると、ORAND1の出力信号N1がハイレベルとなり、時刻122においてFF4にハイレベルのデータが記憶され、出力ERREX1はハイレベルとなる。時刻123において、FF3の出力信号ERROUTにローレベルのデータが入力されるが、FF4の出力信号ERREX1はハイレベルの状態を保ち続ける。時刻124において、リセット信号RESETがローレベルとなり、SEQ2がリセットされると、時刻125においてローレベルのデータがFF4に保持され、出力ERREX1もローレベルとなる。このように図6に示される回路SEQ2が設けられることにより、FF3の出力信号ERROUTからハイレベルのデータが入力されたことを記憶することが可能となる。従って、上記のようにSEQ1の後段にSEQ2を配置することで、数サイクルの間に、FF3の出力ERROUTがハイレベルになるか否かのエラー判定を行うことができる。即ち、本構成により、複数クロックサイクルの間(リセット信号が入力されるまでの間)に一度でもエラー判定されるとFF4にエラー判定のデータが保持される。即ち、”H””L”が交互に出力される論理回路の後でなくともエラー判定回路を設けることが可能となり、上記(3)の課題を解決することが可能となる。また、FF4は、FF3と同様の効果を有する。即ち、ERRORやERROUTにグリッジ等のノイズが発生したとしても、FF1,FF2等と同じクロック信号によりFF4がデータを取り込んでいるため、安定した動作が実現できる。
上記例によれば、以下の作用効果を得ることができる。
(1)クロック信号CLKに同期して入力された第1データを記憶するFF1と、上記第1データを遅延させて第2データを生成するFF2と、上記第クロック信号CLKに同期して入力された上記第2データを記憶するFF3と、上記FF1の出力と上記FF2の出力とを比較するEXOR1と、上記クロック信号CLKのタイミングに従って上記EXOR1の出力信号のデータを記憶するFF3とを設けたことにより、上記組み合わせ論理回路LOGIC1の遅延時間がクロック信号CLKで与えられる周波数に近い値になったことを、ノイズの影響を受けずに検出することができる。
(2)SEQ1の後段にSEQ2を配置することで、数サイクルの間に、FF3の出力ERROUTがハイレベルになるか否かのエラー判定を行うことができる。
(3)上記(1)及び(2)の作用効果により、SOC1において必要な速度性能を確保して、最低の電源電圧を設定することが可能となる。
<実施形態2>
図9には、本発明にかかる半導体装置の一例とされるSOC(System On a Chip)2が示される。図9に示されるSOC2が、図8に示されるのと大きく相違するのは、それぞれ汎用的な処理を実行可能な2個の中央処理装置(CPU1,CPU2)と、それらのリソースを管理するリソースマネージャ(RM)とを含む点である。PERI3は特定の処理を行うアクセレレータ、SRAM1は主記憶装置として使用されるスタティック型のメモリブロックである。上記CPU1,CPU2は、それぞれ専用のVGEN1,ERCNT1とを有し、個別的に電源電圧の調整が行われる。上記CPU1,CPU2内のVGEN1,ERCNT1は、特に制限されないが、上記実施形態1の場合と同様に構成されるため、ここではそれらについての詳細な説明を省略する。
このように複数のCPUが搭載されるSOCにおいては、SOC内において性能を制限する回路ブロックが複数存在し、その場合、それぞれのプロセッサのリソースを調整する回路が必要となる。本例では、RMによってCPU1,CPU2のリソース調整が行われる。このリソース調整後のCPU1,CPU2の動作速度が専用のERCNT1で測定され、その性能に応じた最低の電源電圧が専用のVGEN1に設定されるようになっている。
このように実施形態2においては、リソース調整後のCPU1,CPU2の動作速度が専用のERCNT1で測定され、その性能に応じた最低の電源電圧が専用のVGEN1に設定されるようになっているため、CPU1,CPU2のリソース調整に応じて適切な電源電圧設定が行われる。
<実施形態3>
通常、SOCにおいては、クリティカルパスと呼ばれる速度性能がもっとも遅くなるパスは複数存在する。そのような場合には、複数の速度性能測定回路(SEQ1)を用いて速度性能を測定すると良い。図10には、そのように複数のSEQ1が設けられる場合の主要部の構成例が示される。
図10に示される例では4個のSEQ1が設けられ、その出力信号が後段の速度性能測定結果出力部(SEQ3)に伝達される。上記4個のSEQ1は、図1に示されるのと同様に構成されるため、ここではそれについての詳細な説明を省略する。上記SEQ3は次のように構成される。
ERROUT1〜ERROUT4は、それぞれ上記4個のSEQ1の出力信号である。オア回路(OR1)が設けられ、このOR1は、上記ERROUT1〜ERROUT4のオア論理を得る。OR1の出力信号N2は、後段のフリップフロップ回路(FF5)に伝達される。FF5は、クロック信号CLKに同期して、上記OR1の出力信号N2を保持する。FF5の出力信号ERREX2は、SEQ3の出力信号(エラー判定信号)として後段回路、例えばCONTV(図4参照)などに供給される。
このように、図10に示される構成によれば、OR1によってERROUT1〜ERROUT4のオア論理が得られる。よって、ERROUT1〜ERROUT4のいずれか1つでもハイレベルになると、それに応じてOR1の出力信号N2がハイレベルとなる。そのような信号は、クロック信号CLKの立ち上がりによってFF5に記憶され、ERREX2として出力される。つまり、本例によれば、複数の速度性能を測定する回路の出力からハイレベルの出力信号を検出することが可能となるため、この信号ERREX2を用いて回路性能を調整すれば、SOCにおいて所定の回路性能を確保し得る最低の電源電圧を設定することが可能となる。
<実施形態4>
図11には、複数のSEQ1が設けられる場合の主要部の別の構成例が示される。
図11に示される例では2個のSEQ1が設けられ、その出力信号が後段の速度性能測定結果出力部(SEQ3)に伝達される。上記2個のSEQ1は、図1に示されるのと同様に構成されるため、ここではそれについての詳細な説明を省略する。図11においてSEQ3は次のように構成される。
MP1はノードN3をハイレベル(高電位側電源VDDレベル)にプリチャージするためのpチャネル型MOSトランジスタ、MN2,MN3はそれぞれ上記ERROUT1,ERROUT2を取り込むためのnチャネル型MOSトランジスタ、MN1は、上記MN2,MN3のソース電極をローレベル(低電位側電源VSSレベル)に引き抜くためのnチャネル型MOSトランジスタである。また、複数のインバータにより形成される遅延回路(DELAY2)が設けられ、このDELAY2によりクロック信号CLKが遅延される。そして、上記DELAY2で遅延されたクロック信号CLKBが上記pチャネル型MOSトランジスタMP1及びnチャネル型MOSトランジスタMN1のゲート電極に供給されるようになっている。
図12には、図11に示される構成における主要部の動作タイミングが示される。
図12に示される回路には、毎サイクルクロック信号CLKが入力される。時刻131において、速度エラーが発生しERROUT1がハイレベルにされる。すると、nチャネル型MOSトランジスタMN2がオンされる。時刻132において、クロック信号CLKBがハイレベルとなることにより、nチャネル型MOSトランジスタMN1がオンされることで、ノードN3はローレベルにされる。時刻133においてFF5にクロック信号CLKが入力されてこのFF5にローレベルのデータが記憶され、それがERREX3として出力される。ERREX3はハイレベルの場合に速度エラーが起こっていない状態、ローレベルの場合に速度エラーが発生されている状態とされる。時刻134においては、入力される信号ERROUT11及びERROUT12がどちらもローレベルとなり、ノードN3はディスチャージされず、次のサイクルの開始時刻である時刻135において、ハイレベルのデータがFF3に記憶され、それが出力される。
図10では2個のSEQ1が設けられ、その出力信号が後段の速度性能測定結果出力部(SEQ3)に伝達されるようにしたが、3個のSEQ1を設け、その出力信号をSEQ3に供給するように構成することができる。また、図10及び図11においては、SEQ1の出力信号としてFF3の出力信号(ERROUT1など)を取り込むようにしているが、EXOR1の出力信号を取り込むようにしても良い。この場合、複数のSEQ1内のFF3は不要とされる。
図10,図11に示される構成は、複数の信号の論理和をとる回路が示されており、回路中にクリティカルパスが複数存在し、図1の回路を複数搭載する場合に適している。図10に示される回路では4つの信号程度までは使用することが可能であるが、それ以上に信号数が増加すると配線や回路規模が増大し使用することが困難となる。それに対して、図11に示される回路では、入力される信号数が増加した場合には、nチャンネル型MOSトランジスタMN2やMN3に相当するMOSトランジスタを追加するだけでよいので、回路規模の増大を抑えることができる。
<実施形態5>
近年のSOCでは、クロック信号の周波数と電源電圧を変化させて、必要とする動作性能を確保すると同時に電源電圧を低下させることで消費電力を低減しようとするFV制御という技術が一般に知られている。本回路技術を用いることで、特定の周波数で動作させるために必要な最低の電源電圧を測定することができるため、FV制御において、電源電圧を最低の電圧に設定することができ、SOCの低消費電力化が可能となる。図13には、その場合の構成例が示される。
図13に示されるERCNT1が図4に示されるのと大きく相違するのは、動作周波数制御回路(CONTF)が設けられ、このCONTFによってPLL(Phase Locked Loop)の動作が制御される点である。
図13において、VGEN1は電源電圧ジェネレータ、PLLはクロック信号CLKを発生させるクロック発生回路、CONTVは電源電圧制御回路、CONTFはクロック信号CLKの周波数を制御する周波数制御回路、MEM1は電源電圧やクロック信号CLKに周波数の制御情報を記憶するための記憶回路である。VDDは高電位側電源、CLKはクロック信号、CHVは電源電圧を指定する信号、CHFは動作周波数を指定する信号、ERROUTは速度性能を測定する回路の出力信号である。
本回路では、ERCK1から出力されるERREX1によって、動作可能な最低の電源電圧を設定することが可能となるのは、図4に示される場合と同様である。さらに本回路では、クロック信号CLKの調整が加わる。
図14には、図13に示される構成の動作の流れが示される。
ステップ211では、クロック発生回路で発生するクロックの周波数を回路動作に必要な値に設定される。ステップ212では、所定の電源電圧を発生するよう、CONTVからVGEN1に制御信号CHVが伝達され、それによって電源電圧が設定される。ステップ213では、現在の電源電圧の値を図13中のMEM1に記憶され、ステップ214では、上記ステップ213で記憶された電源電圧の値から数mV乃至数10mV低下した電源電圧を発生するよう、CONTVからVGEN1に信号が伝達されて電源電圧の制御情報が設定される。ステップ215では、ERROUTから出力されるデータがハイレベルか否かの判別が行われる。この判別において、ERROUTから出力されるデータがハイレベルと判断された場合には、ステップ215の動作が行われる。それに対して、ERROUTから出力されるデータがローレベルと判断された場合には、上記ステップ213に戻される。上記ステップ216では、電源電圧が、MEM2に記憶されている制御情報に従って調整される。ステップ211から開始してステップ216までの動作が実行されることで、回路が所定の動作速度で動作し得る最低の電源電圧を設定することが可能である。
<実施形態6>
図24には、上記SEQ1の別の構成例が示される。
図24に示されるSEQ1は、図1に示されるのと同様に、LOGIC1とLOGIC2との間に配置される。図24において、FF7及びFF8はスキャン機能付きフリップフロップ、D2及びD3はFF7及びFF8に入力されるデータ、Q2及びQ3はFF7及びFF8から出力される信号である。CLKはクロック信号である。EXOR2はエクスクルーシブオアをとる論理回路を示している。ERROR2は出力信号Q2とQ3のエクスクルーシブオアをとった結果を示している。FF11は、クロック信号CLKに同期してERROR2を保持するためのフリップフロップである。FF11の出力はERROUT2とされる。INSEL1は入力される信号D2,D3を選択的に後段回路に伝達するための選択回路である。
図15には、図24における主要部の詳細な構成例が示される。
上記FF7は、インバータINV1,INV2,INV3,INV4,INV6、クロックドインバータINV5,INV7、nチャネル型MOSトランジスタMN4,MN5、pチャネル型MOSトランジスタMP2,MP3を含んで成る。nチャネル型MOSトランジスタMN4とpチャネル型MOSトランジスタMP2とが互いに並列接続されることでトランスファゲートが形成される。nチャネル型MOSトランジスタMN5とpチャネル型MOSトランジスタMP3とが互いに並列接続されることでトランスファゲートが形成される。インバータINV4とクロックドインバータINV5とが並列接続されることでラッチ回路が形成され、インバータINV6とクロックドインバータINV7とが並列接続されることでラッチ回路が形成される。D2はインバータINV1及びMOSトランジスタMN4,MP2を介してインバータINV4及びクロックドインバータINV5によって保持され、さらに、MOSトランジスタMP3,MN5を介してインバータINV6及びクロックドインバータINV7によって保持される。この保持値はインバータINV8を介することによりQ2として出力される。クロック信号CLKがインバータINV2,INV3を介して、pチャネル型MOSトランジスタMP2、クロックドインバータINV5、nチャネル型MOSトランジスタMN5、クロックドインバータINV7に供給されることにより、D2は上記クロック信号CLKに同期して2サイクルでQ2として出力される。
上記FF8は、クロックドインバータINV13,INV17,INV19,インバータINV14,INV16,INV18,INV20、nチャネル型MOSトランジスタMN6,MN7、pチャネル型MOSトランジスタMP4,MP5を含み、上記FF8と同様に構成される。
上記INSEL1は、インバータINV9,INV10,INV11、及びクロックドインバータINV12を含んで成る。
本回路は、2つのFFを有し、さらにERENをハイレベルとすることで、入力されるデータD2とD2をインバータ2段分遅延させた信号とのデータを比較することでD2に入力されるパスの速度エラーを検出することが可能となる。本回路を含むSOCが通常動作を行っている場合には、FF7及びFF8はそれぞれ回路中のパスに入っており、動作回路の一部として使われる。また、本回路を含むSOCが動作性能を測定するモードに遷移された場合、FF8はFF7のデータと比較するためのフリップフロップとして使用される。
図16及び図17には、図15に示される回路における主要部の動作タイミングが示される。
ERENがローレベルとされている期間、つまり図16及び図17中でCOMP1と示されていない期間には、D2から入力されたデータはクロック信号CLKの立ち上がりにおいてFF7に記憶され、データ出力Q2より出力される。また、D3から入力されたデータはクロック信号CLKの立ち上がりにおいてFF8に記憶され、データ出力Q3より出力される。
INV10,INV11は、D2をインバータ2段分遅延させる遅延回路として機能する。ERENがハイレベルとされた場合、図15において、INSEL1及びINSEL2の回路によってFF8への入力はD3からD2をインバータ2段分遅延させた信号に切り替わる。D2に入力される信号のパスの遅延時間にインバータ2段の遅延時間を加えた遅延時間がクロック信号CLKの周期により与えられる遅延時間よりも短い場合(図16)には、FF7とFF8に同じデータが記憶される。これは図16において、COMP1に示される期間として表示されている。この期間ERENはハイレベルとなっており、さらにFF7及びFF8の出力であるQ2とQ3はともにDAT13またはDAT14となっており、同じデータが記憶されていることがわかる。よって、この2つのデータのエクスクルーシブオアをとった結果としてローレベルのデータがERROR2から出力される。
また、D2に入力される信号のパスの遅延時間にインバータ2段の遅延時間を加えた遅延時間がクロック信号CLKの周期により与えられる遅延時間よりも長い場合(図17)には、FF8にはFF7の1周期前のデータが記憶される。これは図17において、COMP1に示される期間として表示されている。この期間ERENはハイレベルとなっており、さらにFF7及びFF8の出力であるQ2とQ3がDAT13とDAT12及びDAT14とDAT13となっており、それぞれのFFは異なるデータを記憶している。よって、この2つのデータのエクスクルーシブオアをとった結果としてハイレベルのデータがERROR2から出力される。この出力信号ERROR2は、図1における出力信号ERRORと同等の状況で出力されるため、本回路を実施形態1の場合と同様に用いることで、回路の速度エラーを検出することが可能となる。
図18には、本回路を用いて動作速度を測定し、電源電圧を設定するシーケンスが示される。
本回路では回路が通常動作を行っている場合には、FF8が通常の演算するパスに入っているため、本回路を用いて動作速度を測定している場合にはFF8において通常の動作は行えないため、通常動作時と動作を変更する必要がある。また電源電圧を設定する回路は図4に示される回路と同様の回路を使用することが可能である。
図18において、ステップ221ではテストモードに移行される。つまり、図15の回路においては、ERENにハイレベルが入力されると、FF8の入力がD2に切り替わりテストモードに移行される。ステップ222では電源電圧が設定される。つまり、所定の電源電圧を発生するよう、CONTVからVGEN1に信号を伝達することで、電源電圧が設定される。ステップ223では、現在の電源電圧VDDの値が、図4中のMEM1に記憶される。ステップ224では、電源電圧VDDが低下される。つまり、ステップ223で記憶した電源電圧の値から数mVから数10mV低下した電源電圧を発生するよう、CONTVからVGEN1に信号を伝達することで電源電圧VDDが設定される。ステップ225は、ERROUT2から出力されるデータが比較される。この比較により、ハイレベルが出力された場合には、ステップ226の動作が行われる。また、ローレベルが出力された場合には、ステップ223の動作に移る。ステップ226では、電源電圧を図4のMEM1に記憶している値に設定し、設定を終了する。ステップ227では、テストモードから通常動作モードに移行され、図15の回路において、ERENがローレベルとされることでFF8の入力がD2からD3に切り替わり、テストモードから通常動作モードに移行される。ステップ221から開始してステップ227までの動作が実行されることで、回路が所定の動作速度で動作し得る最低の電源電圧を設定することができる。
このように、切り替え回路(INSEL1)を用いることにより、通常動作で用いるFFをエラー判定にも用いることが可能となるため、面積オーバーヘッドを小さくすることが可能となる。これによりSOC等のクリティカルパスが多数存在する大規模LSIであっても面積を大きくすることなく動作電圧の最適が実現でき、上記課題(4)を解決することができる。
<実施形態7>
図19には、上記SEQ1の別の構成例が示される。
図19に示されるSEQ1は、図1や図15に示されるのと同様に、LOGIC1とLOGIC2との間に配置される。図19に示されるSEQ1が図15に示されるのと大きく相違するのは、FF7の出力信号Q3を選択的にFF7に取り込むための選択回路(INSEL3)が設けられている点、及びストア信号(STORE)とFF7の出力信号とを選択的にFF8に伝達するための回路がINSEL1内に設けられている点である。上記INSEL3は、INV26,INV27,INV28を含んで成る。上記ストア信号(STORE)とFF7の出力信号とを選択的にFF8に伝達するための回路は、インバータINV22、及びクロックドインバータ23を含んで成る。
図19において、FF7はクロック信号CLKにより入力データD2が記憶されデータがQ2として出力されるフリップフロップを表している。ここでFF8は、バルーンラッチとして機能し、FF9に記憶されているデータをSTOREにより記憶することができ、リセット信号(REST)により、既に記憶しているデータをFF7に書き込むことができる。通常FF7とFF8は対として扱われ、本フリップフロップを含む論理回路がスタンバイ状態になった場合に、FF7を含むPDAREA1で囲まれる領域は電源が遮断され、FF8の部分のみに電源が供給される。これによって、PDAREA1内の回路のリーク電流が低減されて論理回路のスタンバイ時の消費電力が低減できるとともに、フリップフロップにデータが記憶されているため、スタンバイ状態からの復帰時間が短くなる。ERROR2は、信号Q2とQ3のエクスクルーシブオアをとった結果である。INSEL3及びINSEL1はFF7及びFF8に入力される信号を選択するための選択回路とされる。
本回路は、EREN2がハイレベルとされることで、入力されるデータD2と、インバータ2段分遅延させた信号とのデータを比較することで、D2が入力されるパスの速度エラーを検出することが可能となる。
図20及び図21には、図19に示される回路における主要部の動作タイミングが示される。
ERENがハイレベルにされることで、ハイレベルの信号が入力された場合、図19において、INSEL1によってFF8への入力がD2をインバータ2段分遅延させた信号に切り替わる。D2として入力される信号のパスの遅延時間にインバータ2段の遅延時間を加えた遅延時間がクロック信号CLKに周期して与えられる遅延時間よりも短い場合(図20参照)には、FF9とFF10に同じデータが記憶される。これは図16において、COMP2に示される期間として表示されている。この期間ERENはハイレベルとなっており、さらにFF7及びFF8の出力であるQ2とQ3はともにDAT12となっており、同じデータが記憶されていることがわかる。よって、この2つのデータのエクスクルーシブオアをとった結果としてローレベルのデータがERROR2として出力される。
また、D2として入力される信号のパスの遅延時間にインバータ2段の遅延時間を加えた遅延時間がクロック信号CLKの周期により与えられる遅延時間よりも長い場合(図21参照)、FF8にはFF7の1周期前のデータが記憶される。これは図21において、COMP2に示される期間として表示されている。この期間EREN2は"H"となっており、さらにFF9及びFF10の出力であるQ4とQ5がそれぞれDAT12とDAT11となっており、それぞれのFFは異なるデータを記憶している。よって、この2つのデータのエクスクルーシブオアをとった結果として、ハイレベルのデータがERROR2として出力される。この出力信号ERROR2は、図1における出力信号ERRORと同等の状況で出力されるため、実施形態1の場合と同様に、回路の速度エラーを検出することができる。
また、本回路では、STORE及びRESTを用いてFF7に記憶しているデータをFF8に保持し、さらにそのデータをFF7に戻すことが可能である。図19において、STOREがハイレベルになると、FF9の出力であるQ4がFF10の入力に接続され、次のクロック信号CLKの入力によりFF7のデータがFF8に書き込まれる。これの状態は、図20のST1の前のサイクルのFF7のデータDAT13がST1のサイクルにおいてFF8に書き込まれていることから確認できる。図20においてPWRDN1の期間は、本発明の回路を含む論理回路がスタンバイ状態にあることを示しており、図19中のPDAREA1内の領域では電源が遮断され、FF8の回路のみに電源が供給された状態となり、回路全体のリーク電流が低減され、消費電力が低い状態となる。本波形図では1サイクル分しか図示していないが、実際には100サイクル以上電源を遮断するスタンバイ状態が続くことが多い。その後、スタンバイ状態から通常状態に復帰し、PDAREA1内の回路に電源が供給された後には、REST信号が入力される。これにより、FF8に記憶されていたデータがFF7に再び書き込まれる。
以上のように、本実施形態では、論理回路のスタンバイ時にはFF8が低リーク状態でデータを保持する動作に使用され、通常動作状態では、FF8はD2までの論理パスの速度を測定することに使用されるため、フリップフロップの面積増加を抑えて、低リーク電流動作と速度調整動作を実行することが可能となる。つまり、本実施形態によれば、SOCおいて必要な速度性能を確保して、最低の電源電圧を設定することが可能となる。
本構成においても、切り替え回路(INSEL1)を用いることにより、別の機能(スタンバイ時のデータ保持機能)を有するFFをエラー判定にも用いることが可能となるため、面積オーバーヘッドを小さくすることが可能となる。これにより、SOC等のクリティカルパスが多数存在する大規模LSIであっても面積を大きくすることなく動作電圧の最適が実現でき、上記課題(4)が解決できる。
<実施形態8>
図22には、上記SOC(System On a Chip)における基板バイアス制御システムが示される。
一般的に、MOSトランジスタのバックゲート電位である基板バイアスを制御すれば、トランジスタの性能を変化させることができ、nチャネル型MOSトランジスタの基板バイアスであるVBNの値を低くすればするほど動作速度は遅くなるが、MOSトランジスタを流れるリーク電流は減少し消費電力が低減できる。またpチャネル型MOSトランジスタの基板バイアスであるVBPの値を低くすればするほど動作速度は遅くなるが、MOSトランジスタを流れるリーク電流は減少し消費電力が低減できる。この実施形態では、速度変化が測定され、所望の動作速度が得られる中で、最適な基板バイアスが決定される。
図22において、VBGEN1はnチャネル型MOSトランジスタの基板バイアスであるVBNを発生する基板バイアス発生回路回路、VBGEN2はpチャネル型MOSトランジスタの基板バイアスであるVBPを発生する基板バイアス発生回路、ERCNT3は基板バイアスの制御を可能とする基板バイアス制御回路である。CONTVBは基板バイアス制御回路、MEM3は基板バイアスの値を記憶するの記憶回路である。また、ERCK1は回路の速度性能を測定する回路であり、その構成は、図1に示されるのと同様とされる。CHVBNはnチャネル型MOSトランジスタの基板バイアスであるVBNを指定する信号、CHVBPはpチャネル型MOSトランジスタの基板バイアスであるVBPを指定する信号、ERROUTは速度性能を測定する回路の出力信号である。本回路では、速度性能を測定する回路から出力される信号ERROUT信号によってVBNの値を最低に、VBPの値を最高の値に制御し、要求される動作速度を満たしながら消費電力の低減を実現することが可能となる。
図23には、図22に示される回路を用いて基板バイアスを設定するシーケンスが示される。
図23において、ステップ231では、VBN及びVBPの値を初期値に設定され、所定の基板バイアスを発生するよう、基板バイアス制御回路(CONTVB)から基板バイアス発生回路(VBGEN1,VBGEN2)に制御信号CHVBN及びCHVBPが伝達されて、バイアス電圧が設定される。ステップ232では、現在の基板バイアスの値(制御情報)が図22中のMEM3に記憶される。上記基板バイアス制御回路は、MEM3内の基板バイアスの値(制御情報)に従ってバイアス電圧の制御を行う。ステップ233では、基板バイアスが変化される。すなわち、VBNの値を上記ステップ232で記憶した値から数10mVから数100mV低下した値に設定するよう、基板バイアス制御回路(CONTVB)から基板バイアス発生回路(VBGEN1)に信号を伝達し、VBNを設定する。同時に、VBPの値を上記ステップ232で記憶した値から数10mVから数100mV上昇した値に設定するよう、基板バイアス制御回路(CONTVB)から基板バイアス発生回路(VBGEN2)に信号を伝達し、VBPを設定する。ステップ234では、ERROUTから出力されるデータを比較する。ハイレベルが出力された場合には、ステップ235の動作が行われる。またローレベルが出力された場合には、ステップ232の動作が行われる。ステップ235では、基板バイアス値VBN及びVBPをMEM3に記憶している値に設定される。ステップ231から開始してステップ235までの動作を実行することで回路が所定の動作速度で動作するという条件の下、消費電力を最小にすることが可能となる。
SOCでは、周波数と電源電圧を変化させて、必要とする動作性能を確保すると同時に電源電圧を低下させることで消費電力を低減しようとするFV制御という技術が一般に知られている。本回路技術はFV制御と組み合わせるとさらに効果があり、実施形態5の回路と組み合わせることで、さらにSOCの低消費電力化が可能となる。
以上のように、この実施形態によれば、LSIにおいて必要な速度性能を確保して、最低の電源電圧を設定することが可能となる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるSOCに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体装置に広く適用することができる。
本発明にかかる半導体装置の一例とされるSOCにおける主要部の構成例回路図である。 図1に示される回路における主要部の動作タイミング図である。 図1に示される回路における主要部の動作タイミング図である。 本発明にかかる半導体装置の一例とされるSOCにおける主要部の構成例ブロック図である。 図4に示される構成により電源を設定するシーケンスを示すフローチャートである。 図1に示される回路における主要部の構成例回路図である。 図6に示される回路における主要部の動作タイミング図である。 本発明にかかる半導体装置の一例とされるSOCの構成例ブロック図である。 上記SOCの別の構成例ブロック図である。 上記SOCにおける主要部の別の構成例ブロック図である。 上記SOCにおける主要部の別の構成例ブロック図である。 図11に示される構成における主要部の動作タイミングである。 本発明にかかる半導体装置の一例とされるSOCにおける主要部の別の構成例ブロック図である。 図13に示される構成のシーケンスを示すフローチャートである。 図24における主要部の詳細な構成例を示す回路図である。 図15に示される回路における主要部の動作タイミング図である。 図15に示される回路における主要部の動作タイミング図である。 図15に示される回路において電源電圧を設定するシーケンスを示すフローチャートである。 上記SOCにおける主要部の別の構成例回路図である。 図19に示される回路における主要部の動作タイミング図である。 図19に示される回路における主要部の動作タイミング図である。 上記SOCにおける基板バイアス制御システムの構成例ブロック図である。 図22に示される回路を用いて基板バイアスを設定するシーケンスを示すフローチャートである。 上記SOCにおける主要部の別の構成例回路図である。
符号の説明
FF1〜FF11 フリップフロップ
LOGIC1,LOGIC2 組み合わせ論理回路
CLK クロック信号
EXOR1〜EXOR2 エクスクルーシブオア
DELAY1,DELAY2 遅延回路
VGEN1 電圧発生回路
VDD 高電位側電源
VSS 低電位側電源
CONTV 電源制御回路
MEM1 記憶回路
SEQ1 速度性能測定回路
SEQ2 エラー判定回路
SEQ3 速度性能測定結果出力部
ORAND1 論理回路
CPU・CPU1〜CPU2 中央処理装置
PERI1〜PERI2 アクセラレータ
SRAM1 メモリブロック
RM リソースマネージャ
PLL クロック発生回路
CONTF 動作周波数制御回路
INSEL1 選択回路
VBGEN1〜VBGEN2 基板バイアス発生回路
CHVBN・CHVBP 基板バイアス制御信号
CONTVB 基板バイアス制御回路

Claims (17)

  1. 第1論理回路と、
    上記第1論理回路の後段に配置され、上記第1論理回路から出力される第1データが伝達される第2論理回路と、
    上記第1論理回路と上記第2論理回路との間で速度性能測定を可能とする速度性能測定回路と、を含む半導体装置であって、
    上記速度性能測定回路は、クロック信号に同期して、上記第1データを記憶する第1フリップフロップと、
    上記第1データを遅延させて第2データを生成する第1遅延回路と、
    上記クロック信号に同期して、上記第2データを記憶する第2フリップフロップと、
    上記1フリップフロップの出力と上記第2フリップフロップの出力とを比較する比較回路と、
    上記第1クロック信号のタイミングに従って上記比較回路の出力信号のデータを記憶する第3フリップフロップと、を含んで成ることを特徴とする半導体装置。
  2. 各部に動作用の電源電圧を生成するための電圧生成回路と、
    上記比較回路の出力データを用いて上記電源電圧を調整可能な電圧制御回路と、を含む請求項1記載の半導体装置。
  3. 上記電源電圧の制御情報を保持可能な記憶回路を含み、上記電圧制御回路は、上記電源電圧の調整において上記記憶回路内の制御情報を参照する請求項2記載の半導体装置。
  4. 上記第1比較回路の出力論理がハイレベルとなった場合に、それを受けて、出力状態を一定時間ハイレベルに保持するための第4フリップフロップを含む請求項1記載の半導体装置。
  5. 所定の機能を有する回路モジュールのリソースを管理するリソースマネージャを備え、
    上記リソースマネージャによる上記回路モジュールのリソース管理に応じて上記電源電圧が調整される請求項2記載の半導体装置。
  6. 上記速度性能測定回路が複数設けられるとき、上記複数の速度性能測定回路の出力信号を一つの信号にまとめるための速度性能測定結果出力部が設けられ、
    上記度性能測定結果出力部は、上記複数の速度性能測定回路の出力信号のオア論理をとることで、上記複数の速度性能測定回路の出力信号を一つの信号にまとめるためのオア回路と、上記オア回路の出力信号を上記クロック信号に同期して保持するための第5フリップフロップ回路とを含んで成る請求項1記載の半導体装置。
  7. 上記速度性能測定回路が複数設けられるとき、上記複数の速度性能測定回路の出力信号を一つの信号にまとめるための速度性能測定結果出力部が設けられ、
    上記度性能測定結果出力部は、上記クロック信号を遅延させるための第2遅延回路と、
    上記複数の速度性能測定回路に対応して配置され、対応する上記速度性能測定回路の出力信号を取り込むための複数の第1トランジスタと、
    上記遅延回路の出力信号によって動作制御され、上記複数の第1トランジスタのドレイン電極を高電位側電源に結合するための第2MOSトランジスタと、
    上記第2遅延回路の出力信号によって動作制御され、上記複数の第1トランジスタのソース電極を低電位側電源に結合するための第3MOSトランジスタと、
    上記クロック信号に同期して上記複数の第1トランジスタのドレイン電極の論理を保持可能な第6フリップフロップ回路と、を含んで成る請求項1記載の半導体装置。
  8. 上記比較回路の出力データに基づいて、上記クロック信号の周波数を制御可能な周波数制御回路を含む請求項1記載の半導体装置。
  9. 上記クロック信号を生成するとともに、上記クロック信号の周波数を上記周波数制御回路の出力信号に基づいて変更可能なクロック発生回路を含む請求項8記載の半導体装置。
  10. 上記比較回路の出力データを用いてトランジスタの基板バイアスを調整する基板バイアス調整回路を含む請求項1記載の半導体装置。
  11. 基板バイアスの制御情報を保持する記憶回路を含み、上記基板バイアス調整回路は、上記トランジスタの基板バイアスの調整において、上記記憶回路内の制御情報を参照する請求項10記載の半導体装置。
  12. 入力された第1データをクロック信号のタイミングに従って記憶する第1フリップフロップと、
    上記第1データを遅延させて第2データを生成する第1遅延回路と、
    上記第1データとは別の経路から入力される第3データと上記第2データとを選択的に出力する第1選択回路と、
    上記第1選択回路の出力信号を上記クロック信号のタイミングに従って記憶する第2フリップフロップと、
    上記第1フリップフロップの出力と上記第2フリップフロップの出力とを比較する比較回路と、を含むことを特徴とする半導体装置。
  13. 速度性能を測定する第1モードと、上記第1モード以外の第2モードとを含み、
    上記第1選択回路の選択動作により、上記第2フリップフロップには、上記第2モードにおいて上記第3データが入力され、上記第1モードにおいて上記第2データが入力される請求項12記載の半導体装置。
  14. 上記クロック信号のタイミングに同期して上記第2比較回路の出力を記憶する第3フリップフロップを含む請求項12記載の半導体装置。
  15. 入力された第1データをクロック信号のタイミングに同期して記憶する第1フリップフロップと、
    上記第1データを遅延させて第2データを生成する第1遅延回路と、
    上記第2データと上記第1フリップフロップの出力とを選択的に出力する第1選択回路と、
    上記第1選択回路の出力信号を上記クロック信号のタイミングに従って記憶する第2フリップフロップと、
    第1フリップフロップの出力と第2フリップフロップの出力とを比較する比較回路と、を含むことを特徴とする半導体装置。
  16. 上記第2フリップフロップのデータを上記第1フリップフロップに入力可能な第2選択回路を含む請求項15記載の半導体装置。
  17. 回路がスタンバイ状態のとき、上記第1フリップフロップ、上記第3遅延回路、上記第2選択回路、及び上記比較回路への電源電圧の供給が遮断され、上記第2フリップフロップには電源電圧レベルの信号が供給される請求項16記載の半導体装置。
JP2007324991A 2007-12-17 2007-12-17 半導体装置 Withdrawn JP2009147221A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007324991A JP2009147221A (ja) 2007-12-17 2007-12-17 半導体装置
US12/335,331 US7911221B2 (en) 2007-12-17 2008-12-15 Semiconductor device with speed performance measurement
US13/028,212 US20110133786A1 (en) 2007-12-17 2011-02-15 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007324991A JP2009147221A (ja) 2007-12-17 2007-12-17 半導体装置

Publications (1)

Publication Number Publication Date
JP2009147221A true JP2009147221A (ja) 2009-07-02

Family

ID=40752358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007324991A Withdrawn JP2009147221A (ja) 2007-12-17 2007-12-17 半導体装置

Country Status (2)

Country Link
US (2) US7911221B2 (ja)
JP (1) JP2009147221A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015115586A (ja) * 2013-12-16 2015-06-22 富士通株式会社 半導体装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102292912A (zh) 2009-01-27 2011-12-21 艾格瑞系统有限公司 用于性能监视的关键路径电路
US8407540B2 (en) * 2009-07-06 2013-03-26 Arm Limited Low overhead circuit and method for predicting timing errors
US9225321B2 (en) * 2010-12-28 2015-12-29 Stmicroelectronics International N.V. Signal synchronizing systems and methods
US8378710B1 (en) * 2011-09-20 2013-02-19 Nxp B.V. Secure device anti-tampering circuit
CN102545679B (zh) * 2012-02-21 2014-06-11 陈清娇 一种高效率逆变器及其逆变方法
US8966429B2 (en) 2012-09-11 2015-02-24 Apple Inc. Bit slice elements utilizing through device routing
US8947120B2 (en) 2012-09-13 2015-02-03 Apple Inc. Latch array utilizing through device connectivity
US9304531B2 (en) * 2012-10-31 2016-04-05 Broadcom Corporation Dynamically scaling voltage/frequency
US9222971B2 (en) 2013-10-30 2015-12-29 Freescale Semiconductor, Inc. Functional path failure monitor
JP6500693B2 (ja) * 2015-08-19 2019-04-17 富士通株式会社 可変遅延制御回路の縮退故障診断方法および可変遅延制御回路を有するメモリコントローラ
FR3058564B1 (fr) * 2016-11-07 2019-05-31 Stmicroelectronics Sa Procede et circuit de polarisation de circuits integres
US10162914B1 (en) * 2017-08-10 2018-12-25 Apple Inc. Apparatus and method to force equivalent outputs at start-up for replicated sequential circuits
US10277213B1 (en) * 2017-10-26 2019-04-30 Nxp Usa, Inc. Glitch detection in input/output bus
US11061429B2 (en) * 2017-10-26 2021-07-13 Advanced Micro Devices, Inc. Fine-grained speed binning in an accelerated processing device
US10782346B2 (en) 2019-01-20 2020-09-22 Texas Instruments Incorporated Enhanced fault detection of latched data
US10924091B2 (en) 2019-07-02 2021-02-16 Stmicroelectronics International N.V. Immediate fail detect clock domain crossing synchronizer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3873019B2 (ja) 2001-11-20 2007-01-24 松下電器産業株式会社 動作検証システム、及び適応制御システム
US6903997B2 (en) 2001-11-20 2005-06-07 Matsushita Electric Industrial Co., Ltd. Operation verification system and adaptive control system
JP3848152B2 (ja) * 2001-12-20 2006-11-22 株式会社東芝 多機能icカード
FR2884080B1 (fr) * 2005-04-05 2007-05-25 Iroc Technologies Sa Ensemble de circuits electroniques protege contre des perturbations transitoires
US7622961B2 (en) * 2005-09-23 2009-11-24 Intel Corporation Method and apparatus for late timing transition detection
US7482831B2 (en) * 2006-05-10 2009-01-27 Alcatel-Lucent Usa Inc. Soft error tolerant flip flops
US7827454B2 (en) * 2007-07-17 2010-11-02 Renesas Electronics Corporation Semiconductor device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015115586A (ja) * 2013-12-16 2015-06-22 富士通株式会社 半導体装置

Also Published As

Publication number Publication date
US7911221B2 (en) 2011-03-22
US20090153182A1 (en) 2009-06-18
US20110133786A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
JP2009147221A (ja) 半導体装置
US8125246B2 (en) Method and apparatus for late timing transition detection
US8446224B2 (en) Network of tightly coupled performance monitors for determining the maximum frequency of operation of a semiconductor IC
US8736338B2 (en) High precision single edge capture and delay measurement circuit
KR101394873B1 (ko) 단일 트리거 저 에너지 플립 플롭 회로
KR101360582B1 (ko) 듀얼 트리거 저에너지 플립 플롭 회로
US7511535B2 (en) Fine-grained power management of synchronous and asynchronous datapath circuits
US11971740B2 (en) Timing error detection and correction circuit
US8395454B2 (en) Synchronized output of multiple ring oscillators
US6078202A (en) Semiconductor device having portions that operate at different frequencies, and method of designing the device
KR20170041781A (ko) 전용 회로 및 메모리를 제어하기 위한 동적 마진 튜닝
JP6103825B2 (ja) 半導体集積回路、情報処理装置
US8395946B2 (en) Data access apparatus and associated method for accessing data using internally generated clocks
US8291363B2 (en) Method of measuring setup time with consideration of characteristic of absorbing clock skew in a pulse-based flip-flop
JP6107612B2 (ja) 半導体集積回路、及び、半導体集積回路の試験方法
US20150145580A1 (en) Apparatus for controlling semiconductor chip characteristics
US20210344344A1 (en) No-enable setup clock gater based on pulse
Gherman et al. Error prediction based on concurrent self-test and reduced slack time
Semião et al. Dynamic voltage and frequency scaling for long-term and fail-safe operation
US7685484B2 (en) Methods for the support of JTAG for source synchronous interfaces
JP2001319494A (ja) メモリ回路用の組込み自己試験装置
US20240105243A1 (en) Clock qualifier enhancement for external double data rate memory interfaces
US7102397B2 (en) Method and system for ensuring the assertion order of signals in a chip independent of physical layout
KR100695485B1 (ko) 테스트 모드 진입 회로
JP2010002345A (ja) Acテスト容易化回路およびacテスト方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100616

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120321