(57)【要約】  【課題】  目標マシンサイクル（ディレイ）を悪化させないように考慮しつつ、低消費電力フリップフロップに切替えた設計パターンを提供し得る設計方式を提供する。  【解決手段】  論理的な機能が同じで、その消費電力及びディレイ特性が異なるフリップフロップを複数種存在する半導体集積回路の設計において、着目フリップフロップから前段のフリップフロップまでの経路、および後段フリップフロップまでの経路の両方のディレイ計算を行う２段パスディレイ計算手段と、２段パスディレイ計算の結果を用いてフリップフロップを切替えることによる前段パスディレイ及び後段パスディレイ、消費電力の変化分を計算する手段と、ディレイまたは消費電力の基準値を判断して、フリップフロップを切替える手段を有する。【選択図】  図２
2005182433.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを利用して複数種のフリップフロップを備えた半導体集積回路の実装設計を行なう方法であって、
論理的な機能が同じで、消費電力及びディレイ特性の異なる複数種のフリップフロップを含むフリップフロップ群に関するデータを記憶部に保持するステップと、
前記半導体集積回路の着目フリップフロップから前段のフリップフロップまでの前段パス、および後段フリップフロップまでの後段パスの両方のパスディレイ計算を行う２段パスディレイ計算ステップと、
前記前段パス及び後段パスの消費電力もしくはその変化分を計算する消費電力計算ステップと、
前記着目フリップフロップに関して、前記パスディレイ計算の結果及び前記消費電力の計算結果を予め設定された条件と比較し該条件を満たすか判定する比較判定ステップと、
前記条件を満たす場合は該フリップフロップを採用し、前記着目フリップフロップが前記条件を満たさない場合は前記記憶部に保持された新たなフリップフロップに切替えて前記ディレイ計算及び前記消費電力計算を行なわせ、前記条件を満たすフリップフロップを選定するフリップフロップ切替ステップ、とを有することを特徴とする半導体集積回路の実装設計方法。
【請求項２】
請求項１において、
全てのフリップフロップに対して高倍力のディレイ特性を持つ高速フリップフロップを初期値として設定するステップと、
着目フリップフロップに関し該初期値による前記２段パスディレイ計算の結果を用いて、低倍力のディレイ特性を持つフリップフロップまたは低消費電力フリップフロップに切替え、前段パスディレイ及び後段パスディレイ、消費電力の変化分を計算するステップと、
前記計算結果をパスディレイまたは消費電力の基準値と比較し、前記基準値に対して余裕のある場合は前記着目フリップフロップを低倍力のディレイ特性を持つフリップフロップまたは低消費電力フリップフロップに切替えるステップとを有することを特徴とする半導体集積回路の実装設計方法。
【請求項３】
請求項１において、
全てのフリップフロップに対して低消費電力あるいは低駆動力フリップフロップを初期値として設定するステップと、
着目フリップフロップの２段パスディレイ計算するステップと、
２段パスディレイ計算の結果を用い、前記条件に対して余裕のある場合は前記着目フリップフロップを高倍力のディレイ特性を持つフリップフロップに切替えることによる前段パスディレイ及び後段パスディレイ、消費電力の変化分を計算するステップと、
前記計算結果をパスディレイまたは消費電力の前記条件と比較し、前記条件に対して余裕のある場合は前記着目フリップフロップを高倍力のディレイ特性を持つフリップフロップに切替えるステップとを有する、ことを特徴とする半導体集積回路の実装設計方法。
【請求項４】
請求項１において、
前記半導体集積回路の前記複数種のフリップフロップの中で、前記切替えを実施しないフリップフロップを予め指定し、
該指定されたフリップフロップを切替え対象外とし、指定外のフリップフロップのみを切替え対象として前記比較判定を行ない、その結果に応じて切替えることを特徴とする半導体集積回路実装設計方法。
【請求項５】
コンピュータを利用して複数種のフリップフロップを含む半導体集積回路の実装設計を行なうための装置において、
論理的な機能が同じで、消費電力及びディレイ特性の異なる複数種のフリップフロップを含むフリップフロップ群に関するデータを格納する記憶部と、
前記半導体集積回路の着目フリップフロップから前段のフリップフロップまでの経路および後段フリップフロップまでの経路の両方のパスディレイ計算を行う２段パスディレイ計算部と、
前記前段パス及び後段パスの消費電力もしくはその変化分を計算する消費電力計算部と、
前記着目フリップフロップに関して、前記パスディレイ計算の結果及び前記消費電力の計算結果を予め設定された条件と比較し該条件を満たすか判定する比較判定部と、
前記着目フリップフロップが前記条件を満たす場合は該フリップフロップを採用し、前記条件を満たさない場合は前記記憶部に保持された新たなフリップフロップに切替えて前記ディレイ計算及び前記消費電力計算を行なわせ、前記条件を満たすフリップフロップを前記着目フリップフロップとして選定するためのフリップフロップ切替部とを有することを特徴とする半導体集積回路の実装設計装置。
【請求項６】
半導体集積回路の実装設計方法において、
論理的な機能が同じで、その消費電力及びディレイ特性が異なり、かつセルのサイズが等しいフリップフロップが複数種存在しており、前記各セル内のパターンは異なるがセル間配線との接続ポイントとなる端子位置およびセルの配線禁止領域が同じであるフリップフロップ群を用いて、
着目フリップフロップの２段パスディレイ計算を行い、
前記２段パスディレイ計算の結果を用いてフリップフロップを切替えることによる前段パスディレイ、後段パスディレイ、及び消費電力の変化分を計算し、
前記パスディレイ計算の結果及び前記消費電力の計算結果を予め設定された条件と比較し該条件を満たすように、前記着目フリップフロップを切替える、ことを特徴とする半導体集積回路の実装設計方法。
【請求項７】
半導体集積回路の実装設計支援プログラムであって、
前記半導体集積回路は複数種のフリップフロップを含むものであり、
コンピュータに、
前記半導体集積回路の着目フリップフロップから前段のフリップフロップまでの経路および後段フリップフロップまでの経路の両方のパスディレイの計算を行う２段パスディレイ計算機能と、
前記前段パス及び後段パスの消費電力もしくはその変化分を計算する消費電力計算機能と、
前記着目フリップフロップに関して、前記パスディレイ計算の結果及び前記消費電力の計算結果を予め設定された条件と比較し該条件を満たすか判定する比較判定機能と、
前記着目フリップフロップが前記条件を満たす場合は該フリップフロップを採用し、前記条件を満たさない場合は記憶部に保持された論理的な機能が同じで消費電力及びディレイ特性の異なる複数種のフリップフロップの中の新たなフリップフロップに切替えて前記ディレイ計算及び前記消費電力計算を行なわせ、前記条件を満たすフリップフロップを前記着目フリップフロップとして選定するためのフリップフロップ切替機能、とを実現させるための半導体集積回路の実装設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計をする際に、消費電力およびディレイ制御を目的に半導体集積回路のフリップフロップ切替えて回路の実装設計を支援するための、実装設計装置及び方法に関する。
【背景技術】
【０００２】
従来、半導体集積回路のＬＳＩ設計における低消費電力化は、レイアウト設計(配置配線)の時に行われていた。例えば、配置配線時にセルの駆動能力を下げて消費電力を低減するといった手法があり、特許文献１や特許文献２に記載された技術が知られている。これらは、フリップフロップから次のフリップフロップまでの経路（パス）のディレイがディレイ違反を起した場合に、フリップフロップから次のフリップフロップまでの経路（パス）のディレイ値から目標のディレイ値を割ったディレイ違反率（目標に対するオーバー値）が高い順番に、フリップフロップから次のフリップフロップまでの経路（パス）を構成する論理素子（セル）の動作速度を速くするように内部抵抗を変更させ、その際に消費電力が制限値を越えないように制御する技術である。
【０００３】
また、非特許文献１には、セル置換による漏れ電力最適化に関する記載がある。
【０００４】
【特許文献１】特開2002-312415号公報
【０００５】
【特許文献２】特開2001-332625号公報
【非特許文献１】平成１５年５月１５日、「ケイデンス  R&D  セミナー」にて、久木元  祐治氏により報告された「In-Place Optimizationの新機能 Multi-Vt/論理再合成」
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来技術は、フリップフロップから次のフリップフロップまでの１段分のパスディレイ計算結果を用いる。そのため、１段分（後段）のパスディレイを考慮したパスを構成するセルを切替えることは可能である。
【０００７】
しかし、パスの始点または終点であるフリップフロップを切替える場合、切替えに伴ってフリップフロップの前段パスおよび後段パス両方のディレイ値が変化してしまう。前記従来技術では１段分（後段）のパスディレイしか考慮されておらず、最適なフリップフロップに効率よく切り替えてＬＳＩを設計することが困難である。
【０００８】
また、低消費電力化を図るための手段として、フリップフロップ以外のセルの駆動力を下げることによる低消費電力化は、常にクロック信号により動作しているフリップフロップと比べてセル１つ当たりの消費電力低減量が少ないため、多くのセルの駆動力を下げる必要がある。
【０００９】
さらに、配置配線時にセルの駆動力を変える場合でも、設計工数の少ない設計方法が望ましい。
【００１０】
本発明の目的は、前記従来技術の問題点を解決し、目標マシンサイクル（またはディレイ）を考慮しつつ、低消費電力フリップフロップに切替えたレイアウト／実装パターンを提供し得る設計方式を提供することにある。
【００１１】
本発明の他の目的は、配置配線時にセルの駆動力を変える場合でも、精度が高く、かつ、設計の後戻りの発生を少なくした効率の良い半導体集積回路の設計方式を提供することにある。
【課題を解決するための手段】
【００１２】
本発明によれば前記目的は、コンピュータを利用して複数種のフリップフロップを備えた半導体集積回路の実装設計を行なう方法であって、論理的な機能が同じで、消費電力及びディレイ特性の異なる複数種のフリップフロップを含むフリップフロップ群に関するデータを取り込むステップと、前記半導体集積回路の着目フリップフロップから前段のフリップフロップまでの前段パス、および後段フリップフロップまでの後段パスの両方のパスディレイ計算を行う２段パスディレイ計算ステップと、前記前段パス及び後段パスの消費電力もしくはその変化分を計算する消費電力計算ステップと、前記着目フリップフロップに関して、前記パスディレイ計算の結果及び前記消費電力の計算結果を予め設定された条件と比較し該条件を満たすか判定する比較判定ステップと、前記条件を満たす場合は該フリップフロップを採用し、前記着目フリップフロップが前記条件を満たさない場合は前記記憶部に保持された新たなフリップフロップに切替えて前記ディレイ計算及び前記消費電力計算を行なわせ、前記条件を満たすフリップフロップを選定するフリップフロップ切替ステップ、とを有する半導体集積回路の実装設計方法により、達成される。
【００１３】
前記目的は、また、コンピュータを利用して複数種のフリップフロップを含む半導体集積回路の実装設計を行なうための装置において、論理的な機能が同じで、消費電力及びディレイ特性の異なる複数種のフリップフロップを含むフリップフロップ群に関するデータを格納する記憶部と、前記半導体集積回路の着目フリップフロップから前段のフリップフロップまでの経路および後段フリップフロップまでの経路の両方のパスディレイの計算を行う２段パスディレイ計算部と、前記前段パス及び後段パスの消費電力もしくはその変化分を計算する消費電力計算部と、前記着目フリップフロップに関して、前記パスディレイ計算の結果及び前記消費電力の計算結果を予め設定された条件と比較し該条件を満たすか判定する比較判定部と、前記着目フリップフロップが前記条件を満たす場合は該フリップフロップを採用し、前記条件を満たさない場合は前記記憶部に保持された新たなフリップフロップに切替えて前記ディレイ計算及び前記消費電力計算を行なわせ、前記条件を満たすフリップフロップを前記着目フリップフロップとして選定するためのフリップフロップ切替部とを有する半導体集積回路の実装設計装置によって、達成される。
【発明の効果】
【００１４】
本発明によれば、半導体集積回路の実装設計を行なう際に、２段パスディレイ計算を行い、目標マシンサイクル（またはディレイ）を悪化させないように考慮して低消費電力フリップフロップに切替えたレイアウト／実装パターンを提供する。これにより、ＬＳＩの設計に際して、精度の高いディレイ計算または消費電力計算に基く実装設計により、目標のマシンサイクルを満足して消費電力の低減化を図った半導体集積回路を提供することができる。さらに、配置配線時にセルの駆動力を変える場合でも、精度が高く、かつ、設計の後戻りの発生を少なくした効率の良い半導体集積回路の設計方式を提供することができる。
【発明を実施するための最良の形態】
【００１５】
本発明の半導体集積回路の実装設計方式として、フリップフロップ切替えによる消費電力とディレイ制御方法の一実施例について、図を用いて詳細に説明する。
【００１６】
図１は、本発明の一実施例になる半導体集積回路の実装設計装置のシステム構成を示す図であり、図２は、図１の装置において実行される実装設計支援プログラム、すなわち、ディレイを考慮した低消費電力化フリップフロップ切替え方式の処理動作を説明する図である。
【００１７】
図１において、実装設計装置１０は、消費電力計算部１１、２段パスディレイ計算部１２、比較判定部１３、およびフリップフロップ切り替部１４を備えている。実装設計装置１０は、ＣＰＵやメモリ、記憶装置などを有するコンピュータを利用して各機能部の処理動作を行なうための、所定のプログラムにより実現される。
【００１８】
記憶装置としての論理情報ファイル１１１には論理情報データが格納され、ライブラリ１１２には、レイアウトを行うためのセルの基本情報（セルタイプ、セルサイズ、端子位置）や、ディレイ計算のための定数情報が格納されている。さらに、レイアウト情報ファイル１１３には、配置配線の結果情報（セルの配置位置、配線パターン、等）が格納されている。また、１１４は入出力部である。実装設計装置１０は、この外、入出力制御部や通信制御部などを備えている。
【００１９】
次に、図２を参照して実装設計装置１０の処理フローを説明する。  
まず、データ入力として、論理情報ファイル１１１、ライブラリ１１２、レイアウト情報ファイル１１３から、対象とする半導体集積回路の実装設計の処理に必要な情報を実装設計装置１０のメモリ（記憶部）に入力する（ステップ１０１）。  
次に、消費電力計算部１１において、対象のレイアウトパターンの消費電力計算を行い、各セルが消費する電力と、半導体集積回路全体の消費電力を求める（ステップ１０２）。
【００２０】
さらに、２段パスディレイ計算部１２において、対象のレイアウトパターンの全てのパスディレイ計算を行い、各フリップフロップについて、２段パスディレイを求める（ステップ１０３）。  
ここで、２段パスディレイとは、ある着目フリップフロップに関して前段論理と後段論理それぞれの最大パスディレイ値を求める処理のことであり、この処理ステップについて、図３で一例を説明する。
【００２１】
図３に、２段パスディレイの概念図を示す。着目フリップフロップ（２０１）として、例えば、対象の半導体集積回路全体の中でパスディレイ値の最も大きいフリップフロップを選定する。次に、この着目フリップフロップを、論理的機能が同じで消費電力の異なるフリップフロップまたはディレイ特性の異なるフリップフロップに置き換える。この場合、置換えたフリップフロップの入力容量が変化するため、後段のパスディレイだけでなく前段のパスディレイにも影響を与える。そのため、着目フリップフロップに対して前段論理(２０３)と後段論理（２０４）それぞれの最大パスディレイ値（２０５および２０６）を算出する。
【００２２】
なお、図２において、消費電力計算（ステップ１０２）と、２段パスディレイ計算（ステップ１０３）の処理の順序は問わない。
【００２３】
次に、比較判定部１３で、２段パスディレイ計算結果及び消費電力計算結果よりディレイ違反または消費電力違反を判定する（ステップ１０４）。
【００２４】
まず、２段パスディレイ計算結果より、着目セルの前段および後段最大パスディレイ値（ＤａおよびＤｂ）が目標ディレイ値を越えていないかを判定する。
【００２５】
目標ディレイ値≧Ｄａ かつ 目標ディレイ値≧Ｄｂ  （式１）
さらに、消費電力計算の結果（Ｐとする）より、ＬＳＩの目標消費電力値を越えていないかを判定する。
【００２６】
目標消費電力値≧Ｐ     （式２）
（式１）、（式２）の判定によりディレイ違反または消費電力違反がある場合には、フリップフロップ切替え部１４でフリップフロップ切替え試行（ステップ１０５）以降を実施する。
【００２７】
次に、図４および図５を用いて、フリップフロップ切替え部１４の処理、すなわち、消費電力計算（ステップ１０２）および２段パスディレイ計算（ステップ１０３）の結果を用いて、フリップフロップ切替え試行を実施する処理（ステップ１０５）について、説明する。
【００２８】
着目フリップフロップに関して、機能が同じで消費電力またはディレイ特性が異なるフリップフロップが複数存在する場合は、切替え対象とする。一方、着目フリップフロップと同一機能のフリップフロップがない場合は切替え対象外とする（ステップ３０１）。切替え対象と判定された場合は、次の処理（ステップ３０２）を実施する。
【００２９】
切替え対象となったものについては、ディレイに余裕のあるフリップフロップであるかを判断する（ステップ３０２）。すなわち、図３における着目フリップフロップ２０１に関して、前段最大パスディレイＤａ（２０５）と後段最大パスディレイＤｂ（２０６）が、それぞれの閾値ＤαまたはＤβ（２０７または２０８）より小さい場合（式３）、当該フリップフロップを「ディレイに余裕がある」として切替候補とする。
【００３０】
ここで、閾値ＤαまたはＤβ（２０７または２０８）は、目標マシンサイクルを元に算出した値で、例えば、低消費フリップフロップに切替えた際の予測ディレイ悪化分を目標マシンサイクルから引いた値を設定したものである。
Ｄａ＜Ｄα   ＆   Ｄｂ＜Ｄβ     （式３）
ディレイに余裕があると判定された場合は、次に、フリップフロップ切替えの試行を実施する（ステップ３０３）。すなわち、前段および後段の最大パスディレイ値が（式３）を満足する場合、着目セルを低消費フリップフロップに置き換える。
【００３１】
一方、ステップ３０１で切替え処理対象外、またはステップ３０２でディレイに余裕がないと判断された場合は、次のフリップフロップに処理を移し、図３のステップ１０４の処理に移動する。
【００３２】
さらに、切替え試行処理後に消費電力およびディレイの再計算を実施する（ステップ１０６）。
【００３３】
切替えを実施したフリップフロップの前段および後段パスに関してのみ再度２段パスディレイ計算を実施する。また、切替えを実施したフリップフロップの消費電力変化分を算出する。
【００３４】
例えば、図８に示すような、前段フリップフロップ（８００）と後段フリップフロップ（８０２）間の着目フリップフロップ（８０１）の切替えにおいて、倍力の大きいものに切替えて駆動力を切上げる場合を考える。一般に、倍力を大きくするとパスディレイは小さくなるが、消費電力が大きくなり、かつセルのサイズも大きくなる。そのため、着目フリップフロップ（８０１）の駆動力を切上げた場合、着目フリップフロップとセル（８０４）間のミクロパスディレイ２（８０６）は改善され、後段最大パスディレイ（８０８）を改善することができる。
【００３５】
一方、着目フリップフロップの駆動力を切上げることにより着目フリップフロップとセル（８０３）間のミクロパスディレイ１（８０５）も変化する。例えば、駆動力の切替により着目フリップフロップの入力容量が変化するために、セル（８０３）の出力端子側から見た負荷容量が変化して、その結果ミクロパスディレイ１が変化する。
【００３６】
従来技術では、後段もしくは前段の最大パスディレイのどちらか一方のみしか考慮しておらず、最適なフリップフロップの駆動力の切替を実現するのが困難であった。本発明は、この負荷容量の変化も考慮するために、切替に伴う２段（後段及び前段）の最大パスディレイを計算し、採用を決定する。切替に伴う最大パスディレイが２段の双方共に改善される場合のみならず、例えば、一方が改善され他方が悪化しても悪化したほうが目標内なら採用することも考えられる。
【００３７】
すなわち、再計算の結果より、切替え試行結果を採用するか否かの判定を行う（ステップ１０７）。
【００３８】
ここでは、次に示す３つの条件のいずれかを満たすと判定された場合、切替えを採用（ステップ１０８）する。
（ａ）（式１）と（式４）を満たす場合
（ｂ）（式２）と（式５）を満たす場合
（ｃ）（式６）を満たす場合
Ｐnew ≦ Ｐ                        （式４）
ＤaNew ≦ Ｄa かつ ＤbNew ≦ Ｄb            （式５）
Ｐnew ≦ Ｐ かつ 
ＤaNew ≦ Ｄa かつ ＤbNew ≦ Ｄb      （式６）
ここで、Ｐは切替え前の消費電力値、Ｐnewは切替え後の消費電力値、Ｄaは切替え前の前段最大パスディレイ値、ＤaNewは切替え後の前段最大パスディレイ値、Ｄaは切替え前の後段最大パスディレイ値、ＤaNewは切替え後の後段最大パスディレイ値を示す。
【００３９】
切替え試行結果を採用すると判定された場合、フリップフロップの切替えを採用する（ステップ１０８）。
【００４０】
フリップフロップ切替えが採用された場合、着目フリップフロップの情報を切替え後のフリップフロップの情報に更新する。
【００４１】
消費電力違反およびディレイ違反がなくなるまで、またはＬＳＩの全フリップフロップに対して、ステップ１０４から１０８を繰り返す（ステップ１１６）。
【００４２】
一方、ステップ１０４において、ＬＳＩ全体に対してディレイ違反および消費電力違反がない（式１および式２を満足している）、または、ＬＳＩの全フリップフロップに対してステップ１０４から１０８の処理が完了していれば、データ出力（ステップ１０９）をして処理を終了（ステップ１１０）する。データ出力（ステップ１０９）では、論理ファイル（１１４）に切替え後のフリップフロップの情報を出力し、レイアウトに変更があった場合はレイアウト情報ファイル（１１５）を更新する、
以上の処理により、ディレイを考慮したＬＳＩの消費電力低減化を実現することが可能となる。すなわち、半導体集積回路の実装設計をする際に、２段パスディレイ計算を行い、目標マシンサイクル（またはディレイ）を悪化させないように考慮して低消費電力フリップフロップに切替えることにより、従来技術より設計フローに後戻りが発生しない効果的なＬＳＩの消費電力低減化が可能となる。
【００４３】
本発明の他の実施例として、最初に処理方式を設定する例を説明する。まず、目標マシンサイクルの値が高く、目標消費電力にゆとりのあるＬＳＩを設計する際の本発明の実施例について、図９を用いて説明する。
【００４４】
図９において、必要なデータの入力（ステップ１０１）の後に、処理方式の設定を行なう（ステップ１２２）。例えば、全てのフリップフロップに対して高速フリップフロップを初期値として設定する。または、処理方式の設定に代えて、データ入力（ステップ１０１）に際して、全てのフリップフロップが高倍力のディレイ特性を持つ高速フリップフロップを用いた論理ファイル（１１１）を入力しても良い。
【００４５】
その後、図２に示した処理フローと同様な処理（ステップ１０４〜１１６）を実施し、フリップフロップ切替え試行（ステップ１０５）ではディレイに余裕があるフリップフロップを対象として低消費電力のフリップフロップに置き換える。このようにして各フリップフロップの消費電力を低減することにより、消費電力を考慮した高速なＬＳＩの設計が可能となる。
【００４６】
また、ステップ１２２の処理方式の設定において、全てのフリップフロップに対して低倍力あるいは低消費電力フリップフロップを初期値として設定し、その後、図２と同様なフローを実施しても良い。この方法によれば、厳しい目標消費電力値を実現するＬＳＩの設計が可能となる。または、処理方式の設定に代えて、全てのフリップフロップに対して低倍力あるいは低消費電力フリップフロップのデータを入力するようにしても良い。
【００４７】
また、他の実施例として、論理ファイル（１１１）に、異なるタイプの論理ファイル、例えば、高倍力のディレイ特性を持つ高速フリップフロップを用いた論理ファイルや、低倍力あるいは低消費電力フリップフロップを用いた論理ファイルを、予め複数個用意しておいても良い。そして、処理方式の設定（図９のステップ１２２）において、ユーザーが、設計の条件に応じて、初期値として目的の論理ファイルを適宜選択出来るようにしても良い。
【００４８】
次に、本発明の他の実施例として、半導体集積回路のフリップフロップの中で例えば既に最適設計が完了している一部のフリップフロップ群に関しては、切替えを実施しないように予め指定することができる。すなわち、判定基準に応じてフリップフロップを切替える際に、外部より切替えを実施しないフリップフロップを指定し、指定されたフリップフロップに関しては切替えを実施しない方法である。この手法の実施例について、図２および図５を用いて説明する。
【００４９】
図２のデータ入力（ステップ１０１）または図９の処理方式の設定（ステップ１２２）の際に、切替えを実施しないフリップフロップを外部より指定する。図５は指定方法の一例であり、切替えを実施しないフリップフロップが持つユニークな名称（インスタンス名）（４０１）または、切替えを実施しないフリップフロップの出力信号名（４０３）をファイルに記述して、そのファイルを入力する方法がある。また、インスタンス名または信号名をそれぞれが属する論理ブロックを含めて階層的に指定することも可能である（４０２、４０４）。ここで、論理ブロックとインスタンスの「区切り」は「スペース、図５内では△で記述」、「／」、「：」等任意の記号を用いて記述可能である。さらに、論理ブロック名称を指定して、当該論理ブロックに属する全フリップフロップを切替えを実施しないフリップフロップにすることも可能である（４０５）。図５に示した指定方法は、それぞれを組み合わせて指定することも可能である。
【００５０】
データ入力（ステップ１０１）以降は、図２に示す処理フローを実施し、フリップフロップ切替試行（ステップ１０５）時に、着目フリップフロップが外部指定された切替えを実施しないフリップフロップであれば後続の処理（ステップ１０５〜１０８）を飛ばす。
【００５１】
同様な手法で、切替えを実施するフリップフロップを外部より指定して、指定したフリップフロップのみを切替えることも可能である。
【００５２】
以上の処理により、ＬＳＩ内部の特定論理または特定範囲のフリップフロップ切替えるによる消費電力およびディレイ制御の実現が可能となる。
【００５３】
本発明の他の実施例として、処理方式としてのセルのサイズが等しいフリップフロップ群を採用しても良く、また、他の処理方式としてのセルのサイズが異なるフリップフロップ群を採用しても良い。いずれの処理方式とするかは、初期値設定として、例えば、図９の処理方式の設定のステップ１２２において指定しても良い。
【００５４】
この実施例に関して、図６で、セルのサイズが等しいフリップフロップ群を採用した半導体集積回路の設計方法を、セルのサイズが異なるフリップフロップ群を採用する方式と比較して示す。前者の設計方法では、実線で示すように、配置（５０２）および配線（５０４）の前後にフリップフロップ切替えを実施することができる（５０１、５０３、５０５）。ここで、同図内の３つのフリップフロップ切替え処理は、すべてを実施する必要はない。レイアウト設計の工程において本発明を実施した場合、処理工程が進むにつれて実際のレイアウトパターン（配置、配線結果）を用いてディレイ計算を行うため、実際のディレイ値を用いた精度の高い切替え処理を行うことができる（５０３、５０５）。
【００５５】
一方、セルのサイズが異なるフリップフロップ群を採用する方式の場合でも、配置または配線後に論理的な機能が同じセルに切替える。この場合は、図６の破線で示すように、配置または配線のやり直しによる後戻りが発生する。
【００５６】
図７により、上記２つの方式によるレイアウト設計と後戻り工数の関係を比較説明する。図７の左欄はセルのサイズが異なるフリップフロップを採用する場合を示し、右欄はセルのサイズが等しいフリップフロップを採用する場合を示している。
【００５７】
セルのサイズが等しいフリップフロップ群を採用する、すなわち、（１）論理的な機能が同じで、（２）その消費電力及びディレイ特性が異なり、（３）かつサイズが等しいフリップフロップが複数種存在して、（４）それらのセル内のパターンは異なるがセル間配線との接続ポイントとなる端子位置およびセルの配線禁止領域が同じである、フリップフロップ群を用いることにより、後戻りの工数が増大という問題を解決することができる。すなわち、切替え前後のセルサイズが同じであるため切替え後に他のセルとの重なりは発生せず、また配線に関係する端子位置および禁止領域が同じであるため配線パターンを変更する必要がなく、レイアウトをやり直すといった後戻りが発生しないといった大きな利点がある。
【００５８】
本発明は、セルのサイズが異なるフリップフロップを採用する場合にも適用可能であり、本発明の方法で配線後にフリップフロップ切替えを実施すると、計算精度は高まる。すなわち、（１）論理的な機能が同じで、（２）その消費電力及びディレイ特性が異なるフリップフロップ群については、配置、配線のやり直しが必要ではあるが、実際のディレイ値を用いた精度の高い切替え処理を行うことができる。但し、セルのサイズが異なるフリップフロップを採用する場合、例えば、ディレイ違反あり着目フリップフロップを高倍力の高速フリップフロップに切替えた場合、一般的にフリップフロップのサイズが大きくなり、隣接する他のセルとの重なりが生じる。また、フリップフロップ内の端子位置、セルの配線禁止領域が変わる。つまり、精度の高いディレイ計算または消費電力計算を用いたフリップフロップ切替えを実施するとレイアウトのやり直しが発生して後戻りの工数は増大する。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施例になる半導体集積回路の実装設計支援装置のシステム構成を示す図である。
【図２】本発明の一実施例による、実装設計支援装置の処理フロー、すなわち、データの入力から低消費電力フリップフロップ切替えまでの処理フローを説明するフローチャートである。
【図３】本発明の一実施例における、２段パスディレイの概念を説明する図である。
【図４】図２の処理フローにおける、フリップフロップ切替え試行の処理を説明するフローチャートである。
【図５】本発明の他の実施例として、外部より切替えを実施しないフリップフロップの指定方法を説明する図である。
【図６】レイアウト（配置配線）設計の処理フロー内で、本発明を実施する際の一例を説明するフローチャートである。
【図７】本発明を採用したレイアウト設計と、後戻り工数との関係を比較説明する図である。
【図８】フリップフロップの切替えに関する本発明の効果を説明する図である。
【図９】本発明の他の実施例として、最初に処理方式を設定する例の処理フローを説明する図である。
【符号の説明】
【００６０】
１０…実装設計装置、１１…消費電力計算部、１２…２段パスディレイ計算部、１３…比較判定部、１４…フリップフロップ切り替部、１１１…論理情報ファイル、１１２…ライブラリ、１１３…レイアウト情報ファイル、１１４…入出力部、２００…フリップフロップ、２０１…フリップフロップ、２０２…フリップフロップ、２０３…前段論理群、２０４…後段論理群、２０５…前段最大パスディレイ、２０６…後段最大パスディレイ、２０７…前段パスディレイ閾値、２０８…後段パスディレイ閾値。
【図１】
2005182433.tif 000003
【図２】
2005182433.tif 000004
【図３】
2005182433.tif 000005
【図４】
2005182433.tif 000006
【図５】
2005182433.tif 000007
【図６】
2005182433.tif 000008
【図７】
2005182433.tif 000009
【図８】
2005182433.tif 000010
【図９】
2005182433.tif 000011