配置配線装置
【課題】改訂期間の短縮およびマスク改定費用の削減を図ることが可能な配置配線装置を提供すること。
【解決手段】比較部32は、既存ネットおよび改訂情報から論理の改訂箇所を特定し、論理を合わせるための論理接続情報を抽出する。判定部33は、レイアウト情報および比較部によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する。そして、置換部34は、判定部33によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう。したがって、上位層のみの改訂によって改訂期間の短縮およびマスク改定費用の削減を図ることが可能となる。
【解決手段】比較部32は、既存ネットおよび改訂情報から論理の改訂箇所を特定し、論理を合わせるための論理接続情報を抽出する。判定部33は、レイアウト情報および比較部によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する。そして、置換部34は、判定部33によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう。したがって、上位層のみの改訂によって改訂期間の短縮およびマスク改定費用の削減を図ることが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路の自動配置配線を行なう技術に関し、特に、メタル層における配線の改訂を効率的に行なう配置配線装置に関する。
【背景技術】
【0002】
近年、半導体集積回路の高集積化が進んでおり、それに伴ってメタル層の多層化も進んでいる。従来、論理回路の変更などによってメタル層限定の改訂を行なう場合、各ネットが何層で接続されているのかが判らないため、作成したネットリストをレイアウトツールに読み込んで使用メタル層と配線収束可否の確認を行なうのが一般的である。
【0003】
メタル層を改訂することによって違反が発生した場合には違反箇所を修正し、違反がなくなるまで繰り返し改訂を行なう。その後、タイミング検証を行なって問題がないか否かを確認する必要があるため、非常に長い改訂期間が必要であった。これに関する技術として、下記の特許文献1〜2に開示された発明がある。
【0004】
特許文献1は、従来の自動配線修正方法では、修正する配線層を制限し、かつタイミングや配線経路の変更を最小限にした配線修正は困難であり、また、人手で配線修正を行なう工数が大きくなり、設計期間や開発コストの増大を招くという問題を解決することを目的とする。修正前のネットリストと修正後のネットリストの差分を取り修正または追加するネットを認識し、修正前のレイアウトで修正するネットが存在する範囲を配線修正領域とし、配線修正領域に存在するネットに対しタイミング差分値と修正または追加されたネットにタイミング制約を与える。配線経路のタイミングを検証しながら、最上層の配線から配線経路を変更し修正ネットまたは追加ネットの配線を行なうことで、修正する配線層を制限し、かつタイミングや配線経路の変更を最小限にした配線修正を可能とする。
【0005】
特許文献2は、レイアウトパターン作成後に論理回路改訂を行なった場合のレイアウトパターン作成を容易にし、マスク工程の改訂枚数を少なくすることを目的とする。フィードスルーセルを3個ずつ集め、それを数個作り、これらの3個ずつ集めたフィードスルーセルを、インバータのレイアウトパターンを持つフィードスルーセルに置き換えてレイアウトパターンを作成し、レイアウトパターン作成後に論理回路改訂を行なった場合は、フィードスルーセル修正手段により挿入したインバータのレイアウトパターンを持つフィードスルーセルの入力およびセル間配線だけの修正を行なう。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−297683号公報
【特許文献2】特開平05−326708号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述のメタル層限定の改訂方法においては、各ネットが何層で接続されているかの情報がないため、ネットリストの改訂を行なう場合には、ネットリストを作成した後にそれをレイアウトツールに読み込んでメタル層の確認を行なう。そして、要求メタル層以外のメタル層を使用している場合には、繰り返しネットリストの修正を行なっていたため、ネットリストの修正に長い時間を要していた。
【0008】
また、修正箇所が多い場合には、これらの作業に非常に長い期間を要する。そのため、殆どの品種においては改訂期間を優先し、最小限のメタル層だけでネットリストを改訂するといったことは行なわれていなかった。たとえば、6層のメタル層を有する半導体装置を作成する場合、第1層から順に第6層までを作成するといったプロセスが用いられる。第1層から第6層までを作成するにはかなりの時間を要するため、第1層のメタル層を改訂する場合には、それまでに作成されたすべてのマスクやウェハなどが無駄となってしまい、不要なマスク改訂費用などが発生するといった問題点があった。
【0009】
本発明は、上記問題点を解決するためになされたものであり、その目的は、改訂期間の短縮およびマスク改定費用の削減を図ることが可能な配置配線装置を提供することである。
【課題を解決するための手段】
【0010】
本発明の一実施例によれば、複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置が提供される。比較部は、既存ネットおよび改訂情報から論理の改訂箇所を特定し、論理を合わせるための論理接続情報を抽出する。判定部は、レイアウト情報および比較部によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する。そして、置換部は、判定部によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう。
【発明の効果】
【0011】
判定部が、レイアウト情報および比較部によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定するので、上位層のみの改訂によって改訂期間の短縮およびマスク改定費用の削減を図ることが可能となる。
【図面の簡単な説明】
【0012】
【図1】一般的なメタル層改訂の処理手順を説明するためのフローチャートである。
【図2】本発明の第1の実施の形態における配置配線装置のハードウェア構成例を示すブロック図である。
【図3】本発明の第1の実施の形態における配置配線装置の機能的構成を示すブロック図である。
【図4】本発明の第1の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図5】ネットの改訂を具体的に説明するための図である。
【図6】本発明の第2の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図7】本発明の第3の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図8】本発明の第4の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図9】本発明の第5の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図10】ダミーセルの使用方法の一例を示す図である。
【図11】本発明の第6の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図12】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図13】本発明の第7の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図14】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図15】本発明の第8の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図16】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図17】本発明の第9の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図18】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図19】本発明の第10の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図20】ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図21】本発明の第11の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図22】ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図23】本発明の第12の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図24】トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図25】本発明の第13の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図26】トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図27】本発明の第14の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図28】トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。
【発明を実施するための形態】
【0013】
図1は、一般的なメタル層改訂の処理手順を説明するためのフローチャートである。まず、各ネットが何層で接続されているのかが判らないので、論理回路情報からネットリストを作成する(S11)。そして、作成したネットリストをレイアウトツールに読み込み(S12)、ネットリスト改訂に使用するメタル層(使用メタル層)と配線収束可否の確認を行なう(S13)。確認結果に問題があれば(S13,NG)、ステップS11に戻って以降の処理を繰り返す。
【0014】
また、確認結果に問題がなければ(S13,OK)、改訂後のネットリストを用いてSTA(Static Timing Analysis)を行なって(S14)、タイミング確認を行なう(S15)。タイミング確認において違反があれば(S15,VIOLATION)、ステップS11に戻って以降の処理を繰り返す。また、タイミング確認において違反がなければ(S15,MET)、処理を終了する。
【0015】
このように、タイミング確認において違反がなくなるまで繰り返しネットリストの修正を行なう必要があるため、ネットリストの修正に長い時間を要していた。本発明の実施の形態における配置配線装置は、メタル層の上位層から順に配線の繋ぎ換えの可否を確認し、改訂期間の短縮および改訂費用の削減を図るものである。
【0016】
(第1の実施の形態)
図2は、本発明の第1の実施の形態における配置配線装置のハードウェア構成例を示すブロック図である。配置配線装置は、一般的なコンピュータによって実現され、コンピュータ本体1、ディスプレイ装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc-Read Only Memory)8が装着されるCD−ROM装置7、およびネットワーク通信装置9を含む。配置配線プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。配置配線プログラムがコンピュータ本体1によって実行されることにより、メタル層改定後のレイアウトが生成される。また、配置配線プログラムは他のコンピュータより通信回線を経由し、コンピュータ本体1に供給されてもよい。
【0017】
また、コンピュータ本体1は、CPU10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行なう。FD4またはCD−ROM8に記録された配置配線プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介してハードディスク13に格納される。CPU10は、ハードディスク13から適宜配置配線プログラムをRAM12にロードして実行することによって、メタル層改定後のレイアウトが生成される。
【0018】
図3は、本発明の第1の実施の形態における配置配線装置の機能的構成を示すブロック図である。この配置配線装置は、コンピュータ本体1のCPU10がRAM12などに格納されるプログラム21を実行することによって、配置部31、比較部32、判定部33および置換部34の機能を実現する。また、RAM12などの記憶部22には、既存ネット情報41、改訂情報42、タイミング違反情報43およびトランジション違反情報44などの情報が記憶される。設計者は、既存ネット情報41および改訂情報42、または論理変更を必要としないタイミング違反情報43やトランジション違反情報44などを入力し、設計ツール20の記憶部22にその情報を記憶させる。
【0019】
配置部31は、レイアウト情報からネットリストの改訂箇所周辺の配置情報および配線情報を抽出する。
【0020】
比較部32は、改訂箇所がフリップフロップ(以下、F/Fと略す。)間の場合には、改訂箇所から入力側の方向にF/Fまでの論理回路を探索してゆき、改訂箇所が端子とF/Fとの間の場合には、改訂箇所から入力側の方向に端子またはF/Fまでの論理回路を探索してゆき、論理マトリクスを生成する。そして、既存ネットの論理マトリクスと、作成した改訂ネットの論理マトリクスとを比較して、論理変更の具体的な箇所と改訂内容とを、改訂内容が容易な順に複数の候補を抽出する。
【0021】
判定部33は、レイアウト情報から論理変更の候補箇所が何層で接続されているかの情報と、追加が必要なセルが何層にあるかの情報とを抽出する。たとえば、メタル層が6層の場合には、最初に最上位層である第6層のみで、比較部32によって抽出された論理変更情報と同じ機能の論理回路のネットへ繋ぎ換えることが可能か否かを確認する。論理変更候補の中のいずれかが第6層で繋がっており、追加が必要なセルも第6層にあれば、第6層のみでの繋ぎ換えが可能となる。第6層のみでは不可能な場合には、第5層のみでネットの繋ぎ換えの可否を判定する。それでも不可能な場合には、第5層と第6層とでネットの繋ぎ換えの可否を判定する。そして、同様にして、第4層と第6層、第4層〜第6層…というようにネットの繋ぎ換えの可否を判定する。
【0022】
置換部34は、判定部33によって繋ぎ換え可能と判定された階層で、比較部32によって抽出された変更後の論理回路のネットへの繋ぎ換えを実施する。
【0023】
図4は、本発明の第1の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S21)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S22)。
【0024】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S23)、論理を合わせるための論理/接続情報を抽出する(S24)。ここで抽出されるのは、論理の修正箇所のみである。
【0025】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S25)。第6層のみでの繋ぎ換えが可能な場合には(S25,OK)、ステップS29に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0026】
また、第6層のみでの繋ぎ換えが不可能な場合には(S25,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S26)。第5層のみでの繋ぎ換えが可能な場合には(S26,OK)、ステップS29に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0027】
また、第5層のみでの繋ぎ換えが不可能な場合には(S26,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S27)。第5層および第6層での繋ぎ換えが可能な場合には(S27,OK)、ステップS29に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0028】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S28)。第1層〜第6層での繋ぎ換えが可能な場合には(S28,OK)、ステップS29に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0029】
ステップS29において、置換部34は、繋ぎ換えを行なった後のネットの情報である改訂ネット53と、どの層でネットの繋ぎ換えを行なったかを付加したレイアウト情報である改訂結果情報54を生成する。
【0030】
図5は、ネットの改訂を具体的に説明するための図である。図5(a)は、既存ネット情報51および改訂情報52の一例を示している。改訂情報52には、どの階層(インスタンス)に、どのタイプのセルが幾ついるかという情報が記述されており、ネットの改訂でも可能である。図5(a)においては、バッファS4の出力にインバータ(INV)が1つ必要であることが記述されている。
【0031】
図5(b)は、既存ネット情報51に改訂情報52を仮想的に反映したときのネットを示している。図5(b)に示すように、バッファS4とANDゲートS7との間にインバータが付加されている。
【0032】
図5(c)は、F/Fから改訂箇所までの論理マトリクスを示す図である。改訂情報の変更箇所から入力側に遡り、全てのF/Fから全ての条件(3ビットの場合には8通り)をシミュレートし、改訂箇所までの論理マトリクス情報を生成する。
【0033】
既存ネットにおいては、F/F(S1〜S3)の出力が“111”のときにANDゲートS7の出力が“1”となり、それ以外のときにANDゲートS7の出力が“0”となることを示している。
【0034】
論理改訂ネットにおいては、F/F(S1〜S3)の出力が“011”のときにANDゲートS7の出力が“1”となり、それ以外のときにANDゲートS7の出力が“0”となることを示している。
【0035】
図5(d)は、論理マトリクスの比較によって生成された論理回路を示している。既存ネットの論理マトリクスと論理改訂ネットの論理マトリクスとから、マトリクスまたは回路に合成して比較し、どこにどのような論理が必要であるかを特定する。
【0036】
図5(e)は、論理を合わせるための論理接続情報を示す図である。繋ぎ換え可能な箇所として、F/F(S1)とバッファS4とを接続するネット(候補1)、およびバッファS4とANDゲートS7とを接続するネット(候補2)とが抽出される。
【0037】
図5(f)は、繋ぎ換え可否の確認を示す図である。レイアウト情報から、候補がメタル層の何層で接続されているか、周辺の必要なダミーセルが何層に配置されているかを抽出し、上層から順に繋ぎ換えの可否を判定する。
【0038】
以上説明したように、本実施の形態における配置配線装置によれば、既存ネットの論理マトリクスと改訂論理ネットの論理マトリクスとを比較し、論理を合わせるための修正情報を生成する。そして、最上位層から順にネットの繋ぎ換えの可否確認を行ない、ネットおよびレイアウトを生成するようにした。メタル改訂は、スライス工程が第1メタル層から順に処理される。そのため、上位層のみの改訂によって改訂期間の短縮およびマスク改定費用の削減を図ることができ、最小限のメタル数で改訂を行なうことが可能となった。
【0039】
(第2の実施の形態)
第1の実施の形態においては、端子またはF/Fから論理改訂箇所までの論理マトリクスを生成し、論理を合わせるための論理/接続情報を抽出してネットの繋ぎ換えを行なうものであった。本発明の第2の実施の形態においては、論理一致箇所も含めた論理の中で、論理変更が容易な順に複数の候補を抽出するものである。
【0040】
本発明の第2の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0041】
図6は、本発明の第2の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S31)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S32)。
【0042】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S33)、論理を合わせるための論理/接続情報を抽出する(S34)。ここで抽出されるのは、論理の修正箇所以外に論理一致箇所も含むものとする。たとえば、論理の修正箇所から出力側に接続される幾つかの論理セルを含める。
【0043】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S35)。第6層のみでの繋ぎ換えが可能な場合には(S35,OK)、ステップS39に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0044】
また、第6層のみでの繋ぎ換えが不可能な場合には(S35,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S36)。第5層のみでの繋ぎ換えが可能な場合には(S36,OK)、ステップS39に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0045】
また、第5層のみでの繋ぎ換えが不可能な場合には(S36,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S37)。第5層および第6層での繋ぎ換えが可能な場合には(S37,OK)、ステップS39に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0046】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S38)。第1層〜第6層での繋ぎ換えが可能な場合には(S38,OK)、ステップS39に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0047】
以上説明したように、本実施の形態における配置配線装置によれば、論理一致箇所も含めた論理の中で、論理変更が容易な順に複数の候補を抽出して繋ぎ換えの可否を確認するようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0048】
(第3の実施の形態)
第1〜第2の実施の形態においては、端子またはF/Fから論理改訂箇所までの論理マトリクスを生成し、論理を合わせるための論理/接続情報を抽出する際に、特に論理セルを限定するものではなかった。本発明の第3の実施の形態においては、論理を合わせるための論理セルを抽出するときに、予め配置されたダミーセルの中から近いものを用いるものである。なお、ダミーセルには、ANDゲート、ORゲート、インバータ、F/Fなどが含まれる。
【0049】
本発明の第3の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置情報は、図3に示す記憶部22に記憶させる。
【0050】
図7は、本発明の第3の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S41)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S42)。
【0051】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S43)、論理を合わせるための論理/接続情報を抽出する(S44)。ここで抽出されるのは、論理の修正箇所に近いダミーセルである。
【0052】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S45)。第6層のみでの繋ぎ換えが可能な場合には(S45,OK)、ステップS49に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0053】
また、第6層のみでの繋ぎ換えが不可能な場合には(S45,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S46)。第5層のみでの繋ぎ換えが可能な場合には(S46,OK)、ステップS49に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0054】
また、第5層のみでの繋ぎ換えが不可能な場合には(S46,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S47)。第5層および第6層での繋ぎ換えが可能な場合には(S47,OK)、ステップS49に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0055】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S48)。第1層〜第6層での繋ぎ換えが可能な場合には(S48,OK)、ステップS49に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0056】
以上説明したように、本実施の形態における配置配線装置によれば、論理を合わせるための論理セルを抽出するときに、予め配置されたダミーセルの中から近いものを用いるようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0057】
(第4の実施の形態)
第3の実施の形態においては、論理を合わせるための論理セルを抽出するときに、予め配置されたダミーセルの中から近いものを用いるものであった。本発明の第4の実施の形態においては、論理を合わせるための論理セルを抽出するときに、近くに適切なダミーセルがない場合には、各層のダミーセルの入力の一部を固定したり、複数のダミーセルを組み合わたりすることによって適切な論理回路とするものである。
【0058】
本発明の第4の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置情報は、図3に示す記憶部22に記憶させる。
【0059】
図8は、本発明の第4の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、比較部32は、改訂情報52を参照して論理改訂箇所を特定する(S51)。そして、配置部31は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S52)。
【0060】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S53)、論理を合わせるための論理/接続情報を抽出する(S54)。ここで、近くに適切なダミーセルがない場合には、各層のダミーセルの入力の一部を固定したり、複数のダミーセルを組み合わせたりすることによって適切な論理回路とする。
【0061】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S55)。第6層のみでの繋ぎ換えが可能な場合には(S55,OK)、ステップS59に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0062】
また、第6層のみでの繋ぎ換えが不可能な場合には(S55,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S56)。第5層のみでの繋ぎ換えが可能な場合には(S56,OK)、ステップS59に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0063】
また、第5層のみでの繋ぎ換えが不可能な場合には(S56,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S57)。第5層および第6層での繋ぎ換えが可能な場合には(S57,OK)、ステップS59に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0064】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S58)。第1層〜第6層での繋ぎ換えが可能な場合には(S58,OK)、ステップS59に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0065】
以上説明したように、本実施の形態における配置配線装置によれば、論理を合わせるための論理セルを抽出するときに、近くに適切なダミーセルがない場合には、各層のダミーセルの入力の一部を固定したり、複数のダミーセルを組み合わせたりすることによって適切な論理回路とするようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0066】
(第5の実施の形態)
本発明の第5の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置情報及びレイアウトパラメータ、配置/配線情報は、図3に示す記憶部22に記憶させる。
【0067】
図9は、本発明の第5の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S61)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S62)。
【0068】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S63)、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S64)。ここで、レイアウトパラメータには、抵抗、容量、インダクタンスなどの情報が含まれる。
【0069】
次に、比較部32は、論理を合わせるための論理/接続情報を抽出する(S65)。ここでは、対象箇所の周辺において既存ネット内の適応セルと同じタイプのダミーセルが抽出される。
【0070】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S66)。第6層のみでの繋ぎ換えが可能な場合には(S66,OK)、ステップS70に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0071】
また、第6層のみでの繋ぎ換えが不可能な場合には(S66,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S67)。第5層のみでの繋ぎ換えが可能な場合には(S67,OK)、ステップS70に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0072】
また、第5層のみでの繋ぎ換えが不可能な場合には(S67,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S68)。第5層および第6層での繋ぎ換えが可能な場合には(S68,OK)、ステップS70に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0073】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S69)。第1層〜第6層での繋ぎ換えが可能な場合には(S69,OK)、ステップS70に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0074】
図10は、ダミーセルの使用方法の一例を示す図である。図10(a)は、改訂前の論理回路およびネットの一例を示している。ここで、改訂対象回路の中のANDゲートS1とバッファS2との間にインバータを追加するものとする。
【0075】
図10(b)は、改訂後の論理回路およびネットの一例を示している。通常であれば、ANDゲートS1とバッファS2との間にダミーセルであるインバータS6を追加するが、このダミーセルS6が近くにない場合には、レイアウトパラメータ(配置/配線)情報より周辺の既存回路内に適切なセルがないかを確認し、近くにある既存回路内のインバータS4を使用する。そして、既存回路のORゲートS3とORゲートS5との間にダミーセルであるインバータS6を接続する。
【0076】
以上説明したように、本実施の形態における配置配線装置によれば、改訂対象回路の周辺に適切なダミーセルがない場合には、既存回路内のセルを繋ぎ換えるようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0077】
(第6の実施の形態)
本発明の第6の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、レイアウトパラメータ、配置/配線情報は、図3に示す記憶部22に記憶させる。
【0078】
図11は、本発明の第6の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S71)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0079】
次に、配置部31は、セットアップ違反パスの中で、バイパスできる箇所の前後数セル分の配置/配線情報を抽出する(S72)。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S73)。すなわち、セットアップ違反している経路の各セルに対して、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、バッファなどのバイパスさせても論理が変わらないセルの前後数セル分の配置/配線情報を抽出する。
【0080】
次に、比較部32は、仮想的にバイパスした場合に、レイアウトパラメータ情報を参照して現状よりも遅延が早くなるか否かを計算する(S74)。たとえば、仮にバッファをバイパスした際のタイミングを計算し、現状よりも早くなる場合にはレイアウトに対してバイパスの繋ぎ換えを行なう。
【0081】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S75)。第6層のみでの繋ぎ換えが可能な場合には(S75,OK)、ステップS79に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0082】
また、第6層のみでの繋ぎ換えが不可能な場合には(S75,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S76)。第5層のみでの繋ぎ換えが可能な場合には(S76,OK)、ステップS79に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0083】
また、第5層のみでの繋ぎ換えが不可能な場合には(S76,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S77)。第5層および第6層での繋ぎ換えが可能な場合には(S77,OK)、ステップS79に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0084】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S78)。第1層〜第6層での繋ぎ換えが可能な場合には(S78,OK)、ステップS79に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0085】
図12は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図12(a)は、変更前のレイアウトを示しており、ANDゲートS1とインバータS3との間にバッファS2が接続されている。ここで、ANDゲートS1の出力側に接続されるF/Fにおいてセットアップ違反が発生しているものとする。
【0086】
図12(b)は、変更後のレイアウトを示しており、バッファS2をバイパスしたときに遅延が早くなる場合には、ANDゲートS1とインバータS3とが直接接続されるようにネットが繋ぎ換えられる。
【0087】
以上の説明においては、セットアップエラーを解消するためにネットを繋ぎ換えるものであったが、消費電力を下げたい場合には、該当経路の近くのダミーセルの中で既存セルよりも貫通電流が低いセルの配置/配線情報を抽出し、セルを置き換えたときの電流値を計算して条件を満足する場合にはネットを繋ぎ換えてネットリストおよびレイアウトを生成するようにしてもよい。
【0088】
また、消費電力を下げたい場合には、該当経路の近くのダミーセルの中で既存セルよりもドライブしているセルまでのトータル配線長が短いセルの配置/配線情報を抽出し、セルを置き換えたときの電流値を計算して条件を満足する場合にはネットを繋ぎ換えてネットリストおよびレイアウトを生成するようにしてもよい。
【0089】
また、クロックラインは常にH/L動作を繰り返すため、段数を少なくすることで消費電力を削減することができる。クロックラインのレイアウトパラメータ(抵抗、容量、インダクタンス)情報を参照して、容量が小さいクロックライン上のセル情報を抽出し、仮想的に対象セルをバイパスした際のタイミング検証を行ない、タイミングを満足する場合にはネットを繋ぎ換えてネットリストおよびレイアウトを生成するようにしてもよい。
【0090】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、バッファなどのバイパスさせても論理が変わらないセルの前後数セル分の配置/配線情報を抽出し、現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0091】
(第7の実施の形態)
第6の実施の形態においては、バッファなどのバイパスさせても論理が変わらないセルを抽出してセットアップ違反を解消するものであった。本発明の第7の実施の形態においては、ドライブ能力が高い同一機能のセルに置換することによってセットアップ違反を解消するものである。
【0092】
本発明の第7の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ、配置/配線情報は、図3に示す記憶部22に記憶させる。
【0093】
図13は、本発明の第7の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S81)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0094】
次に、配置部31は、セットアップ違反箇所の近くにあるダミーセルの中で、ドライブ能力の高い同一セルか、入力端子の一部を固定することによって同一機能となる複合セルの情報を抽出する(S82)。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S83)。
【0095】
次に、比較部32は、レイアウトパラメータ情報を参照して仮に対象セルをダミーセルに置き換えた場合のタイミングを計算し、現状よりも遅延が早くなるか否かを計算する(S84)。
【0096】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S75)。第6層のみでの繋ぎ換えが可能な場合には(S85,OK)、ステップS89に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0097】
また、第6層のみでの繋ぎ換えが不可能な場合には(S85,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S86)。第5層のみでの繋ぎ換えが可能な場合には(S86,OK)、ステップS89に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0098】
また、第5層のみでの繋ぎ換えが不可能な場合には(S86,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S87)。第5層および第6層での繋ぎ換えが可能な場合には(S87,OK)、ステップS89に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0099】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S88)。第1層〜第6層での繋ぎ換えが可能な場合には(S88,OK)、ステップS89に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0100】
図14は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図14(a)は、変更前のレイアウトを示しており、ANDゲートS1とANDゲートS4との間にインバータS2が接続されている。ここで、ANDゲートS1の出力側に接続されるF/Fにおいてセットアップ違反が発生しているものとする。
【0101】
図14(b)は、変更後のレイアウトを示しており、ANDゲートS1とANDゲートS4との間のインバータS2をダミーセルS3に置換したときに遅延が早くなる場合には、ANDゲートS1とANDゲートS4との間にダミーセルS3が接続されるようにネットが繋ぎ換えられる。
【0102】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、ドライブ能力の高いダミーセルなどに置換して現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0103】
(第8の実施の形態)
第7の実施の形態においては、ドライブ能力が高い同一機能のダミーセルに置換することによってセットアップ違反を解消するものであった。第8の実施の形態においては、改訂対象回路の周辺に適切なダミーセルがない場合には、既存回路内のセルを繋ぎ換えるものである。
【0104】
本発明の第8の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ、配置/配線情報及びタイミングマージン情報は、図3に示す記憶部22に記憶させる。
【0105】
図15は、本発明の第8の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S91)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0106】
次に、比較部32は、対象箇所の周辺において既存ネット内の適応セルと同じタイプのダミーセルの組合せ情報を抽出する(S92)。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S93)。ここで、比較部32は、タイミングマージン情報56を参照してセットアップマージンが大きい既存ネット内の適応セルを抽出するものとする。
【0107】
次に、比較部32は、レイアウトパラメータ情報を参照して仮に対象セルを既存ネット内のセルに置き換えた場合のタイミングを計算し、現状よりも遅延が早くなるか否かを計算する(S94)。
【0108】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S95)。第6層のみでの繋ぎ換えが可能な場合には(S95,OK)、ステップS99に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0109】
また、第6層のみでの繋ぎ換えが不可能な場合には(S95,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S96)。第5層のみでの繋ぎ換えが可能な場合には(S96,OK)、ステップS99に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0110】
また、第5層のみでの繋ぎ換えが不可能な場合には(S96,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S97)。第5層および第6層での繋ぎ換えが可能な場合には(S97,OK)、ステップS99に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0111】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S98)。第1層〜第6層での繋ぎ換えが可能な場合には(S98,OK)、ステップS99に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0112】
図16は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図16(a)は、変更前のレイアウトを示しており、改訂対象回路の中のANDゲートS1とバッファS2との間にドライブ能力が高いバッファを追加するものとする。
【0113】
図16(b)は、改訂後の論理回路およびネットの一例を示している。通常であれば、ANDゲートS1とバッファS2との間にドライブ能力が高いダミーセルS6を追加するが、このダミーセルS6が近くにない場合には、レイアウトパラメータ(配置/配線)情報より周辺の既存回路内に適切なセルがないかを確認し、近くにある既存回路内のバッファS4を使用する。そして、遅延時間が現状よりも早くなる場合には、ネットの繋ぎ換えを行なって既存回路のORゲートS3とORゲートS5との間にダミーセルS6を接続する。
【0114】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、近くにドライブ能力の高いダミーセルがない場合には、既存回路のセルに接続して現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0115】
(第9の実施の形態)
第8の実施の形態においては、改訂対象回路の周辺に適切なダミーセルがない場合には、既存回路内のセルを繋ぎ換えるものであった。本発明の第9の実施の形態においては、セットアップ違反が発生している経路のセルのドライブ能力が低い場合には、そのセルと同じタイプのセルを有する経路を抽出し、セルの置き換えを行なうものである。
【0116】
本発明の第9の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ、配置/配線情報及びタイミングマージン情報は、図3に示す記憶部22に記憶させる。
【0117】
図17は、本発明の第9の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S101)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0118】
次に、比較部32は、対象箇所の周辺において既存ネット内の同じタイプのダミーセルの情報を抽出する(S102)。ここで、比較部32は、タイミングマージン情報56を参照してセットアップマージンが大きい既存ネット内の適応セルを抽出する。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S103)。
【0119】
次に、比較部32は、レイアウトパラメータ情報を参照して仮に対象セルを既存ネット内のセルに置き換えた場合のタイミングを計算し、現状よりも遅延が早くなるか否かを計算する(S104)。
【0120】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S105)。第6層のみでの繋ぎ換えが可能な場合には(S105,OK)、ステップS109に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0121】
また、第6層のみでの繋ぎ換えが不可能な場合には(S105,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S106)。第5層のみでの繋ぎ換えが可能な場合には(S106,OK)、ステップS109に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0122】
また、第5層のみでの繋ぎ換えが不可能な場合には(S106,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S107)。第5層および第6層での繋ぎ換えが可能な場合には(S107,OK)、ステップS109に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0123】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S108)。第1層〜第6層での繋ぎ換えが可能な場合には(S108,OK)、ステップS109に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0124】
図18は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図18(a)は、変更前のレイアウトを示しており、セットアップ違反箇所においてANDゲートS1とインバータS2とが接続されている。また、セットアップマージンを有するネットにおいてEX−ORゲートS3とインバータS4とが接続されている。
【0125】
図18(b)は、改訂後の論理回路およびネットの一例を示している。セットアップ違反箇所のANDゲートS1に接続されていたインバータS2が、セットアップマージンを有するネットのインバータS4に置き換えられて、タイミング計算が行なわれる。そして、遅延時間が現状よりも早くなる場合には、ネットの繋ぎ換えを行なってANDゲートS1にインバータS4が接続され、EX−ORゲートS3にインバータS2が接続される。
【0126】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、セットアップマージンがあり、かつ同じタイプのセルを含む経路のセルと置き換えて、現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0127】
(第10の実施の形態)
本発明の第10の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置/配線情報は、図3に示す記憶部22に記憶させる。
【0128】
図19は、本発明の第10の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S111)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0129】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S112)。そして、各メタル層において該当箇所の近くのダミーセルの配置/配線情報を抽出する(S113)。
【0130】
次に、比較部32は、仮想的にダミーセルを追加した場合に、レイアウトパラメータ情報を参照して現状よりも遅延が遅くなるか否かを計算する(S114)。たとえば、仮にバッファを追加した際のタイミングを計算し、現状よりも遅くなる場合にはレイアウトに対してバッファの追加を行なう。そして、ホールド違反が解消されているか否かを確認する(S115)。
【0131】
ホールド違反が解消されていない場合には(S115,NG)、ステップS113に戻って以降の処理を繰り返す。また、ホールド違反が解消されている場合(S115,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S116)。第6層のみでの繋ぎ換えが可能な場合には(S116,OK)、ステップS120に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0132】
また、第6層のみでの繋ぎ換えが不可能な場合には(S116,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S117)。第5層のみでの繋ぎ換えが可能な場合には(S117,OK)、ステップS120に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0133】
また、第5層のみでの繋ぎ換えが不可能な場合には(S117,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S118)。第5層および第6層での繋ぎ換えが可能な場合には(S118,OK)、ステップS120に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0134】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S119)。第1層〜第6層での繋ぎ換えが可能な場合には(S119,OK)、ステップS120に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0135】
図20は、ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。図20(a)は、変更前のレイアウトを示しており、F/F(S1)とF/F(S4)との間にANDゲートS2が接続されている。F/F(S4)においてホールド違反が発生しているものとする。
【0136】
図20(b)は、変更後のレイアウトを示しており、ANDゲートS2とF/F(S4)との間にダミーセルS3を追加したときに遅延が遅くなる場合には、ANDゲートS2とF/F(S4)との間にダミーセルS3を接続するようにネットが繋ぎ換えられる。
【0137】
以上説明したように、本実施の形態における配置配線装置によれば、ホールド違反が発生している経路に対して、バッファなどの論理が変わらないセルを追加し、現状よりも遅延が遅くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0138】
(第11の実施の形態)
第10の実施の形態においては、バッファなどの追加しても論理が変わらないセルを挿入してホールド違反を解消するものであった。本発明の第11の実施の形態においては、ホールドマージンに余裕がある経路内の同一機能のセルに置換することによってホールド違反を解消するものである。
【0139】
本発明の第11の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するホールドマージンに余裕がある経路の配置/配線情報は、図3に示す記憶部22に記憶させる。
【0140】
図21は、本発明の第11の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S121)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0141】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S122)。そして、各メタル層の該当箇所の近辺においてホールドマージンに余裕がある経路の配置/配線情報を抽出する(S123)。
【0142】
次に、比較部32は、仮想的にホールドマージンに余裕がある経路の同一機能のセルに置換した場合に、レイアウトパラメータ情報を参照して現状よりも遅延が遅くなるか否かを計算する(S124)。たとえば、仮にバッファを置換した際のタイミングを計算し、現状よりも遅くなる場合にはレイアウトに対してバッファの置換を行なう。そして、ホールド違反が解消されているか否かを確認する(S125)。
【0143】
ホールド違反が解消されていない場合には(S125,NG)、ステップS123に戻って以降の処理を繰り返す。また、ホールド違反が解消されている場合(S125,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S126)。第6層のみでの繋ぎ換えが可能な場合には(S126,OK)、ステップS130に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0144】
また、第6層のみでの繋ぎ換えが不可能な場合には(S126,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S127)。第5層のみでの繋ぎ換えが可能な場合には(S127,OK)、ステップS130に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0145】
また、第5層のみでの繋ぎ換えが不可能な場合には(S127,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S128)。第5層および第6層での繋ぎ換えが可能な場合には(S128,OK)、ステップS130に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0146】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S129)。第1層〜第6層での繋ぎ換えが可能な場合には(S129,OK)、ステップS130に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0147】
図22は、ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。図22(a)は、変更前のレイアウトを示しており、F/F(S1)とF/F(S3)との間にANDゲートS2が接続されている。F/F(S3)においてホールド違反が発生しているものとする。また、F/F(S4)とF/F(S8)との間にバッファS5〜S7が接続されている。F/F(S8)においてホールドマージンに余裕があるものとする。
【0148】
図22(b)は、変更後のレイアウトを示しており、ANDゲートS2とF/F(S3)との間にバッファS6およびS7を接続したときに遅延が遅くなる場合には、ANDゲートS2とF/F(S3)との間にバッファS6およびS7を接続するようにネットが繋ぎ換えられる。
【0149】
以上説明したように、本実施の形態における配置配線装置によれば、ホールド違反が発生している経路に対して、ホールドマージンに余裕がある経路の同一機能のセルを接続し、現状よりも遅延が遅くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0150】
(第12の実施の形態)
本発明の第12の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するミーセルの配置/配線情報及びレイアウトパラメータ情報は、図3に示す記憶部22に記憶させる。
【0151】
図23は、本発明の第12の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびトランジション違反情報57を参照して、トランジション違反箇所がドライブしているセルとその周辺セルの配置/接続情報を抽出する(S131)。トランジション違反情報57は、タイミング検証などによって予め作成されているものとする。
【0152】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S132)。そして、各メタル層において該当箇所の近くのダミーセルの配置/配線情報を抽出する(S133)。
【0153】
次に、比較部32は、仮想的にダミーセルを追加した場合に、レイアウトパラメータ情報を参照して現状よりもトランジションエラーの値が小さくなるか否かを計算する(S134)。
【0154】
トランジション違反が解消されていない場合には(S135,NG)、ステップS133に戻って以降の処理を繰り返す。また、トランジション違反が解消されている場合(S135,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S136)。第6層のみでの繋ぎ換えが可能な場合には(S136,OK)、ステップS140に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0155】
また、第6層のみでの繋ぎ換えが不可能な場合には(S136,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S137)。第5層のみでの繋ぎ換えが可能な場合には(S137,OK)、ステップS140に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0156】
また、第5層のみでの繋ぎ換えが不可能な場合には(S137,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S138)。第5層および第6層での繋ぎ換えが可能な場合には(S138,OK)、ステップS140に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0157】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S139)。第1層〜第6層での繋ぎ換えが可能な場合には(S139,OK)、ステップS140に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0158】
図24は、トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。図24(a)は、変更前のレイアウトを示しており、インバータS4がANDゲートS1〜S3に接続されている。この経路においてトランジション違反が発生している。
【0159】
図24(b)は、変更後のレイアウトを示しており、インバータS4とANDゲートS1〜S3との間にダミーセルS5を追加したときにトランジション違反が解消される場合には、インバータS4とANDゲートS1〜S3との間にダミーセルS5を接続するようにネットが繋ぎ換えられる。
【0160】
以上説明したように、本実施の形態における配置配線装置によれば、トランジション違反が発生している経路に対して、バッファなどの論理が変わらないセルを追加し、現状よりもトランジションエラーが小さくなる場合には上位層から順に配線の繋ぎ換えを行ない、トランジション違反が解消されるようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0161】
(第13の実施の形態)
第12の実施の形態においては、トランジション違反が発生しているネットにダミーセルを追加することによってトランジション違反を解消するものであった。第13の実施の形態においては、トランジション違反が発生しているネットを複数に分けて、トランジション違反を解消するものである。
【0162】
本発明の第13の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するミーセルの配置/配線情報及びレイアウトパラメータ情報は、図3に示す記憶部22に記憶させる。
【0163】
図25は、本発明の第13の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびトランジション違反情報57を参照して、トランジション違反箇所がドライブしているセルとその周辺セルの配置/接続情報を抽出する(S141)。トランジション違反情報57は、タイミング検証などによって予め作成されているものとする。
【0164】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S142)。そして、各メタル層において該当箇所の近くのダミーセルの配置/配線情報を抽出する(S143)。
【0165】
次に、比較部32は、仮想的にトランジション違反箇所のネットを分けた場合に、レイアウトパラメータ情報を参照して現状よりもトランジションエラーの値が小さくなるか否かを計算する(S144)。
【0166】
トランジション違反が解消されていない場合には(S145,NG)、ステップS143に戻って以降の処理を繰り返す。また、トランジション違反が解消されている場合(S145,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S146)。第6層のみでの繋ぎ換えが可能な場合には(S146,OK)、ステップS150に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0167】
また、第6層のみでの繋ぎ換えが不可能な場合には(S146,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S147)。第5層のみでの繋ぎ換えが可能な場合には(S147,OK)、ステップS150に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0168】
また、第5層のみでの繋ぎ換えが不可能な場合には(S147,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S148)。第5層および第6層での繋ぎ換えが可能な場合には(S148,OK)、ステップS150に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0169】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S149)。第1層〜第6層での繋ぎ換えが可能な場合には(S149,OK)、ステップS150に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0170】
図26は、トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。図26(a)は、変更前のレイアウトを示しており、インバータS9がバッファS1〜S6に接続されている。この経路においてトランジション違反が発生している。
【0171】
図26(b)は、変更後のレイアウトを示しており、インバータS9とバッファS1〜S6とを接続するネットが2つに分けられ、さらにそれぞれのネットにダミーセルS7およびS8が追加される。トランジション違反が解消される場合には、図26(b)に示すようにネットが繋ぎ換えられる。
【0172】
以上説明したように、本実施の形態における配置配線装置によれば、トランジション違反が発生している経路に対してネットを複数に分けて、現状よりもトランジションエラーが小さくなる場合には上位層から順に配線の繋ぎ換えを行ない、トランジション違反が解消されるようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0173】
(第14の実施の形態)
第13の実施の形態においては、トランジション違反が発生しているネットを複数に分けて、トランジション違反を解消するものであった。第14の実施の形態においては、トランジション違反が発生している経路のセルを、該当経路近くのセットアップ、ホールド、トランジションにマージンがある経路の同一機能のセルと置換してトランジション違反を解消するものである。
【0174】
本発明の第14の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ情報及びセットアップ、ホールド、トランジションにマージンがある既存回路の配置/配線情報は図3に示す記憶部22に記憶させる。
【0175】
図27は、本発明の第14の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびトランジション違反情報57を参照して、トランジション違反箇所がドライブしているセルとその周辺セルの配置/接続情報を抽出する(S151)。トランジション違反情報57は、タイミング検証などによって予め作成されているものとする。
【0176】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S152)。そして、各メタル層の該当箇所近辺にあるセットアップ、ホールド、トランジションにマージンがある既存回路の配置/配線情報を抽出する(S153)。
【0177】
次に、比較部32は、仮想的にトランジション違反箇所の経路のセルを、マージンがある既存回路のセルに置換した場合に、レイアウトパラメータ情報を参照して現状よりもトランジションエラーの値が小さくなるか否かを計算する(S154)。
【0178】
トランジション違反が解消されていない場合には(S155,NG)、ステップS153に戻って以降の処理を繰り返す。また、トランジション違反が解消されている場合(S155,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S156)。第6層のみでの繋ぎ換えが可能な場合には(S156,OK)、ステップS150に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0179】
また、第6層のみでの繋ぎ換えが不可能な場合には(S156,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S157)。第5層のみでの繋ぎ換えが可能な場合には(S157,OK)、ステップS160に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0180】
また、第5層のみでの繋ぎ換えが不可能な場合には(S157,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S158)。第5層および第6層での繋ぎ換えが可能な場合には(S158,OK)、ステップS160に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0181】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S159)。第1層〜第6層での繋ぎ換えが可能な場合には(S159,OK)、ステップS160に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0182】
図28は、トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。図28(a)は、変更前のレイアウトを示しており、バッファS6がANDゲートS1〜S3に接続されている。この経路においてトランジション違反が発生している。
【0183】
図28(b)は、変更後のレイアウトを示しており、バッファS6の出力側のネットが既存回路内のバッファS4の出力側のネットに置換されている。これによって、トランジション違反が解消される場合には、図28(b)に示すようにネットが繋ぎ換えられる。
【0184】
以上説明したように、本実施の形態における配置配線装置によれば、トランジション違反が発生している経路のセルを、該当経路近くのセットアップ、ホールド、トランジションにマージンがある経路の同一機能のセルと置換して、トランジション違反が解消されるようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0185】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0186】
1 コンピュータ本体、2 ディスプレイ装置、3 FDドライブ、4 FD、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9 ネットワーク通信装置、10 CPU、11 ROM、12 RAM、13 ハードディスク、20 設計ツール、21 プログラム、22 記憶部、31 配置部、32 比較部、33 判定部、34 置換部、41 既存ネット情報、42 改訂情報、43 タイミング違反情報、44 トランジション違反情報。
【技術分野】
【0001】
本発明は、半導体集積回路の自動配置配線を行なう技術に関し、特に、メタル層における配線の改訂を効率的に行なう配置配線装置に関する。
【背景技術】
【0002】
近年、半導体集積回路の高集積化が進んでおり、それに伴ってメタル層の多層化も進んでいる。従来、論理回路の変更などによってメタル層限定の改訂を行なう場合、各ネットが何層で接続されているのかが判らないため、作成したネットリストをレイアウトツールに読み込んで使用メタル層と配線収束可否の確認を行なうのが一般的である。
【0003】
メタル層を改訂することによって違反が発生した場合には違反箇所を修正し、違反がなくなるまで繰り返し改訂を行なう。その後、タイミング検証を行なって問題がないか否かを確認する必要があるため、非常に長い改訂期間が必要であった。これに関する技術として、下記の特許文献1〜2に開示された発明がある。
【0004】
特許文献1は、従来の自動配線修正方法では、修正する配線層を制限し、かつタイミングや配線経路の変更を最小限にした配線修正は困難であり、また、人手で配線修正を行なう工数が大きくなり、設計期間や開発コストの増大を招くという問題を解決することを目的とする。修正前のネットリストと修正後のネットリストの差分を取り修正または追加するネットを認識し、修正前のレイアウトで修正するネットが存在する範囲を配線修正領域とし、配線修正領域に存在するネットに対しタイミング差分値と修正または追加されたネットにタイミング制約を与える。配線経路のタイミングを検証しながら、最上層の配線から配線経路を変更し修正ネットまたは追加ネットの配線を行なうことで、修正する配線層を制限し、かつタイミングや配線経路の変更を最小限にした配線修正を可能とする。
【0005】
特許文献2は、レイアウトパターン作成後に論理回路改訂を行なった場合のレイアウトパターン作成を容易にし、マスク工程の改訂枚数を少なくすることを目的とする。フィードスルーセルを3個ずつ集め、それを数個作り、これらの3個ずつ集めたフィードスルーセルを、インバータのレイアウトパターンを持つフィードスルーセルに置き換えてレイアウトパターンを作成し、レイアウトパターン作成後に論理回路改訂を行なった場合は、フィードスルーセル修正手段により挿入したインバータのレイアウトパターンを持つフィードスルーセルの入力およびセル間配線だけの修正を行なう。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−297683号公報
【特許文献2】特開平05−326708号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述のメタル層限定の改訂方法においては、各ネットが何層で接続されているかの情報がないため、ネットリストの改訂を行なう場合には、ネットリストを作成した後にそれをレイアウトツールに読み込んでメタル層の確認を行なう。そして、要求メタル層以外のメタル層を使用している場合には、繰り返しネットリストの修正を行なっていたため、ネットリストの修正に長い時間を要していた。
【0008】
また、修正箇所が多い場合には、これらの作業に非常に長い期間を要する。そのため、殆どの品種においては改訂期間を優先し、最小限のメタル層だけでネットリストを改訂するといったことは行なわれていなかった。たとえば、6層のメタル層を有する半導体装置を作成する場合、第1層から順に第6層までを作成するといったプロセスが用いられる。第1層から第6層までを作成するにはかなりの時間を要するため、第1層のメタル層を改訂する場合には、それまでに作成されたすべてのマスクやウェハなどが無駄となってしまい、不要なマスク改訂費用などが発生するといった問題点があった。
【0009】
本発明は、上記問題点を解決するためになされたものであり、その目的は、改訂期間の短縮およびマスク改定費用の削減を図ることが可能な配置配線装置を提供することである。
【課題を解決するための手段】
【0010】
本発明の一実施例によれば、複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置が提供される。比較部は、既存ネットおよび改訂情報から論理の改訂箇所を特定し、論理を合わせるための論理接続情報を抽出する。判定部は、レイアウト情報および比較部によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する。そして、置換部は、判定部によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう。
【発明の効果】
【0011】
判定部が、レイアウト情報および比較部によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定するので、上位層のみの改訂によって改訂期間の短縮およびマスク改定費用の削減を図ることが可能となる。
【図面の簡単な説明】
【0012】
【図1】一般的なメタル層改訂の処理手順を説明するためのフローチャートである。
【図2】本発明の第1の実施の形態における配置配線装置のハードウェア構成例を示すブロック図である。
【図3】本発明の第1の実施の形態における配置配線装置の機能的構成を示すブロック図である。
【図4】本発明の第1の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図5】ネットの改訂を具体的に説明するための図である。
【図6】本発明の第2の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図7】本発明の第3の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図8】本発明の第4の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図9】本発明の第5の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図10】ダミーセルの使用方法の一例を示す図である。
【図11】本発明の第6の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図12】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図13】本発明の第7の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図14】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図15】本発明の第8の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図16】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図17】本発明の第9の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図18】セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図19】本発明の第10の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図20】ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図21】本発明の第11の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図22】ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図23】本発明の第12の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図24】トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図25】本発明の第13の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図26】トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。
【図27】本発明の第14の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。
【図28】トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。
【発明を実施するための形態】
【0013】
図1は、一般的なメタル層改訂の処理手順を説明するためのフローチャートである。まず、各ネットが何層で接続されているのかが判らないので、論理回路情報からネットリストを作成する(S11)。そして、作成したネットリストをレイアウトツールに読み込み(S12)、ネットリスト改訂に使用するメタル層(使用メタル層)と配線収束可否の確認を行なう(S13)。確認結果に問題があれば(S13,NG)、ステップS11に戻って以降の処理を繰り返す。
【0014】
また、確認結果に問題がなければ(S13,OK)、改訂後のネットリストを用いてSTA(Static Timing Analysis)を行なって(S14)、タイミング確認を行なう(S15)。タイミング確認において違反があれば(S15,VIOLATION)、ステップS11に戻って以降の処理を繰り返す。また、タイミング確認において違反がなければ(S15,MET)、処理を終了する。
【0015】
このように、タイミング確認において違反がなくなるまで繰り返しネットリストの修正を行なう必要があるため、ネットリストの修正に長い時間を要していた。本発明の実施の形態における配置配線装置は、メタル層の上位層から順に配線の繋ぎ換えの可否を確認し、改訂期間の短縮および改訂費用の削減を図るものである。
【0016】
(第1の実施の形態)
図2は、本発明の第1の実施の形態における配置配線装置のハードウェア構成例を示すブロック図である。配置配線装置は、一般的なコンピュータによって実現され、コンピュータ本体1、ディスプレイ装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc-Read Only Memory)8が装着されるCD−ROM装置7、およびネットワーク通信装置9を含む。配置配線プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。配置配線プログラムがコンピュータ本体1によって実行されることにより、メタル層改定後のレイアウトが生成される。また、配置配線プログラムは他のコンピュータより通信回線を経由し、コンピュータ本体1に供給されてもよい。
【0017】
また、コンピュータ本体1は、CPU10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行なう。FD4またはCD−ROM8に記録された配置配線プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介してハードディスク13に格納される。CPU10は、ハードディスク13から適宜配置配線プログラムをRAM12にロードして実行することによって、メタル層改定後のレイアウトが生成される。
【0018】
図3は、本発明の第1の実施の形態における配置配線装置の機能的構成を示すブロック図である。この配置配線装置は、コンピュータ本体1のCPU10がRAM12などに格納されるプログラム21を実行することによって、配置部31、比較部32、判定部33および置換部34の機能を実現する。また、RAM12などの記憶部22には、既存ネット情報41、改訂情報42、タイミング違反情報43およびトランジション違反情報44などの情報が記憶される。設計者は、既存ネット情報41および改訂情報42、または論理変更を必要としないタイミング違反情報43やトランジション違反情報44などを入力し、設計ツール20の記憶部22にその情報を記憶させる。
【0019】
配置部31は、レイアウト情報からネットリストの改訂箇所周辺の配置情報および配線情報を抽出する。
【0020】
比較部32は、改訂箇所がフリップフロップ(以下、F/Fと略す。)間の場合には、改訂箇所から入力側の方向にF/Fまでの論理回路を探索してゆき、改訂箇所が端子とF/Fとの間の場合には、改訂箇所から入力側の方向に端子またはF/Fまでの論理回路を探索してゆき、論理マトリクスを生成する。そして、既存ネットの論理マトリクスと、作成した改訂ネットの論理マトリクスとを比較して、論理変更の具体的な箇所と改訂内容とを、改訂内容が容易な順に複数の候補を抽出する。
【0021】
判定部33は、レイアウト情報から論理変更の候補箇所が何層で接続されているかの情報と、追加が必要なセルが何層にあるかの情報とを抽出する。たとえば、メタル層が6層の場合には、最初に最上位層である第6層のみで、比較部32によって抽出された論理変更情報と同じ機能の論理回路のネットへ繋ぎ換えることが可能か否かを確認する。論理変更候補の中のいずれかが第6層で繋がっており、追加が必要なセルも第6層にあれば、第6層のみでの繋ぎ換えが可能となる。第6層のみでは不可能な場合には、第5層のみでネットの繋ぎ換えの可否を判定する。それでも不可能な場合には、第5層と第6層とでネットの繋ぎ換えの可否を判定する。そして、同様にして、第4層と第6層、第4層〜第6層…というようにネットの繋ぎ換えの可否を判定する。
【0022】
置換部34は、判定部33によって繋ぎ換え可能と判定された階層で、比較部32によって抽出された変更後の論理回路のネットへの繋ぎ換えを実施する。
【0023】
図4は、本発明の第1の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S21)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S22)。
【0024】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S23)、論理を合わせるための論理/接続情報を抽出する(S24)。ここで抽出されるのは、論理の修正箇所のみである。
【0025】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S25)。第6層のみでの繋ぎ換えが可能な場合には(S25,OK)、ステップS29に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0026】
また、第6層のみでの繋ぎ換えが不可能な場合には(S25,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S26)。第5層のみでの繋ぎ換えが可能な場合には(S26,OK)、ステップS29に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0027】
また、第5層のみでの繋ぎ換えが不可能な場合には(S26,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S27)。第5層および第6層での繋ぎ換えが可能な場合には(S27,OK)、ステップS29に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0028】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S28)。第1層〜第6層での繋ぎ換えが可能な場合には(S28,OK)、ステップS29に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0029】
ステップS29において、置換部34は、繋ぎ換えを行なった後のネットの情報である改訂ネット53と、どの層でネットの繋ぎ換えを行なったかを付加したレイアウト情報である改訂結果情報54を生成する。
【0030】
図5は、ネットの改訂を具体的に説明するための図である。図5(a)は、既存ネット情報51および改訂情報52の一例を示している。改訂情報52には、どの階層(インスタンス)に、どのタイプのセルが幾ついるかという情報が記述されており、ネットの改訂でも可能である。図5(a)においては、バッファS4の出力にインバータ(INV)が1つ必要であることが記述されている。
【0031】
図5(b)は、既存ネット情報51に改訂情報52を仮想的に反映したときのネットを示している。図5(b)に示すように、バッファS4とANDゲートS7との間にインバータが付加されている。
【0032】
図5(c)は、F/Fから改訂箇所までの論理マトリクスを示す図である。改訂情報の変更箇所から入力側に遡り、全てのF/Fから全ての条件(3ビットの場合には8通り)をシミュレートし、改訂箇所までの論理マトリクス情報を生成する。
【0033】
既存ネットにおいては、F/F(S1〜S3)の出力が“111”のときにANDゲートS7の出力が“1”となり、それ以外のときにANDゲートS7の出力が“0”となることを示している。
【0034】
論理改訂ネットにおいては、F/F(S1〜S3)の出力が“011”のときにANDゲートS7の出力が“1”となり、それ以外のときにANDゲートS7の出力が“0”となることを示している。
【0035】
図5(d)は、論理マトリクスの比較によって生成された論理回路を示している。既存ネットの論理マトリクスと論理改訂ネットの論理マトリクスとから、マトリクスまたは回路に合成して比較し、どこにどのような論理が必要であるかを特定する。
【0036】
図5(e)は、論理を合わせるための論理接続情報を示す図である。繋ぎ換え可能な箇所として、F/F(S1)とバッファS4とを接続するネット(候補1)、およびバッファS4とANDゲートS7とを接続するネット(候補2)とが抽出される。
【0037】
図5(f)は、繋ぎ換え可否の確認を示す図である。レイアウト情報から、候補がメタル層の何層で接続されているか、周辺の必要なダミーセルが何層に配置されているかを抽出し、上層から順に繋ぎ換えの可否を判定する。
【0038】
以上説明したように、本実施の形態における配置配線装置によれば、既存ネットの論理マトリクスと改訂論理ネットの論理マトリクスとを比較し、論理を合わせるための修正情報を生成する。そして、最上位層から順にネットの繋ぎ換えの可否確認を行ない、ネットおよびレイアウトを生成するようにした。メタル改訂は、スライス工程が第1メタル層から順に処理される。そのため、上位層のみの改訂によって改訂期間の短縮およびマスク改定費用の削減を図ることができ、最小限のメタル数で改訂を行なうことが可能となった。
【0039】
(第2の実施の形態)
第1の実施の形態においては、端子またはF/Fから論理改訂箇所までの論理マトリクスを生成し、論理を合わせるための論理/接続情報を抽出してネットの繋ぎ換えを行なうものであった。本発明の第2の実施の形態においては、論理一致箇所も含めた論理の中で、論理変更が容易な順に複数の候補を抽出するものである。
【0040】
本発明の第2の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0041】
図6は、本発明の第2の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S31)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S32)。
【0042】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S33)、論理を合わせるための論理/接続情報を抽出する(S34)。ここで抽出されるのは、論理の修正箇所以外に論理一致箇所も含むものとする。たとえば、論理の修正箇所から出力側に接続される幾つかの論理セルを含める。
【0043】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S35)。第6層のみでの繋ぎ換えが可能な場合には(S35,OK)、ステップS39に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0044】
また、第6層のみでの繋ぎ換えが不可能な場合には(S35,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S36)。第5層のみでの繋ぎ換えが可能な場合には(S36,OK)、ステップS39に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0045】
また、第5層のみでの繋ぎ換えが不可能な場合には(S36,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S37)。第5層および第6層での繋ぎ換えが可能な場合には(S37,OK)、ステップS39に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0046】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S38)。第1層〜第6層での繋ぎ換えが可能な場合には(S38,OK)、ステップS39に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0047】
以上説明したように、本実施の形態における配置配線装置によれば、論理一致箇所も含めた論理の中で、論理変更が容易な順に複数の候補を抽出して繋ぎ換えの可否を確認するようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0048】
(第3の実施の形態)
第1〜第2の実施の形態においては、端子またはF/Fから論理改訂箇所までの論理マトリクスを生成し、論理を合わせるための論理/接続情報を抽出する際に、特に論理セルを限定するものではなかった。本発明の第3の実施の形態においては、論理を合わせるための論理セルを抽出するときに、予め配置されたダミーセルの中から近いものを用いるものである。なお、ダミーセルには、ANDゲート、ORゲート、インバータ、F/Fなどが含まれる。
【0049】
本発明の第3の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置情報は、図3に示す記憶部22に記憶させる。
【0050】
図7は、本発明の第3の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S41)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S42)。
【0051】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S43)、論理を合わせるための論理/接続情報を抽出する(S44)。ここで抽出されるのは、論理の修正箇所に近いダミーセルである。
【0052】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S45)。第6層のみでの繋ぎ換えが可能な場合には(S45,OK)、ステップS49に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0053】
また、第6層のみでの繋ぎ換えが不可能な場合には(S45,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S46)。第5層のみでの繋ぎ換えが可能な場合には(S46,OK)、ステップS49に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0054】
また、第5層のみでの繋ぎ換えが不可能な場合には(S46,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S47)。第5層および第6層での繋ぎ換えが可能な場合には(S47,OK)、ステップS49に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0055】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S48)。第1層〜第6層での繋ぎ換えが可能な場合には(S48,OK)、ステップS49に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0056】
以上説明したように、本実施の形態における配置配線装置によれば、論理を合わせるための論理セルを抽出するときに、予め配置されたダミーセルの中から近いものを用いるようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0057】
(第4の実施の形態)
第3の実施の形態においては、論理を合わせるための論理セルを抽出するときに、予め配置されたダミーセルの中から近いものを用いるものであった。本発明の第4の実施の形態においては、論理を合わせるための論理セルを抽出するときに、近くに適切なダミーセルがない場合には、各層のダミーセルの入力の一部を固定したり、複数のダミーセルを組み合わたりすることによって適切な論理回路とするものである。
【0058】
本発明の第4の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置情報は、図3に示す記憶部22に記憶させる。
【0059】
図8は、本発明の第4の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、比較部32は、改訂情報52を参照して論理改訂箇所を特定する(S51)。そして、配置部31は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S52)。
【0060】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S53)、論理を合わせるための論理/接続情報を抽出する(S54)。ここで、近くに適切なダミーセルがない場合には、各層のダミーセルの入力の一部を固定したり、複数のダミーセルを組み合わせたりすることによって適切な論理回路とする。
【0061】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S55)。第6層のみでの繋ぎ換えが可能な場合には(S55,OK)、ステップS59に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0062】
また、第6層のみでの繋ぎ換えが不可能な場合には(S55,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S56)。第5層のみでの繋ぎ換えが可能な場合には(S56,OK)、ステップS59に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0063】
また、第5層のみでの繋ぎ換えが不可能な場合には(S56,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S57)。第5層および第6層での繋ぎ換えが可能な場合には(S57,OK)、ステップS59に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0064】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S58)。第1層〜第6層での繋ぎ換えが可能な場合には(S58,OK)、ステップS59に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0065】
以上説明したように、本実施の形態における配置配線装置によれば、論理を合わせるための論理セルを抽出するときに、近くに適切なダミーセルがない場合には、各層のダミーセルの入力の一部を固定したり、複数のダミーセルを組み合わせたりすることによって適切な論理回路とするようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0066】
(第5の実施の形態)
本発明の第5の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置情報及びレイアウトパラメータ、配置/配線情報は、図3に示す記憶部22に記憶させる。
【0067】
図9は、本発明の第5の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、改訂情報52を参照して論理改訂箇所を特定する(S61)。そして、比較部32は、外部端子またはF/Fから改訂箇所までの論理マトリクスを生成する(S62)。
【0068】
次に、比較部32は、既存論理の論理マトリクスと改訂論理の論理マトリクスとを比較し(S63)、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S64)。ここで、レイアウトパラメータには、抵抗、容量、インダクタンスなどの情報が含まれる。
【0069】
次に、比較部32は、論理を合わせるための論理/接続情報を抽出する(S65)。ここでは、対象箇所の周辺において既存ネット内の適応セルと同じタイプのダミーセルが抽出される。
【0070】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S66)。第6層のみでの繋ぎ換えが可能な場合には(S66,OK)、ステップS70に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0071】
また、第6層のみでの繋ぎ換えが不可能な場合には(S66,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S67)。第5層のみでの繋ぎ換えが可能な場合には(S67,OK)、ステップS70に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0072】
また、第5層のみでの繋ぎ換えが不可能な場合には(S67,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S68)。第5層および第6層での繋ぎ換えが可能な場合には(S68,OK)、ステップS70に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0073】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S69)。第1層〜第6層での繋ぎ換えが可能な場合には(S69,OK)、ステップS70に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0074】
図10は、ダミーセルの使用方法の一例を示す図である。図10(a)は、改訂前の論理回路およびネットの一例を示している。ここで、改訂対象回路の中のANDゲートS1とバッファS2との間にインバータを追加するものとする。
【0075】
図10(b)は、改訂後の論理回路およびネットの一例を示している。通常であれば、ANDゲートS1とバッファS2との間にダミーセルであるインバータS6を追加するが、このダミーセルS6が近くにない場合には、レイアウトパラメータ(配置/配線)情報より周辺の既存回路内に適切なセルがないかを確認し、近くにある既存回路内のインバータS4を使用する。そして、既存回路のORゲートS3とORゲートS5との間にダミーセルであるインバータS6を接続する。
【0076】
以上説明したように、本実施の形態における配置配線装置によれば、改訂対象回路の周辺に適切なダミーセルがない場合には、既存回路内のセルを繋ぎ換えるようにしたので、第1の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0077】
(第6の実施の形態)
本発明の第6の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、レイアウトパラメータ、配置/配線情報は、図3に示す記憶部22に記憶させる。
【0078】
図11は、本発明の第6の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S71)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0079】
次に、配置部31は、セットアップ違反パスの中で、バイパスできる箇所の前後数セル分の配置/配線情報を抽出する(S72)。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S73)。すなわち、セットアップ違反している経路の各セルに対して、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、バッファなどのバイパスさせても論理が変わらないセルの前後数セル分の配置/配線情報を抽出する。
【0080】
次に、比較部32は、仮想的にバイパスした場合に、レイアウトパラメータ情報を参照して現状よりも遅延が早くなるか否かを計算する(S74)。たとえば、仮にバッファをバイパスした際のタイミングを計算し、現状よりも早くなる場合にはレイアウトに対してバイパスの繋ぎ換えを行なう。
【0081】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S75)。第6層のみでの繋ぎ換えが可能な場合には(S75,OK)、ステップS79に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0082】
また、第6層のみでの繋ぎ換えが不可能な場合には(S75,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S76)。第5層のみでの繋ぎ換えが可能な場合には(S76,OK)、ステップS79に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0083】
また、第5層のみでの繋ぎ換えが不可能な場合には(S76,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S77)。第5層および第6層での繋ぎ換えが可能な場合には(S77,OK)、ステップS79に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0084】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S78)。第1層〜第6層での繋ぎ換えが可能な場合には(S78,OK)、ステップS79に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0085】
図12は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図12(a)は、変更前のレイアウトを示しており、ANDゲートS1とインバータS3との間にバッファS2が接続されている。ここで、ANDゲートS1の出力側に接続されるF/Fにおいてセットアップ違反が発生しているものとする。
【0086】
図12(b)は、変更後のレイアウトを示しており、バッファS2をバイパスしたときに遅延が早くなる場合には、ANDゲートS1とインバータS3とが直接接続されるようにネットが繋ぎ換えられる。
【0087】
以上の説明においては、セットアップエラーを解消するためにネットを繋ぎ換えるものであったが、消費電力を下げたい場合には、該当経路の近くのダミーセルの中で既存セルよりも貫通電流が低いセルの配置/配線情報を抽出し、セルを置き換えたときの電流値を計算して条件を満足する場合にはネットを繋ぎ換えてネットリストおよびレイアウトを生成するようにしてもよい。
【0088】
また、消費電力を下げたい場合には、該当経路の近くのダミーセルの中で既存セルよりもドライブしているセルまでのトータル配線長が短いセルの配置/配線情報を抽出し、セルを置き換えたときの電流値を計算して条件を満足する場合にはネットを繋ぎ換えてネットリストおよびレイアウトを生成するようにしてもよい。
【0089】
また、クロックラインは常にH/L動作を繰り返すため、段数を少なくすることで消費電力を削減することができる。クロックラインのレイアウトパラメータ(抵抗、容量、インダクタンス)情報を参照して、容量が小さいクロックライン上のセル情報を抽出し、仮想的に対象セルをバイパスした際のタイミング検証を行ない、タイミングを満足する場合にはネットを繋ぎ換えてネットリストおよびレイアウトを生成するようにしてもよい。
【0090】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、バッファなどのバイパスさせても論理が変わらないセルの前後数セル分の配置/配線情報を抽出し、現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0091】
(第7の実施の形態)
第6の実施の形態においては、バッファなどのバイパスさせても論理が変わらないセルを抽出してセットアップ違反を解消するものであった。本発明の第7の実施の形態においては、ドライブ能力が高い同一機能のセルに置換することによってセットアップ違反を解消するものである。
【0092】
本発明の第7の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ、配置/配線情報は、図3に示す記憶部22に記憶させる。
【0093】
図13は、本発明の第7の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S81)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0094】
次に、配置部31は、セットアップ違反箇所の近くにあるダミーセルの中で、ドライブ能力の高い同一セルか、入力端子の一部を固定することによって同一機能となる複合セルの情報を抽出する(S82)。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S83)。
【0095】
次に、比較部32は、レイアウトパラメータ情報を参照して仮に対象セルをダミーセルに置き換えた場合のタイミングを計算し、現状よりも遅延が早くなるか否かを計算する(S84)。
【0096】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S75)。第6層のみでの繋ぎ換えが可能な場合には(S85,OK)、ステップS89に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0097】
また、第6層のみでの繋ぎ換えが不可能な場合には(S85,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S86)。第5層のみでの繋ぎ換えが可能な場合には(S86,OK)、ステップS89に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0098】
また、第5層のみでの繋ぎ換えが不可能な場合には(S86,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S87)。第5層および第6層での繋ぎ換えが可能な場合には(S87,OK)、ステップS89に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0099】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S88)。第1層〜第6層での繋ぎ換えが可能な場合には(S88,OK)、ステップS89に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0100】
図14は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図14(a)は、変更前のレイアウトを示しており、ANDゲートS1とANDゲートS4との間にインバータS2が接続されている。ここで、ANDゲートS1の出力側に接続されるF/Fにおいてセットアップ違反が発生しているものとする。
【0101】
図14(b)は、変更後のレイアウトを示しており、ANDゲートS1とANDゲートS4との間のインバータS2をダミーセルS3に置換したときに遅延が早くなる場合には、ANDゲートS1とANDゲートS4との間にダミーセルS3が接続されるようにネットが繋ぎ換えられる。
【0102】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、ドライブ能力の高いダミーセルなどに置換して現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0103】
(第8の実施の形態)
第7の実施の形態においては、ドライブ能力が高い同一機能のダミーセルに置換することによってセットアップ違反を解消するものであった。第8の実施の形態においては、改訂対象回路の周辺に適切なダミーセルがない場合には、既存回路内のセルを繋ぎ換えるものである。
【0104】
本発明の第8の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ、配置/配線情報及びタイミングマージン情報は、図3に示す記憶部22に記憶させる。
【0105】
図15は、本発明の第8の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S91)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0106】
次に、比較部32は、対象箇所の周辺において既存ネット内の適応セルと同じタイプのダミーセルの組合せ情報を抽出する(S92)。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S93)。ここで、比較部32は、タイミングマージン情報56を参照してセットアップマージンが大きい既存ネット内の適応セルを抽出するものとする。
【0107】
次に、比較部32は、レイアウトパラメータ情報を参照して仮に対象セルを既存ネット内のセルに置き換えた場合のタイミングを計算し、現状よりも遅延が早くなるか否かを計算する(S94)。
【0108】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S95)。第6層のみでの繋ぎ換えが可能な場合には(S95,OK)、ステップS99に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0109】
また、第6層のみでの繋ぎ換えが不可能な場合には(S95,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S96)。第5層のみでの繋ぎ換えが可能な場合には(S96,OK)、ステップS99に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0110】
また、第5層のみでの繋ぎ換えが不可能な場合には(S96,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S97)。第5層および第6層での繋ぎ換えが可能な場合には(S97,OK)、ステップS99に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0111】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S98)。第1層〜第6層での繋ぎ換えが可能な場合には(S98,OK)、ステップS99に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0112】
図16は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図16(a)は、変更前のレイアウトを示しており、改訂対象回路の中のANDゲートS1とバッファS2との間にドライブ能力が高いバッファを追加するものとする。
【0113】
図16(b)は、改訂後の論理回路およびネットの一例を示している。通常であれば、ANDゲートS1とバッファS2との間にドライブ能力が高いダミーセルS6を追加するが、このダミーセルS6が近くにない場合には、レイアウトパラメータ(配置/配線)情報より周辺の既存回路内に適切なセルがないかを確認し、近くにある既存回路内のバッファS4を使用する。そして、遅延時間が現状よりも早くなる場合には、ネットの繋ぎ換えを行なって既存回路のORゲートS3とORゲートS5との間にダミーセルS6を接続する。
【0114】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、近くにドライブ能力の高いダミーセルがない場合には、既存回路のセルに接続して現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0115】
(第9の実施の形態)
第8の実施の形態においては、改訂対象回路の周辺に適切なダミーセルがない場合には、既存回路内のセルを繋ぎ換えるものであった。本発明の第9の実施の形態においては、セットアップ違反が発生している経路のセルのドライブ能力が低い場合には、そのセルと同じタイプのセルを有する経路を抽出し、セルの置き換えを行なうものである。
【0116】
本発明の第9の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ、配置/配線情報及びタイミングマージン情報は、図3に示す記憶部22に記憶させる。
【0117】
図17は、本発明の第9の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S101)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0118】
次に、比較部32は、対象箇所の周辺において既存ネット内の同じタイプのダミーセルの情報を抽出する(S102)。ここで、比較部32は、タイミングマージン情報56を参照してセットアップマージンが大きい既存ネット内の適応セルを抽出する。そして、対象箇所に対応して、各メタル層におけるレイアウトパラメータ、配置/配線情報を抽出する(S103)。
【0119】
次に、比較部32は、レイアウトパラメータ情報を参照して仮に対象セルを既存ネット内のセルに置き換えた場合のタイミングを計算し、現状よりも遅延が早くなるか否かを計算する(S104)。
【0120】
次に、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S105)。第6層のみでの繋ぎ換えが可能な場合には(S105,OK)、ステップS109に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0121】
また、第6層のみでの繋ぎ換えが不可能な場合には(S105,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S106)。第5層のみでの繋ぎ換えが可能な場合には(S106,OK)、ステップS109に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0122】
また、第5層のみでの繋ぎ換えが不可能な場合には(S106,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S107)。第5層および第6層での繋ぎ換えが可能な場合には(S107,OK)、ステップS109に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0123】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S108)。第1層〜第6層での繋ぎ換えが可能な場合には(S108,OK)、ステップS109に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0124】
図18は、セットアップ違反が発生している箇所の繋ぎ換えの一例を示す図である。図18(a)は、変更前のレイアウトを示しており、セットアップ違反箇所においてANDゲートS1とインバータS2とが接続されている。また、セットアップマージンを有するネットにおいてEX−ORゲートS3とインバータS4とが接続されている。
【0125】
図18(b)は、改訂後の論理回路およびネットの一例を示している。セットアップ違反箇所のANDゲートS1に接続されていたインバータS2が、セットアップマージンを有するネットのインバータS4に置き換えられて、タイミング計算が行なわれる。そして、遅延時間が現状よりも早くなる場合には、ネットの繋ぎ換えを行なってANDゲートS1にインバータS4が接続され、EX−ORゲートS3にインバータS2が接続される。
【0126】
以上説明したように、本実施の形態における配置配線装置によれば、セットアップ違反が発生している経路に対して、セットアップマージンがあり、かつ同じタイプのセルを含む経路のセルと置き換えて、現状よりも遅延が早くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0127】
(第10の実施の形態)
本発明の第10の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するダミーセルの配置/配線情報は、図3に示す記憶部22に記憶させる。
【0128】
図19は、本発明の第10の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S111)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0129】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S112)。そして、各メタル層において該当箇所の近くのダミーセルの配置/配線情報を抽出する(S113)。
【0130】
次に、比較部32は、仮想的にダミーセルを追加した場合に、レイアウトパラメータ情報を参照して現状よりも遅延が遅くなるか否かを計算する(S114)。たとえば、仮にバッファを追加した際のタイミングを計算し、現状よりも遅くなる場合にはレイアウトに対してバッファの追加を行なう。そして、ホールド違反が解消されているか否かを確認する(S115)。
【0131】
ホールド違反が解消されていない場合には(S115,NG)、ステップS113に戻って以降の処理を繰り返す。また、ホールド違反が解消されている場合(S115,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S116)。第6層のみでの繋ぎ換えが可能な場合には(S116,OK)、ステップS120に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0132】
また、第6層のみでの繋ぎ換えが不可能な場合には(S116,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S117)。第5層のみでの繋ぎ換えが可能な場合には(S117,OK)、ステップS120に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0133】
また、第5層のみでの繋ぎ換えが不可能な場合には(S117,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S118)。第5層および第6層での繋ぎ換えが可能な場合には(S118,OK)、ステップS120に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0134】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S119)。第1層〜第6層での繋ぎ換えが可能な場合には(S119,OK)、ステップS120に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0135】
図20は、ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。図20(a)は、変更前のレイアウトを示しており、F/F(S1)とF/F(S4)との間にANDゲートS2が接続されている。F/F(S4)においてホールド違反が発生しているものとする。
【0136】
図20(b)は、変更後のレイアウトを示しており、ANDゲートS2とF/F(S4)との間にダミーセルS3を追加したときに遅延が遅くなる場合には、ANDゲートS2とF/F(S4)との間にダミーセルS3を接続するようにネットが繋ぎ換えられる。
【0137】
以上説明したように、本実施の形態における配置配線装置によれば、ホールド違反が発生している経路に対して、バッファなどの論理が変わらないセルを追加し、現状よりも遅延が遅くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0138】
(第11の実施の形態)
第10の実施の形態においては、バッファなどの追加しても論理が変わらないセルを挿入してホールド違反を解消するものであった。本発明の第11の実施の形態においては、ホールドマージンに余裕がある経路内の同一機能のセルに置換することによってホールド違反を解消するものである。
【0139】
本発明の第11の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するホールドマージンに余裕がある経路の配置/配線情報は、図3に示す記憶部22に記憶させる。
【0140】
図21は、本発明の第11の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびタイミング違反情報55を参照して、タイミングを満足している箇所とタイミング違反箇所とを分離する(S121)。タイミング違反情報55は、タイミング検証によって予め作成されているものとする。
【0141】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S122)。そして、各メタル層の該当箇所の近辺においてホールドマージンに余裕がある経路の配置/配線情報を抽出する(S123)。
【0142】
次に、比較部32は、仮想的にホールドマージンに余裕がある経路の同一機能のセルに置換した場合に、レイアウトパラメータ情報を参照して現状よりも遅延が遅くなるか否かを計算する(S124)。たとえば、仮にバッファを置換した際のタイミングを計算し、現状よりも遅くなる場合にはレイアウトに対してバッファの置換を行なう。そして、ホールド違反が解消されているか否かを確認する(S125)。
【0143】
ホールド違反が解消されていない場合には(S125,NG)、ステップS123に戻って以降の処理を繰り返す。また、ホールド違反が解消されている場合(S125,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S126)。第6層のみでの繋ぎ換えが可能な場合には(S126,OK)、ステップS130に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0144】
また、第6層のみでの繋ぎ換えが不可能な場合には(S126,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S127)。第5層のみでの繋ぎ換えが可能な場合には(S127,OK)、ステップS130に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0145】
また、第5層のみでの繋ぎ換えが不可能な場合には(S127,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S128)。第5層および第6層での繋ぎ換えが可能な場合には(S128,OK)、ステップS130に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0146】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S129)。第1層〜第6層での繋ぎ換えが可能な場合には(S129,OK)、ステップS130に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0147】
図22は、ホールド違反が発生している箇所の繋ぎ換えの一例を示す図である。図22(a)は、変更前のレイアウトを示しており、F/F(S1)とF/F(S3)との間にANDゲートS2が接続されている。F/F(S3)においてホールド違反が発生しているものとする。また、F/F(S4)とF/F(S8)との間にバッファS5〜S7が接続されている。F/F(S8)においてホールドマージンに余裕があるものとする。
【0148】
図22(b)は、変更後のレイアウトを示しており、ANDゲートS2とF/F(S3)との間にバッファS6およびS7を接続したときに遅延が遅くなる場合には、ANDゲートS2とF/F(S3)との間にバッファS6およびS7を接続するようにネットが繋ぎ換えられる。
【0149】
以上説明したように、本実施の形態における配置配線装置によれば、ホールド違反が発生している経路に対して、ホールドマージンに余裕がある経路の同一機能のセルを接続し、現状よりも遅延が遅くなる場合には上位層から順に配線の繋ぎ換えを行ない、タイミングを満足するようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0150】
(第12の実施の形態)
本発明の第12の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するミーセルの配置/配線情報及びレイアウトパラメータ情報は、図3に示す記憶部22に記憶させる。
【0151】
図23は、本発明の第12の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびトランジション違反情報57を参照して、トランジション違反箇所がドライブしているセルとその周辺セルの配置/接続情報を抽出する(S131)。トランジション違反情報57は、タイミング検証などによって予め作成されているものとする。
【0152】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S132)。そして、各メタル層において該当箇所の近くのダミーセルの配置/配線情報を抽出する(S133)。
【0153】
次に、比較部32は、仮想的にダミーセルを追加した場合に、レイアウトパラメータ情報を参照して現状よりもトランジションエラーの値が小さくなるか否かを計算する(S134)。
【0154】
トランジション違反が解消されていない場合には(S135,NG)、ステップS133に戻って以降の処理を繰り返す。また、トランジション違反が解消されている場合(S135,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S136)。第6層のみでの繋ぎ換えが可能な場合には(S136,OK)、ステップS140に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0155】
また、第6層のみでの繋ぎ換えが不可能な場合には(S136,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S137)。第5層のみでの繋ぎ換えが可能な場合には(S137,OK)、ステップS140に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0156】
また、第5層のみでの繋ぎ換えが不可能な場合には(S137,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S138)。第5層および第6層での繋ぎ換えが可能な場合には(S138,OK)、ステップS140に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0157】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S139)。第1層〜第6層での繋ぎ換えが可能な場合には(S139,OK)、ステップS140に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0158】
図24は、トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。図24(a)は、変更前のレイアウトを示しており、インバータS4がANDゲートS1〜S3に接続されている。この経路においてトランジション違反が発生している。
【0159】
図24(b)は、変更後のレイアウトを示しており、インバータS4とANDゲートS1〜S3との間にダミーセルS5を追加したときにトランジション違反が解消される場合には、インバータS4とANDゲートS1〜S3との間にダミーセルS5を接続するようにネットが繋ぎ換えられる。
【0160】
以上説明したように、本実施の形態における配置配線装置によれば、トランジション違反が発生している経路に対して、バッファなどの論理が変わらないセルを追加し、現状よりもトランジションエラーが小さくなる場合には上位層から順に配線の繋ぎ換えを行ない、トランジション違反が解消されるようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0161】
(第13の実施の形態)
第12の実施の形態においては、トランジション違反が発生しているネットにダミーセルを追加することによってトランジション違反を解消するものであった。第13の実施の形態においては、トランジション違反が発生しているネットを複数に分けて、トランジション違反を解消するものである。
【0162】
本発明の第13の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するミーセルの配置/配線情報及びレイアウトパラメータ情報は、図3に示す記憶部22に記憶させる。
【0163】
図25は、本発明の第13の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびトランジション違反情報57を参照して、トランジション違反箇所がドライブしているセルとその周辺セルの配置/接続情報を抽出する(S141)。トランジション違反情報57は、タイミング検証などによって予め作成されているものとする。
【0164】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S142)。そして、各メタル層において該当箇所の近くのダミーセルの配置/配線情報を抽出する(S143)。
【0165】
次に、比較部32は、仮想的にトランジション違反箇所のネットを分けた場合に、レイアウトパラメータ情報を参照して現状よりもトランジションエラーの値が小さくなるか否かを計算する(S144)。
【0166】
トランジション違反が解消されていない場合には(S145,NG)、ステップS143に戻って以降の処理を繰り返す。また、トランジション違反が解消されている場合(S145,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S146)。第6層のみでの繋ぎ換えが可能な場合には(S146,OK)、ステップS150に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0167】
また、第6層のみでの繋ぎ換えが不可能な場合には(S146,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S147)。第5層のみでの繋ぎ換えが可能な場合には(S147,OK)、ステップS150に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0168】
また、第5層のみでの繋ぎ換えが不可能な場合には(S147,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S148)。第5層および第6層での繋ぎ換えが可能な場合には(S148,OK)、ステップS150に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0169】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S149)。第1層〜第6層での繋ぎ換えが可能な場合には(S149,OK)、ステップS150に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0170】
図26は、トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。図26(a)は、変更前のレイアウトを示しており、インバータS9がバッファS1〜S6に接続されている。この経路においてトランジション違反が発生している。
【0171】
図26(b)は、変更後のレイアウトを示しており、インバータS9とバッファS1〜S6とを接続するネットが2つに分けられ、さらにそれぞれのネットにダミーセルS7およびS8が追加される。トランジション違反が解消される場合には、図26(b)に示すようにネットが繋ぎ換えられる。
【0172】
以上説明したように、本実施の形態における配置配線装置によれば、トランジション違反が発生している経路に対してネットを複数に分けて、現状よりもトランジションエラーが小さくなる場合には上位層から順に配線の繋ぎ換えを行ない、トランジション違反が解消されるようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0173】
(第14の実施の形態)
第13の実施の形態においては、トランジション違反が発生しているネットを複数に分けて、トランジション違反を解消するものであった。第14の実施の形態においては、トランジション違反が発生している経路のセルを、該当経路近くのセットアップ、ホールド、トランジションにマージンがある経路の同一機能のセルと置換してトランジション違反を解消するものである。
【0174】
本発明の第14の実施の形態における配置配線装置のハードウェア構成および機能的構成は、図2および図3に示す第1の実施の形態における配置配線装置のハードウェア構成および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述するレイアウトパラメータ情報及びセットアップ、ホールド、トランジションにマージンがある既存回路の配置/配線情報は図3に示す記憶部22に記憶させる。
【0175】
図27は、本発明の第14の実施の形態における配置配線装置の処理手順を説明するためのフローチャートである。まず、配置部31は、既存ネット51およびトランジション違反情報57を参照して、トランジション違反箇所がドライブしているセルとその周辺セルの配置/接続情報を抽出する(S151)。トランジション違反情報57は、タイミング検証などによって予め作成されているものとする。
【0176】
次に、配置部31は、各メタル層における、抵抗、容量、インダクタンスなどのレイアウトパラメータ情報を抽出し、配置/配線情報を抽出する(S152)。そして、各メタル層の該当箇所近辺にあるセットアップ、ホールド、トランジションにマージンがある既存回路の配置/配線情報を抽出する(S153)。
【0177】
次に、比較部32は、仮想的にトランジション違反箇所の経路のセルを、マージンがある既存回路のセルに置換した場合に、レイアウトパラメータ情報を参照して現状よりもトランジションエラーの値が小さくなるか否かを計算する(S154)。
【0178】
トランジション違反が解消されていない場合には(S155,NG)、ステップS153に戻って以降の処理を繰り返す。また、トランジション違反が解消されている場合(S155,OK)、判定部33は、メタル層の第6層のみでのネットの繋ぎ換えの可否を確認する(S156)。第6層のみでの繋ぎ換えが可能な場合には(S156,OK)、ステップS150に処理が進み、第6層のみでの繋ぎ換えが行なわれる。
【0179】
また、第6層のみでの繋ぎ換えが不可能な場合には(S156,NG)、第5層のみでのネットの繋ぎ換えの可否を確認する(S157)。第5層のみでの繋ぎ換えが可能な場合には(S157,OK)、ステップS160に処理が進み、第5層のみでの繋ぎ換えが行なわれる。
【0180】
また、第5層のみでの繋ぎ換えが不可能な場合には(S157,NG)、第5層および第6層でのネットの繋ぎ換えの可否を確認する(S158)。第5層および第6層での繋ぎ換えが可能な場合には(S158,OK)、ステップS160に処理が進み、第5層および第6層での繋ぎ換えが行なわれる。
【0181】
そして、同様の処理が行なわれ、第1層〜第6層でのネットの繋ぎ換えの可否を確認する(S159)。第1層〜第6層での繋ぎ換えが可能な場合には(S159,OK)、ステップS160に処理が進み、第1層〜第6層での繋ぎ換えが行なわれる。
【0182】
図28は、トランジション違反が発生している箇所の繋ぎ換えの一例を示す図である。図28(a)は、変更前のレイアウトを示しており、バッファS6がANDゲートS1〜S3に接続されている。この経路においてトランジション違反が発生している。
【0183】
図28(b)は、変更後のレイアウトを示しており、バッファS6の出力側のネットが既存回路内のバッファS4の出力側のネットに置換されている。これによって、トランジション違反が解消される場合には、図28(b)に示すようにネットが繋ぎ換えられる。
【0184】
以上説明したように、本実施の形態における配置配線装置によれば、トランジション違反が発生している経路のセルを、該当経路近くのセットアップ、ホールド、トランジションにマージンがある経路の同一機能のセルと置換して、トランジション違反が解消されるようにネットおよびレイアウトを生成するようにしたので、最小限のメタル層の改訂で対応することが可能となった。
【0185】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0186】
1 コンピュータ本体、2 ディスプレイ装置、3 FDドライブ、4 FD、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9 ネットワーク通信装置、10 CPU、11 ROM、12 RAM、13 ハードディスク、20 設計ツール、21 プログラム、22 記憶部、31 配置部、32 比較部、33 判定部、34 置換部、41 既存ネット情報、42 改訂情報、43 タイミング違反情報、44 トランジション違反情報。
【特許請求の範囲】
【請求項1】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよび改訂情報から論理の改訂箇所を特定し、論理を合わせるための論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項2】
前記抽出手段は、前記論理の改訂箇所から入力方向に端子またはフリップフロップまでの論理を探索し、既存論理の論理マトリクスおよび改訂論理の論理マトリクスを作成して比較することによって前記論理接続情報を抽出する、請求項1記載の配置配線装置。
【請求項3】
前記抽出手段は、前記半導体装置に予め配置されているダミーセルに接続されるように前記論理接続情報を抽出する、請求項1または2記載の配置配線装置。
【請求項4】
前記抽出手段は、前記論理の改訂箇所周辺の既存論理回路内のセルに接続されるように前記論理接続情報を抽出し、
前記置換手段は、前記既存論理回路内のセルを同一機能を有するダミーセルに置換する、請求項1または2記載の配置配線装置。
【請求項5】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよびタイミング違反情報からセットアップ違反パスを特定し、該セットアップ違反パスの遅延を小さくするように論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項6】
前記抽出手段は、前記セットアップ違反パスの中でバイパスできるセルをバイパスするように前記論理接続情報を抽出する、請求項5記載の配置配線装置。
【請求項7】
前記抽出手段は、前記セットアップ違反パスにドライブ能力が高いダミーセルが接続されるように前記論理接続情報を抽出する、請求項5記載の配置配線装置。
【請求項8】
前記抽出手段は、前記セットアップ違反パス周辺の既存論理回路内のセルに接続されるように前記論理接続情報を抽出し、
前記置換手段は、前記既存論理回路内のセルを同一機能を有するダミーセルに置換する、請求項5記載の配置配線装置。
【請求項9】
前記抽出手段は、前記既存論理回路内のセルを抽出する際に、タイミングマージン情報を参照してセットアップマージンが大きい既存論理回路内のセルを抽出する、請求項8記載の配置配線装置。
【請求項10】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよびタイミング違反情報からホールド違反パスを特定し、該ホールド違反パスの遅延を大きくするように論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項11】
前記抽出手段は、前記ホールド違反パスにダミーセルを追加するように前記論理接続情報を抽出する、請求項10記載の配置配線装置。
【請求項12】
前記抽出手段は、前記ホールド違反パス周辺の既存論理回路内のセルに接続されるように前記論理接続情報を抽出し、
前記置換手段は、前記既存論理回路内のセルを同一機能を有するダミーセルに置換する、請求項10記載の配置配線装置。
【請求項13】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよびトランジション違反情報からトランジション違反パスを特定し、該トランジション違反パスのトランジションエラーを小さくするように論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項14】
前記抽出手段は、前記トランジション違反パスにダミーセルを追加するように前記論理接続情報を抽出する、請求項13記載の配置配線装置。
【請求項15】
前記抽出手段は、前記トランジション違反パスが複数のパスに分けられるように前記論理接続情報を抽出する、請求項13記載の配置配線装置。
【請求項1】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよび改訂情報から論理の改訂箇所を特定し、論理を合わせるための論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項2】
前記抽出手段は、前記論理の改訂箇所から入力方向に端子またはフリップフロップまでの論理を探索し、既存論理の論理マトリクスおよび改訂論理の論理マトリクスを作成して比較することによって前記論理接続情報を抽出する、請求項1記載の配置配線装置。
【請求項3】
前記抽出手段は、前記半導体装置に予め配置されているダミーセルに接続されるように前記論理接続情報を抽出する、請求項1または2記載の配置配線装置。
【請求項4】
前記抽出手段は、前記論理の改訂箇所周辺の既存論理回路内のセルに接続されるように前記論理接続情報を抽出し、
前記置換手段は、前記既存論理回路内のセルを同一機能を有するダミーセルに置換する、請求項1または2記載の配置配線装置。
【請求項5】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよびタイミング違反情報からセットアップ違反パスを特定し、該セットアップ違反パスの遅延を小さくするように論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項6】
前記抽出手段は、前記セットアップ違反パスの中でバイパスできるセルをバイパスするように前記論理接続情報を抽出する、請求項5記載の配置配線装置。
【請求項7】
前記抽出手段は、前記セットアップ違反パスにドライブ能力が高いダミーセルが接続されるように前記論理接続情報を抽出する、請求項5記載の配置配線装置。
【請求項8】
前記抽出手段は、前記セットアップ違反パス周辺の既存論理回路内のセルに接続されるように前記論理接続情報を抽出し、
前記置換手段は、前記既存論理回路内のセルを同一機能を有するダミーセルに置換する、請求項5記載の配置配線装置。
【請求項9】
前記抽出手段は、前記既存論理回路内のセルを抽出する際に、タイミングマージン情報を参照してセットアップマージンが大きい既存論理回路内のセルを抽出する、請求項8記載の配置配線装置。
【請求項10】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよびタイミング違反情報からホールド違反パスを特定し、該ホールド違反パスの遅延を大きくするように論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項11】
前記抽出手段は、前記ホールド違反パスにダミーセルを追加するように前記論理接続情報を抽出する、請求項10記載の配置配線装置。
【請求項12】
前記抽出手段は、前記ホールド違反パス周辺の既存論理回路内のセルに接続されるように前記論理接続情報を抽出し、
前記置換手段は、前記既存論理回路内のセルを同一機能を有するダミーセルに置換する、請求項10記載の配置配線装置。
【請求項13】
複数のメタル層を有する半導体装置の配線の繋ぎ換えを行なう配置配線装置であって、
既存ネットおよびトランジション違反情報からトランジション違反パスを特定し、該トランジション違反パスのトランジションエラーを小さくするように論理接続情報を抽出する抽出手段と、
レイアウト情報および前記抽出手段によって抽出された論理接続情報に基づいて、メタル層の最上位層から順に配線の繋ぎ換えの可否を判定する判定手段と、
前記判定手段によって繋ぎ換えが可能と判定されたメタル層において配線の繋ぎ換えを行なう置換手段とを含む、配置配線装置。
【請求項14】
前記抽出手段は、前記トランジション違反パスにダミーセルを追加するように前記論理接続情報を抽出する、請求項13記載の配置配線装置。
【請求項15】
前記抽出手段は、前記トランジション違反パスが複数のパスに分けられるように前記論理接続情報を抽出する、請求項13記載の配置配線装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2013−37608(P2013−37608A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−174686(P2011−174686)
【出願日】平成23年8月10日(2011.8.10)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月10日(2011.8.10)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
[ Back to top ]