JP2011030066A - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP2011030066A JP2011030066A JP2009175329A JP2009175329A JP2011030066A JP 2011030066 A JP2011030066 A JP 2011030066A JP 2009175329 A JP2009175329 A JP 2009175329A JP 2009175329 A JP2009175329 A JP 2009175329A JP 2011030066 A JP2011030066 A JP 2011030066A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- functional block
- semiconductor integrated
- integrated circuit
- output
- 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
Landscapes
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
- Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
【課題】サブスレッショルドリーク電流が増大するという問題を回避しつつ、動作時における消費電力を極力低減し得る半導体集積回路を提供すること。
【解決手段】半導体集積回路は、クリティカル・パスを形成する第1のFF103、組み合わせ回路104及びメインFF105と、メインFF105と並列に設けられる第1の遅延素子107及び第1のカナリアFF108と、メインFF105と並列に設けられる第2の遅延素子111及び第2のカナリアFF112と、メインFF105の出力と第1のカナリアFF108の出力とを比較する第1の比較回路109と、メインFF105の出力と第2のカナリアFF112の出力とを比較する第2の比較回路113と、第1の比較回路109の出力及び第2の比較回路113の出力に応じて、組み合わせ回路104のトランジスタの閾値電圧を制御する制御回路120とを備える。
【選択図】図1
【解決手段】半導体集積回路は、クリティカル・パスを形成する第1のFF103、組み合わせ回路104及びメインFF105と、メインFF105と並列に設けられる第1の遅延素子107及び第1のカナリアFF108と、メインFF105と並列に設けられる第2の遅延素子111及び第2のカナリアFF112と、メインFF105の出力と第1のカナリアFF108の出力とを比較する第1の比較回路109と、メインFF105の出力と第2のカナリアFF112の出力とを比較する第2の比較回路113と、第1の比較回路109の出力及び第2の比較回路113の出力に応じて、組み合わせ回路104のトランジスタの閾値電圧を制御する制御回路120とを備える。
【選択図】図1
Description
本発明は、多様な機能を1チップに搭載した大規模なシステムLSI(Large Scale Integration)の低消費電力化技術に係り、特に、特定のブロックに対して動的に動作電圧や動作周波数を変更するDVFS(Dynamic Voltage Frequency Scaling)技術を適用した半導体集積回路に関する。
従来からLSIを低消費電力化する設計手法としてdeal Vt/Vddと呼ばれる技術がある。この技術は、
(1)クリティカル・パスを形成する半導体素子に関しては
・Vt ⇒閾値電圧を下げる
・Vdd ⇒電源電圧を上げる
になるように設計し、
(2)クリティカル・パスを形成しない半導体素子に関しては
・Vt ⇒閾値電圧を上げる
・Vdd ⇒電源電圧を下げる
になるように設計することにより、LSIの動作時のサブスレッショルドリーク電流とシステムLSIの待機時のサブスレッショルドリーク電流を共に削減して、消費電力を低減するものである(特許文献1)。
(1)クリティカル・パスを形成する半導体素子に関しては
・Vt ⇒閾値電圧を下げる
・Vdd ⇒電源電圧を上げる
になるように設計し、
(2)クリティカル・パスを形成しない半導体素子に関しては
・Vt ⇒閾値電圧を上げる
・Vdd ⇒電源電圧を下げる
になるように設計することにより、LSIの動作時のサブスレッショルドリーク電流とシステムLSIの待機時のサブスレッショルドリーク電流を共に削減して、消費電力を低減するものである(特許文献1)。
また、上記内容の技術を実際のLSIに適用することにより、60〜65%の消費電力を削減する効果が得られたという報告がなされている(非特許文献1)。
David Kung他著,「Pushing ASIC Performance in a Power Envelope」, DAC 2003, 2003年6月2日〜6日
従来、システムLSIの動作時における消費電力を低減させるために、クリティカル・パスを構成している回路パスに存在するトランジスタに対して、半導体集積回路装置の製造プロセスにおいてイオン注入を行うことにより、NチャネルトランジスタとPチャネルトランジスタの閾値電圧の絶対値を下げる方法が用いられてきた。この方法では、半導体集積回路の製造に際し、事前に回路シミュレーションを十分実施し、回路の温度変化、電源電圧変化、バラツキによる変化などを考慮した上で、最も条件が悪い場合においても回路が動作するようにNチャネルトランジスタとPチャネルトランジスタの閾値電圧を設定する必要がある。その際、最も条件が悪い場合においても回路が動作するようにクリティカル・パスの遅延時間にマージンを持たせる必要があるため、クリティカル・パスを構成している回路に存在するトランジスタの閾値電圧の絶対値が必要以上に低く設定される傾向がある。その結果、サブスレッショルドリーク電流の増大を招いていた。
クリティカル・パスを構成している回路に存在するトランジスタの閾値電圧の絶対値が必要以上に低く設定されることによりシステムLSIの動作時におけるサブスレッショルドリーク電流が増大するという問題は、システムLSIの低消費電力化技術であるdeal Vt/Vddのうち、特にdeal Vtが抱えている問題である。
本発明の目的は、サブスレッショルドリーク電流が増大するという問題を回避しつつ、動作時における消費電力を低減可能な半導体集積回路を提供することである。
本発明は、クリティカル・パスを有する半導体集積回路であって、前記クリティカル・パスを形成する互いに直列接続された第1のフリップ・フロップ(以下、「フリップ・フロップ」を「FF」という。)、組み合わせ回路及び第2のFFと、前記組み合わせ回路の後段に前記第2のFFと並列に設けられる互いに直列接続された第1の遅延回路及び第3のFFと、前記組み合わせ回路の後段に前記第2のFFと並列に設けられる互いに直列接続された第2の遅延回路及び第4のFFと、前記第2のFFの出力と前記第3のFFの出力とを比較する第1の比較回路と、前記第2のFFの出力と前記第4のFFの出力とを比較する第2の比較回路と、前記第1の比較回路の出力及び前記第2の比較回路の出力に応じて、前記組み合わせ回路のトランジスタの閾値電圧を制御する制御回路と、を備え、前記第1の遅延回路は、前記組み合わせ回路から入力された信号を第1の遅延時間後に出力し、前記第2の遅延回路は、前記組み合わせ回路から入力された信号を前記第1の遅延時間とは異なる第2の遅延時間後に出力する半導体集積回路を提供する。
上記半導体集積回路では、前記第1の遅延時間は、前記第1のFFから前記第2のFFまでの遅延時間の5%から30%の値であることが望ましい。
上記半導体集積回路では、前記第2の遅延時間は、前記第1の遅延時間の105%から130%の値であることが望ましい。
上記半導体集積回路では、前記第1の比較回路の出力が2つの入力信号の“不一致”を示し、かつ、前記第2の比較回路の出力が2つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を下げるよう制御することが望ましい。
上記半導体集積回路では、前記第1の比較回路の出力が2つの入力信号の“一致”を示し、かつ、前記第2の比較回路の出力が2つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を保持するよう制御することが望ましい。
上記半導体集積回路では、前記第1の比較回路の出力が2つの入力信号の“一致”を示し、かつ、前記第2の比較回路の出力が2つの入力信号の“一致”を示す場合、前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を上げるよう制御することが望ましい。
上記半導体集積回路では、前記制御回路は、前記組み合わせ回路に供給される電源電圧を「上げる」、「保持する」又は「下げる」よう制御することが望ましい。
上記半導体集積回路では、前記制御回路は、前記組み合わせ回路に供給される電源電圧の初期設定を「保持する」に設定することが望ましい。
本発明は、上記半導体集積回路を有する携帯モバイル機器を提供する。
本発明に係る半導体集積回路によれば、システムLSIの動作時におけるサブスレッショルドリーク電流を低減して、効果的に低消費電力化できる。
以下、本発明の実施形態について、図面を参照して説明する。
(第1の実施形態)
図1は、本発明の半導体集積回路の第1の実施形態の構成を示す図である。図1に示すように、第1の実施形態の半導体集積回路は、互いに直列接続された第1のFF103、組み合わせ回路104及び第2のFF(以下「メインFF」という。)105と、組み合わせ回路104の後段にメインFF105と並列に設けられる互いに直列接続された第1の遅延素子107及び第1のカナリアFF(第3のFF)108と、組み合わせ回路104の後段にメインFF105と並列に設けられる、互いに直列接続された第2の遅延素子111及び第2のカナリアFF(第4のFF)112と、メインFF105の出力と第1のカナリアFF108の出力とを比較する第1の比較回路109と、メインFF105の出力と第2のカナリアFF112の出力とを比較する第2の比較回路113と、第1の比較回路109の出力及び第2の比較回路113の出力に応じて、組み合わせ回路104のトランジスタの閾値電圧を制御する制御回路120とを備える。この半導体集積回路において、第1のFF103、組み合わせ回路104及びメインFF105からなる部分がクリティカル・パスを形成している。
図1は、本発明の半導体集積回路の第1の実施形態の構成を示す図である。図1に示すように、第1の実施形態の半導体集積回路は、互いに直列接続された第1のFF103、組み合わせ回路104及び第2のFF(以下「メインFF」という。)105と、組み合わせ回路104の後段にメインFF105と並列に設けられる互いに直列接続された第1の遅延素子107及び第1のカナリアFF(第3のFF)108と、組み合わせ回路104の後段にメインFF105と並列に設けられる、互いに直列接続された第2の遅延素子111及び第2のカナリアFF(第4のFF)112と、メインFF105の出力と第1のカナリアFF108の出力とを比較する第1の比較回路109と、メインFF105の出力と第2のカナリアFF112の出力とを比較する第2の比較回路113と、第1の比較回路109の出力及び第2の比較回路113の出力に応じて、組み合わせ回路104のトランジスタの閾値電圧を制御する制御回路120とを備える。この半導体集積回路において、第1のFF103、組み合わせ回路104及びメインFF105からなる部分がクリティカル・パスを形成している。
カナリアFFは、タイミングエラーの発生を事前に検出する目的で利用されるFFである。カナリアFFは、メインFFよりもタイミング制約が厳しく設定されている。カナリアFFがタイミングエラーに遭遇することにより、今まさに生じようとしているタイミングエラーを事前に検出することができる。
比較回路109,113は、Exclusive−OR(不一致回路)である。
図1において、まず信号101はクロック信号102に同期して第1のFF103に取り込まれ、組み合わせ回路104を経た後でメインFF105に取り込まれる。組み合わせ回路104により遅延した後の信号を第1の遅延素子107により特定の遅延時間T1だけ遅延させた信号は、第1のカナリアFF108に取り込まれる。そして、メインFF105からの信号と第1のカナリアFF108からの信号が第1の比較回路109によって比較される。その比較結果は比較結果信号110として出力され、制御回路120に入力される。
また、組み合わせ回路104により遅延した後の信号を第2の遅延素子111により特定の遅延時間T2だけ遅延させた信号は、第2のカナリアFF112に取り込まれる。そして、メインFF105からの信号と第2のカナリアFF112からの信号とが第2の比較回路113によって比較される。その比較結果は比較結果信号114として出力され、制御回路120に入力される。制御回路120は後述するような制御信号121を作成する。
ここでは、第1の遅延素子107による特定の遅延時間T1を第1のFF103からメインFF105までの遅延時間の5%に設定し、第2の遅延素子111による特定の遅延時間T2を第1のFF103からメインFF105までの遅延時間の10%に設定する。このように設定した上で、制御回路120は比較結果信号110の値と比較結果信号114の値の組み合わせにより、下記表1に示すように、組み合わせ回路104を構成するトランジスタの閾値電圧を制御する。
この制御方法を表1に示す。表1において、×と表示されているケースは、通常では存在しない場合である。つまり、比較結果信号110の値が“1”、かつ、比較結果信号114の値が“0”になるような場合は通常存在しない。また、トランジスタの閾値電圧を制御する具体的な物理的な方法の一例については、後で図2、図3を用いて説明するのでここでは説明を省略する。表中の「Tr」は「トランジスタ」の略記である(以下同様)。
比較結果信号110の値と比較結果信号114の値の組み合わせから、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を以下のように制御することもできる。
(1)の場合:
比較結果信号110の値が“1”で比較結果信号114の値が“1”の場合、つまり、5%のマージンに対してもフェイルする場合は、現実のマージンが5%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を小さくするように制御する。その結果、現実のマージンが上がる。
比較結果信号110の値が“1”で比較結果信号114の値が“1”の場合、つまり、5%のマージンに対してもフェイルする場合は、現実のマージンが5%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を小さくするように制御する。その結果、現実のマージンが上がる。
(2)の場合:
比較結果信号110の値が“0”で比較結果信号114の値が“1”の場合、つまり、5%のマージンに対してはパスするが、10%のマージンに対してはフェイルする場合は、現実のマージンが5%以上10%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を保持するように制御する。
比較結果信号110の値が“0”で比較結果信号114の値が“1”の場合、つまり、5%のマージンに対してはパスするが、10%のマージンに対してはフェイルする場合は、現実のマージンが5%以上10%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を保持するように制御する。
(3)の場合:
比較結果信号110の値が“0”で比較結果信号114の値が“0”の場合、つまり、10%のマージンに対してもパスする場合は、現実のマージンが10%以上であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を大きくするように制御する。その結果、現実のマージンが下がる。
比較結果信号110の値が“0”で比較結果信号114の値が“0”の場合、つまり、10%のマージンに対してもパスする場合は、現実のマージンが10%以上であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を大きくするように制御する。その結果、現実のマージンが下がる。
表1を上記(1),(2),(3)の場合についてまとめると、表2のようになる。
比較結果信号110の値と比較結果信号114の値の組み合わせにより、表1及び表2のように、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を制御することにより、当該クリティカル・パスの遅延時間のマージンを5%から10%の間に設定することが可能となる。しかも、実際の回路のクリティカル・パスを用いて、当該クリティカル・パスの遅延時間のマージンを5%から10%の間に設定しているので、実際の回路の温度変化、電源電圧変化、バラツキによる変化などにも対応できている。
上記の例では、第1のカナリアFF108と第2のカナリアFF112の2つのカナリアFFを有する構成について説明したが、本発明の半導体集積回路はカナリアFFを2つ有する構成に限定されるものではない。また、上記の例では、第1の遅延素子107による特定の遅延時間T1を第1のFF103から第2のFF105までの遅延時間の5%に設定し、第2の遅延素子111による特定の遅延時間T2を第1のFF103から第2のFF105までの遅延時間の10%に設定するように設定しているが、この遅延時間の設定もこれらの値に限定されるものではない。
次に、組み合わせ回路を構成するトランジスタの閾値電圧を制御する物理的な方法について説明する。図2により部分空乏型SOIのNチャネルトランジスタの閾値電圧を制御する方法について説明し、図3により部分空乏型SOIのPチャネルトランジスタの閾値電圧を制御する方法について説明する。
図2は、閾値電圧が異なる3つの部分空乏型SOIのNチャネルトランジスタの断面図である。図2において、200はシリコン支持基板、201は埋め込み酸化膜、202は完全トレンチ分離領域、203は部分トレンチ分離領域を表している。矢印は各電極とグランド配線、基板電源配線との接続関係を示している。図中の矢印はNチャネルトランジスタのソース電位、基板電位がそれぞれどの電位に接続されているかを示している。
図2(a)は、Nチャネルトランジスタを順方向にバイアスすることにより、Nチャネルトランジスタの閾値を小さくする方法を示している。図2(a)においては、閾値電圧が異なる3つのNチャネルトランジスタの中で一番左に位置するNチャネルトランジスタの閾値電圧が最も高く、右に行くにつれて基板電位が高くなる。つまり、順バイアスされることにより、各Nチャネルトランジスタの閾値電圧は左から右の順に小さくなっている。但し、基板電源配線VSSU2 252の電源電位>基板電源配線VSSU1 251の電源電位>グランド配線VSS 250の電源電位>基板電源配線VSSL1 249の電源電位 >基板電源配線VSSL2 248の電源電位であるものと仮定している。
図2(b)は、図2(a)とは反対に、Nチャネルトランジスタを逆方向にバイアスすることにより、Nチャネルトランジスタの閾値を大きくする方法を示している。
図3は、閾値電圧が異なる3つの部分空乏型SOIのPチャネルトランジスタの断面図である。図3において、200はシリコン支持基板、201は埋め込み酸化膜、202は完全トレンチ分離領域、203は部分トレンチ分離領域を表している。図中の矢印は各電極と電源配線、基板電源配線との接続関係を示している。
図3(a)は、Pチャネルトランジスタを順方向にバイアスすることにより、Pチャネルトランジスタの閾値の絶対値を小さくする方法を示している。図3(a)においては、閾値電圧が異なる3つのPチャネルトランジスタの中で一番左に位置するPチャネルトランジスタの閾値電圧の絶対値が最も高く、右に行くにつれて基板電位が高くなる。つまり、順バイアスされることにより、各Pチャネルトランジスタの閾値電圧の絶対値は左から右の順に小さくなっている。但し、基板電源配線VDDL2 262の電源電位<基板電源配線VDDL1 261の電源電位<電源配線VDD 260の電源電位<基板電源配線VDDU1 259の電源電位<基板電源配線VDDU2 258の電源電位 であるものと仮定している。
図3(b)は、図3(a)とは反対に、Pチャネルトランジスタを逆方向にバイアスすることにより、Pチャネルトランジスタの閾値の絶対値を大きくする方法を示している。
図2(a)、図3(a)のように部分空乏型SOIのNチャネルトランジスタ、Pチャネルトランジスタにおいては、基板バイアス効果を利用して、順バイアスの場合だけ説明したが、VSS以下の電位、VDD以上の電位が利用可能であれば、図2(b)、図3(b)のように逆バイアス効果を利用してもトランジスタの閾値を変えることができる。
以上の例では、SOI基板を用いた場合について説明した。しかし、トランジスタごとに閾値電圧を変えることに拘らなければSOI基板に限定されない。通常のシリコン基板を用いた半導体集積回路においても、基板バイアス効果を利用して目的とする領域にあるトランジスタ群の閾値電圧を変えることができるので、本発明を適用できる。
図1においては、グランド配線VSS250の電源電位以下の基板電源配線VSSL1 249の電源電位を使用しているが、グランド配線VSS以下の電位を使用できないような場合は、図4のように、基板電源配線VSSU2 252の電源電位、基板電源配線VSSU1 251の電源電位、グランド配線VSS 250の電源電位の組み合わせを用いることも可能である。
(第2の実施形態)
図5は、本発明の半導体集積回路の第2の実施形態の構成を示す図である。第2の実施形態の半導体集積回路は、第1から第3の3つのカナリアFF108,112,116を備えている。
図5は、本発明の半導体集積回路の第2の実施形態の構成を示す図である。第2の実施形態の半導体集積回路は、第1から第3の3つのカナリアFF108,112,116を備えている。
図5において、まず信号101はクロック信号102に同期してFF103に取り込まれ、組み合わせ回路104を経た後でメインFF105に取り込まれる。組み合わせ回路104により遅延した後の信号を第1の遅延素子107により特定の遅延時間T1だけ遅延させた信号は、第1のカナリアFF(第3のFF)108に取り込まれる。そして、メインFF105からの信号と第1のカナリアFF108からの信号とが第1の比較回路109によって比較される。その比較結果は比較結果信号110として出力され、制御回路130に入力される。
また、組み合わせ回路104により遅延した後の信号を、第2の遅延素子111により特定の遅延時間T2だけ遅延させた信号は、第2カナリアFF(第4のFF)112に取り込まれる。そして、メインFF105からの信号と第2カナリアFF112からの信号とが第2の比較回路113によって比較される。その比較結果は比較結果信号114として出力され、制御回路130に入力される。
また、組み合わせ回路104により遅延した後の信号を、第3の遅延素子115により特定の遅延時間T3だけ遅延させた信号は、第3のカナリアFF(第5のFF)116に取り込まれる。そして、メインFF105からの信号と第3のカナリアFF116からの信号とが第3の比較回路117によって比較される。その比較結果は比較結果信号118として出力され、制御回路130に入力される。制御回路130は後述するような制御信号131を生成する。
ここでは、第1の遅延素子107による特定の遅延時間TT1を第1のFF103からメインFF105までの遅延時間の5%に設定し、第2の遅延素子111による特定の遅延時間TT2を第1のFF103からメインFF105までの遅延時間の10%に設定し、第3の遅延素子115による特定の遅延時間TT3を第1のFF103からメインFF105までの遅延時間の15%に設定する。このように設定した上で、制御回路130は比較結果信号110の値、比較結果信号114の値、比較結果信号118の値の組み合わせにより、以下に示す表3のように、組み合わせ回路104を構成するトランジスタの閾値電圧を制御する。
表3において、×と表示されているケースは、通常では存在しない場合である。表3に示すように、4つのケースが通常では存在しない。
比較結果信号110の値、比較結果信号114の値及び比較結果信号118の値の組み合わせによる組み合わせ回路を構成するトランジスタの閾値電圧の絶対値の制御の方法は以下のようにまとめることもできる。
(1)の場合:
比較結果信号110の値が“1”、比較結果信号114の値が“1”、比較結果信号118の値が“1”の場合、つまり、5%のマージンに対してもフェイルする場合は、現実のマージンが5%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を小さくするように制御する。その結果、現実のマージンが上がる。
比較結果信号110の値が“1”、比較結果信号114の値が“1”、比較結果信号118の値が“1”の場合、つまり、5%のマージンに対してもフェイルする場合は、現実のマージンが5%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を小さくするように制御する。その結果、現実のマージンが上がる。
(2)の場合:
比較結果信号110の値が“0”、比較結果信号114の値が“1”、比較結果信号118の値が“1”の場合、つまり、5%のマージンのみパスする場合は、現実のマージンが5%以上10%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を小さくするように制御する。その結果、現実のマージンが上がる。
比較結果信号110の値が“0”、比較結果信号114の値が“1”、比較結果信号118の値が“1”の場合、つまり、5%のマージンのみパスする場合は、現実のマージンが5%以上10%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を小さくするように制御する。その結果、現実のマージンが上がる。
(3)の場合:
比較結果信号110の値が“0”、比較結果信号114の値が“0”、比較結果信号118の値が“1”の場合、つまり、10%までのマージンがパスする場合は、現実のマージンが10%以上15%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を保持するように制御する。
比較結果信号110の値が“0”、比較結果信号114の値が“0”、比較結果信号118の値が“1”の場合、つまり、10%までのマージンがパスする場合は、現実のマージンが10%以上15%未満であるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を保持するように制御する。
(4)の場合:
比較結果信号110の値が“0”、比較結果信号114の値が“0”、比較結果信号118の値が“0”の場合、つまり、15%までのマージンがパスする場合は、現実のマージンが15%以上あるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を大きくするように制御する。その結果、現実のマージンが下がる。
比較結果信号110の値が“0”、比較結果信号114の値が“0”、比較結果信号118の値が“0”の場合、つまり、15%までのマージンがパスする場合は、現実のマージンが15%以上あるため、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を大きくするように制御する。その結果、現実のマージンが下がる。
比較結果信号110の値、比較結果信号114の値及び比較結果信号118の値の組み合わせにより、表3及び表4のように、組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を制御することにより、当該クリティカル・パスのマージンを10%から15%の間に設定することが可能となる。
本発明の回路構成をDVFS機構を搭載した半導体集積回路に適用する場合、数多くのクリティカル・パスにおいて、クリティカル・パスの度合いの厳しいものには図5の構成を使用し、クリティカル・パスの度合いがそれほど厳しくないものには図1の構成を使用するなどの工夫が必要になるであろう。
(第3の実施形態)
図6は、第1の実施形態又は第2の実施形態をDVFS機構を搭載した半導体集積回路に適用した場合の具体的な構成例を示す回路ブロック図である。ここでは、まずDVFS機構を搭載した半導体集積回路300について詳細に説明する。その後に、本発明をDVFS機構を搭載した半導体集積回路に適用する方法について説明する。
図6は、第1の実施形態又は第2の実施形態をDVFS機構を搭載した半導体集積回路に適用した場合の具体的な構成例を示す回路ブロック図である。ここでは、まずDVFS機構を搭載した半導体集積回路300について詳細に説明する。その後に、本発明をDVFS機構を搭載した半導体集積回路に適用する方法について説明する。
図6において、半導体集積回路300は、汎用CPUを想定した第1の機能ブロック410、第2の機能ブロック420、第3の機能ブロック430、第4の機能ブロック440、第5の機能ブロック450、SDRAM330を制御するSDRAM制御回路331、DMAコントローラ332、周辺I/O群333を制御するI/O制御回路334、第1の機能ブロック410及びI/O制御回路334側に配置されたローカルバス461、第2の機能ブロック420側に配置されたローカルバス462、第3の機能ブロック430側に配置されたローカルバス463、第4の機能ブロック440側に配置されたローカルバス464、第5の機能ブロック450側に配置されたローカルバス465、ローカルバス461とローカルバス462〜465との間に配置されたグローバルバス466、ローカルバス461とグローバルバス466とを接続するバスブリッジ471、ローカルバス462とグローバルバス466とを接続するバスブリッジ472、ローカルバス463とグローバルバス466とを接続するバスブリッジ473、ローカルバス464とグローバルバス466とを接続するバスブリッジ474、ローカルバス465とグローバルバス466とを接続するバスブリッジ475、外部から入力されるクロック351を基にして逓倍したクロックを生成するクロック発生回路352、及び外部電源480をもとに各部に所定電源を供給する電源レギュレータ481を備えて構成される。
第1の機能ブロック410は、第1のシステム・クロック(fCLK1)414を生成する第1のクロック発生回路411と、第1の内部メモリ412と、第1のシステム・クロック(fCLK1)414と第2のシステム・クロック(fCLK2)424と第3のシステム・クロック(fCLK3)434と第4のシステム・クロック(fCLK4)444と第5のシステム・クロック(fCLK5)454のいずれかのクロックを選択し、第1の内部メモリ412に供給するセレクタ413とを備えて構成される。
また、第2の機能ブロック420は、第2のシステム・クロック(fCLK2)424を生成する第2のクロック発生回路421と、第2の内部メモリ422と、第1のシステム・クロック(fCLK1)414と第2のシステム・クロック(fCLK2)424と第3のシステム・クロック(fCLK3)434と第4のシステム・クロック(fCLK4)444と第5のシステム・クロック(fCLK5)454のいずれかのクロックを選択し、第2の内部メモリ422に供給するセレクタ423とを備えて構成される。
第3の機能ブロック430、第4の機能ブロック440及び第5の機能ブロック450の構成も第1の機能ブロック410及び第2の機能ブロック420と同様である。
クロック発生回路352は、システム・クロック353を生成し、生成したシステム・クロック353を、第1の機能ブロック410内の第1のクロック発生回路411、第2の機能ブロック420内の第2のクロック発生回路421、第3の機能ブロック430内の第2のクロック発生回路431、第4の機能ブロック440内の第2のクロック発生回路441、第5の機能ブロック450内の第2のクロック発生回路451、SDRAM制御回路331、及びDMAコントローラ332にそれぞれ供給する。
第1の機能ブロック410内にある回路に供給される第1のシステム・クロック(fCLK1)414は、第1の機能ブロック410内にある第1のクロック発生回路411で生成される。また、第2の機能ブロック420内にある回路に供給される第2のシステム・クロック(fCLK2)424は、第2の機能ブロック420内にある第2のクロック発生回路421で生成され、第3の機能ブロック430内にある回路に供給される第3のシステム・クロック(fCLK3)434は、第3の機能ブロック430内にある第3のクロック発生回路431で生成され、第4の機能ブロック440内にある回路に供給される第4のシステム・クロック(fCLK4)444は、第4の機能ブロック440内にある第4のクロック発生回路441で生成され、第5の機能ブロック450内にある回路に供給される第5のシステム・クロック(fCLK5)454は、第5の機能ブロック450内にある第5のクロック発生回路451で生成される。
また、図6には示されていないが第1の機能ブロック410内にある第1のクロック発生回路411で生成された第1のシステム・クロック414は、セレクタ413に供給されるだけでなく、第2から第5の機能ブロック420〜450内にあるセレクタ423からセレクタ453にも供給される。このことは他のシステム・クロックにおいても同様である。
電源レギュレータ481は、電源配線482〜486を通して、第1の機能ブロック410、第4の機能ブロック220、第3の機能ブロック430、第4の機能ブロック440、及び第5の機能ブロック450にそれぞれ電力を供給する。
本実施の形態では、全体の制御手順は、汎用CPUを想定した第1の機能ブロック410内の内部メモリ412に保存されているメインプログラムに記載されており、処理能力を要するAV関連の処理手順などは、多機能DSPを想定した第2から第5の機能ブロック420〜450内の内部メモリ422〜452に保存されているサブプログラムに記載されている。この意味からも、半導体集積回路300の仕事全体の管理を行っているのは汎用CPUを想定した第1の機能ブロック410である。
以下、上述のように構成された半導体集積回路300の動作について説明する。第1の機能ブロック410内にある第1のクロック発生回路411は、内部のPLL回路を用いて、半導体集積回路300に供給されたシステム・クロック353を基に第1の機能ブロック410の時間によって処理量が変化する演算を行うために必要な第1のシステム・クロック414を生成する。
同様に、第2の機能ブロック420内にある第2のクロック発生回路421は、第2の機能ブロック420の時間によって処理量が変化する演算を行うために必要な第2のシステム・クロック424を生成し、第3の機能ブロック430内の第3のクロック発生回路431は、第3の機能ブロック430の時間によって処理量が変化する演算を行うために必要な第3のシステム・クロック434を生成する。また、第4の機能ブロック440内にある第4のクロック発生回路441は、第4の機能ブロック440の時間によって処理量が変化する演算を行うために必要な第4のシステム・クロック444を生成し、第5の機能ブロック450内の第5のクロック発生回路451は、第5の機能ブロック450の時間によって処理量が変化する演算を行うために必要な第5のシステム・クロック454を生成する。
汎用CPUである第1の機能ブロック410は、大容量の内部メモリ412を有し、この汎用CPUである第1の機能ブロック410内にあるスケジューラ(図示せず)が半導体集積回路300全体の動作を統括している。このスケジューラは、具体的には汎用CPUによるメインプログラムの実行により実現される。
第1の機能ブロック410は、上記メインプログラムを実行して半導体集積回路300全体の動作を統括するために、内部メモリ412に以下の情報を格納する。すなわち、第1の機能ブロック410の内部メモリ412は、第2の機能ブロック420がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならず、そのためには第2の機能ブロック420がどのような周波数で動作し、その動作周波数で第2の機能ブロック420が動作するためにはどのような電源電圧に設定する必要があるかを指示する情報や、第3の機能ブロック430がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならないか、そのためには第3の機能ブロック430がどのような周波数で動作し、その動作周波数で第3の機能ブロック430が動作するためにはどのような電源電圧に設定する必要があるかを指示する情報や、第4の機能ブロック440がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならないか、そのためには第4の機能ブロック440がどのような周波数で動作し、その動作周波数で第4の機能ブロック440が動作するためにはどのような電源電圧に設定する必要があるかを指示する情報や、第5の機能ブロック450がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならないか、そのためには第5機能ブロック450がどのような周波数で動作し、その動作周波数で第5の機能ブロック450が動作するためにはどのような電源電圧に設定する必要があるかを指示する情報を有している。
第1の機能ブロック410、第2の機能ブロック420、第3の機能ブロック430、第4の機能ブロック440、及び第5の機能ブロック450の電源電圧は、内蔵された電源レギュレータ481により生成され、各機能ブロックに対して第1の機能ブロック410に電源配線482が、第2の機能ブロック420に電源配線483が、第3の機能ブロック430に電源配線484が、第4の機能ブロック440に電源配線485が、第5の機能ブロック450に電源配線486がそれぞれ配線される。
図7は、上記第1の機能ブロック410内にある内部メモリ412の接続形態を示す図、図8は、上記第2の機能ブロック420内にある第2の内部メモリ422の接続形態を示す図である。
図7において、符号412は、第1の機能ブロック410内にある内部メモリであり、符号491Aはチップセレクト信号、符号492Aはアウトプットイネーブル信号、符号493Aはリード/ライト信号、符号494Aはアドレス信号、符号495Aは、データ信号、符号496Aはローカルバスである。符号414は第1の機能ブロック410内にある回路に供給される第1のシステム・クロック、符号424は第2の機能ブロック420内にある回路に供給される第2のシステム・クロック、符号434は第3の機能ブロック430内にある回路に供給される第3のシステム・クロック、符号444は第4の機能ブロック440内にある回路に供給される第4のシステム・クロック、符号454は第5の機能ブロック450内にある回路に供給される第5のシステム・クロックである。符号413はセレクタ、符号497Aはセレクタ413の制御信号である。符号498Aは、制御信号497Aに従ってセレクタ413により選択された、第1から第5のシステム・クロック414〜454のうちのいずれかである。
また、図8において、符号422は第2の機能ブロック410内にある内部メモリ、符号491Bはチップセレクト信号、符号492Bはアウトプットイネーブル信号、符号493Bはリード/ライト信号、符号494Bはアドレス信号、符号495Bはデータ信号、符号496Bはローカルバスである。符号414は第1の機能ブロック410内にある回路に供給される第1のシステム・クロック、符号424は第2の機能ブロック420内にある回路に供給される第2のシステム・クロック、符号434は第3の機能ブロック430内にある回路に供給される第3のシステム・クロック、符号444は第4の機能ブロック440内にある回路に供給される第4のシステム・クロック、符号454は第5の機能ブロック450内にある回路に供給される第5のシステム・クロックである。符号423はセレクタ、符号497Bはセレクタ423の制御信号である。符号498Bは、制御信号497Bに従ってセレクタ423により選択された、第1〜第5のシステム・クロック414〜454のうちのいずれかである。
〔第1の機能ブロック410内のデータ信号を第2の機能ブロック420内にある内部メモリ422に書き込む動作〕
第1の機能ブロック410が主導権をとって、第1の機能ブロック410内にあるデータ信号を、第2の機能ブロック420内にある内部メモリ422に書き込む場合には、第2の機能ブロック420内にある内部メモリ422が第2の機能ブロック420内にある回路によって使用されていないことを確認した後、セレクタ423の制御信号497B(図8参照)を制御して、内部メモリ422に供給されるシステム・クロック498Bが第1のシステム・クロック(fCLK1)414となるように設定する。そして、チップセレクト信号491Bを“H”に設定し、リード/ライト信号493Bを“ライト状態”に設定し、第2の機能ブロック420内にある内部メモリ422のアドレス494Bを設定し、バスブリッジ471及びバスブリッジ472を制御してローカルバス461、グローバルバス466、ローカルバス462経由で第1の機能ブロック410内にあるデータ信号495Aを第2の機能ブロック420内にある内部メモリ422のデータ信号495Bへ送る。そして、しかる後にデータ信号495Bを第2の機能ブロック420内にある内部メモリ422に書き込む。
第1の機能ブロック410が主導権をとって、第1の機能ブロック410内にあるデータ信号を、第2の機能ブロック420内にある内部メモリ422に書き込む場合には、第2の機能ブロック420内にある内部メモリ422が第2の機能ブロック420内にある回路によって使用されていないことを確認した後、セレクタ423の制御信号497B(図8参照)を制御して、内部メモリ422に供給されるシステム・クロック498Bが第1のシステム・クロック(fCLK1)414となるように設定する。そして、チップセレクト信号491Bを“H”に設定し、リード/ライト信号493Bを“ライト状態”に設定し、第2の機能ブロック420内にある内部メモリ422のアドレス494Bを設定し、バスブリッジ471及びバスブリッジ472を制御してローカルバス461、グローバルバス466、ローカルバス462経由で第1の機能ブロック410内にあるデータ信号495Aを第2の機能ブロック420内にある内部メモリ422のデータ信号495Bへ送る。そして、しかる後にデータ信号495Bを第2の機能ブロック420内にある内部メモリ422に書き込む。
〔第2の機能ブロック420内にある第2の内部メモリ422のデータ信号を第1の機能ブロック410内の第1の内部メモリ412に読み出す動作〕
第1の機能ブロック410が主導権をとって、第1の機能ブロック410内へ第2の機能ブロック420内にある内部メモリ422のデータ信号を読み出す場合には、第2の機能ブロック420内にある内部メモリ422が第2の機能ブロック420内にある回路によって使用されていないことを確認した後、セレクタ413の制御信号497A(図7参照)を制御して、内部メモリ412に供給されるシステム・クロック498Aとして第1のシステム・クロック414が選択されるように設定するとともに、チップセレクト信号491Aを“H”に、リード/ライト信号493Aを“リード状態”にそれぞれ設定し、第2の機能ブロック420内にある内部メモリ4222のアドレス494Aを読み出したい領域のアドレスに設定する。そして、バスブリッジ472及びバスブリッジ471を制御して、ローカルバス462、グローバルバス466、ローカルバス461経由で第2の機能ブロック420内の内部メモリ222内に記憶されているデータ信号を第1の機能ブロック410内に読み出す。
第1の機能ブロック410が主導権をとって、第1の機能ブロック410内へ第2の機能ブロック420内にある内部メモリ422のデータ信号を読み出す場合には、第2の機能ブロック420内にある内部メモリ422が第2の機能ブロック420内にある回路によって使用されていないことを確認した後、セレクタ413の制御信号497A(図7参照)を制御して、内部メモリ412に供給されるシステム・クロック498Aとして第1のシステム・クロック414が選択されるように設定するとともに、チップセレクト信号491Aを“H”に、リード/ライト信号493Aを“リード状態”にそれぞれ設定し、第2の機能ブロック420内にある内部メモリ4222のアドレス494Aを読み出したい領域のアドレスに設定する。そして、バスブリッジ472及びバスブリッジ471を制御して、ローカルバス462、グローバルバス466、ローカルバス461経由で第2の機能ブロック420内の内部メモリ222内に記憶されているデータ信号を第1の機能ブロック410内に読み出す。
また、第2の機能ブロック410が主導権をとって、第2の機能ブロック420内にあるデータ信号を第1の機能ブロック410内にある内部メモリ412に書き込みたい場合や、第2の機能ブロック420内へ第1の機能ブロック410内にある内部メモリ412のデータ信号を読み出す場合も上記と同様にすることにより実現できる。
以上では、第1の機能ブロック410と第2の機能ブロック420相互でのデータの書き込み、読み出しについて説明してきたが、第1の機能ブロック410、第2の機能ブロック420、第3の機能ブロック430、第4の機能ブロック440、及び第5の機能ブロック450相互でのデータの書き込み読み出しも同様に実現できる。但し、本実施の形態では、第1の機能ブロック410が汎用CPUであり、それ以外の第2の機能ブロック420、第3の機能ブロック430、第4の機能ブロック440、第5の機能ブロック450は多機能DSPであると仮定しているので、あくまで本実施の形態にあっては第1の機能ブロック410である汎用CPUが半導体集積回路300全体の動作を管理している。したがって、第1の機能ブロック410、第2の機能ブロック420、第3の機能ブロック430、第4の機能ブロック440、第5の機能ブロック450間での相互でのデータの書き込み読み出しにおいても、基本的には、汎用CPUである第1の機能ブロック410の管理の下、汎用CPUである第1の機能ブロック410の指示に従って、第2の機能ブロック420、第3の機能ブロック430、第4の機能ブロック440、及び第5の機能ブロック450は相互のデータの書き込み、読み出しを行っている。
図9(a)は、第2の機能ブロック420の仕事量の時間経過依存性を示す図である。図9(b)は、第2の機能ブロック420の電源電圧(動作周波数)の時間経過依存性を示す図である。また、図10(a)は、第1の機能ブロック410の仕事量の時間経過依存性を示す図である。図10(b)は、第1の機能ブロック410の電源電圧(動作周波数)の時間経過依存性を示す図である。
図9(a),(b)に例示するように、第2の機能ブロック420は、時間t0からt1の間は仕事21を電源電圧VDD21、動作周波数fCLK21で行い、時間t1からt2の間は仕事22を電源電圧VDD22、動作周波数fCLK22で行い、時間t2からt3の間は仕事23を電源電圧VDD23、動作周波数fCLK23で行い、時間t3からt4の間は仕事24を電源電圧VDD24、動作周波数fCLK24で行うように、仕事のスケジュールが汎用CPUである第1の機能ブロック410によって管理されている。
図10(a),(b)に例示するように、第1の機能ブロック410は、時間t0からt1の間は仕事11を電源電圧VDD11、動作周波数fCLK11で行い、時間t1からt2の間は仕事12を電源電圧VDD12、動作周波数fCLK12で行い、時間t2からt3の間は仕事13を電源電圧VDD13、動作周波数fCLK13行うように、仕事のスケジュールを第1の機能ブロック410自体によって自己管理している。
図9と図10とを比較して分かるように、第1の機能ブロック410内にある第1のクロック発生回路411で生成され、第1の機能ブロック410内にある回路に供給される第1のシステム・クロック414の周波数は、第1の機能ブロック410内で行われる仕事の演算処理量に依存して決まる。同様に、第2の機能ブロック420内にある第2のクロック発生回路421で生成され、第2の機能ブロック420内にある回路に供給される第2のシステム・クロック424の周波数は、第2の機能ブロック420内で行われる仕事の演算処理量に依存して決まる。したがって、第1のシステム・クロック414の周波数と第2のシステム・クロック424の周波数との間に明確な相関はない。
図11は、第2の機能ブロック420内にある第2のクロック発生回路421の構成を示すブロック図である。図11において、第2のクロック発生回路421は、クロック発生回路352で生成されたシステム・クロック353と分周回路出力とを位相比較する位相検出器381、ループフィルタ382、VCO(Voltage Controlled Oscillator)383、及びVCO383からの出力信号の周波数をN/M倍(但し、M>N)に分周する分周回路384Aとを備えて構成される。また、符号385Aは汎用CPUを想定する第1の機能ブロック410からの制御信号、符号424は第2の機能ブロック420内にある第2のクロック発生回路421で生成された第2のシステム・クロック(fCLK2)である。
第2のクロック発生回路421は、PLL(Phase−Locked Loop)回路386を構成しており、クロック発生回路352で生成されたシステム・クロック353に同期した第2のシステム・クロック424を生成している。しかも、第2のシステム・クロック424の動作周波数は汎用CPUを想定する第1の機能ブロック410からの制御信号385Aで希望する周波数に設定できる。例えば、クロック発生回路352で生成されたシステム・クロック353の周波数をfCLK_353,クロック発生回路352で生成されたシステム・クロック353に同期した第2のシステム・クロック424の周波数をfCLK_424、汎用CPUを想定する第1の機能ブロック410からの制御信号385Aで設定されるVCO383からの出力信号の周波数の分周比率をN/Mとすると、以下の関係が成立する。
fCLK_424×N/M=fCLK_353 …(1)
したがって、
fCLK_424=fCLK_353×M/N …(2)
の関係が成立する。
fCLK_424×N/M=fCLK_353 …(1)
したがって、
fCLK_424=fCLK_353×M/N …(2)
の関係が成立する。
以上のように、第2のクロック発生回路421によってクロック発生回路352で生成されたシステム・クロック353に同期した第2のシステム・クロック424は、汎用CPUを想定する第1の機能ブロック410からの制御信号385Aによって自由に制御することができる。
図12は、第1の機能ブロック410内にある第1のクロック発生回路411の構成を示すブロック図である。図11と同一構成部分には同一符号を付している。第1のクロック発生回路411は、制御信号385Bが自分自身のブロック内からの信号であること以外は第2のクロック発生回路421と同様な構成になっている。
以上の関係をまとめると、第1の機能ブロック410内にある第1のクロック発生回路411によって、第1の機能ブロック410の時間によって処理量が変化する演算を行うために必要な第1のシステム・クロック414が第1のクロック発生回路411を用いて半導体集積回路300のシステム・クロック353から生成され、第2の機能ブロック420内にある第2のクロック発生回路421によって、第2の機能ブロック420の時間によって処理量が変化する演算を行うために必要な第2のシステム・クロック424が第2のクロック発生回路421を用いて、半導体集積回路300のシステム・クロック353から生成される。
汎用CPUである第1の機能ブロック410は、大容量の第1の内部メモリ412を有し、この第1の機能ブロック410が半導体集積回路300全体の動作を統括している。本実施の形態においては、第2の機能ブロック420がどのような順序で、どのような仕事を行うかの具体的なスケジュールが大容量の内部メモリ412内にプログラムとして格納されている。さらに、内部メモリ412には、そのプログラムを実行する過程で第2の機能ブロック420がどのような時間からどのような仕事量の仕事をするためにどのような能力で処理しなければならず、そのためには第2機能ブロック420がどのような周波数で動作し、その動作周波数で第2の機能ブロック420が動作するためにはどのような電源電圧で動作しなければならないかを指示する情報が格納されている。
次に、第1の機能ブロック410が第2の機能ブロック420の電源電圧と動作周波数を如何に制御するかを具体的に説明する。
第2の機能ブロック420がどのような仕事をするかを規定する情報は、第1の機能ブロック410の内部メモリ412に動作プログラムとして格納されている。第1の機能ブロック410は、上記動作プログラムにより、第2の機能ブロック420は時間t0から仕事21(図9参照)を実行することを読み取る。次に、その仕事21に相応しい電源電圧VDD21、動作周波数fCLK21、前記式(2)に述べたM/Nを前記動作プログラムとは別の特定領域に保存された表5から読み出す。
この表5は、動作プログラムに記載されているそれぞれの仕事内容を事前に検討し、それぞれの仕事を第2の機能ブロック420の多機能DSPに行わせる場合どのような動作周波数を必要として、そのためにはどのような電源電圧に設定する必要があるかに対する綿密なシミュレーションに基づいて決定されている。まず、第1の機能ブロック410は内蔵された電源レギュレータ481に指示して、第2の機能ブロック420に電源電圧VDD2を供給する。
次に、第1の機能ブロック410は、図11に示す制御信号385を介して第2のクロック発生回路421のVCO383からの出力信号の周波数をN/M倍(但し、M>N)に分周する回路にしかるべきM/Nの具体的な値を書き込む。第2のクロック発生回路421はPLL回路386のセットアップ時間を経過後に安定した動作周波数fCLK2に設定される。但し、以上の設定に要する時間は仕事21に要する時間に比して僅かであるので、図9には示していない。
第2の機能ブロック420の電源電圧VDD2と動作周波数fCLK2が安定するに必要な時間経過後に、第1の機能ブロック410は第2の機能ブロック420が仕事21の開始を許可するので、第2の機能ブロック420は仕事21を開始する。第2の機能ブロック420は、仕事21が完了したときには、「仕事21が完了したとの情報」を仕事全体の管理している第1の機能ブロック410に報告する。勿論、第2の機能ブロック420は仕事21が完了したときには、「仕事21が完了したとの情報」を仕事全体の管理している第1の機能ブロック410に報告することに代えて、第2の機能ブロック420が「仕事21が完了したとの情報」をフラグとして、特定のレジスタに記録して、第1の機能ブロック410が上記レジスタを見に行くような仕組みでもよい。
以上の説明では各機能ブロックにおいて、それぞれの仕事内容に対応して多機能DSPにとってどのような電源電圧に設定し、かつ、どのような動作周波数に設定するかは事前に綿密なシミュレーションによって決定すると記述した。ある仕事を実施する間は動作周波数を一定と想定すると、多機能DSPの動作にマージンを持たせるには動作電源電圧値にマージンを持たせることになる。
機能ブロックの仕事に応じて、機能ブロックに対する電源電圧と動作周波数を事前の綿密なシミュレーションによって決定したとしても、回路の温度変化、電源電圧変化、バラツキによる変化などを考慮して、最も条件が悪い場合においても回路が動作するようにNチャネルトランジスタとPチャネルトランジスタの閾値電圧を設定するようにするとマージンを大きく設定する必要があった。このために消費電力は増大していた。本発明の回路構成を、第3の実施形態のようなDVFS機構を搭載した半導体集積回路に適用することにより、DVFS機構を搭載したdeal Vt技術を用いた低消費電力の半導体集積回路を実現することができる。
なお、第1の実施形態又は第2の実施形態を活用する半導体集積回路は第3の実施形態に限るものではない。例えば、第3の実施形態においては、第2の機能ブロックから第5の機能ブロックすべてを“多機能DSP”として定義したが、ある機能ブロックは演算中心の処理を実行するだけで一般的にいう“DSP”に該当しない場合も含まれる。また、“多機能DSP”を想定した機能ブロックとして第2から第5の4つの機能ブロックがある場合について説明してきたが、この数は勿論4つに限定されるものではない。
(第4の実施形態)
図14は、第1から第3のいずれかの実施形態の半導体集積回路を搭載した電子回路装置の一例を示す図である。図14に示す電子回路装置は、MPEGの動画処理機能を有するカメラ付携帯電話のシステム構成の一例を示している。図14に示す電子回路装置は、RF/IF(Radio Frequency/Intermidiate Frequency)部601、アナログ・ベースバンド部602、マイク603、スピーカ604、電源IC(Integrated Circuit)605、デジタル・ベースバンドLSI606、アプリケーション・プロセサ607、MPEG4動画処理用のコンパニオンLSI(動画処理MPEG−4)608、CMOS(Complementary Metal Oxide Semiconductor)センサ・モジュール609、カラーTFT(Thin Film Transistor)610、及びメモリ611を有して構成されている。メモリ611は、フラッシュ・メモリやSRAM(Static Random Access Memory)などで構成される。
図14は、第1から第3のいずれかの実施形態の半導体集積回路を搭載した電子回路装置の一例を示す図である。図14に示す電子回路装置は、MPEGの動画処理機能を有するカメラ付携帯電話のシステム構成の一例を示している。図14に示す電子回路装置は、RF/IF(Radio Frequency/Intermidiate Frequency)部601、アナログ・ベースバンド部602、マイク603、スピーカ604、電源IC(Integrated Circuit)605、デジタル・ベースバンドLSI606、アプリケーション・プロセサ607、MPEG4動画処理用のコンパニオンLSI(動画処理MPEG−4)608、CMOS(Complementary Metal Oxide Semiconductor)センサ・モジュール609、カラーTFT(Thin Film Transistor)610、及びメモリ611を有して構成されている。メモリ611は、フラッシュ・メモリやSRAM(Static Random Access Memory)などで構成される。
近年はLSIの集積度が向上し、デジタル・ベースバンドLSI606、アプリケーション・プロセサ607、MPEG4動画処理用のコンパニオンLSI608を一チップ化している場合も多い。第1から第3のいずれかの実施形態に示した低消費電力型の半導体集積回路を搭載する電子機器としては、図14のようなMPEGの動画処理機能を有するカメラ付携帯電話に含まれるデジタル・ベースバンドLSI606、アプリケーション・プロセサ607、MPEG4動画処理用のコンパニオンLSI308を一チップ化したLSIのようなものが適している。
携帯モバイル機器の多機能化が進み、今後フルハイビジョンの動画を扱える電子機器も増加するであろう。このような時代背景から携帯モバイル機器に対する低消費電力化の要望はますます増加するであろう。本発明に係る半導体集積回路をさまざまな携帯モバイル機器に適用することにより、これらの機器に対する低消費電力化の要望を実現できる。
101 信号
102 クロック信号
103,105,108,112,116 フリップ・フロップ
104 組み合わせ回路
107,111,115 遅延素子
109,113,117 比較回路
106,110,114,118 比較結果信号
248 基板電源配線VSSL2の電源電位
249 基板電源配線VSSL1の電源電位
250 グランド配線VSSの電源電位
251 基板電源配線VSSU1の電源電位
252 基板電源配線VSSU2の電源電位
258 基板電源配線VDDU2の電源電位
259 基板電源配線VDDU1の電源電位
260 電源配線VDDの電源電位
261 基板電源配線VDDL1の電源電位
262 基板電源配線VDDL2の電源電位
102 クロック信号
103,105,108,112,116 フリップ・フロップ
104 組み合わせ回路
107,111,115 遅延素子
109,113,117 比較回路
106,110,114,118 比較結果信号
248 基板電源配線VSSL2の電源電位
249 基板電源配線VSSL1の電源電位
250 グランド配線VSSの電源電位
251 基板電源配線VSSU1の電源電位
252 基板電源配線VSSU2の電源電位
258 基板電源配線VDDU2の電源電位
259 基板電源配線VDDU1の電源電位
260 電源配線VDDの電源電位
261 基板電源配線VDDL1の電源電位
262 基板電源配線VDDL2の電源電位
Claims (9)
- クリティカル・パスを有する半導体集積回路であって、
前記クリティカル・パスを形成する互いに直列接続された第1のフリップ・フロップ、組み合わせ回路及び第2のフリップ・フロップと、
前記組み合わせ回路の後段に前記第2のフリップ・フロップと並列に設けられる互いに直列接続された第1の遅延回路及び第3のフリップ・フロップと、
前記組み合わせ回路の後段に前記第2のフリップ・フロップと並列に設けられる互いに直列接続された第2の遅延回路及び第4のフリップ・フロップと、
前記第2のフリップ・フロップの出力と前記第3のフリップ・フロップの出力とを比較する第1の比較回路と、
前記第2のフリップ・フロップの出力と前記第4のフリップ・フロップの出力とを比較する第2の比較回路と、
前記第1の比較回路の出力及び前記第2の比較回路の出力に応じて前記組み合わせ回路のトランジスタの閾値電圧を制御する制御回路と、を備え、
前記第1の遅延回路は、前記組み合わせ回路から入力された信号を第1の遅延時間後に出力し、
前記第2の遅延回路は、前記組み合わせ回路から入力された信号を前記第1の遅延時間とは異なる第2の遅延時間後に出力することを特徴とする半導体集積回路。 - 請求項1に記載の半導体集積回路であって、
前記第1の遅延時間は、前記第1のフリップ・フロップから前記第2のフリップ・フロップまでの遅延時間の5%から30%の値であることを特徴とする半導体集積回路。 - 請求項2に記載の半導体集積回路であって、
前記第2の遅延時間は、前記第1の遅延時間の105%から130%の値であることを特徴とする半導体集積回路。 - 請求項1に記載の半導体集積回路であって、
前記第1の比較回路の出力が2つの入力信号の“不一致”を示し、かつ、前記第2の比較回路の出力が2つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を下げるよう制御することを特徴とする半導体集積回路。 - 請求項1に記載の半導体集積回路であって、
前記第1の比較回路の出力が2つの入力信号の“一致”を示し、かつ、前記第2の比較回路の出力が2つの入力信号の“不一致”を示す場合、前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を保持するよう制御することを特徴とする半導体集積回路。 - 請求項1に記載の半導体集積回路であって、
前記第1の比較回路の出力が2つの入力信号の“一致”を示し、かつ、前記第2の比較回路の出力が2つの入力信号の“一致”を示す場合、前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を上げるよう制御することを特徴とする半導体集積回路。 - 請求項1に記載の半導体集積回路であって、
前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値を「上げる」、「保持する」又は「下げる」ように制御することを特徴とする半導体集積回路。 - 請求項7に記載の半導体集積回路であって、
前記制御回路は、前記組み合わせ回路を構成するトランジスタの閾値電圧の絶対値に関する初期設定を「保持する」に設定することを特徴とする半導体集積回路。 - 請求項1〜8のいずれか一項に記載の半導体集積回路を有することを特徴とする携帯モバイル機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009175329A JP2011030066A (ja) | 2009-07-28 | 2009-07-28 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009175329A JP2011030066A (ja) | 2009-07-28 | 2009-07-28 | 半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011030066A true JP2011030066A (ja) | 2011-02-10 |
Family
ID=43638243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009175329A Withdrawn JP2011030066A (ja) | 2009-07-28 | 2009-07-28 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011030066A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10775831B1 (en) | 2019-03-20 | 2020-09-15 | Kabushiki Kaisha Toshiba | Semiconductor device and control method of semiconductor device |
-
2009
- 2009-07-28 JP JP2009175329A patent/JP2011030066A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10775831B1 (en) | 2019-03-20 | 2020-09-15 | Kabushiki Kaisha Toshiba | Semiconductor device and control method of semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4637512B2 (ja) | 半導体集積回路装置 | |
JP2009200739A (ja) | 半導体集積回路 | |
JP3851663B2 (ja) | 低電力プロセッサ | |
US7782110B1 (en) | Systems and methods for integrated circuits comprising multiple body bias domains | |
US7673163B2 (en) | Semiconductor integrated circuit device with power source areas | |
KR101887319B1 (ko) | 전용 회로 및 메모리를 제어하기 위한 동적 마진 튜닝 | |
JP2003092359A (ja) | 半導体集積回路 | |
US11005459B1 (en) | Efficient retention flop utilizing different voltage domain | |
EP3189394B1 (en) | Supply voltage node coupling using a switch | |
JPWO2008114416A1 (ja) | 電源電圧調整装置、記録媒体および電源電圧調整方法 | |
US20160041577A1 (en) | Semiconductor Apparatus and System | |
JP2005339310A (ja) | 半導体装置 | |
JP2011008683A (ja) | 半導体集積回路装置 | |
JP2012038401A (ja) | 半導体装置及び半導体装置の電源制御方法 | |
JP2011054980A (ja) | 半導体集積回路装置 | |
KR20030028438A (ko) | 데이터 처리 장치 | |
JP2011030066A (ja) | 半導体集積回路 | |
US20090195280A1 (en) | Integrated circuit having a memory with a plurality of storage cells of synchronous design and connected to clock gating units | |
KR101102371B1 (ko) | 반도체 장치 및 반도체 장치의 구동 방법 | |
US11328751B2 (en) | Semiconductor device for stable control of power-down mode | |
US20120313693A1 (en) | Semiconductor device, method and system with logic gate region receiving clock signal and body bias voltage by enable signal | |
JP3024614B2 (ja) | ばらつき補償技術による半導体集積回路 | |
TW382669B (en) | Semiconductor integrated circuit and data processing system | |
JP4387122B2 (ja) | 低電力プロセッサ | |
JP2011227937A (ja) | 電源電圧調整装置、記録媒体および電源電圧調整方法 |
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: 20121002 |