(57)【要約】【課題】２つ以上の基板電位を有する半導体集積回路において、より効率的な低消費電力手法が存在しなかった。【解決手段】設計対象となる半導体集積回路のフリップフロップおよびフリップフロップ間の論理回路が定義されている論理回路図１１を入力する。論理回路図１１を解析して２つのフリップフロップにはさまれる論理回路を検出する（Ｓ１０１）。検出された論理回路の段数をカウントする（Ｓ１０２）。カウントされた論理段数およびテーブル情報１２に基づいて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定する（Ｓ１０３）。【選択図】図２
2007311535.tif 000002
【特許請求の範囲】
【請求項１】
設計対象となる半導体集積回路のフリップフロップおよびフリップフロップ間の論理回路が定義されている論理回路情報を入力するステップ（ａ）と、
前記論理回路情報を解析して２つのフリップフロップにはさまれる論理回路を検出するステップ（ｂ）と、
前記ステップ（ｂ）において検出された論理回路の段数をカウントするステップ（ｃ）と、
前記ステップ（ｃ）においてカウントされた論理段数に応じて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定するステップ（ｄ）とを備える、
ことを特徴とするセル配置方法。
【請求項２】
請求項１において、
前記ステップ（ｄ）では、
論理段数の多い論理回路に用いられるセルは高い基板電位に接続され、論理段数の少ない論理回路に用いられるセルは低い基板電位に接続されるように決定する、
ことを特徴とするセル配置方法。
【請求項３】
請求項１において、
前記ステップ（ｄ）では、
前記ステップ（ｃ）においてカウントされた論理段数およびテーブル情報に基づいて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定し、
前記テーブル情報は、
論理回路の論理段数に応じて、ある値からある値までの論理段数であればどの基板に接続されるかが特定される情報である、
ことを特徴とするセル配置方法。
【請求項４】
請求項１において、
前記論理回路情報における２つのフリップフロップにはさまれる論理回路のすべてについて前記ステップ（ｂ）〜（ｄ）を行った後、前記ステップ（ｄ）において決定された接続基板電位に基づいて自動配置配線を行いレイアウトデータを生成するステップ（ｅ）をさらに備える、
ことを特徴とするセル配置方法。
【請求項５】
設計対象となる半導体集積回路のフリップフロップおよびフリップフロップ間の論理回路が定義されている論理回路情報を入力するステップ（ａ）と、
前記論理回路情報に基づいて自動配置配線を行い仮レイアウトデータを生成するステップ（ｂ）と、
前記仮レイアウトデータを基にタイミング検証を行い、各論理回路の遅延情報を算出するステップ（ｃ）と、
前記論理回路情報を解析して２つのフリップフロップにはさまれる論理回路を検出するステップ（ｄ）と、
前記ステップ（ｄ）において検出された論理回路の遅延量を前記ステップ（ｃ）において算出された遅延情報に基づいて算出するステップ（ｅ）と、
前記ステップ（ｅ）において算出された遅延量に応じて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定するステップ（ｆ）とを備える、
ことを特徴とするセル配置方法。
【請求項６】
請求項４において、
前記ステップ（ｆ）では、
遅延量の多い論理回路に用いられるセルは高い基板電位に接続され、遅延量の少ない論理回路に用いられるセルは低い基板電位に接続されるように決定する、
ことを特徴とするセル配置方法。
【請求項７】
請求項１において、
前記ステップ（ｆ）では、
前記ステップ（ｅ）において算出された遅延量およびテーブル情報に基づいて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定し、
前記テーブル情報は、
論理回路の遅延量に応じて、ある値からある値までの遅延量であればどの基板に接続されるかが特定される情報である、
ことを特徴とするセル配置方法。
【請求項８】
請求項５において、
前記論理回路情報における２つのフリップフロップにはさまれる論理回路のすべてについて前記ステップ（ｄ）〜（ｆ）を行った後、前記ステップ（ｆ）において決定された接続基板電位に基づいて自動配置配線を行いレイアウトデータを生成するステップ（ｇ）をさらに備える、
ことを特徴とするセル配置方法。
【請求項９】
請求項４または８において、
前記レイアウトデータについてタイミング検証を行ってエラーが出たときに、より基板電圧の高い基板にセルを再配置することで、接続される基板電位を変更する、
ことを特徴とするセル配置方法。
【請求項１０】
請求項４または８において、
前記レイアウトデータについてタイミング検証を行ってエラーが出たときに、基板電位供給配線とのコンタクトを付け替えることで、接続される基板電位を変更する、
ことを特徴とするセル配置方法。
【請求項１１】
基板電位の供給線の異なる複数の基板上に、複数のフリップフロップと複数の論理回路を有し、前記複数のフリップフロップ中、第１のフリップフロップの出力と、第１もしくは第２のフリップフロップに入力される信号線の間に存在する論理回路数が少ない場合と多い場合で、論理回路を構成するMOSは、別々の基板電位が与えられることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも２つの同極で独立した基板を備えた半導体集積回路にかかわり、特には小面積、低消費電力化の技術に関する。
【背景技術】
【０００２】
半導体集積回路において、ＭＯＳ素子（ＭＯＳトランジスタ）の基板電位を制御して用いることがある。なぜなら、ＭＯＳ素子の基板電位を変更することで、ＭＯＳの閾値及び飽和電流特性を可変にできる特徴があるからである。その特徴を活かす例として、例えば、半導体集積回路の動作時と停止時で可変にする方法がある。具体的には、半導体集積回路が動作している場合に、ＭＯＳの基板電位とソース電位差を０にし、停止時にその基板電位とソース電位差を大きくとることで、動作時よりＭＯＳの閾値を上げＭＯＳのサブスレッシュホルドリーク電流を削減することで、低消費電力化をはかる方法がある（非特許文献１参照）。また、上述したＭＯＳの基板制御を実現するため、より半導体集積回路の面積効率のよいレイアウト手法が提案されている（特許文献１参照）。
【非特許文献１】T.Kuroda et.al.,"A High-Speed Low-Power 0.3um CMOS Gate Array with Variable Threshold Voltage Scheme," IEEE Custom Integrated Circuit Conference 1996 PP.53-56
【特許文献１】特許第3212915号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、上記技術が提案されていたが、一意に基板電位を供給するため、特に高速性の必要のないパスまで、高速となり、リーク電流などの点で問題があった。複数の異なる基板電位をもつ半導体集積回路において、より極め細やかに高速、或いは低消費電力に、小面積化を維持しながら、レイアウト配置を実現する方法はなかった。
【０００４】
本発明は上記の半導体集積回路の特に消費電力の課題を解決するためになされたものであり、その目的とするところは、より小面積で回路特性の劣化しない半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００５】
本発明によるセル配置方法は、設計対象となる半導体集積回路のフリップフロップおよびフリップフロップ間の論理回路が定義されている論理回路情報を入力するステップ（ａ）と、前記論理回路情報を解析して２つのフリップフロップにはさまれる論理回路を検出するステップ（ｂ）と、前記ステップ（ｂ）において検出された論理回路の段数をカウントするステップ（ｃ）と、前記ステップ（ｃ）においてカウントされた論理段数に応じて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定するステップ（ｄ）とを備える、ことを特徴とする。
【０００６】
また、前記ステップ（ｄ）では、論理段数の多い論理回路に用いられるセルは高い基板電位に接続され、論理段数の少ない論理回路に用いられるセルは低い基板電位に接続されるように決定する、ことを特徴とする。
【０００７】
また、前記ステップ（ｄ）では、前記ステップ（ｃ）においてカウントされた論理段数およびテーブル情報に基づいて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定し、前記テーブル情報は、論理回路の論理段数に応じて、ある値からある値までの論理段数であればどの基板に接続されるかが特定される情報である、ことを特徴とする。
【０００８】
また、前記論理回路情報における２つのフリップフロップにはさまれる論理回路のすべてについて前記ステップ（ｂ）〜（ｄ）を行った後、前記ステップ（ｄ）において決定された接続基板電位に基づいて自動配置配線を行いレイアウトデータを生成するステップ（ｅ）をさらに備える、ことを特徴とする。
【０００９】
本発明によるもう１つのセル配置方法は、設計対象となる半導体集積回路のフリップフロップおよびフリップフロップ間の論理回路が定義されている論理回路情報を入力するステップ（ａ）と、前記論理回路情報に基づいて自動配置配線を行い仮レイアウトデータを生成するステップ（ｂ）と、前記仮レイアウトデータを基にタイミング検証を行い、各論理回路の遅延情報を算出するステップ（ｃ）と、前記論理回路情報を解析して２つのフリップフロップにはさまれる論理回路を検出するステップ（ｄ）と、前記ステップ（ｄ）において検出された論理回路の遅延量を前記ステップ（ｃ）において算出された遅延情報に基づいて算出するステップ（ｅ）と、前記ステップ（ｅ）において算出された遅延量に応じて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定するステップ（ｆ）とを備える、ことを特徴とする。
【００１０】
また、前記ステップ（ｆ）では、遅延量の多い論理回路に用いられるセルは高い基板電位に接続され、遅延量の少ない論理回路に用いられるセルは低い基板電位に接続されるように決定する、ことを特徴とする。
【００１１】
また、前記ステップ（ｆ）では、前記ステップ（ｅ）において算出された遅延量およびテーブル情報に基づいて、当該論理回路に用いられるセルをどの基板電位に接続するかを決定し、前記テーブル情報は、論理回路の遅延量に応じて、ある値からある値までの遅延量であればどの基板に接続されるかが特定される情報である、ことを特徴とする。
【００１２】
また、前記論理回路情報における２つのフリップフロップにはさまれる論理回路のすべてについて前記ステップ（ｄ）〜（ｆ）を行った後、前記ステップ（ｆ）において決定された接続基板電位に基づいて自動配置配線を行いレイアウトデータを生成するステップ（ｇ）をさらに備える、ことを特徴とする。
【００１３】
また、前記レイアウトデータについてタイミング検証を行ってエラーが出たときに、より基板電圧の高い基板にセルを再配置することで、接続される基板電位を変更する、ことを特徴とする。
【００１４】
また、前記レイアウトデータについてタイミング検証を行ってエラーが出たときに、基板電位供給配線とのコンタクトを付け替えることで、接続される基板電位を変更する、ことを特徴とする。
【００１５】
本発明による半導体集積回路は、基板電位の供給線の異なる複数の基板上に、複数のフリップフロップと複数の論理回路を有し、前記複数のフリップフロップ中、第１のフリップフロップの出力と、第１もしくは第２のフリップフロップに入力される信号線の間に存在する論理回路数が少ない場合と多い場合で、論理回路を構成するMOSは、別々の基板電位が与えられることを特徴とする。
【発明の効果】
【００１６】
上記のように構成することにより、従来であればすべてのパスが一律に基板電位が上昇するのでリーク電流が増大していたが、本発明により小面積で回路特性の劣化しない半導体集積回路が実現できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明にかかわる半導体装置の実施の形態を図面に基づいて詳細に説明する。
【００１８】
(実施の形態１)
本発明の実施の形態１について図面を参照しながら説明する。図１は実施の形態１のセル配置方法によって配置された半導体集積回路のレイアウト図を示している。この半導体集積回路のＰＷＥＬＬ（ＮＭＯＳの基板）はＰＷＥＬＬ１とＰＷＥＬＬ２に分離されているため各々に異なる基板電位を供給することが可能であり、ＮＷＥＬＬ（ＰＭＯＳの基板）はＮＷＥＬＬ１とＮＷＥＬＬ２に分離されているため各々に異なる基板電位を供給することが可能である。なお、図１のように必ずしもロウ毎に基板を分離する必要はなく、複数のロウを集合として基板を分離する等、その他の方法でも異なる基板電位を供給可能であることはいうまでもない。
【００１９】
ここで図１中のＰＷＥＬＬ１、ＮＷＥＬＬ１に相当するロウ（ロウ１）には比較的論理段数が多い論理回路に用いられるセルが配置され、ＰＷＥＬＬ２、ＮＷＥＬＬ２に相当するロウ（ロウ２）には比較的論理段数が少ない論理回路に用いられるセルが配置される。通常、クロック同期である機能を実現する半導体集積回路は、あるフリップフロップから出力された信号線と更に同一もしくは異なるフリップフロップに入力される信号線の間で複雑な論理回路で成る。この論理回路を構成する論理段数は、機能によって様々であり、論理段数が多いほど信号が入力されてから出力されるまでの遅延時間は長くなる。したがって、フリップフロップのセットアップ／ホールド制約を満たすためには、より高速化するほうが望ましいことになる。そのため本実施の形態では、論理段数が多いセル程、大きなフォワードバイアスを供給するロウに配置する。これによって、従来のような一意の基板電位で定められたセル配置と比較すると、格段のドレインリークの削減が可能となる。例えば、図１においてセル１は論理段数が２０段の論理回路に用いられているセルであり、セル２は論理段数が８段の論理回路に用いられているセルであるとすると、ＰＷＥＬＬ１、ＮＷＥＬＬ１の方が大きなフォワードバイアスを供給することになる。
【００２０】
以上のようなセルレイアウトを実施するフローチャートについて、図面を参照しながら説明を加える。図２は本発明の実施の形態１におけるフローチャートを示している。まず本実施の形態のフローチャートを実施できる設計支援装置に論理回路図１１を入力する。論理回路図１１内では設計対象となる半導体集積回路のフリップフロップやフリップフロップ間の論理回路が定義されている。Ｓ１０１においては、この論理回路図を解析して、２つのフリップフロップにはさまれる論理回路が検出される。すなわち、途中に他のフリップフロップを介することなく接続される２つのフリップフロップが検出され、その間の組み合わせ回路として論理回路が特定される。次にＳ１０２においては、検出された２つのフリップフロップの間に配置される１つの論理回路の論理段数をカウントする。この論理段数とは、例えば、２つのフリップフロップの間に配置される直列接続されたセルの数、あるいは２つのフリップフロップを接続するために経由するＭＯＳトランジスタの数のことをいう。
【００２１】
論理段数がカウントされると、ステップＳ１０３において、カウントされた論理段数とテーブル情報１２を基にこの論理回路に用いられるセルをどの基板電位に接続するか、すなわち本例においてはＰＷＥＬＬ１、ＮＷＥＬＬ１に接続するのか、ＰＷＥＬＬ２、ＮＷＥＬＬ２に接続するのかが決定される。すなわち、セルをどのロウに配置するかが決定される。テーブル情報１２としては図２中に例示しているように、論理回路の論理段数に応じて、ある値からある値までの論理段数であればどの基板に接続されるかが特定されるような情報であるが、形式は問わない。１つの論理回路内のセルについてどの基板電位に接続されるかが決定されると、次の論理回路を検出し、再びどの基板電位に接続されるかを決定する。
【００２２】
以上を全てのフリップフロップ間について繰り返した後（Ｓ１０４）、Ｓ１０５において、決定された接続基板電位に基づいて自動配置配線され、レイアウトデータ１３が生成される。この自動配置配線については、どの基板電位に接続されるかが予め決定されている点を除いて、公知の方法と同様で実施可能である。すなわち、まず必要なセルが配置された後に、論理回路図に従ってセルの入力と出力を接続していくことにより、半導体集積回路の機能を実現していく。一旦、仮に配置配線されると検証（タイミング、アンテナエラー、等）を行い、検証の結果エラーがなくなるまで、仮配置配線・検証・再配置配線を繰り返す。
【００２３】
本実施の形態のフローチャートに従って設計を行うと、論理段数の多い論理回路は、基板電位の高いロウに配置され、論理段数の少ない論理回路は、基板電位の低いロウに配置されるので、従来のような一意の基板電位で定められたセル配置と比較すると、格段のドレインリークの削減が可能となる。
【００２４】
なお、本実施の形態では、ＮＷＥＬＬ１，ＮＷＥＬＬ２が異電位の例を説明したが、製造プロセスの構造上、異電位にできない場合は、同電位であってもよい。ＰＷＥＬＬ１，ＰＷＥＬＬ２でも同様である。
【００２５】
(実施の形態２)
実施の形態１では、論理段数に応じたセル配置方法の場合を述べたが、本形態では、論理を構成する遅延情報を入力する場合について説明する。できあがったレイアウトについては、論理段数でロウが決定されているか、遅延情報でロウが決定されているかを除いては同一である（すなわち図１と同様である）ので、説明を省略する。
【００２６】
以上のようなセルレイアウトを実施するフローチャートについて、図面を参照しながら説明を加える。図３は本発明の実施の形態２におけるフローチャートを示している。
【００２７】
まず本実施の形態のフローチャートを実施できる設計支援装置に論理回路図１１を入力する。論理回路図１１内では設計対象となる半導体集積回路のフリップフロップやフリップフロップ間の論理回路が定義されている。Ｓ２０１においては、この論理回路図に基づいて公知の方法で自動配置配線を行う。すなわち、まず必要なセルが配置された後に、論理回路図に従ってセルの入力と出力を接続していくことにより、仮レイアウトデータ２１を生成する。但し、ここでは基板電位は全てについて共通のものとして扱う。Ｓ２０２においては、この仮レイアウトデータ２１を基にタイミング検証を行い、各論理回路の遅延情報を算出する。次にＳ２０３において、２つのフリップフロップにはさまれる論理回路が検出される。すなわち、途中に他のフリップフロップを介することなく接続される２つのフリップフロップが検出され、その間の組み合わせ回路として論理回路が特定される。次にＳ２０４においては、Ｓ２０２において算出された遅延情報に基づいて、対象となる論理回路の遅延がいくらであるかを特定する。この遅延とは論理回路に信号が入力されてから出力されるまでの時間のことをいう。
【００２８】
遅延が算出されると、ステップＳ２０５において、算出された遅延とテーブル情報２２を基にこの論理回路に用いられるセルをどの基板電位に接続するか、すなわち本例においてはＰＷＥＬＬ１、ＮＷＥＬＬ１に接続するのか、ＰＷＥＬＬ２、ＮＷＥＬＬ２に接続するのかが決定される。すなわち、セルをどのロウに配置するかが決定される。テーブル情報２２には、図３中に例示しているように、論理回路の遅延に応じて、どの基板電位に接続されるかが格納されている。１つの論理回路内のセルについてどの基板電位に接続されるかが決定されると、次の論理回路を検出し、再びどの基板電位に接続されるかを決定する。
【００２９】
以上を全てのフリップフロップ間について繰り返した後（Ｓ２０６）、Ｓ２０７において、決定された接続基板電位に基づいて自動配置配線され、レイアウトデータ２３が生成される。
【００３０】
本実施の形態のフローチャートに従って設計を行うと、遅延時間の多い論理回路は、基板電位の高いロウに配置され、遅延時間の少ない論理回路は、基板電位の低いロウに配置されるので、従来のような一意の基板電位で定められたセル配置と比較すると、格段のドレインリークの削減が可能となる。
【００３１】
(改変例)
実施の形態１、２では、論理セル配置方法の場合を述べたが、一度２つ以上の基板電位でレイアウトを行った後にタイミング検証を行ってエラーが出たときに、接続される基板電位を変更することもできる。その場合、再度実施の形態１、２のフローチャートに従って再設計することも可能ではあるが、例えばより高い（大きなフォワードバイアスをかける）基板電位が供給されるロウが隣接しているとして、そちら側にセルを再配置する必要があるならば、セルをそのロウにフリップすることで再配置することも可能である。図４においては、最初ＰＷＥＬＬ２、ＮＮＷＬＬ２に接続されていたセルを隣接するＰＷＥＬＬ１、ＮＷＥＬＬ１に再配置するためにセルをフリップしている。
【００３２】
また、あるロウ全てについてより高い基板電位に接続したいときなどは図中の縦方向（Ｙ方向）に配置された幹線となる基板電位供給配線と、セルに沿った形で横方向（Ｘ方向）に配置された基板電位供給配線とのコンタクトを付け替えることで、セルの再配置を行うことなく短時間で接続される基板電位を変更することが可能である。
【００３３】
（設計環境）
最後に本発明を実施する際の設計環境について説明を行う。図５は本発明が実施される設計環境で用いられる装置を示す図である。この設計装置７０１はＣＰＵ７０２と、ＲＡＭ７０３と、入力Ｉ／Ｆ７０４と、表示Ｉ／Ｆ７０５と、入出力Ｉ／Ｆ７０６とを備えている。これらは全てバス７１０で接続され、互いにデータ通信を行うことが可能である。入力Ｉ／Ｆ７０４は設計者からの入力を受け付けるための入力機器７０７と接続されている。入力機器７０７の例としてはキーボードやマウスがある。また表示Ｉ／Ｆ７０５は設計者がレイアウトデータなどを閲覧するための表示デバイス７０８と接続されている。表示デバイス７０８の例としてはＣＲＴディスプレイや液晶ディスプレイがある。入出力Ｉ／Ｆ７０６はＨＤＤ（ハード・ディスク・ドライブ）７０９と接続されている。ＨＤＤ７０９には本発明の設計方法を実施するための自動レイアウトツールがプログラムとして格納されている。
【００３４】
この自動レイアウトツールは独立したツールであることもあり、また他のツールの一部として存在することもある。また自動レイアウト途中のレイアウトデータあるいは最終得られたレイアウトデータは必要なときにＨＤＤ７０９へと保存される。
【００３５】
ＣＰＵ７０２は、入力Ｉ／Ｆ７０４を介して入力されるユーザからの指示に基づいて、ＨＤＤ７０９にプログラムとして格納された自動レイアウトツールを処理する。プログラムの処理にあたってはＲＡＭ７０３をワーク領域として利用し、必要なタイミングでデータの書き込み・読み出しを行う。設計者は明示的にＲＡＭ７０３へのデータの書き込み・読み出しを指示するのではなく、あくまでＨＤＤ７０９に格納されたプログラムにしたがってＲＡＭへの書き込み・読み出しを行っている。
【００３６】
また、設計者は表示デバイス７０８によって、経過情報を確認することができる。最終生成されたタイミングデータはＨＤＤ７０９に出力され、セル配置を含むレイアウト設計は終了する。
【産業上の利用可能性】
【００３７】
本発明にかかるセル配置方法は、高性能且つ低消費、小面積低消費電力を実現する半導体集積回路のチップに非常に有用であり、今後の電池などで電力が与えられるチップセットで長時間な電池寿命を確保でき、面積が削減できる分、より安価で高性能な半導体チップをチップセットに供給できる。
【図面の簡単な説明】
【００３８】
【図１】実施の形態１、２のセル配置方法を用いて設計されたレイアウトを示す図
【図２】本発明の実施の形態１のセル配置方法のフローチャート図
【図３】本発明の実施の形態２のセル配置方法のフローチャート図
【図４】改変例を説明するための図
【図５】本発明を実施するための設計環境を示す図
【図１】
2007311535.tif 000003
【図２】
2007311535.tif 000004
【図３】
2007311535.tif 000005
【図４】
2007311535.tif 000006
【図５】
2007311535.tif 000007