(57)【要約】【課題】設計が完成していない段階で精度のよい配置配線を行うことが可能な集積回路装置の設計方法、集積回路装置及び設計支援システムの提供すること。【解決手段】ゲートアレイを少なくとも１部に含む集積回路の設計方法であって、当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数と、集積回路の回路設計における所定の段階において判明している設計データを実現するための論理回路を構成するセル数に基づき、前記所定段階で判明している論理回路の少なくとも一部に仮配置するセルの総数である仮配置セル数を求める仮配置セル数取得ステップと、前記所定段階で判明している少なくとも一部の論理回路に、所定の規則に従ってまたはランダムに仮配置セル数分のセルを配分する配分ステップと、含むことを特徴とする。【選択図】図１
2009009226.tif 000002
【特許請求の範囲】
【請求項１】
ゲートアレイを少なくとも１部に含む集積回路の設計方法であって、
当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数と、集積回路の回路設計における所定の段階において判明している設計データを実現するための論理回路を構成するセル数に基づき、前記所定段階で判明している論理回路の少なくとも一部に仮配置するセルの総数である仮配置セル数を求める仮配置セル数取得ステップと、
前記所定段階で判明している少なくとも一部の論理回路に、所定の規則に従ってまたはランダムに仮配置セル数分のセルを配分する配分ステップと、
含むことを特徴とする集積回路の設計方法。
【請求項２】
請求項１において、
仮配置セル数取得ステップにおいて、
前記所定の段階において、判明している集積回路の設計データに基づき論理合成ツールを用いてゲートレベルの第１のネットリストを生成し、第１のネットリストに基づき、当該所定の段階において判明している論理回路を構成するセル数を求めることを特徴とする集積回路の設計方法。
【請求項３】
請求項２において、
前記第１のネットリストの論理回路のうち、セルが配分された論理回路については、配分されたセルが付加された論理回路に置き換えて第２のネットリストを生成するステップを、
含むことを特徴とする集積回路の設計方法。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記仮配置セル数取得ステップにおいて、
当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数と、所定の段階において判明している論理回路を構成するセル数の差分に基づき仮配置セル数を求めることを特徴する集積回路の設計方法。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記配分ステップにおいて、
求めた仮配置セル数と、現段階で判明している配分対象として予定している所定の種類の論理回路数に基づき、所定の種類の論理回路の単位当たりのセルの配分数を決定し、所定の種類の論理回路に決定された配分数だけセルを配分することを特徴する集積回路の設計方法。
【請求項６】
請求項１乃至５のいずれかおいて、
配分ステップにおいて、
求めた仮配置セル数分だけセルを、前記所定段階で判明しているフリップフロップ回路に配分することを特徴とする集積回路の設計方法。
【請求項７】
請求項１乃至６のいずれかおいて、
前記第２ネットリストを用いて配置配線を行う配置配線ステップをさらに含むことを特徴とする集積回路の設計方法。
【請求項８】
請求項１乃至７のいずれかに記載された集積回路装置の設計方法を用いて設計されたことを特徴とする集積回路装置。
【請求項９】
ゲートアレイを少なくとも１部に含む集積回路の設計を支援する設計支援システムであって、
前記所定の段階において、判明している集積回路の設計データに基づき論理合成ツールを用いてゲートレベルの第１のネットリストを生成し、第１のネットリストに基づき、当該所定の段階において判明している設計データを実現するための論理回路を構成するセル数を求め、求めたセル数と、当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数とに基づき、前記所定段階で判明している論理回路の少なくとも一部に仮配置するセルの総数である仮配置セル数を求める仮配置セル数取得手段と、
前記所定段階で判明している少なくとも一部の論理回路に、所定の規則に従ってまたはランダムに仮配置セル数分のセルを配分する配分手段と、
前記第１のネットリストの論理回路のうち、セルが配分された論理回路については、配分されたセルが付加された論理回路に置き換えて第２のネットリストを生成する手段を、
含むことを特徴とする集積回路の設計支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置の設計方法、集積回路装置及び集積回路の設計支援システムに関する。
【背景技術】
【０００２】
エンべデッドアレイ（ＥｍｂｅｄｄｅｄＡｒｒａｙ、ゲートアレイとスタンダードセルの両方の利点を持った半導体集積回路）の設計方法は、一般に最初にシステム設計を行い、ロジック部のゲート数、および搭載するマクロセル（ＲＡＭ、ＲＯＭ、ＰＬＬなど）を決定したのち、ベースバルクと呼ばれる下地部分の製造を開始する。ベースバルクは必要なハードマクロセルを搭載し、あわせてロジック部のSea of gate（全面敷詰め型ゲートアレイ）を敷き詰めたもので、配線工程前まで製造を進める。この製造作業と並行して、ゲートアレイと同様にロジック部回路設計−配線工程−ポストシュミレーションを行う。ロジック部は、ネットリストに基づいて論理セルを決められた領域内に配置配線し、実際の配線長に基づいてタイミング解析を行う。
【特許文献１】特開２００２−１３４６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
設計段階において最終的に配置する論理回路の一部が判明しているが、例えばテスト回路等の未だ判明していない論理回路がある状態において、バルクの選択を行い、仮のネットリストを作成して配線等の確認を行う場合がある。このような場合、判明していない論理回路については、ダミー回路を付加してベーシックセル数を水増ししていたが、付加するダミー回路をつくらなければならないという問題点があった。
【０００４】
しかも付加するダミー回路をその都度作成する必要があり、それが本来の機能と無縁な形式（単なるブラックボックスなど接続関係のない形式やバッファの配列等）である場合、実際の配置配線用のネットリストとの乖離が大きくなりすぎるという問題点があった。
【０００５】
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、設計が完成していない段階（例えば見積もりの段階）で精度のよい配置配線を行うことが可能な集積回路装置の設計方法、集積回路装置及び設計支援システムの提供である。
【課題を解決するための手段】
【０００６】
（１）本発明は、
ゲートアレイを少なくとも１部に含む集積回路の設計方法であって、
当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数と、集積回路の回路設計における所定の段階において判明している設計データを実現するための論理回路を構成するセル数に基づき、前記所定段階で判明している論理回路の少なくとも一部に仮配置するセルの総数である仮配置セル数を求める仮配置セル数取得ステップと、
前記所定段階で判明している少なくとも一部の論理回路に、所定の規則に従ってまたはランダムに仮配置セル数分のセルを配分する配分ステップと、
含むことを特徴とする。
【０００７】
ゲートアレイを少なくとも１部に含む集積回路とは、ゲートアレイでもよいし、例えばエンベディットアレイ等のようにゲートアレイを含む集積回路でもよい。なおゲートアレイ以外に、スタンダードセルや特定用途向けのハードマクロ（ＣＰＵ等）、ＲＡＭ等を含む集積回路でもよい。
【０００８】
ここにおいて、所定の段階とは、最終的な設計データができていない状態（例えば集積回路に配置する論理回路の一部が判明しているが、未だ判明していない論理回路がある状態）である。
【０００９】
バルクのセル数とは、バルクにハードマクロ等をおく場合には、ロジック部のベーシックセル数やスタンダードセル数やグリット数でもよい。
【００１０】
論理回路とは、ＦＦ、ＮＡＮＤ、ＡＮＤ、ＡＮＤ等の論理セルを含む。
【００１１】
ベーシックセル等がすべての論理回路に配分される場合でもよいし、一部の論理回路（例えばＦＦ回路等のある特定の種類の論理回路）に配分される場合でもよい。
【００１２】
ベーシックセル等を論理回路に配分する場合には、例えば論理回路に配線されていない状態のベーシックセル等を付加してもよいし、配線されてバッファやインバータ等の論理回路を構成しているベーシックセル等を付加してもよい。なお付加したベーシックセル等は、付加される論理回路と接続する必要はない。例えば論理回路の物理的に近く（例えば隣）に配線されていないベーシックセル等を配置する構成でもよいし、配分するベーシックセル等でバッファやインバータを構成して、これらを論理回路の物理的に近く配置する構成でもよい。
【００１３】
なおその後に配置する増加回路（例えばテスト用の回路や所定の時点では判明していなかったが、その後に判明した回路）が決定した場合には、配分したベーシックセル等を増加回路に置き換えることになる。
【００１４】
配分する際には、配分対象となる論理回路の種類をきめておいて、配分対象の種類の論理回路（総数がａとする）に一律に所定数（１論理回路当たりｂとする）のベーシックセル等を配分するようにしてもよい。この場合ａ×ｂの値が仮配置セル数とほぼ同じになるように配分する。
【００１５】
設計の途中段階でチップ見積もり用（バルクサイズ確定、バルク決定用、バルクに合わせた）の精度の良い仮のネットリストがあると便利である。本発明によれば、集積回路の設計段階で、判明していない論理回路について付加するダミー回路をその都度作ることなく、実際の配置配線用のネットリストとの乖離が大きくない、見積もり用の精度のよいネットリストを生成することができる。  従って生成したネットリストを用いて設計の途中段階で精度のよい配置配線テストを行うことができる。
【００１６】
（２）本発明の集積回路の設計方法は、
仮配置セル数取得ステップにおいて、
前記所定の段階において、判明している集積回路の設計データに基づき論理合成ツールを用いてゲートレベルの第１のネットリストを生成し、第１のネットリストに基づき、当該所定の段階において判明している論理回路を構成するセル数を求めることを特徴とする。
【００１７】
生成したゲートレベルのネットリストに基づき、所定の時点で判明している各種類の論理回路（ＦＦやＮＡＮＤやＡＮＤ等）の数を把握することもできる。
【００１８】
集積回路の設計データとは例えば信号の情報（ハードウエア記述言語で記載された情報）やネットリストやレイアウトパターンである。
【００１９】
論理合成ツールとは、ハードウエア記述言語で記述された論理機能を実際のゲート回路に変換するものであり、Verilog（ベリログ）やＶＨＤＬ（VHSIC Hardware Description Language）やシステムＣのそれぞれに対応した論理合成ツールがある。
【００２０】
例えば集積回路の回路設計における所定の段階において、判明している信号の論理情報に基づいてVerilog（ベリログ）でＲＴＬレベルのネットリストの生成を行い、その後所定の論理合成ツールを用いて、Verilog（ベリログ）でＲＴＬレベルのネットリストからVerilog（ベリログ）のゲートレベルのネットリストを生成するようにしてもよい。
【００２１】
（３）本発明の集積回路の設計方法は、
前記第１のネットリストの論理回路のうち、セルが配分された論理回路については、配分されたセルが付加された論理回路に置き換えて第２のネットリストを生成するステップを、
含むことを特徴とする。
【００２２】
例えばライブラリの論理回路情報をベーシックセル等配分前の情報から配分後の情報に置き換えるようにしてもよい。
【００２３】
（４）本発明の集積回路の設計方法は、
前記仮配置セル数取得ステップにおいて、
当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数と、所定の段階において判明している論理回路を構成するセル数の差分に基づき仮配置セル数を求めることを特徴する。
【００２４】
（５）本発明の集積回路の設計方法は、
前記配分ステップにおいて、
求めた仮配置セル数と、現段階で判明している配分対象として予定している所定の種類の論理回路数に基づき、所定の種類の論理回路の単位当たりのセルの配分数を決定し、所定の種類の論理回路に決定された配分数だけセルを配分することを特徴する。
【００２５】
所定の種類の論理回路数は例えば１種類の論理回路の数（例えばＦＦの数）でもよいし、複数の種類の論理回路の数（例えばＦＦとＡＮＤの数）でもよい。
【００２６】
所定の種類の論理回路として、例えばフリップフロップ（ＦＦ）回路の数に基づきＦＦ回路に配分するベーシックセル等の配分数を決定するようにしてもよい。
【００２７】
本発明によれば配分対象となった種類の論理回路については一律に配分されたベーシックセル等が付加された論理回路に置き換えることができるので、効率的に第２のネットリストを生成することができる。
【００２８】
（６）本発明の集積回路の設計方法は、
配分ステップにおいて、
求めた仮配置セル数分だけセルを、前記所定段階で判明しているフリップフロップ回路に配分することを特徴とする。
【００２９】
回路の大半を占めるフリップフロップ回路にベーシックセル等を入れることで、効率よくベーシックを配分することができる。
【００３０】
（７）本発明の集積回路の設計方法は、
前記第２ネットリストを用いて配置配線を行う配置配線ステップをさらに含むことを特徴とする。
【００３１】
本発明によれば選択するバルクまたは当該集積回路の完成時の予定セル数の条件下において、所定の段階で判明している論理回路がうまく配置配線できるか否かをテストすることができる。そしてもしうまくいかないようであれば、選択するバルクや完成時の予定セル数の見直しや、現段階の回路情報の修正を行うようにしてもよい。
【００３２】
（８）本発明は、上記のいずれかに記載された集積回路装置の設計方法を用いて設計されたことを特徴とする集積回路装置である。
【００３３】
（９）本発明は、
ゲートアレイを少なくとも１部に含む集積回路の設計を支援する設計支援システムであって、
前記所定の段階において、判明している集積回路の設計データに基づき論理合成ツールを用いてゲートレベルの第１のネットリストを生成し、第１のネットリストに基づき、当該所定の段階において判明している設計データを実現するための論理回路を構成するセル数を求め、求めたセル数と、当該集積回路に対応して選択するバルクのセル数または当該集積回路の完成時の予定セル数とに基づき、前記所定段階で判明している論理回路の少なくとも一部に仮配置するセルの総数である仮配置セル数を求める仮配置セル数取得手段と、
前記所定段階で判明している少なくとも一部の論理回路に、所定の規則に従ってまたはランダムに仮配置セル数分のセルを配分する配分手段と、
前記第１のネットリストの論理回路のうち、セルが配分された論理回路については、配分されたセルが付加された論理回路に置き換えて第２のネットリストを生成する手段を、
含むことを特徴とする集積回路の設計支援システムである。
【発明を実施するための最良の形態】
【００３４】
１．集積回路装置の設計方法
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００３５】
図１は本実施の形態の集積回路の設計方法について説明するためのフローチャートである。
【００３６】
図１のフローチャートでは仮配置ベーシックセルをフリップフロップ（ＦＦ）回路に配分する場合（配分予定論理回路がフリップフロップ（ＦＦ）回路である場合）を例にとり説明する。
【００３７】
まず半導体集積回路の回路設計における所定の段階において、判明している設計データに基づき論理合成ツールを用いてゲートレベルの第１のネットリストを生成する（ステップＳ１０）。設計データとは所定の設計段階において生成される信号の情報等（回路情報やレイアウトデータや接続情報を含む）であり、例えば半導体集積回路の回路設計における所定の段階において、判明している信号の論理情報に基づいてVerilog（ベリログ）でＲＴＬレベルのネットリストの生成を行い、その後所定の論理合成ツールを用いて、Verilog（ベリログ）のＲＴＬレベルのネットリストからVerilog（ベリログ）のゲートレベルのネットリストを生成するようにしてもよい。Verilog（ベリログ）のゲートレベルのネットリストがあると現段階で判明している論理回路を構成するために必要な各種論理回路（ＦＦ、ＮＡＮＤ、ＡＮＤ、ＡＮＤ等の論理セル）の数を把握することができる。
【００３８】
次に、第１のネットリストに基づき、当該所定の段階において判明している論理回路を構成するベーシックセル数及び、現時点で判明している論理回路を構成するＦＦ回路数を求める（ステップＳ２０）。
【００３９】
次に当該半導体集積回路に対応して選択するバルクのベーシックセル数または当該半導体集積回路の完成時の予定時のベーシックセル数と、所定の段階において判明している論理回路を構成するベーシックセル数の差分を求める（ステップＳ３０）。
【００４０】
次に差分に基づき仮配置ベーシックセル数を決定する（ステップＳ４０）。例えば完成予定時のベーシックセル数がｘで、所定の段階において判明している論理回路を構成するベーシックセル数がｙであるとすると、差分はｘ−ｙになる。この場合差分をそのまま、仮配置ベーシックセル数として決定してもよいし、差分にたいして所定の関数で一義的に導かれる値を仮配置ベーシックセル数として決定してもよい。
【００４１】
次に仮配置ベーシックセル数及びＦＦ回路数に基づき、ＦＦ回路１つ当たりに付加する付加ベーシックセル数を決定する（ステップＳ５０）。例えばＦＦ回路数がｚであるとすると、ＦＦ回路１つ当たりに付加する付加ベーシックセル数αは（ｘ−ｙ）／ｚとなる。より具体的には、例えば完成予定時のベーシックセル数が８０００で、所定の段階において判明している論理回路を構成するベーシックセル数が５０００、ＦＦ回路数が１５００であるとすると、ＦＦ回路１つ当たりに付加する付加ベーシックセル数は２となる。従ってこの場合ＦＦ回路に２個のベーシックセルが配分される事になる。
【００４２】
次にベーシックセル配分前のＦＦ回路の回路情報を、配分されたベーシックセルが付加されたベーシックセル付加済みＦＦ回路の回路情報に置き換えて第２のネットリストを生成する（ステップＳ６０）。ベーシックセルが配分されていない論理回路（ここではＦＦ以外の論理回路）の回路情報については第１のネットリストの回路情報を用いるとよい。このようにすると、第１のネットリストにおいてＦＦの回路情報をベーシックセル付加済みＦＦ回路の回路情報に置き換えることで、簡単に第２のネットリストを生成することができる。
【００４３】
次に生成された第２ネットリストを用いて配置配線を行う（ステップＳ７０）。
【００４４】
ここで配置配線した結果の配線長に基づきタイミング解析を行うようにしてもよい。
【００４５】
タイミング解析の結果、タイミングエラーないか否かを判定し、タイミングエラーがある場合には、タイミングエラーとなったベーシックセル付加済みＦＦ回路の付加されたベーシックセルでバッファ回路を構成して構成したバッファ回路がベーシックセル付加済みＦＦ回路のフリップフロップの入力端子に接続されるようにネットリストを変更し、元の配置配線を残して変更点のみ追加・削除を指示する設計変更指示（Engineering Change Orders）を行い、再びタイミング解析を行うようにしてもよい。
【００４６】
そして最終的な設計データが揃った場合には（ステップＳ８０）、最終的な設計データに基づき、論理合成ツールを用いてゲートレベルの第３のネットリストを生成する（ステップＳ９０）。第３のネットリストの段階では、最終的な設計データを実現するための論理回路を構成するベーシックセル数は、半導体集積回路に対応して選択するバルクのベーシックセル数または当該半導体集積回路の完成時の予定ベーシックセル数になっている予定である。従って予定通りである場合には、配分されたベーシックセルは削除され、第１のネットリストの段階から第３のネットリストの段階において新たに追加された論理回路に取って代わられることになる。
【００４７】
また新たに追加された論理回路が予定よりも少ない場合には、一部にベーシックセル付加すみＦＦ回路が残るようにしてもよい。ここで残ったベーシックセル付加すみＦＦ回路の付加されたベーシックセルでバッファ回路を構成して構成したバッファ回路をいずれかのＦＦ回路のフリップフロップの入力端子に接続されるように変更してタイミング調整に使うようにしてもよい。
【００４８】
本発明によれば選択するバルクまたは当該半導体集積回路の完成時の予定ベーシックセル数の条件下において、所定の段階で判明している論理回路がうまく配置配線できるか否かをテストすることができる。そしてもしうまくいかないようであれば、付加したベーシック回路でバッファを構成してタイミングの調整をはかるようにしてもよい。また選択するバルクや完成時の予定ベーシックセル数の見直しや、現段階の回路情報の修正を行うようにしてもよい。
【００４９】
図２は、ベーシックセルを論理回路に配分する例について説明するための図である。
【００５０】
図２（Ａ）（Ｂ）は、ベーシックセル付加済みの論理回路の例を説明するための図である。本実施の形態では論理回路にベーシックセルを配分してベーシックセル付加済みの論理回路を生成する。
【００５１】
図２（Ａ）は、論理回路の一例であるフリップフロップ（ＦＦ）回路１０に２個のベーシックセルＢＣ−１、ＢＣ−２を付加したベーシックセル付加済みのＦＦ回路１０’の例である。ここでＦＦ回路１０に付加されている２個の各ベーシックセルＢＣ−１、ＢＣ−２は、他のベーシックセルやＦＦ回路１０に配線されていない状態のベーシックセルである。このようにベーシックセルを論理回路に配分する場合には、配線されていない状態のベーシックセルを付加する構成でもよい。なお付加したベーシックセルＢＣ−１、ＢＣ−２は、付加されるＦＦ回路１０と接続されている必要はない。
【００５２】
図２（Ｂ）は、論理回路の一例であるＮＡＮＤ回路２０に３個のベーシックセルＢＣ−１、ＢＣ−２、ＢＣ−３を付加したベーシックセル付加済みのＮＡＮＤ回路２０’の例である。ここでＮＡＮＤ回路２０に付加されている３個の各ベーシックセルＢＣ−１、ＢＣ−２、ＢＣ−３は、他のベーシックセルやＮＡＮＤ回路２０に配線されていない状態のベーシックセルである。付加したベーシックセルＢＣ−１、ＢＣ−２、ＢＣ−３は、付加されるＮＡＮＤ回路２０と接続されている必要はない。
【００５３】
図３（Ａ）〜（Ｃ）は、付加されたベーシックセルが配線されて所定の論理回路を構成している例について説明するための図である。
【００５４】
図３（Ａ）は、論理回路の一例であるフリップフロップ回路（セットリセット付きＤフリップフロップ以下、ＤＦＳＲ）１１０のセルパターンをシンボルで表した概略図である。図３（Ａ）に示すように、ＤＦＳＲ１１０は、入力端子としてデータ端子Ｄとクロック端子Ｃとリセット端子Ｓとリセット端子Ｒがあり、出力端子として出力端子Ｑと反転出力端子ＸＱがある。
【００５５】
図３（Ｂ）は、付加されたベーシックセルが配線されて入力信号のタイミングを調整するためのタイミング調整回路であるバッファ回路１３０を構成している場合のセルパターンをシンボルで表した概略図である。
【００５６】
図３（Ｃ）は、図３（Ａ）のフリップフロップ回路ＤＦＳＲ１１０に、配分ベーシックセルで構成した図３（Ｂ）に示すバッファ回路１３０のセルパターンを配置した、バッファ回路付きフリップフロップ（ベーシックセル配分後の論理セルであり、以下、ＤＦＳＲ＿ＢＦ）１０１のセルパターンをシンボルで表した概略図である。フリップフロップＤＦＳＲ１１０にベーシックセルで構成されたバッファ回路１３０を配分する場合には、ＤＦＳＲ１１０とバッファ回路１３０は接続されている必要はない。ただし仮にＤＦＳＲ１１０がタイミング解析によりタイミングエラーとなった場合には、バッファ回路１３０をＤＦＳＲ＿ＢＦ１０１の入力端子及びＤＦＳＲ１１０の間に接続されるように配線してもよい。
【００５７】
２．集積回路装置の設計支援システム
次に図４を用いて本実施形態の集積回路装置の設計支援システムの構成について説明する。本実施形態の集積回路装置の設計支援システム２００は、当該構成要素（各部）の一部を省略した構成としてもよい。
【００５８】
操作部２６０は、ユーザーの操作等をデータとして入力するためのものであり、その機能は、例えばキーボードやマウス等のハードウェアにより実現できる。
【００５９】
記憶部２７０は、処理部２２０や通信部２９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００６０】
記憶部２７０は、ライブラリ情報記憶部２７２を含む。
【００６１】
ライブラリ情報記憶部２７２は、設計データにより得られたライブラリ情報（論理回路情報、レイアウト情報、接続情報）や、生成されたネットリストの情報等が記憶されている。
【００６２】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ等）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。
【００６３】
また情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるプログラムや補助データ（付加データ）が記憶される。
【００６４】
処理部２２０は、この情報記憶媒体２８０に格納されるプログラム（データ）や情報記憶媒体２８０から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００６５】
表示部２９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ（有機ＥＬディスプレイ）、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイなどのハードウェアにより実現できる。
【００６６】
音出力部２９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００６７】
通信部２９６は、外部（例えばサーバ装置や他の端末機）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００６８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ装置）が有する情報記憶媒体からネットワーク及び通信部２９６を介して情報記憶媒体２８０（あるいは記憶部２７０）に配信するようにしてもよい。このようなホスト装置（サーバ装置等）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００６９】
処理部２２０（プロセッサ）は、操作部２６０からの操作データやプログラムなどに基づいて、各種処理などを行う。この処理部２２０は記憶部２７０をワーク領域として各種処理を行う。処理部２２０の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、アプリケーションプログラム、ＯＳ（例えば汎用ＯＳ等）により実現できる。
【００７０】
処理部２２０は、仮配置セル数取得部２２２、配分処理部２２４、第２のネットリスト生成処理部２２６を含む。
【００７１】
仮配置セル数取得部２２２は、前記所定の段階において、判明している半導体集積回路の設計データに基づき論理合成ツールを用いてゲートレベルの第１のネットリストを生成し、第１のネットリストに基づき、当該所定の段階において判明している設計データを実現するための論理回路を構成するベーシックセル数を求め、求めたベーシックセル数と、当該半導体集積回路に対応して選択するバルクのベーシックセル数または当該半導体集積回路の完成時の予定ベーシックセル数とに基づき、前記所定段階で判明している論理回路の少なくとも一部に仮配置するベーシックセルの総数である仮配置ベーシックセル数を求める処理を行う。
【００７２】
また仮配置セル数取得部２２２は、当該半導体集積回路に対応して選択するバルクのベーシックセル数または当該半導体集積回路の完成時の予定ベーシックセル数と、所定の段階において判明している論理回路を構成するベーシックセル数の差分に基づき仮配置ベーシックセル数を求めるようにしてもよい。
【００７３】
配分処理部２２４は、所定段階で判明している少なくとも一部の論理回路に、所定の規則に従ってまたはランダムに仮配置ベーシックセル数分のベーシックセルを配分する処理を行う。
【００７４】
また配分処理部２２４は、求めた仮配置ベーシックセル数と、現段階で判明している配分対象として予定している所定の種類の論理回路数に基づき、所定の種類の論理回路の単位当たりのベーシックセルの配分数を決定し、所定の種類の論理回路に決定された配分数だけベーシックセルを配分するようにしてもよい。
【００７５】
また配分処理部２２４は、求めた仮配置ベーシックセル数分だけベーシックセルを、前記所定段階で判明しているフリップフロップ回路に配分するようにしてもよい。
【００７６】
第２のネットリスト生成処理部２２６は、前記第１のネットリストの論理回路のうち、ベーシックセルが配分された論理回路については、配分されたベーシックセルが付加された論理回路に置き換えて第２のネットリストを生成する処理を行う。
【００７７】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部２９６を介して情報記憶媒体２８０（記憶部２７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００７８】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【図面の簡単な説明】
【００７９】
【図１】本実施の形態の集積回路の設計方法について説明するためのフローチャート。
【図２】ベーシックセルを論理回路に配分する例について説明するための図。
【図３】図３（Ａ）〜（Ｃ）は、付加されたベーシックセルが配線されて所定の論理回路を構成している例について説明するための図。
【図４】本実施形態の集積回路装置の設計支援システムの構成について説明するための図。
【符号の説明】
【００８０】
１０  フリップフロップ回路、１０’ベーシックセル付加済みフリップフロップ回路、２０  ＮＡＮＤ回路、２０’ベーシックセル付加済みＮＡＮＤ回路、ＢＣ−１  第１のベーシックセル、ＢＣ−２  第２のベーシックセル、ＢＣ−３  第３のベーシックセル、１０１  バッファ回路付きフリップフロップ、１１０  フリップフロップ回路、１３０  バッファ回路、２００  設計支援システム、２２０  処理部、２２２  仮配置セル数取得部、２２４  配分処理部、２２６  第２のネットリスト生成処理部
【図１】
2009009226.tif 000003
【図２】
2009009226.tif 000004
【図３】
2009009226.tif 000005
【図４】
2009009226.tif 000006