(57)【要約】【課題】低消費電力化に適したＡＶＳ技術又はＤＶＳ技術を実現した半導体集積回路を提供すること。【解決手段】半導体集積回路は、クリティカル・パスを形成する第１のフリップ・フロップ、組み合わせ回路及び第２のフリップ・フロップと、前記組み合わせ回路の後段に設けられる第１の遅延回路及び第３のフリップ・フロップと、前記組み合わせ回路の後段に設けられる第２の遅延回路及び第４のフリップ・フロップと、第２のフリップ・フロップの出力と第３のフリップ・フロップの出力とを比較する第１の比較回路と、第２のフリップ・フロップの出力と第４のフリップ・フロップの出力とを比較する第２の比較回路と、これら比較回路の出力に応じて、前記組み合わせ回路に供給される電源電圧を制御する制御回路とを備える。なお、第１の遅延回路による遅延時間と第２の遅延回路による遅延時間は異なる。【選択図】図１
2009200739.tif 000002
【特許請求の範囲】
【請求項１】
クリティカル・パスを有する半導体集積回路であって、
前記クリティカル・パスを形成する、直列接続された第１のフリップ・フロップ、組み合わせ回路及び第２のフリップ・フロップと、
前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第１の遅延回路及び第３のフリップ・フロップと、
前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第２の遅延回路及び第４のフリップ・フロップと、
前記第２のフリップ・フロップの出力と前記第３のフリップ・フロップの出力とを比較する第１の比較回路と、
前記第２のフリップ・フロップの出力と前記第４のフリップ・フロップの出力とを比較する第２の比較回路と、
前記第１の比較回路の出力及び前記第２の比較回路の出力に応じて、前記組み合わせ回路に供給される電源電圧を制御する制御回路と、を備え、
前記第１の遅延回路は、前記組み合わせ回路から入力された信号を第１の遅延時間後に出力し、
前記第２の遅延回路は、前記組み合わせ回路から入力された信号を前記第１の遅延時間とは異なる第２の遅延時間後に出力することを特徴とする半導体集積回路。
【請求項２】
前記第１の遅延時間は、前記第１のフリップ・フロップから前記第２のフリップ・フロップまでの遅延時間の５%から３０%の値であることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記第２の遅延時間は、前記第１の遅延時間の１０５%から１３０%の値であることを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記第１の比較回路の出力が２つの入力信号の“不一致”を示し、かつ、前記第２の比較回路の出力が２つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路に供給される電源電圧を上げるよう制御することを特徴とする請求項１記載の半導体集積回路。
【請求項５】
前記第１の比較回路の出力が２つの入力信号の“一致”を示し、かつ、前記第２の比較回路の出力が２つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路に供給される電源電圧を保持するよう制御することを特徴とする請求項１記載の半導体集積回路。
【請求項６】
前記第１の比較回路の出力が２つの入力信号の“一致”を示し、かつ、前記第２の比較回路の出力が２つの入力信号の“一致”を示す場合、前記制御回路は、前記組み合わせ回路に供給される電源電圧を下げるよう制御することを特徴とする請求項１記載の半導体集積回路。
【請求項７】
前記第１のフリップ・フロップ及び前記第２のフリップ・フロップには等しい電源電圧が供給され、当該電源電圧は、前記組み合わせ回路に供給される電源電圧より低いことを特徴とする請求項１記載の半導体集積回路。
【請求項８】
前記制御回路は、前記組み合わせ回路に供給される電源電圧を「上げる」、「保持する」又は「下げる」よう制御することを特徴とする請求項１記載の半導体集積回路。
【請求項９】
前記制御回路は、前記組み合わせ回路に供給される電源電圧の初期設定を「保持する」に設定することを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第３の遅延回路及び第５のフリップ・フロップと、
前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第４の遅延回路及び第６のフリップ・フロップと、
前記第２のフリップ・フロップの出力と前記第５のフリップ・フロップの出力とを比較する第３の比較回路と、
前記第２のフリップ・フロップの出力と前記第６のフリップ・フロップの出力とを比較する第４の比較回路と、を備え、
前記制御回路は、前記第１の比較回路の出力、前記第２の比較回路の出力、前記第３の比較回路の出力及び前記第４の比較回路の出力に応じて、前記組み合わせ回路に供給される電源電圧を制御し、
前記第１の遅延時間、前記第２の遅延時間、前記第３の遅延回路による第３の遅延時間及び前記第４の遅延回路による第４の遅延時間は、それぞれ異なることを特徴とする請求項１記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低消費電力化に適したＡＶＳ（Adaptive Voltage Scaling）技術又はＤＶＳ（Dynamic Voltage Scaling）を用いた半導体集積回路に関する。
【背景技術】
【０００２】
３年に４倍という半導体の集積度向上というペースがここ１０年以上続いたために半導体集積回路の規模は膨大になり、半導体集積回路のチップ構成の仕方も大きく変化を遂げてきた。
【０００３】
図１５は、システムＬＳＩの構成を示すブロック図である。図１５において、半導体集積回路６００は、汎用のＣＰＵ６１１、ＤＳＰ（Digital Signal Processor）６１２、専用回路６１３、専用回路６１４、ＳＤＲＡＭ（Synchronous Dynamic RAM)制御回路６１５、及びＤＭＡ（Direct Memory Access）コントローラ６１６などから構成されており、これらは共通のバス６１７を介して相互に接続されている。ＣＰＵ６１１及びＤＳＰ６１２は、それぞれ内部に内部メモリ６１１ａ及び内部メモリ６１２ａを有する。半導体集積回路６００は、通常、外部に大容量のＳＤＲＡＭ６１８を用意している。
【０００４】
現在でも半導体集積回路に搭載される機能に対する要求は日々めまぐるしく変わる可能性があり、図１５のように一部の機能を専用回路６１３や専用回路６１４のように構成してしまうと、このような要望の変化に迅速に対応できない可能性がある。
【０００５】
そのため、現状の段階では図１６のように、汎用ＣＰＵ以外の演算機能を中心とする機能に対しては「多機能ＤＳＰ＋拡張機能」という構成にして、変化する可能性がある仕様に対しては多機能ＤＳＰ上のソフトで対応するようになりつつある。
【０００６】
図１６は、このようなシステムＬＳＩの構成を示すブロック図である。図１６において、半導体集積回路７００は、汎用のＣＰＵ７１１、多機能ＤＳＰ７２１及び拡張機能７２２からなる演算機能部７２３、多機能ＤＳＰ７２４及び拡張機能７２５からなる演算機能部７２６、ＳＤＲＡＭ制御回路７１５、ＤＭＡコントローラ７１６、各機能部側に配置されたローカルバス７２７〜７２９、ＳＤＲＡＭ制御回路７１５及びＤＭＡコントローラ７１６側に配置されたグローバルバス７３０、及びローカルバス７２７〜７２９とグローバルバス７３０とを接続するバスブリッジ７３１〜７３３を備えて構成される。多機能ＤＳＰ７２１は、内部メモリ７２１ａを有する。バス構成も各機能部にはローカルバス７２７〜７２９が割り当てられ、ＳＤＲＡＭ制御回路７１５側にはグローバルバス７３０が配置され、ローカルバス７２７〜７２９とグローバルバス７３０の間はバスブリッジ７３１〜７３３が置かれている。
【０００７】
今後半導体プロセスの進歩により、ますます多くの機能が半導体集積回路に搭載されるようになると、半導体集積回路の構成はさらに図１７のように変化するであろう。
【０００８】
図１７は、システムＬＳＩのさらに別の構成を示すブロック図である。図１７において、半導体集積回路８００は、１つの汎用のＣＰＵ８１１、内部メモリ８４１ａ〜８４４ａを有する４個の汎用演算プロセッサ８４１〜８４４、ＳＤＲＡＭ制御回路８１５、ＤＭＡコントローラ８１６、周辺Ｉ／Ｏ群８６０を制御するＩ／Ｏ制御回路８４５、ＣＰＵ８１１及びＩ／Ｏ制御回路８４５側に配置されたローカルバス８４６、汎用演算プロセッサ８４１〜８４４側に配置されたローカルバス８４７〜８５０、ローカルバス８４６とローカルバス８４７〜８５０との間に配置されたグローバルバス８５１、ローカルバス８４７〜５０とグローバルバス８５１とを接続するバスブリッジ８５２〜８５５、及びローカルバス８４６とグローバルバス８５１とを接続するバスブリッジ８５６を備える。
【０００９】
半導体集積回路８００では、１つの汎用ＣＰＵ８１１と数個（４個から８個程度）の汎用演算プロセッサ８４１〜８４４がローカルバス８４６〜８５０、グローバルバス８５１とバスブリッジ８５２〜８５６を介して接続され、外部には大容量のＳＤＲＡＭ８１８を配置し、ＳＤＲＡＭ制御回路８１５は、汎用ＣＰＵ８１１、数個の汎用演算プロセッサ８４１〜８４４、ＤＭＡコントローラ８１６などとＳＤＲＡＭ８１８の調停を行う。
【００１０】
上述したように半導体集積回路の集積度が上がってくると、最も深刻な問題として動作時及びスタンバイ時の増大する消費電力の問題がある。この問題の解決策として最も注目を浴びている技術として、ＤＶＳ（Dynamic Voltage Scaling）技術又はＡＶＳ（Adaptive Voltage Scaling）技術がある。これらの技術に関する内容に関しては以下の文献（例えば、特許文献１，２及び非特許文献１，２）に詳細に述べられているので、説明は省略する。
【００１１】
しかしながら、このような従来の半導体集積回路にあっては、以下のような問題点があった。
【００１２】
非特許文献１によると、ＡＶＳ技術には、現状において大きな制限事項がある。現状のＡＶＳ技術では、チップ全体に対してこの技術を採用することを前提にしている。この場合ではチップ全体が同時に電源電圧とそれに対応したシステム・クロック周波数を変えるようになっている。つまり、このシステムにおいて、チップの電源電圧、そしてシステム・クロック周波数は時間軸で変化して、仕事の付加量が大きいときにはチップの電源電圧を高くし（例えば、ＶＤＤ＝１．５Ｖ）、そしてシステム・クロック周波数も高くする（例えば、fclk＝４００ＭＨｚ）ように、ＣＰＵが制御する。また、仕事の負荷量が小さくなるとチップの電源電圧を低くし（例えば、ＶＤＤ＝１．０Ｖ）、そしてシステム・クロック周波数も低くする（例えば、fclk＝２００ＭＨｚ）ように、ＣＰＵが制御する。こうすることにより、このチップで消費される消費電力を少なくすることができる。通常システムＬＳＩにはビデオ信号処理ブロック、オーディオ信号処理ブロック、制御信号処理ブロックなど各種の機能ブロックが存在して、しかも、これらの機能ブロック間ではその処理に必要とされる仕事の負荷量に大きな差がある。
【００１３】
この問題に対して課題解決を試みようとしている先行技術に、上記非特許文献２がある。ここでは、オーディオ信号処理ブロックの電源電圧は０．９Ｖ／１．２Ｖ、システム・クロック周波数は９０ＭＨｚ／１８０ＭＨｚから選択できるようにするが、オーディオ信号処理ブロック以外のブロック（ここにはビデオ信号処理ブロックなどが存在する）に対しては、電源電圧は１．２Ｖ、システム・クロック周波数は１８０ＭＨｚに固定している。
【００１４】
以上の説明では各機能ブロックにおいて、それぞれの仕事内容に対応して多機能ＤＳＰにとってどのような電源電圧に設定し、かつ、どのような動作周波数に設定するかは事前に綿密なシミュレーションによって決定する。しかし、各多機能ＤＳＰのブロックの内部回路を検討すると、この回路にはさまざまな遅延パスが存在する。ある特定の仕事をこの多機能ＤＳＰにおいて実行するのに必要な電源電圧値は、この機能ブロックに存在するさまざまな遅延パスの内、クリティカル・パスと呼ぶ一群の遅延パスによってその値が決定されている。ある仕事を実施する間は動作周波数が一定であると想定すると、多機能ＤＳＰの動作にマージンを持たせるには電源電圧値にマージンを持たせることになる。
【００１５】
当該多機能ＤＳＰの消費電力を少なくしようとすると、設定する当該多機能ＤＳＰの電源電圧値を、最も遅延値が大きいクリティカル・パスをどうにかパスできるようなギリギリの値に設定すればよい。しかし、このような微妙な設定は事前に綿密なシミュレーションによっても決定するのは非常に困難である。
【００１６】
電源電圧値の微妙な設定を実現する技術として従来は、非特許文献３に開示されている、図１８に示すカナリア・フリップ・フロップが考案されている。図１８において、まず信号９０１はクロック信号９０２に同期してフリップ・フロップ９０３に取り込まれ、次のクロック周期において、組み合わせ回路９０４により遅延した後、フリップ・フロップ９０５（以下「メインＦＦ９０５」という。）に取り込まれる。組み合わせ回路９０４により遅延した後の信号を遅延素子９０７により特定の時間だけ遅延させた信号はフリップ・フロップ９０８（以下「カナリアＦＦ９０８」という。）に取り込まれる。メインＦＦ９０５とカナリアＦＦ９０８からの信号を排他的論理和（Ｅｘｃｌｕｓｉｖｅ−ＯＲ）回路によって構成される比較回路９０９によって比較する。メインＦＦ９０５とカナリアＦＦ９０８に保持されている値が異なると、信号９０１は遅延素子９０７の遅延値だけ現状よりも遅くなると誤動作を起こすことを表している。つまり、このカナリアＦＦの構成によりタイミングエラーの予測ができている。マージンの観点から見ると、必要なマージンに相当する遅延素子９０７の遅延値により比較回路９０９の出力が“１”になった場合は、多機能ＤＳＰのブロックの電源電圧値に十分なマージンがないことを表すので、多機能ＤＳＰのブロックの電源電圧値ＶＤＤ９５０を上げるような制御を行う必要がある。
【００１７】
【特許文献１】米国特許第５７４５３７５号明細書
【特許文献２】米国特許第６８６８５０３号明細書
【特許文献３】特願２００４−２４１４６６
【特許文献４】特願２００６−６８４００
【非特許文献１】“A Combined Hardware-Software Approach for Low-Power SoC: Applying Adaptive Voltage Scaling and Intelligent Energy Management Software”, Design ２００３（System-on-Chip and ASIC Design Conference）
【非特許文献２】“An H.２６４/MPEG-４Audio/Visual Codec LSI with Module-Wise Dynamic Voltage/Frequency Scaling”, ISSCC2005 Dig. Tech. Papers, pp.１３２-１３３
【非特許文献３】T.Sato and Y Kunitake “A Simple Flip-Flop Circuit for Typical-Case Designs for DFM” 8th International Symposium on Quality Electronic Design, 2007
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上に説明したカナリアＦＦを用いた多機能ＤＳＰブロックの電源電圧値の制御は、事前に綿密なシミュレーションによっても決定しきれない電源電圧値の設定に有効な方法であるが、以下のような課題がある。
【００１９】
（１）課題１
非特許文献３において、比較回路９０９の出力が“１”になった場合は、多機能ＤＳＰのブロックの電源電圧値に十分なマージンがないことを表すので、多機能ＤＳＰのブロックの電源電圧値ＶＤＤ９５０を上げるような制御を行う。非特許文献３では、多機能ＤＳＰのブロック全体の電源電圧を上げることになる。従って、クリティカル・パスでもない大多数の回路の電源電圧も上げることになり、半導体集積回路の低消費電力化の観点から好ましくない。
【００２０】
（２）課題２
非特許文献３のカナリアＦＦを用いた多機能ＤＳＰブロックの電源電圧値の制御の構成では、当該クリティカル・パスのマージンを１０％から２０％の間に設定したいと思っても、これを実現することはできない。
【００２１】
このように、カナリアＦＦを用いた多機能ＤＳＰブロックの電源電圧値の制御には、以上のような大きな２つの課題が存在する。
【００２２】
本発明は、低消費電力化に適したＡＶＳ（Adaptive Voltage Scaling）技術又はＤＶＳ（Dynamic Voltage Scaling）を実現した半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明は、クリティカル・パスを有する半導体集積回路であって、前記クリティカル・パスを形成する、直列接続された第１のフリップ・フロップ、組み合わせ回路及び第２のフリップ・フロップと、前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第１の遅延回路及び第３のフリップ・フロップと、前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第２の遅延回路及び第４のフリップ・フロップと、前記第２のフリップ・フロップの出力と前記第３のフリップ・フロップの出力とを比較する第１の比較回路と、前記第２のフリップ・フロップの出力と前記第４のフリップ・フロップの出力とを比較する第２の比較回路と、前記第１の比較回路の出力及び前記第２の比較回路の出力に応じて、前記組み合わせ回路に供給される電源電圧を制御する制御回路と、を備え、前記第１の遅延回路は、前記組み合わせ回路から入力された信号を第１の遅延時間後に出力し、前記第２の遅延回路は、前記組み合わせ回路から入力された信号を前記第１の遅延時間とは異なる第２の遅延時間後に出力する半導体集積回路を提供する。
【００２４】
上記半導体集積回路では、前記第１の遅延時間は、前記第１のフリップ・フロップから前記第２のフリップ・フロップまでの遅延時間の５%から３０%の値である。
【００２５】
上記半導体集積回路では、前記第２の遅延時間は、前記第１の遅延時間の１０５%から１３０%の値である。
【００２６】
上記半導体集積回路では、前記第１の比較回路の出力が２つの入力信号の“不一致”を示し、かつ、前記第２の比較回路の出力が２つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路に供給される電源電圧を上げるよう制御する。
【００２７】
上記半導体集積回路では、前記第１の比較回路の出力が２つの入力信号の“一致”を示し、かつ、前記第２の比較回路の出力が２つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路に供給される電源電圧を保持するよう制御する。
【００２８】
上記半導体集積回路では、前記第１の比較回路の出力が２つの入力信号の“一致”を示し、かつ、前記第２の比較回路の出力が２つの入力信号の“一致”を示す場合、前記制御回路は、前記組み合わせ回路に供給される電源電圧を下げるよう制御する。
【００２９】
上記半導体集積回路では、前記第１のフリップ・フロップ及び前記第２のフリップ・フロップには等しい電源電圧が供給され、当該電源電圧は、前記組み合わせ回路に供給される電源電圧より低い。
【００３０】
上記半導体集積回路では、前記制御回路は、前記組み合わせ回路に供給される電源電圧を「上げる」、「保持する」又は「下げる」よう制御する。
【００３１】
上記半導体集積回路では、前記制御回路は、前記組み合わせ回路に供給される電源電圧の初期設定を「保持する」に設定する。
【００３２】
上記半導体集積回路は、前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第３の遅延回路及び第５のフリップ・フロップと、前記組み合わせ回路の後段に前記第２のフリップ・フロップと並列に設けられる、直列接続された第４の遅延回路及び第６のフリップ・フロップと、前記第２のフリップ・フロップの出力と前記第５のフリップ・フロップの出力とを比較する第３の比較回路と、前記第２のフリップ・フロップの出力と前記第６のフリップ・フロップの出力とを比較する第４の比較回路と、を備え、前記制御回路は、前記第１の比較回路の出力、前記第２の比較回路の出力、前記第３の比較回路の出力及び前記第４の比較回路の出力に応じて、前記組み合わせ回路に供給される電源電圧を制御し、前記第１の遅延時間、前記第２の遅延時間、前記第３の遅延回路による第３の遅延時間及び前記第４の遅延回路による第４の遅延時間は、それぞれ異なる。
【発明の効果】
【００３３】
本発明によれば、半導体集積回路は、ＤＶＳ（Dynamic Voltage Scaling）技術又はＡＶＳ（Adaptive Voltage Scaling）技術を最適な形で実現でき、より効果的に低消費電力化を図ることができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施形態について、図面を参照して説明する。
【００３５】
（実施の形態１）
図１は、本発明の実施の形態１に係る半導体集積回路の構成を示す図である。図１に示すように、本実施形態の半導体集積回路は、２つのカナリアＦＦ１０８，１１２を備える。
【００３６】
図１において、まず信号１０１はクロック信号１０２に同期してフリップ・フロップ１０３に取り込まれ、次のクロック周期において、異電圧間の電圧レベルの変換を行うレベル・シフタ１５２及び組み合わせ回路１０４により遅延した後、フリップ・フロップ１０５（以下「メインＦＦ１０５」という。）に取り込まれる。レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後の信号を第１の遅延素子１０７により特定の遅延時間Ｔ１だけ遅延させた信号はフリップ・フロップ１０８（以下「第１カナリアＦＦ１０８」という。）に取り込まれる。メインＦＦ１０５からの信号と第１カナリアＦＦ１０８からの信号を第１のＥｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）１０９によって比較する。比較結果は比較結果信号１１０として出力される。
【００３７】
また、レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後の信号を、第２の遅延素子１１１により特定の遅延時間Ｔ２だけ遅延させた信号はフリップ・フロップ１１２（以下「第２カナリアＦＦ１１２」という。）に取り込まれる。メインＦＦ１０５からの信号と第２カナリアＦＦ１１２からの信号を第２のＥｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）１１３によって比較する。比較結果は比較結果信号１１４として出力される。
【００３８】
ここで、第１の遅延素子１０７による特定の遅延時間Ｔ１をフリップ・フロップ１０３からフリップ・フロップ１０５までの遅延時間の１０％に設定し、第２の遅延素子１１１による特定の遅延時間Ｔ２をフリップ・フロップ１０３からフリップ・フロップ１０５までの遅延時間の２０％に設定する。
【００３９】
このように設定した場合において、比較結果信号１１０の値と比較結果信号１１４の値の組み合わせにより、以下に示す表１のように、レベル・シフタ１５２及び組み合わせ回路１０４に供給する電源電圧値ＶＤＤＨを制御する。図１において、レベル・シフタ１５２及び組み合わせ回路１０４に供給されている電源電圧値ＶＤＤＨは、組み合わせ回路１０４以外に供給されている電源電圧値ＶＤＤＬと比較して高い電圧値に設定されている。
【００４０】
表１において、×と表示されているケースは、通常では存在しない場合である。つまり、比較結果信号１１０の値が“１”、かつ、比較結果信号１１４の値が“０”になるような場合は通常存在しない。
【００４１】
【表１】
2009200739.tif 000003
【００４２】
比較結果信号１１０の値と比較結果信号１１４の値の組み合わせによる電源電圧値ＶＤＤＨの制御の方法は以下のようにまとめることもできる。この方法による表を表２に示す。
【００４３】
(1)の場合:
比較結果信号１１０の値が“１”で比較結果信号１１４の値が“１”の場合、つまり、１０％のマージンに対してもフェイルする場合は、現実のマージンが１０％未満であるため、電源電圧値ＶＤＤＨを上げるように制御される。その結果、現実のマージンが上がる。
【００４４】
(2)の場合:
比較結果信号１１０の値が“０”で比較結果信号１１４の値が“１”の場合、つまり、１０％のマージンに対してはパスするが、２０％のマージンに対してはフェイルする場合は、現実のマージンが１０％以上２０％未満であるため、電源電圧値ＶＤＤＨを保持するように制御される。
【００４５】
(3)の場合:
比較結果信号１１０の値が“０”で比較結果信号１１４の値が“０”の場合、つまり、２０％のマージンに対してもパスする場合は、現実のマージンが２０％以上であるため、電源電圧値ＶＤＤＨを下げるように制御される。その結果、現実のマージンが下がる。
【００４６】
【表２】
2009200739.tif 000004
【００４７】
比較結果信号１１０の値と比較結果信号１１４の値の組み合わせにより、表１及び表２のように、レベル・シフタ１５２及び組み合わせ回路１０４に供給する電源電圧値ＶＤＤＨを制御することにより、当該クリティカル・パスのマージンを１０％から２０％の間に設定することが可能となる。
【００４８】
この構成を各クリティカル・パスに適応することにより、すべてのクリティカル・パス個々に対して対応することができる。これにより課題２は解決される。
【００４９】
また、図１の回路図からわかるように、遅延時間のマージンを確保するために多機能ＤＳＰのブロック全体の電源電圧を上げることなく、クリティカル・パスを形成する組み合わせ回路１０４の電源電圧値ＶＤＤＨだけを上げるような回路構成にしている。このためクリティカル・パスを形成しない遅延パスの電源電圧値は電源電圧値ＶＤＤＨより電圧値が低い電源電圧値ＶＤＤＬに設定されている。従ってクリティカル・パスでない大多数の回路の電源電圧は上げることないので、低消費電力化の観点から好ましい。これにより課題１も解決される。
【００５０】
以上に、第１カナリアＦＦ１０８と第２カナリアＦＦ１１２の２つのカナリアＦＦがある場合について説明したが、カナリアＦＦを４つの構成にすることにより、２つの構成では当該クリティカル・パスのマージンを１０％から２０％の間のような設定しかできないが、さらに一歩進んで当該クリティカル・パスのマージンをより細かく設定することができるようになり、より低消費電力化が可能になる。
【００５１】
（実施の形態２）
図２は、本発明の実施の形態２に係る半導体集積回路の構成を示す図である。図２に示すように、本実施形態の半導体集積回路は、４つのカナリアＦＦ１０８，１１２，１１６，１２０を備える。
【００５２】
図２において、まず信号１０１はクロック信号１０２に同期してフリップ・フロップ１０３に取り込まれ、次のクロック周期において、レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後、フリップ・フロップ１０５（以下「メインＦＦ１０５」という。）に取り込まれる。レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後の信号を第１の遅延素子１０７による特定の遅延時間ＴＴ１だけ遅延させた信号は、フリップ・フロップ１０８（以下「第１カナリアＦＦ１０８」という。）に取り込まれる。メインＦＦ１０５と第１カナリアＦＦ１０８からの信号を第１のＥｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）１０９によって比較する。比較結果は比較結果信号１１０として出力される。
【００５３】
また、レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後の信号を、第２の遅延素子１１１により特定の遅延時間ＴＴ２だけ遅延させた信号は、フリップ・フロップ１１２（以下「第２カナリアＦＦ１１２」という。）に取り込まれる。メインＦＦ１０５からの信号と第２カナリアＦＦ１１２からの信号を第２のＥｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）１１３によって比較する。比較結果は比較結果信号１１４として出力される。
【００５４】
また、レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後の信号を、第３の遅延素子１１５による特定の遅延時間ＴＴ３だけ遅延させた信号は、フリップ・フロップ１１６（以下「第３カナリアＦＦ１１６」という。）に取り込まれる。メインＦＦ１０５からの信号と第３カナリアＦＦ１１６からの信号を第３のＥｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）１１７によって比較する。比較結果は比較結果信号１１８として出力される。
【００５５】
さらに、レベル・シフタ１５２及び組み合わせ回路１０４により遅延した後の信号を、第４の遅延素子１１９による特定の遅延時間ＴＴ４だけ遅延させた信号は、フリップ・フロップ１２０（以下「第４カナリアＦＦ１２０」という。）に取り込まれる。メインＦＦ１０５からの信号と第４カナリアＦＦ１２０からの信号を第４のＥｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）１２１によって比較する。比較結果は比較結果信号１２２として出力される。
【００５６】
ここで、第１の遅延素子１０７による特定の遅延時間ＴＴ１をフリップ・フロップ１０３からフリップ・フロップ１０５までの遅延時間の５％に設定し、第２の遅延素子１１１による特定の遅延時間ＴＴ２をフリップ・フロップ１０３からフリップ・フロップ１０５までの遅延時間の１０％に設定し、第３の遅延素子１１５による特定の遅延時間ＴＴ３をフリップ・フロップ１０３からフリップ・フロップ１０５までの遅延時間の１５％に設定し、さらに第４の遅延素子１１９による特定の遅延時間ＴＴ４をフリップ・フロップ１０３からフリップ・フロップ１０５までの遅延時間の２０％に設定する。
【００５７】
このように設定した場合において、比較結果信号１１０の値、比較結果信号１１４の値、比較結果信号１１８の値及び比較結果信号１２２の値の組み合わせにより、以下に示す表３のように、レベル・シフタ１５２及び組み合わせ回路１０４に供給する電源電圧値ＶＤＤＨを制御する。図２においてレベル・シフタ１５２及び組み合わせ回路１０４に供給されている電源電圧値ＶＤＤＨは、組み合わせ回路４以外に供給されている電源電圧値ＶＤＤＬと比較して高い電圧値に設定されている。
【００５８】
表３において、×と表示されているケースは、通常では存在しない場合である。表３に示すように、４つのケースが通常では存在しない。
【００５９】
【表３】
2009200739.tif 000005
【００６０】
比較結果信号１１０の値、比較結果信号１１４の値、比較結果信号１１８の値及び比較結果信号１２２の値の組み合わせによる電源電圧値ＶＤＤＨの制御の方法は以下のようにまとめることもできる。この方法による表を表４に示す。
【００６１】
(1)の場合:
比較結果信号１１０の値が“１”、比較結果信号１１４の値が“１”、比較結果信号１１８の値が“１”かつ、比較結果信号１２２の値が“１”の場合、つまり、５％のマージンに対してもフェイルする場合は、現実のマージンが５％未満であるため、電源電圧値ＶＤＤＨを上げるように制御する。その結果、現実のマージンが上がる。
【００６２】
(2)の場合:
比較結果信号１１０の値が“０”、比較結果信号１１４の値が“１”、比較結果信号１１８の値が“１”かつ、比較結果信号１２２の値が“１”の場合、つまり、５％のマージンのみパスする場合は、現実のマージンが５％以上１０％未満であるため、電源電圧値ＶＤＤＨを上げるように制御する。その結果、現実のマージンが上がる。
【００６３】
(3)の場合:
比較結果信号１１０の値が“０”、比較結果信号１１４の値が“０”、比較結果信号１１８の値が“１”かつ、比較結果信号１２２の値が“１”の場合、つまり、１０％までのマージンのみパスする場合は、現実のマージンが１０％以上１５％未満であるため、電源電圧値ＶＤＤＨを保持するように制御する。
【００６４】
(4)の場合:
比較結果信号１１０の値が“０”、比較結果信号１１４の値が“０”、比較結果信号１１８の値が“０”かつ、比較結果信号１２２の値が“１”の場合、つまり、１５％までのマージンのみパスする場合は、現実のマージンが１５％以上２０％未満であるため、電源電圧値ＶＤＤＨを下げるように制御する。その結果、現実のマージンが下がる。
【００６５】
(5)の場合:
比較結果信号１１０の値が“０”、比較結果信号１１４の値が“０”、比較結果信号１１８の値が“０”かつ、比較結果信号１２２の値が“０”の場合、つまり、２０％までのマージンｊまでパスする場合は、現実のマージンが２０％以上であるため、電源電圧値ＶＤＤＨを下げるように制御する。その結果、現実のマージンが下がる。
【００６６】
【表４】
2009200739.tif 000006
【００６７】
比較結果信号１１０の値、比較結果信号１１４の値、比較結果信号１１８の値及び比較結果信号１２２の値の組み合わせにより、表３及び表４のように、レベル・シフタ１５２及び組み合わせ回路１０４に供給する電源電圧値ＶＤＤＨを制御することにより、当該クリティカル・パスのマージンを１０％から１５％の間に設定することが可能となる。
【００６８】
この構成を各クリティカル・パスに適応することにより、すべてのクリティカル・パス個々に対して対応することができる。これにより課題２は実施の形態１より精度よく解決される。
【００６９】
また、図２の回路図からわかるように、本実施例２の場合でも図１の実施例１場合と同様に、遅延時間のマージンを確保するために多機能ＤＳＰのブロック全体の電源電圧を上げることなく、クリティカル・パスを形成する組み合わせ回路１０４の電源電圧値ＶＤＤＨだけを上げるような回路構成にしている。このためクリティカル・パスを形成しない遅延パスの電源電圧値は電源電圧値ＶＤＤＨより電圧値が低い電源電圧値ＶＤＤＬに設定されている。従ってクリティカル・パスでない大多数の回路の電源電圧は上げることないので、低消費電力化の観点から好ましい。これにより課題１も解決される。
【００７０】
図３はカナリアＦＦが４つの構成の場合において、クリティカル・パスを形成する組み合わせ回路１０４の電源電圧値ＶＤＤＨを具体的にどのように変えるかを示す構成図である。図３において図２と同じ番号をつけているものは図２で説明した動作をするので説明は省略する。
【００７１】
符号２０１は電源電圧値ＶＤＤＬを供給する電源線、符号２０２、２０３、２０４、２０５、２０６はそれぞれ電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈ、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈを供給する電源線である。符号２０８は、比較結果信号１１０の値、比較結果信号１１４の値、比較結果信号１１８の値及び比較結果信号１２２の値の組み合わせにより、表３及び表４のように、レベル・シフタ１５２及び組み合わせ回路１０４に供給する電源電圧値ＶＤＤＨを切り替えるスイッチ部２０７制御するＣＰＵ等の制御回路である。
【００７２】
（実施の形態３）
図４は、実施の形態１又は実施の形態２を具体的にＤＶＦＳ(Dynamic Voltage and Frequency Scaling)機構を搭載した半導体集積回路に適用した場合の構成を示す回路ブロック図である。但し、まずＤＶＦＳ(Dynamic Voltage and Frequency Scaling)機構を搭載した半導体集積回路３００について詳細に説明する。その後に、今回の発明をＤＶＦＳ(Dynamic Voltage and Frequency Scaling)機構を搭載した半導体集積回路に適用する方法について説明する。
【００７３】
図４において、半導体集積回路３００は、汎用ＣＰＵを想定した第１の機能ブロック４１０、第２の機能ブロック４２０、第３の機能ブロック４３０、第４の機能ブロック４４０、第５の機能ブロック４５０、ＳＤＲＡＭ３３０を制御するＳＤＲＡＭ制御回路３３１、ＤＭＡコントローラ３３２、周辺Ｉ／Ｏ群３３３を制御するＩ／Ｏ制御回路３３４、第１の機能ブロック４１０及びＩ／Ｏ制御回路３３４側に配置されたローカルバス４６１、第２の機能ブロック４２０側に配置されたローカルバス４６２、第３の機能ブロック４３０側に配置されたローカルバス４６３、第４の機能ブロック４４０側に配置されたローカルバス４６４、第５の機能ブロック４５０側に配置されたローカルバス４６５、ローカルバス４６１とローカルバス４６２〜４６５との間に配置されたグローバルバス４６６、ローカルバス４６１とグローバルバス４６６とを接続するバスブリッジ４７１、ローカルバス４６２とグローバルバス４６６とを接続するバスブリッジ４７２、ローカルバス４６３とグローバルバス４６６とを接続するバスブリッジ４７３、ローカルバス４６４とグローバルバス４６６とを接続するバスブリッジ４７４、ローカルバス４６５とグローバルバス４６６とを接続するバスブリッジ４７５、外部から入力されるクロック３５１を基にして逓倍したクロックを生成するクロック発生回路３５２、及び外部電源４８０をもとに各部に所定電源を供給する電源レギュレータ４８０を備えて構成される。
【００７４】
第１の機能ブロック４１０は、第１のシステム・クロック（ｆＣＬＫ１）４１４を生成する第１のクロック発生回路４１１と、第１の内部メモリ４１２と、第１のシステム・クロック（ｆＣＬＫ１）４１４と第２のシステム・クロック（ｆＣＬＫ２）４２４と第３のシステム・クロック（ｆＣＬＫ３）４３４と第４のシステム・クロック（ｆＣＬＫ４）４４４と第５のシステム・クロック（ｆＣＬＫ５）４５４のいずれかのクロックを選択し、第１の内部メモリ４１２に供給するセレクタ４１３とを備えて構成される。
【００７５】
また、第２の機能ブロック４２０は、第２のシステム・クロック（ｆＣＬＫ２）４２４を生成する第２のクロック発生回路４２１と、第２の内部メモリ４２２と、第１のシステム・クロック（ｆＣＬＫ１）４１４と第２のシステム・クロック（ｆＣＬＫ２）４２４と第３のシステム・クロック（ｆＣＬＫ３）４３４と第４のシステム・クロック（ｆＣＬＫ４）４４４と第５のシステム・クロック（ｆＣＬＫ５）４５４のいずれかのクロックを選択し、第２の内部メモリ４２２に供給するセレクタ４２３とを備えて構成される。
【００７６】
第３の機能ブロック４３０、第４の機能ブロック４４０及び第５の機能ブロック４５０も第１の機能ブロック４１０、第２の機能ブロック４２０と同様である。
【００７７】
クロック発生回路３５２は、システム・クロック３５３を生成し、生成したシステム・クロック３５３を、第１の機能ブロック４１０内の第１のクロック発生回路４１１、第２の機能ブロック４２０内の第２のクロック発生回路４２１、第３の機能ブロック４３０内の第２のクロック発生回路４３１、第４の機能ブロック４４０内の第２のクロック発生回路４４１、第５の機能ブロック４５０内の第２のクロック発生回路４５１、ＳＤＲＡＭ制御回路３３１、及びＤＭＡコントローラ３３２にそれぞれ供給する。
【００７８】
第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック（ｆＣＬＫ１）４１４は、第１の機能ブロック４１０内にある第１のクロック発生回路４１１で生成される。また、第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック（ｆＣＬＫ２）４２４は、第２の機能ブロック４２０内にある第２のクロック発生回路４２１で生成され、第３の機能ブロック４３０内にある回路に供給される第３のシステム・クロック（ｆＣＬＫ３）４３４は、第３の機能ブロック４３０内にある第３のクロック発生回路４３１で生成され、第４の機能ブロック４４０内にある回路に供給される第４のシステム・クロック（ｆＣＬＫ４）４４４は、第４の機能ブロック４４０内にある第４のクロック発生回路４４１で生成され、第５の機能ブロック４５０内にある回路に供給される第５のシステム・クロック（ｆＣＬＫ５）４５４は、第５の機能ブロック４５０内にある第５のクロック発生回路４５１で生成される。
【００７９】
また、図４には示されていないが第１の機能ブロック４１０内にある第１のクロック発生回路４１１で生成された第１のシステム・クロック４１４はセレクタ４１３に供給されるだけでなく、第２から第５の機能ブロック４２０〜４５０内にあるセレクタ４２３からセレクタ４５３にも供給される。このことは他のシステム・クロックにおいても同様である。
【００８０】
電源レギュレータ４８１は、第１の機能ブロック４１０に電源配線４８２を、第４の機能ブロック２２０に電源配線４８３を、第３の機能ブロック４３０に電源配線４８４を、第４の機能ブロック４４０に電源配線４８５を、第５の機能ブロック４５０に電源配線４８６をそれぞれ配線する。
【００８１】
本実施の形態では、全体のフロー制御関係は、汎用ＣＰＵを想定した第１の機能ブロック４１０内の内部メモリ４１２に保存されているメインプログラム上に記載されており、処理能力を要するＡＶ関連の処理などは、多機能ＤＳＰを想定した第２から第５の機能ブロック４２０〜４５０内の内部メモリ４２２〜４５２に保存されているサブプログラム上に記載されている。この意味からも、半導体集積回路３００の仕事全体の管理を行っているのは汎用ＣＰＵを想定した第１の機能ブロック４１０である。
【００８２】
以下、上述のように構成された半導体集積回路３００の動作について説明する。
【００８３】
第１の機能ブロック４１０内の第１のクロック発生回路４１１では、内部のＰＬＬ回路を用いて、半導体集積回路３００に供給されたシステム・クロック３５３を基に第１の機能ブロック４１０の時間によって処理量が変化する演算を行うために必要な第１のシステム・クロック４１４を生成する。
【００８４】
同様に、第２の機能ブロック４２０内の第２のクロック発生回路４２１では、第２の機能ブロック４２０の時間によって処理量が変化する演算を行うために必要な第２のシステム・クロック４２４を生成し、第３の機能ブロック４３０内の第３のクロック発生回路４３１では、第３の機能ブロック４３０の時間によって処理量が変化する演算を行うために必要な第３のシステム・クロック４３４を生成する。また、第４の機能ブロック４４０内の第４のクロック発生回路４４１では、第４の機能ブロック４４０の時間によって処理量が変化する演算を行うために必要な第４のシステム・クロック４４４を生成し、第５の機能ブロック４５０内の第５のクロック発生回路４５１では、第５の機能ブロック４５０の時間によって処理量が変化する演算を行うために必要な第５のシステム・クロック４５４を生成する。
【００８５】
汎用ＣＰＵである第１の機能ブロック４１０は、大容量の内部メモリ４１２を有し、この汎用ＣＰＵである第１の機能ブロック４１０内にあるスケジューラ（図示せず）が半導体集積回路３００全体の動作を統括している。このスケジューラは、具体的には汎用ＣＰＵによるメインプログラムの実行により実現される。
【００８６】
第１の機能ブロック４１０は、上記メインプログラムを実行して半導体集積回路３００全体の動作を統括するために、内部メモリ４１２に以下の情報を格納する。すなわち、第１の機能ブロック４１０の内部メモリ４１２は、第２の機能ブロック４２０がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならなく、そのためには第２の機能ブロック４２０がどのような周波数で動作し、その動作周波数で第２の機能ブロック４２０が動作するためにはどのような電源電圧に設定する必要があるかの情報や、第３の機能ブロック４３０がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならなく、そのためには第３の機能ブロック４３０がどのような周波数で動作し、その動作周波数で第３の機能ブロック４３０が動作するためにはどのような電源電圧に設定する必要があるかの情報や、第４の機能ブロック４４０がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならなく、そのためには第４の機能ブロック４４０がどのような周波数で動作し、その動作周波数で第４の機能ブロック４４０が動作するためにはどのような電源電圧に設定する必要があるかの情報や、第５の機能ブロック４５０がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならなく、そのためには第５機能ブロック４５０がどのような周波数で動作し、その動作周波数で第５の機能ブロック４５０が動作するためにはどのような電源電圧に設定する必要があるかの情報を有している。
【００８７】
第１の機能ブロック４１０、第２の機能ブロック４２０、第３の機能ブロック４３０、第４の機能ブロック４４０、及び第５の機能ブロック４５０の電源電圧は、内蔵された電源レギュレータ４８１により生成され、各機能ブロックに対して第１の機能ブロック４１０に電源配線４８２が、第２の機能ブロック４２０に電源配線４８３が、第３の機能ブロック４３０に電源配線４８４が、第４の機能ブロック４４０に電源配線４８５が、第５の機能ブロック４５０に電源配線４８６がそれぞれ配線される。
【００８８】
図５は、上記第１の機能ブロック４１０内にある内部メモリ４１２の接続図を示す図、図６は、上記第２の機能ブロック４２０内にある第２の内部メモリ４２２の接続を示す図である。
【００８９】
図５において、符号４１２は第１の機能ブロック４１０内にある内部メモリ、符号４９１Ａはチップセレクト信号、符号４９２Ａはアウトプットイネーブル信号、符号４９３Ａはリード／ライト信号、符号４９４Ａはアドレス信号、符号４９５Ａはデータ信号、符号４９６Ａはローカルバス、符号４１４は第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック、符号４２４は第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック、符号４３４は第３の機能ブロック４３０内にある回路に供給される第３のシステム・クロック、符号４４４は第４の機能ブロック４４０内にある回路に供給される第４のシステム・クロック、符号４５４は第５の機能ブロック４５０内にある回路に供給される第５のシステム・クロック、符号４１３はセレクタ、符号４９７Ａはセレクタ４１３の制御信号、符号４９８Ａはセレクタ４１３の制御信号４９７Ａにより選択された、第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック４１４か第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック４２４か第３の機能ブロック４３０内にある回路に供給される第３のシステム・クロック４３４か第４の機能ブロック４４０内にある回路に供給される第４のシステム・クロック４４４か第５の機能ブロック４５０内にある回路に供給される第５のシステム・クロック４５４のいずれかのシステム・クロック信号である。
【００９０】
また、図６において、符号４２２は第２の機能ブロック４１０内にある内部メモリ、符号４９１Ｂはチップセレクト信号、符号４９２Ｂはアウトプットイネーブル信号、符号４９３Ｂはリード／ライト信号、符号４９４Ｂはアドレス信号、符号４９５Ｂはデータ信号、符号４９６Ｂはローカルバス、符号４１４は第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック、符号４２４は第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック、符号４３４は第３の機能ブロック４３０内にある回路に供給される第３のシステム・クロック、符号４４４は第４の機能ブロック４４０内にある回路に供給される第４のシステム・クロック、符号４５４は第５の機能ブロック４５０内にある回路に供給される第５のシステム・クロック、符号４２３はセレクタ、符号４９７Ｂはセレクタ４２３の制御信号、符号４９８Ｂはセレクタ４２３の制御信号４９７Ｂにより選択された、第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック４１４か第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック４２４か第３の機能ブロック４３０内にある回路に供給される第３のシステム・クロック４３４か第４の機能ブロック４４０内にある回路に供給される第４のシステム・クロック４４４か第５の機能ブロック４５０内にある回路に供給される第５のシステム・クロック４５４のいずれかのシステム・クロック信号である。
【００９１】
〔第１の機能ブロック４１０内のデータ信号を第２の機能ブロック４２０内にある内部メモリ４２２に書き込む動作〕
第１の機能ブロック４１０が主導権をとって、第１の機能ブロック４１０内にあるデータ信号を、第２の機能ブロック４２０内にある内部メモリ４２２に書き込む場合には、第２の機能ブロック４２０内にある内部メモリ４２２が第２の機能ブロック４２０内にある回路によって使用されていないことを確認後、セレクタ４２３の制御信号４９７Ｂ（図６参照）を制御してシステム・クロック４９８Ｂが第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック（ｆＣＬＫ１）４１４となるように設定する。そして、チップセレクト信号４９１Ｂを“Ｈ”に設定し、リード／ライト信号４９３Ｂを“ライト状態”に設定し、第２の機能ブロック４２０内にある内部メモリ４２２のアドレス４９４Ｂを設定し、バスブリッジ４７１及びバスブリッジ４７２を制御してローカルバス４６１、グローバルバス４６６、ローカルバス４６２経由で第１の機能ブロック４１０内にあるデータ信号４９５Ａを第２の機能ブロック４２０内にある内部メモリ４２２のデータ信号４９５Ｂへ送り、しかる後にデータ信号４９５Ｂを第２の機能ブロック４２０内にある内部メモリ４２２に書き込む。
【００９２】
〔第２の機能ブロック４２０内にある第２の内部メモリ４２２のデータ信号を第１の機能ブロック４１０内の第１の内部メモリ４１２に読み出す動作〕
第１の機能ブロック４１０が主導権をとって、第１の機能ブロック４１０内へ第２の機能ブロック４２０内にある内部メモリ４２２のデータ信号を読み出す場合には、第２の機能ブロック４２０内にある内部メモリ４２２が第２の機能ブロック４２０内にある回路によって使用されていないことを確認後、セレクタ４１３の制御信号４９７Ａ（図５参照）を制御してシステム・クロック４９８Ａに第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック４１４が選択されるように設定し、チップセレクト信号４９１Ａを“Ｈ”に設定し、リード／ライト信号４９３Ａを“リード状態”に設定し、第２の機能ブロック４２０内にある内部メモリ４２２２のアドレス４９４Ａを読み出したい領域のアドレスに設定し、バスブリッジ４７２及びバスブリッジ４７１を制御してローカルバス４６２、グローバルバス４６６、ローカルバス４６１経由で第２の機能ブロック４２０内にある内部メモリ２２２内に記憶されているデータ信号を第１の機能ブロック４１０内に読み出す。
【００９３】
また、第２の機能ブロック４１０が主導権をとって、第２の機能ブロック４２０内にあるデータ信号を第１の機能ブロック４１０内にある内部メモリ４１２に書き込みたい場合や第２の機能ブロック４２０内へ第１の機能ブロック４１０内にある内部メモリ４１２のデータ信号を読み出す場合も上記と同様にすることにより実現できる。
【００９４】
以上では、第１の機能ブロック４１０と第２の機能ブロック４２０相互でのデータの書き込み、読み出しについて説明してきたが、第１の機能ブロック４１０、第２の機能ブロック４２０、第３の機能ブロック４３０、第４の機能ブロック４４０、第５の機能ブロック４５０間での相互でのデータの書き込み、読み出しにおいても同様に実現できる。但し、本実施の形態では、第１の機能ブロック４１０が汎用ＣＰＵであり、それ以外の第２の機能ブロック４２０、第３の機能ブロック４３０、第４の機能ブロック４４０、第５の機能ブロック４５０は多機能ＤＳＰであることを仮定しているので、あくまで本実施の形態にあっても第１の機能ブロック４１０である汎用ＣＰＵが半導体集積回路３００全体の動作を管理している。したがって、第１の機能ブロック４１０、第２の機能ブロック４２０、第３の機能ブロック４３０、第４の機能ブロック４４０、第５の機能ブロック４５０間での相互でのデータの書き込み、読み出しにおいても、基本的には、汎用ＣＰＵである第１の機能ブロック４１０の管理の下、汎用ＣＰＵである第１の機能ブロック４１０の指示に従って、第２の機能ブロック４２０、第３の機能ブロック４３０、第４の機能ブロック４４０、第５の機能ブロック４５０は相互でのデータの書き込み、読み出しを行っている。
【００９５】
図７は、第２の機能ブロック４２０の仕事量及び第２の機能ブロック４２０の電源電圧（動作周波数）の時間経過依存性を示す図である。また、図８は、第１の機能ブロック４１０の仕事量、及び第１の機能ブロック４１０の電源電圧（動作周波数）の時間経過依存性を示す図である。
【００９６】
図７（ａ）の第２の機能ブロック４２０の仕事量及び図７（ｂ）の第２の機能ブロック４２０の動作電源電圧の例に示すように、第２の機能ブロック４２０は時間ｔ０からｔ１まで仕事２１を電源電圧ＶＤＤ２１、動作周波数ｆＣＬＫ２１で行い、時間ｔ１からｔ２まで仕事２２を電源電圧ＶＤＤ２２、動作周波数ｆＣＬＫ２２で行い、時間ｔ２からｔ３まで仕事２３を電源電圧ＶＤＤ２３、動作周波数ｆＣＬＫ２３で行い、時間ｔ３からｔ４まで仕事２４を電源電圧ＶＤＤ２４、動作周波数ｆＣＬＫ２４で行うという仕事のスケジュールが、汎用ＣＰＵである第１の機能ブロック４１０で管理されている。
【００９７】
図８（ａ）の第１の機能ブロック４１０の仕事量及び図８（ｂ）の第１の機能ブロック４１０の動作電源電圧の例に示すように、第１の機能ブロック４１０は時間ｔ０からｔ１まで仕事１１を電源電圧ＶＤＤ１１、動作周波数ｆＣＬＫ１１で行い、時間ｔ１からｔ２まで仕事１２を電源電圧ＶＤＤ１２、動作周波数ｆＣＬＫ１２で行い、時間ｔ２からｔ３まで仕事１３を電源電圧ＶＤＤ１３、動作周波数ｆＣＬＫ１３で行うという仕事のスケジュールが、自己の第１の機能ブロック４１０で管理されている。
【００９８】
図７及び図８を比較して分かるように、第１の機能ブロック４１０内にある第１のクロック発生回路４１１で生成され、第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック４１４の周波数は、第１の機能ブロック４１０内で行われる仕事の演算処理量に依存して決まり、第２の機能ブロック４２０内にある第２のクロック発生回路４２１で生成され、第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック４２４の周波数は、第２の機能ブロック４２０内で行われる仕事の演算処理量に依存して決まる。したがって、第１の機能ブロック４１０内にある第１のクロック発生回路４１１で生成され、第１の機能ブロック４１０内にある回路に供給される第１のシステム・クロック４１４の周波数と第２の機能ブロック４２０内にある第２のクロック発生回路４２１で生成され、第２の機能ブロック４２０内にある回路に供給される第２のシステム・クロック４２４の周波数との間に明確な相関はない。
【００９９】
図９は、第２の機能ブロック４２０内にある第２のクロック発生回路４２１の構成を示すブロック図である。
【０１００】
図９において、第２のクロック発生回路４２１は、クロック発生回路３５２で生成されたシステム・クロック３５３と分周回路出力とを位相比較する位相検出器３８１、ループフィルタ３８２、ＶＣＯ（Voltage Controlled Oscillator）３８３、及びＶＣＯ３８３からの出力信号の周波数をＮ／Ｍ倍（但し、Ｍ＞Ｎ）に分周する分周回路３８４Ａを備えて構成される。また、符号３８５Ａは汎用ＣＰＵを想定する第１の機能ブロック４１０からの制御信号、符号４２４は第２の機能ブロック４２０内にある第２のクロック発生回路４２１で生成された第２のシステム・クロック（ｆＣＬＫ２）である。
【０１０１】
第２のクロック発生回路４２１は、ＰＬＬ（Phase-Locked Loop）回路３８６を構成しており、クロック発生回路３５２で生成されたシステム・クロック３５３に同期した第２のシステム・クロック４２４を生成している。しかも、第２のシステム・クロック４２４の動作周波数は汎用ＣＰＵを想定する第１の機能ブロック４１０からの制御信号３８５Ａで希望する周波数に設定できる。例えば、クロック発生回路３５２で生成されたシステム・クロック３５３の周波数をｆＣＬＫ_３５３，クロック発生回路３５２で生成されたシステム・クロック３５３に同期した第２のシステム・クロック４２４の周波数をｆＣＬＫ_４２４、汎用ＣＰＵを想定する第１の機能ブロック４１０からの制御信号３８５Ａで設定されるＶＣＯ３８３からの出力信号の周波数の分周比率をＮ／Ｍとすると、以下の関係が成立する。
ｆＣＬＫ_４２４×Ｎ／Ｍ＝ｆＣＬＫ_３５３  …（１）
【０１０２】
したがって、
ｆＣＬＫ_４２４＝ｆＣＬＫ_３５３×Ｍ／Ｎ  …（２）
の関係が成立する。
【０１０３】
以上のように方法により、第２のクロック発生回路４２１によってクロック発生回路３５２で生成されたシステム・クロック３５３に同期した第２のシステム・クロック４２４は汎用ＣＰＵを想定する第１の機能ブロック４１０からの制御信号３８５Ａで自由に制御することができる。
【０１０４】
図１０は、第１の機能ブロック４１０内にある第１のクロック発生回路４１１の構成を示すブロック図である。図９と同一構成部分には同一符号を付している。
【０１０５】
第１のクロック発生回路４１１は、第２のクロック発生回路４２１における第１の機能ブロック４１０からの制御信号３８５Ｂが自分自身のブロック内からの信号であること以外は同様な構成になっている。
【０１０６】
以上の関係をまとめると、第１の機能ブロック４１０内にある第１のクロック発生回路４１１によって、第１の機能ブロック４１０の時間によって処理量が変化する演算を行うために必要な第１のシステム・クロック４１４が第１のクロック発生回路４１１を用いて、半導体集積回路３００のシステム・クロック３５３から生成され、第２の機能ブロック４２０内にある第２のクロック発生回路４２１によって、第２の機能ブロック４２０の時間によって処理量が変化する演算を行うために必要な第２のシステム・クロック４２４が第２のクロック発生回路４２１を用いて、半導体集積回路３００のシステム・クロック３５３から生成される。
【０１０７】
汎用ＣＰＵである第１の機能ブロック４１０は、大容量の第１の内部メモリ４１２を有し、この第１の機能ブロック４１０が半導体集積回路３００全体の動作を統括している。本実施の形態において、第２の機能ブロック４２０がどのような順序で、どのような仕事を行うかの具体的なスケジュールを大容量な内部メモリ４１２内にプログラムの形で有しており、さらに、そのプログラムを実行する過程で第２の機能ブロック４２０がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならなく、そのためには第２機能ブロック４２０がどのような周波数で動作し、その動作周波数で第２の機能ブロック４２０が動作するためにはどのような電源電圧で動作しなければならないかの情報を有している。
【０１０８】
次に、第１の機能ブロック４１０が第２の機能ブロック４２０の電源電圧と動作周波数を如何に制御するかを具体的に説明する。
【０１０９】
第２の機能ブロック４２０がどのような仕事をするかは、第１の機能ブロック４１０の内部メモリ４１２に動作プログラムの形で記述されている。第１の機能ブロック４１０は、上記動作プログラムにより、第２の機能ブロック４２０は時間ｔ０から仕事２１（図７参照）を実行することを読み取る。次に、その仕事２１に相応しい電源電圧ＶＤＤ２１、動作周波数ｆＣＬＫ２１、前記式（２）に述べたＭ／Ｎを前記動作プログラムとは別の特定領域に保存された表５から読み出す。
【０１１０】
【表５】
2009200739.tif 000007
【０１１１】
この表５は、動作プログラムに記載されているそれぞれの仕事内容を事前に検討し、それぞれの仕事を第２の機能ブロック４２０の多機能ＤＳＰに行わせる場合どのような動作周波数を必要として、そのためにはどのような電源電圧に設定する必要があるかに対する綿密なシミュレーションに基づいて決定されている。
【０１１２】
そして、まず、第１の機能ブロック４１０は内蔵された電源レギュレータ４８１に指示して、第２の機能ブロック４２０に電源電圧ＶＤＤ２を供給する。
【０１１３】
次に、第１の機能ブロック４１０は、図９に示す制御信号３８５を介して第２のクロック発生回路４２１のＶＣＯ３８３からの出力信号の周波数をＮ／Ｍ倍（但し、Ｍ＞Ｎ）に分周する回路にしかるべきＭ／Ｎの具体的な値を書き込む。第２のクロック発生回路４２１はＰＬＬ回路３８６のセットアップ時間を経過後に安定した動作周波数ｆＣＬＫ２に設定される。但し、以上の設定に要する時間は仕事２１に要する時間に比して僅かであるので、図７には示していない。
【０１１４】
第２の機能ブロック４２０の電源電圧ＶＤＤ２と動作周波数ｆＣＬＫ２が安定するに必要な時間経過後に、第１の機能ブロック４１０は第２の機能ブロック４２０が仕事２１の開始を許可するので、第２の機能ブロック４２０は仕事２１を開始する。
【０１１５】
第２の機能ブロック４２０は、仕事２１が完了したときには、「仕事２１が完了したとの情報」を仕事全体の管理している第１の機能ブロック４１０に報告する。勿論、第２の機能ブロック４２０は仕事２１が完了したときには、「仕事２１が完了したとの情報」を仕事全体の管理している第１の機能ブロック４１０に報告することに代えて、第２の機能ブロック４２０が「仕事２１が完了したとの情報」をフラグとして、特定のレジスタに記録して、第１の機能ブロック４１０が上記レジスタを見に行くような仕組みでもよい。
【０１１６】
以上の説明では各機能ブロックにおいて、それぞれの仕事内容に対応して多機能ＤＳＰにとってどのような電源電圧に設定し、かつ、どのような動作周波数に設定するかは事前に綿密なシミュレーションによって決定すると記述した。ある仕事を実施する間は動作周波数を一定と想定すると、多機能ＤＳＰの動作にマージンを持たせるには動作電源電圧値にマージンを持たせることになる。この際に主に考慮しなければならい点が２点存在する。
（１）遅延パスのバラツキ
（２）保証温度範囲
【０１１７】
まず、遅延パスのバラツキについて述べる。各多機能ＤＳＰのブロックの内部回路を検討すると、図１１で述べるように、この回路の遅延パスには様々な値が存在する。ある特定の仕事をこの多機能ＤＳＰにおいて実行するのに必要な電源電圧値は、この機能ブロックに存在するさまざまな遅延パスの内、クリティカル・パスと呼ぶ一群の遅延パスによってその値が決定される。従って、多機能ＤＳＰのブロックのすべての内部回路の電源電圧を上げる必要はなく、図１のようにクリティカル・パスを形成する組み合わせ回路１０４の電源電圧ＶＤＤＨ１５１のみ上げるのが低消費電力化の観点から有効である。しかも、クリティカル・パスにはその遅延の程度によりある遅延マージンを保証するのに必要とされる電源電圧ＶＤＤＨ１５１の値も異なるので、それぞれ必要な値を設定するのが有効である。勿論、図４の電源レギュレータで発生する電源電圧値があまり多くなるのは好ましくないので、図３のようクリティカル・パスの組み合わせ回路１０４に供給される電源電圧値ＶＤＤＨには、電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈ、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈの５段階の電圧にし、クリティカル・パスの組み合わせ回路１０４以外に供給する電源電圧値ＶＤＤＬと合わせて６電源値にするのが好ましい。
【０１１８】
次に、保証温度範囲について述べる。ディープサブミクロン領域の半導体技術において、従来行われてきた最悪ケースに配慮した半導体集積回路の設計は困難になりつつある。図１８のカナリアＦＦを使用した回路も、最悪ケースに配慮した半導体集積回路の設計ではなく典型的なケースでの設計を可能にする構成の１例である。この方法はそれ以前に提案されている Ｒａｚｏｒ回路による方法を改善したものであるが、課題１及び課題２で説明したような課題を有していた。図１、図２に示した実施の形態１、実施の形態２は、従来のカナリアＦＦによる方法を更に改善したものであり、必要最小限の半導体集積回路の設計マージンにすることができる構成であり、この構成により消費電力削減に効果がある。
【０１１９】
図３の黒の太枠で囲った部分は、図４に示した電源レギュレータ４８１の一部を示す。図３に示される電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ２０２、電源電圧値ＶＤＤＨ−ｌｏｗ２０３、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ２０４、電源電圧値ＶＤＤＨ−ｈｉｇｈ２０５、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈ２０６を供給する電源線と、比較結果信号１１０の値、比較結果信号１１４の値、比較結果信号１１８の値及び比較結果信号１２２の値の組み合わせにより、表３及び表４のようにレベル・シフタ１５２及び組み合わせ回路１０４に供給する電源電圧値ＶＤＤＨを切り替えるスイッチ部２０７は、それぞれのクリティカル・パスの近傍にレイアウトしてもよく、また、当該多機能ＤＳＰブロックの適当な場所にまとめてレイアウトしてもよく、さらに半導体集積回路の中の１箇所にまとめて集中管理するように設計することもできる。
【０１２０】
例えば、図４の電源レギュレータ４８１から、電源電圧ＶＤＤＬ、ＶＤＤＨを、第１の機能ブロック４１０には電源配線４８２で、第４の機能ブロック２２０には電源配線４８３で、第３の機能ブロック４３０には電源配線４８４で、第４の機能ブロック４４０には電源配線４８５で、第５の機能ブロック４５０には電源配線４８６でそれぞれ配線し、供給することができる。
【０１２１】
次に、図３の太枠で囲まれた回路をそれぞれのクリティカル・パスの近傍にレイアウトする場合においては、図４の電源レギュレータ４８１からそれぞれのクリティカル・パスの近傍の間に複数の電源を配線する必要がある。この場合においては、スペースの点から配線する電源配線の数は極力少なくする必要がある。そこで以下のような工夫を行う。
【０１２２】
図１１に当該多機能ＤＳＰブロックにおける電源電圧値ＶＤＤＬでのパスディレイの値を横軸に、対応するパスディレイの値のカウント数を縦軸に示す。当該多機能ＤＳＰブロックに供給されるクロック周波数で決まる遅延時間を図中に縦線で示している。図１１中の縦線によって示された時間よりパスディレイの値が大きい場合はクリティカル・パスになり、クリティカル・パスの組み合わせ回路１０４に対しては遅延時間を減少させるために電源電圧値ＶＤＤＬより高い値の電源電圧値ＶＤＤＨを供給する。但し、フリップ・フロップ１０３に供給される電源電圧ＶＤＤＬよりクリティカル・パスの組み合わせ回路１０４に供給される電源電圧値ＶＤＤＨが高くなるのでフリップ・フロップ１０３と組み合わせ回路１０４の間にレベル・シフタ１５２を挿入してある。
【０１２３】
図１１から解かるように、クリティカル・パスと言ってもパスディレイの値には差が有り、その遅延時間の厳しさにより、３段階程度の差を想定して対応する。従ってクリティカル・パスの組み合わせ回路１０４に供給される電源電圧値ＶＤＤＨにも、電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈ、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈの５段階の電圧を想定することにする。具体的な値としては、例えば、電源電圧値ＶＤＤＬ、電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈ、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈの値はそれぞれ、１．０Ｖ、１．１０Ｖ、１．１５Ｖ、１．２０Ｖ、１．２５Ｖ、１．３０Ｖである。
【０１２４】
繰り返すが、クリティカル・パスと言ってもパスディレイの値には差が有る。クリティカル・パスの遅延の程度が低いものに対しては、電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌの３段階の電圧を選択できるように設定し、クリティカル・パスの遅延の程度が中程度のものに対しては、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈの３段階の電圧を選択できるように設定し、クリティカル・パスの遅延の程度が大のものに対しては電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈ、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈの３段階の電圧を選択できるように設定する。図１２、図１３、図１４にそれぞれの場合の図を示す。電源電圧値ＶＤＤＨはそれぞれのクリティカル・パスにおいては３段階になっているので、図１にあるようなカナリアＦＦが２つで充分である。
【０１２５】
初期値としては、それぞれの場合における中間の電源電位を、つまり、表２の(2)の場合になるように設計する。具体的には、クリティカル・パスの遅延の程度が低いものに対しては、電源電圧値ＶＤＤＨの初期値として電源電圧値ＶＤＤＨ−ｌｏｗに設定するように設計し、クリティカル・パスの遅延の程度が中程度のものに対しては、電源電圧値ＶＤＤＨの初期値として電源電圧値ＶＤＤＨ−ｎｏｒｍａｌに設定するように設計し、クリティカル・パスの遅延の程度が大のものに対しては電源電圧値ＶＤＤＨの初期値として電源電圧値ＶＤＤＨ−ｈｉｇｈに設定するように設計する。
【０１２６】
例えば、あるクリティカル・パスにおいて、当該クリティカル・パスのクリティカル・パス遅延の程度が中程度のものだと想定し表２の(2)の場合になるように設計したとする。ところが現実には表２の(1)の場合になっていたとする。このとき、比較結果信号１０の値が“１”、比較結果信号１４の値が“１”になるので、「電源電圧値ＶＤＤＨを上げる」ように制御が働く。従って、電源電圧値ＶＤＤＨは初期値に設定されていた電源電圧値ＶＤＤＨ−ｎｏｒｍａｌから電源電圧値ＶＤＤＨ−ｈｉｇｈに電源電圧値が変更される。
【０１２７】
同様にあるクリティカル・パスにおいて、当該クリティカル・パスのクリティカル・パス遅延の程度が中程度のものだと想定し表２の(2)の場合になるように設計したとする。ところが、現実には表２の(3)の場合になっていたとする。このとき、比較結果信号１０の値が“０”、比較結果信号１４の値が“０”になるので、「電源電圧値ＶＤＤＨを下げる」ように制御が働く。従って、電源電圧値ＶＤＤＨは初期値に設定されていた電源電圧値ＶＤＤＨ−ｎｏｒｍａｌから電源電圧値ＶＤＤＨ−ｌｏｗに電源電圧値が変更される。当該クリティカル・パスの遅延を起こす原因が何であれ、本発明の構成により自動的に当該クリティカル・パスの遅延のマージンを所定値に調節する機能がある。
【０１２８】
当該多機能ＤＳＰの当該仕事における消費電力を少なくしようとすると、設定する当該多機能ＤＳＰの電源電圧値を最も遅延値が大きいクリティカル・パスがどうにかパスするようなギリギリの値に設定すればよい。しかし、このような微妙な設定は事前に綿密なシミュレーションによっても決定するのは非常に困難である。
【０１２９】
それぞれのクリティカル・パスにカナリアＦＦを複数使用することにより、現状の回路で遅延マージンが希望する値に対して少ないか、適切か、多いかを知ることができ、この情報を用いてそれぞれのクリティカル・パスの組み合わせ回路の電源電圧を「上げる」「保持する」「下げる」制御に用いることにより、低消費電力化に適したＤＶＳ（Dynamic Voltage Scaling）技術及びＡＶＳ（Adaptive Voltage Scaling）技術を実現することができる。
【０１３０】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【０１３１】
以上の実施の形態３において、本発明の実施の形態１又は実施の形態２を活用する半導体集積回路の一例について記載した。しかし、本発明の実施の形態１又は実施の形態２を活用する半導体集積回路は実施の形態３に限るものではない。
【０１３２】
例えば、実施の形態３においては、第２の機能ブロックから第５の機能ブロックすべてを“多機能ＤＳＰ”として定義したが、ある機能ブロックは演算中心の処理を実行するだけで一般的にいう“ＤＳＰ”に該当しない場合も含まれる。
【０１３３】
また、“多機能ＤＳＰ”を想定した機能ブロックとして第２の機能ブロックから第５の機能ブロックの４つの機能ブロックがある場合について説明してきたが、この数は勿論４つに限定されるものではない。
【産業上の利用可能性】
【０１３４】
本発明に係る半導体集積回路は、ＡＶＳ（Adaptive Voltage Scaling）技術又はＤＶＳ（Dynamic Voltage Scaling）技術を用いた半導体集積回路等の低消費電力化に対して有効である。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施の形態１に係る半導体集積回路の構成を示すブロック図
【図２】本発明の実施の形態２に係る半導体集積回路の構成を示すブロック図
【図３】カナリアＦＦが４つの構成の場合において、クリティカル・パスを形成する組み合わせ回路１０４の電源電圧値ＶＤＤＨを具体的にどのように変えるかを示す構成図
【図４】実施の形態１又は実施の形態２を具体的にＤＶＦＳ(Dynamic Voltage and Frequency Scaling)機構を搭載した半導体集積回路に適用した場合の構成を示すブロック図
【図５】第２の機能ブロック４２０内にある第２の内部メモリ４２２の接続を示す図
【図６】実施の形態２に係る半導体集積回路の第１の機能ブロック内にある内部メモリの接続を示す図
【図７】第２の機能ブロック４２０の仕事量及び第２の機能ブロック４２０の電源電圧（動作周波数）の時間経過依存性を示す図
【図８】第１の機能ブロック４１０の仕事量及び第１の機能ブロック４１０の電源電圧（動作周波数）の時間経過依存性を示す図
【図９】第２の機能ブロック４２０内にある第２のクロック発生回路４２１の構成を示すブロック図
【図１０】第１の機能ブロック４１０内にある第１のクロック発生回路４１１の構成を示すブロック図
【図１１】遅延パスのパス・ディレイとカウント数の図
【図１２】クリティカル・パスの遅延の程度が低い場合に、電源電圧値ＶＤＤＨ−ｌｏｗｌｏｗ、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌの３段階の電圧を選択する回路図
【図１３】クリティカル・パスの遅延の程度が中程度の場合に、電源電圧値ＶＤＤＨ−ｌｏｗ、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ、電源電圧値ＶＤＤＨ−ｈｉｇｈ、の３段階の電圧を選択する回路図
【図１４】クリティカル・パスの遅延の程度が大の場合に、電源電圧値ＶＤＤＨ−ｎｏｒｍａｌ電源電圧値ＶＤＤＨ−ｈｉｇｈ、電源電圧値ＶＤＤＨ−ｈｉｇｈｈｉｇｈの３段階の電圧を選択する回路図
【図１５】従来のシステムＬＳＩのブロック図
【図１６】従来のシステムＬＳＩのブロック図
【図１７】従来のシステムＬＳＩのブロック図
【図１８】カナリアＦＦの回路図を従来のクリティカル・パスに適応したブロック図
【符号の説明】
【０１３６】
１０１  信号
１０２  クロック信号
１０３，１０５，１０８，１１２，１１６，１２０  フリップ・フロップ
１０４  組み合わせ回路
１０７，１１１，１１５，１１９  遅延素子
１０９，１１３，１１７，１２１  Ｅｘｃｌｕｓｉｖｅ−ＯＲ（不一致回路）
１０６，１１０，１１４，１１８，１２２  比較結果信号
１５２  レベル・シフタ
１５０  電源電圧VDDL
１５１  電源電圧VDDH
【図１】
2009200739.tif 000008
【図２】
2009200739.tif 000009
【図３】
2009200739.tif 000010
【図４】
2009200739.tif 000011
【図５】
2009200739.tif 000012
【図６】
2009200739.tif 000013
【図７】
2009200739.tif 000014
【図８】
2009200739.tif 000015
【図９】
2009200739.tif 000016
【図１０】
2009200739.tif 000017
【図１１】
2009200739.tif 000018
【図１２】
2009200739.tif 000019
【図１３】
2009200739.tif 000020
【図１４】
2009200739.tif 000021
【図１５】
2009200739.tif 000022
【図１６】
2009200739.tif 000023
【図１７】
2009200739.tif 000024
【図１８】
2009200739.tif 000025