| 【発明の名称】 |
半導体集積回路の設計方法およびその記録媒体 |
| 【発明者】 |
【氏名】唐澤 弘隆
|
| 【要約】 |
【課題】セットアップバイオレーションパスを改善するためのクロックライン最適化フローを含む半導体集積回路の設計方法を提供する。
【解決手段】回路の機能記述作成を行ったファイルに対し論理合成を行いゲートネットリストを作成する。次に動作周波数を考慮したクロックラインの配置・配線において、サーチされたバイオレーションパスのSLack値と次段や前段のSLack値から、最適化が可能か否かの確認を行い(S17)、可能な場合は遅延付きフリップフロップセルに変更する(S20)。不可能な場合は次のバイオレーションパスの修正を行い、全バイオレーションパスのクロック最適化終了(S22)まで、バイオレーションが収束する迄繰返し行う。 |
【特許請求の範囲】
【請求項1】 半導体集積回路の機能記述作成を行い、機能記述ファイル2を出力する第1のステップと、前記機能記述ファイルに対して論理合成を行い、ゲートネットリストを作成する第2のステップと、前記ゲートネットリストに基づいて、前記半導体集積回路で使用されるマクロブロックの配置を決定するフロアープランを実行する第3のステップと、前記マクロブロックの配置を行う第4のステップと、前記半導体集積回路の順序回路部のクロックラインが、前記半導体集積回路の動作周波数に対応して動作するよう、前記クロックラインの配置・配線を行い、前記クロックの最適化を行う第5のステップと、前記半導体集積回路のロジック部の配置・配線を行う第6のステップと、前記第5のステップおよび前記第6のステップのそれぞれで出力されたレイアウト情報を保存する第7のステップとからなる半導体集積回路の設計方法。 【請求項2】 前記第5のステップは、クロックツリー合成(ClockTree Synthesis)によって行われる請求項1記載の半導体集積回路の設計方法。 【請求項3】 前記第5のステップは、前記順序回路の入力データセットアップ時間と実際に入力されるデータの到達時間の差であるSlack値が負の場合は、前記順序回路のセットアップに対して入力データの到達時間がSlack値だけ遅く間に合わないためバイオレーションを起こす前記順序回路のバイオレーションパスを検索する第7のステップと、前記バイオレーションパスの前記Slack値を格納する第8のステップと、前記順序回路の前記バイオレーションパスの前後の前記Slack値を格納する第9のステップと、前記第7のステップ、前記第8のステップおよび前記第9のステップにより出力された前記Slack値に基づいて前記前記クロックの最適化を行う請求項1または2記載の半導体集積回路の設計方法。 【請求項4】 前記第5のステップは、前記順序回路の前記バイオレーションパスのSlack値を読み込む第10のステップと、前記順序回路の次段のパスのSlack値を読み込む第11のステップと、前記バイオレーション減少の計算をする第12のステップと、前記第12のステップでの計算結果を判定する第13のステップと、前記順序回路を変更する第13のステップと、全てのバイオレーションパスを実行したかを確認する第14のステップとからなる請求項3記載の半導体集積回路の設計方法。 【請求項5】 前記第5のステップは、前記順序回路の格納したバイオレーションパスのSlack値の読み込みを行う第15のステップと、その前後にある前記順序回路のパスのSlack値の読み込みを行う第16のステップと、前記順序回路の前段で前記バイオレーションパスが解消する場合は、前記順序回路の前段の回路を変更する第17のステップとからなる請求項4記載の半導体集積回路の設計方法。 【請求項6】 前記第5のステップは、前記順序回路の前段で前記バイオレーションパスが解消しない場合は、前記順序回路の後段の回路がバイオレーションパスを有するか否かを判定する第19のステップからなる請求項5記載の半導体集積回路の設計方法。 【請求項7】 前記第5のステップは、前記順序回路の後段で前記バイオレーションパスが解消する場合は、前記順序回路の後段の回路を変更する第20のステップからなる請求項6記載の半導体集積回路の設計方法。 【請求項8】 前記順序回路は、フリップフロップである請求項1,2,3,4,5,6または7記載の半導体集積回路の設計方法。 【請求項9】 請求項1乃至8記載の半導体集積回路の設計方法のいずれか1項を記録した記録媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、半導体集積回路の設計方法に関し、特に、半導体集積回路のフリップフロップのセットアップバイオレーションパスを改善するためのクロックライン最適化ステップを含む半導体集積回路の設計方法に関する。 【0002】 【従来の技術】図8は従来技術の半導体集積回路の設計方法のフローである。 【0003】図8を参照すると、従来技術の半導体集積回路の設計方法回路では、まず、機能記述作成を行い、機能記述ファイル2を出力する(ステップS1)。次に、機能記述ファイル2を元に論理合成を行い、ゲートネットリスト4を出力する(ステップS3)。これ以降、レイアウト設計の工程で、マクロブロックの配置を決定するフロアープランを実行し(ステップS61)、マクロブロックの配置が行われる(ステップS61)。 【0004】クロックラインの配置・配線工程(ステップS63)は、クロックツリー合成(Clock Tree Synthesis:以降、CTSと略記する)によって行われ、最後にロジック部の配置・配線が行われる(ステップS64)。 【0005】この後は、目標動作周波数に達成しているか否かを判定し(ステップS64)、目標動作周波数を達成するまで、素子入れ替え工程、バッファ挿入工程、再配置工程および再配線工程を含むロジック部の最適化(ステップS66)が繰り返し行われる。 【0006】クロックラインの配置・配線工程(ステップS63)は、各回路ブロックに入力され、分配されたクロック信号間には時間的にズレがないようにCTSで独立して設計され、クロックラインの配置・配線工程(ステップS63)以外では、クロックラインの修正は一切されない。また、動作周波数によるタイミングも一切考慮されない。 【0007】よって、目標動作周波数に達成しないパスは、ロジック部の最適化(ステップS66)で、上述した素子入れ替え工程、バッファ挿入工程、再配置工程、再配線工程のそれぞれによりタイミング調整を行ない、レイアウト情報ファイル67が作成される。 【0008】より具体的な回路で説明する。図9は従来のクロック調整を模式的に表したブロック図である。従来のクロック調整は、手作業のため、パス解析や遅延素子検索が大変なため、各フリップフロップ毎に行うことは不可能であった。 【0009】よって、CPU203やメモリ205などブロックに分けて、ブロック間のワーストパスを削減するためのクロック調整であった。 【0010】図9に記載のように、メモリの遅延204に、例えば、+0.7nsの遅延を挿入することにより、調整していた。 【0011】 【発明が解決しようとする課題】しかしながら、動作周波数が速くなるにつれて要求されるクロックサイクルに対してフリップフロップ間の組み合わせロジックや配線容量が大きく満足出来なくなってきている。また、ロジック部の最適化だけで無理な場合はパイプラインの切り直しなど仕様変更の可能性も生じてしまう。 【0012】このように、従来技術の半導体集積回路の設計方法のフローの問題点は、ハードマクロやロジック部のみの最適化だけで、クロックラインにおいては周波数を考慮したタイミング調整が行われない点である。 【0013】したがって、上記問題に鑑み本発明の目的は、これらの問題を解消した半導体集積回路の設計方法を提供することにある。 【0014】すなわち、クロックラインの配置、配線においてもクロックスキューの合わせ込みだけでなく、目標動作周波数を考慮したタイミング調整を行うことによって、ロジック部の最適化に加えてクロック遅延の最適化の両方から目標周波数で動作する回路を実現する。 【0015】 【課題を解決するための手段】本発明の半導体集積回路の設計方法は、半導体集積回路の機能記述作成を行い、機能記述ファイル2を出力する第1のステップと、前記機能記述ファイルに対して論理合成を行い、ゲートネットリストを作成する第2のステップと、前記ゲートネットリストに基づいて、前記半導体集積回路で使用されるマクロブロックの配置を決定するフロアープランを実行する第3のステップと、前記マクロブロックの配置を行う第4のステップと、前記半導体集積回路の順序回路部のクロックラインが、前記半導体集積回路の動作周波数に対応して動作するよう、前記クロックラインの配置・配線を行い、前記クロックの最適化を行う第5のステップと、前記半導体集積回路のロジック部の配置・配線を行う第6のステップと、前記第5のステップおよび前記第6のステップのそれぞれで出力されたレイアウト情報を保存する第7のステップとから構成される。 【0016】また、本発明の半導体集積回路の設計方法の前記第5のステップは、クロックツリー合成(Clock Tree Synthesis)によって行われる構成である。 【0017】さらに、本発明の半導体集積回路の設計方法の前記第5のステップは、前記順序回路の入力データセットアップ時間と実際に入力されるデータの到達時間の差であるSlack値が負の場合は、前記順序回路のセットアップに対して入力データの到達時間がSlack値だけ遅く間に合わないためバイオレーションを起こす前記順序回路のバイオレーションパスを検索する第7のステップと、前記バイオレーションパスの前記Slack値を格納する第8のステップと、前記順序回路の前記バイオレーションパスの前後の前記Slack値を格納する第9のステップと、前記第7のステップ、前記第8のステップおよび前記第9のステップにより出力された前記Slack値に基づいて前記前記クロックの最適化を行う構成とすることもできる。 【0018】さらにまた、本発明の半導体集積回路の設計方法の前記第5のステップは、前記順序回路の前記バイオレーションパスのSlack値を読み込む第10のステップと、前記順序回路の次段のパスのSlack値を読み込む第11のステップと、前記バイオレーション減少の計算をする第12のステップと、前記第12のステップでの計算結果を判定する第13のステップと、前記順序回路を変更する第13のステップと、全てのバイオレーションパスを実行したかを確認する第14のステップとからなる構成とすることもできる。 【0019】さらに、本発明の半導体集積回路の設計方法の前記第5のステップは、前記順序回路の格納したバイオレーションパスのSlack値の読み込みを行う第15のステップと、その前後にある前記順序回路のパスのSlack値の読み込みを行う第16のステップと、前記順序回路の前段で前記バイオレーションパスが解消する場合は、前記順序回路の前段の回路を変更する第17のステップとからなる構成とすることもでき、さらに、前記第5のステップは、前記順序回路の前段で前記バイオレーションパスが解消しない場合は、前記順序回路の後段の回路がバイオレーションパスを有するか否かを判定する第19のステップからなる構成とすることもでき、前記第5のステップは、前記順序回路の後段で前記バイオレーションパスが解消する場合は、前記順序回路の後段の回路を変更する第20のステップからなる構成とすることもできる。 【0020】 【発明の実施の形態】次に、本発明の第1の実施の形態について図面を参照して説明する。 【0021】本発明の第1の実施の形態の半導体集積回路の設計方法を図1に示す。 【0022】図1を参照すると、本発明の第1の実施の形態の半導体集積回路の設計方法では、まず、回路の機能記述作成を行い、機能記述ファイル102を出力する(ステップS101)。次に、機能記述ファイル102に対して論理合成を行い、ゲートネットリスト104を作成する(ステップS103)。 【0023】そして、次にレイアウト設計を行う(ステップS109)。このレイアウト設計ステップ(ステップS109)では、マクロブロックの配置を決定するフロアープランを実行し(ステップS105)、マクロブロックの配置が行われる(ステップS106)。 【0024】次に、半導体集積回路の動作周波数を考慮したクロックラインの配置・配線を行い、クロックの最適化を行う(ステップS107)。その後、ロジック部の配置・配線を行う(ステップS108)。そして、レイアウト情報ファイル110が作成される。 【0025】次に、クロックライン最適化(ステップS107)工程について、図2および図3を参照して詳細に説明する。 【0026】クロックライン最適化の全体フローは図2を参照すると、クロックライン最適化工程は、クロック最適化を開始(ステップS107)し、回路全体のバイオレーションパスのサーチを行い(ステップS8)、全バイオレーションのSlack値を格納し(ステップS9)、バイオレーションパス前後のフリップフロップパスのSlack値を格納する(ステップS10)。 【0027】次に、これらのデータを元に、クロックラインの最適化を行う(ステップS11)。そして、バイオレーションの収束がされたか否かを確認し(ステップS12)、クロック最適化を終了する(ステップS13)ここでSlack値とは、フリップフロップの入力データセットアップ時間と実際に入力されるデータの到達時間の差である。Slack値が負の場合は、フリップフロップのセットアップに対して入力データの到達時間がSlack値だけ遅く間に合わないためバイオレーションを起こすと判定する。 【0028】逆に、Slack値が正の場合は、フリップフロップのセットアップに入力データが間に合っているので、正常動作すると判定する。 【0029】次に、クロックラインの最適化工程(ステップS11)の詳細について、説明する。クロックラインの最適化工程フローを示す図3を参照すると、クロックラインの最適化工程(ステップS11)は、クロックライン最適化開始(ステップS14)と、バイオレーションパスのSlack値を読み込むステップ(S15)と、その次段のフリップフロップパスのSlack値を読み込むステップ(S16)と、バイオレーション減少の計算ステップ(S17)および判定ステップ(S19)と、フリップフロップ変更ステップ(S20)と、全てのバイオレーションパスを実行したかの確認ステップ(S21)と、クロックライン最適化終了ステップ(S22)とからなる。 【0030】フリップフロップ変更ステップ(S20)で、使用するフリップフロップセルは、フリップフロップセル23(図4(a)参照)のフリップフロップ25の入力クロックラインに遅延素子26を挿入したフリップフロップセル24(図4(b)参照)を遅延値別に複数準備してライブラリ化しておき、このセルを変更することでクロックライン遅延挿入を行う)。 【0031】次に、本発明の第1の実施の形態の半導体集積回路の設計方法として、バイオレーションの次段パスのみで行うクロックライン最適化フローを図2、図3、図4を併せて参照して説明する。 【0032】前準備として、図4に示す通りフリップフロップセル24を遅延値別に複数準備してライブラリ化しておく。最初の回路では、このライブラリを使用せず通常のフリップフロップセル23を使って回路を作成する。そしてクロックライン最適化により準備したライブラリのセルに置き換えていく。即ち、クロック遅延値を増加させることによって最適化を実現する。 【0033】クロックライン最適化を行う前に回路全体のバイオレーションを把握する。回路全体のバイオレーションの把握は、全バイオレーションパスのサーチ(ステップS8)を実行し、そのバイオレーションのSlack値の格納を行う(ステップS9)。また、バイオレーションパスの前後にあるフリップフロップパスのSlack値の格納を行う(ステップS10)。 【0034】クロックライン最適化は、入力端子に近いバイオレーションパスから順番に行っていく。まず、ある一つの格納したバイオレーションパスのSlack値の読み込み(ステップS15)、その次段のフリップフロップパスのSlack値の読み込みを行う(ステップS16)。 【0035】次に、バイオレーション減少の計算を行い(ステップS17)、クロックライン最適化が可能かどうかの確認を下記の式18に基づいて行う(判定ステップS19)。 (ステップS16で読み出したSlack値)−|(ステップS15で読み出したバイオレーションのSlack値)|>(ステップS15で読み出したバイオレーションのSlack値)……式18即ち、判定ステップ(ステップS9)は、ステップS15で読み出したバイオレーションパスのSlack値の絶対値が、ステップS16で読み出した次段パスのSlack値以上であっても式18を満足する場合、次段のフリップフロップパスがバイオレーションを起こしてしまうが、バイオレーション値は減少するのでクロックライン最適化を実行する。 【0036】また、式18を満足した場合は、フリップフロップの変更を行う(ステップS20)。ここでは、バイオレーションパスの終点にあるフリップフロップセルを用意してあったライブラリからバイオレーションパスのSlack値(ステップS15)の絶対値と同値だけ増加する遅延付きフリップフロップセルに変更する。 【0037】式18を満足しない場合は、クロックラインの最適化を行わず、次のバイオレーションパス修正を行う。これらバイオレーションパスのSlack値読み込み(ステップS15)からフリップフロップの変更(ステップS20)までの作業を全てのバイオレーションパスに対して行う。 【0038】全てのバイオレーションパスのクロックライン最適化を終了すると再度、最適化後の回路に対してバイオレーションパスの調査を始める。 【0039】このように全バイオレーションパスサーチ(ステップS8)からクロックライン最適化(ステップS11)までの工程をバイオレーションが収束するまで、または回数の制限を決めて行う。 【0040】次に、図5を参照して、本発明の第1の実施の形態の半導体集積回路の設計方法を具体的な回路に適用した場合を説明する。 【0041】図5は、フリップフロップ28、29および30が順に接続されたパスを示す図である。 【0042】PLL27から出力されたクロック33は、ツリー構造に分配され各フリップフロップへ入力される。この時、各クロックがフリップフロップまで到達する遅延時間はクロックツリー合成(Clock Tree Synthesis:CTS)により等しくなるように作り込まれている。 【0043】即ち、フリップフロップ28、29および30に入力されるクロック34、35および36のフリップフロップへの到達遅延時間は等しい。 【0044】いま、フリップフロップ28とフリップフロップ29間のパス31がSlack=−1nsでセットアップバイオレーションを生じており、フリップフロップ29とフリップフロップ30間のパス32がSlack=+1nsでフリップフロップ30のセットアップ時間に余裕があるとする。この時、式18は(+1ns)−|(−1ns)|=0ns>(−1ns) となり、式18を満足する。 【0045】よって、フリップフロップ変更(ステップS20)で、フリップフロップ29は遅延素子37の値が1ns大きいフリップフロップセルに変更される。 【0046】この結果、フリップフロップ30のセットアップ時間を1ns削った分がフリップフロップ29のセットアップ時間に割り当てることにより、パス31のバイオレーションが改善される。 【0047】次に、本発明の第2の実施の形態について図面を参照して説明する。 【0048】本発明の第2の実施の形態の半導体集積回路の設計方法のクロックライン最適化フローを図6に示す。 【0049】本発明の第2の実施の形態の半導体集積回路の設計方法として、バイオレーションの前後パスで実施するクロックライン最適化を説明する。 【0050】この方法は、例えば、処理の最初の回路において図4に示すフリップフロップセル24を使って作成しておく。また、この時の遅延値は、あとのクロックライン最適化で減少させられるよう考慮する必要がある。処理の最初から遅延付きフリップフロップで回路を作成することによって、クロック遅延の増加および減少でクロックライン最適化を実現する。 【0051】本発明の第1の実施の形態の半導体集積回路の設計方法と同様に、図2に示す通り回路のバイオレーションを調べ各データ格納する。 【0052】本発明の第2の実施の形態の半導体集積回路の設計方法のクロックライン最適化は、入力端子に近いバイオレーションパスから順番に行っていく(図6を参照)。 【0053】まず、格納したバイオレーションパスのSlack値の読み込み(ステップS15)、その前後にあるフリップフロップパスのSlack値の読み込みを行う(ステップS40)。 【0054】次に、前段のフリップフロップパスでクロックライン最適化が可能かどうかの計算を下記の式42を基づいて行う(ステップS41)。 (ステップS40で読み出した前段のSlack値)−|(ステップS15で読み出したバイオレーションのSlack値)|……式42式42の結果に対して正負判定を行う(ステップS43)。 【0055】判定が正の場合は、前段のフリップフロップパスだけでバイオレーションを改善することが可能である。そして、前段のフリップフロップを変更する(ステップS44−1)。次に、全てのパスが終了したか判定する(ステップS21)。 【0056】一方、判定が負の場合は、前段のフリップフロップパスだけではバイオレーションを改善することが不可能なため、更に、後段のフリップフロップパスでクロックライン最適化が可能かどうかの計算を下記の式46に基づいて行う(ステップS45)。 (ステップS40で読み出した後段のSlack値)−|(式42の結果)|>(式42の結果)……式46次に、式46を満足する場合は、後段がバイオレーションパスでないので、前段のフリップフロップを変更し(ステップS44−2)、さらに、後段のフリップフロップを変更する(ステップS47)。次に、全てのパスが終了したか判定する(ステップS21)。 【0057】式46を満足しない場合は、後段がバイオレーションパスであるので、前段のフリップフロップを変更(ステップS44−3)し、全てのパスが終了したか判定する(ステップS21)。 【0058】すなわち、あるバイオレーションパスにおいて、前段のフリップフロップパスだけでバイオレーションを改善することが可能な場合は、前段のフリップフロップパスだけで遅延調整する。 【0059】一方、前段のフリップフロップパスだけではバイオレーションを改善することが不可能な場合は、更に、後段のフリップフロップパスがバイオレーションしているか否かで処理がことなる。 【0060】そして、後段のフリップフロップパスがバイオレーションしていない場合は、前段と後段の両方のパスで遅延調整する。また、後段のフリップフロップパスがバイオレーションしている場合は、前段のパスのみで遅延調整する。 【0061】遅延調整は、入力端子から出力端子へ順次行われるので、前段パスがバイオレーションか否かは判定する必要はない。 【0062】また、ステップS46で完全にバイオレーションが解消しなくても、遅延調整する前よりはバイオレーション値が改善されるので、動作サイクルは向上する。 【0063】次に、計算後のフリップフロップの差し替えについて説明する。フリップフロップ変更(ステップS44−1、ステップS44−2、ステップS44−3)では、バイオレーションパスの始点のフリップフロップを変更する。この時に変更するフリップフロップは、ステップS40で読み出した前段のSlack値と同値だけクロック遅延値が減少するものとする。 【0064】フリップフロップ変更(ステップS47)では、バイオレーションパスの終点のフリップフロップを変更する。この時に変更するフリップフロップは式42の結果の絶対値と同値だけクロック遅延値が増加するものとする。 【0065】全てのバイオレーションパスのクロックライン最適化を終了すると再度、最適化後の回路のバイオレーションパスの調査を始める。このように、全バイオレーションパスサーチ(ステップS8)からクロックライン最適化(ステップS11)までの工程をバイオレーションが収束するまで、または回数の制限を決めて行う。本発明の第2の実施の形態では、本発明の第1の実施の形態と比較してバイオレーション前後のパスでクロックライン最適化を行うため、バイオレーションの削減に有利である。 【0066】次に、図7を参照して、本発明の第2の実施の形態の半導体集積回路の設計方法を具体的な回路に適用した場合を説明する。 【0067】図7は、フリップフロップ48、49、50および51のそれぞれが順に接続されたパスを示す図である。 【0068】遅延素子55は、1nsの遅延を有するとする。いま、フリップフロップ49とフリップフロップ50間のパス53が、Slack=−1nsでセットアップバイオレーションを生じており、パス53の前段のパス52がSlack=+0.6ns、パス53の後段のパス54がSlack=+0.5nsであるとする。この時、式42は(+0.6ns)−|(−1ns)|=−0.4ns<0となり、パス52だけではバイオレーションを改善出来ない。 【0069】次に式46は(+0.5ns)−|(−0.4ns)|=+0.1ns>0となり、パス52とパス54の両方でパス53のバイオレーションを改善することが可能である。よって、フリップフロップ変更(ステップS44−2)でフリップフロップ49は(遅延素子55の値)− パス52のSlack値)=1ns−0.6ns=0.4nsであるから、遅延素子56が0.4nsの値のフリップフロップ49に変更される。次に、フリップフロップ変更47でフリップフロップ50は(遅延素子55の値)+|(式42の結果)|=1ns+|−0.4ns|=1.4nsであるから、遅延素子57が1.4nsの値のフリップフロップ50に変更される。この結果、バイオレーションの前後パスのクロックライン最適化でパス53のバイオレーションが改善される。 【0070】より具体的な回路で説明する。図10は本発明によるクロック調整を模式的に表したブロック図である。このクロック調整は、自動のため、各フリップフロップ毎に行うことが可能となる。すなわち、CPU303を遅延素子310、312を挿入することにより、フリップフロップ毎に最適な遅延調整ができる。 【0071】また、上述した本発明の半導体集積回路の設計方法をコンピュータ等の読みとり装置で読み込むことができる記録媒体に記録することもできる。 【0072】以上のように、本発明の第1の特徴は、動作周波数を考慮してクロックラインの配置、配線を行うことにより、レイアウト設計において全て動作周波数を考慮したタイミング調整を行うことである。 【0073】本発明の第2の特徴は、全バイオレーションパスサーチ、全バイオレーションのSlack値の格納、バイオレーションパス前後にあるフリップフロップパスのSlack値の格納を行うことによって、回路のバイオレーションを全て調査し、各データを格納することである。これらのデータをもとにクロックライン最適化を行う。 【0074】そして、本発明の第3の特徴は、フリップフロップの変更によって、クロックラインの最適化を行うことである。クロックラインに遅延素子を挿入したフリップフロップセルに置き換えることによって、フリップフロップに入力されるクロック遅延を最適化してセットアップバイオレーションを改善する。 【0075】 【発明の効果】以上、説明したように、本発明の第1の効果は、ロジック部のみの最適化だけでは目標動作周波数を達成出来ない場合でもクロックラインの最適化を行うことによって達成させることが可能である。 【0076】ロジック部の最適化で目標動作周波数を達成出来ない場合は、パイプラインの切り直しなどによる仕様変更を余儀なくされ、機能記述1へ戻ってしまい設計工数の増大を招いてしまう。 【0077】さらに、本発明の第2の効果は、目標動作周波数を達成させるためにロジック部のみの最適化を繰り返す工数を削減できることである。 【0078】例えば、ある製品においてロジック部の最適化を4回繰り返したとする。これをロジック部の最適化を2回、クロックライン最適化1回で終了したとすると、ロジック部の最適化1回あたり10時間、クロックライン最適化に5時間掛かったとして、40%弱の設計工数削減を望める。 【0079】また、本発明の第3の効果は、クロックラインの遅延調整だけで、既に配置・配線されたロジックを修正せずにバイオレーションを無くすことが可能である。この場合は、ロジック部については再配置、再配線する必要がないためロジック部の遅延に変更がない。再配置、再配線によって遅延が遅くなってしまったなどの問題が生じない。 【0080】最後に、本発明の第4の効果はバイオレーションパスの解析と補正を自動化で行うことである。バイオレーションパスが多い場合は手修正で行うことは無理であり自動化は有効である。
|
| 【出願人】 |
【識別番号】000232036 【氏名又は名称】エヌイーシーマイクロシステム株式会社
|
| 【出願日】 |
平成12年9月27日(2000.9.27) |
| 【代理人】 |
【識別番号】100082935 【弁理士】 【氏名又は名称】京本 直樹 (外2名)
|
| 【公開番号】 |
特開2002−108962(P2002−108962A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−294520(P2000−294520) |
|