(57)【要約】【課題】ゲートアレイについてユーザー所望の条件に対して所与のマスタが適合するのか不適合なのかをユーザー自ら判定可能なシステムを提供すること。【解決手段】本設計支援プログラムは、使用レジスタ総ビット数、回路タイプ情報を取得する手段と、受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する手段と、前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段とを含む。【選択図】図７
2008176399.tif 000002
【特許請求の範囲】
【請求項１】
ゲートアレイを少なくとも一部に含む集積回路の設計支援プログラムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項２】
請求項１において、
ゲートアレイを少なくとも１部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項３】
請求項２において、
内蔵メモリの容量、数量、配置位置に関する内蔵メモリ情報を取得する内蔵メモリ情報取得手段と、
前記マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う内蔵メモリ配置シミュレーション手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項４】
請求項３において、
前記搭載可能ゲート数演算手段は、
入力されたマスタの種類、内蔵メモリ情報に基づき、内蔵メモリによりユーザーの論理回路に使用できない部分をのぞいたゲート容量を求め、当該ゲート容量に対して内蔵メモリを有することよる補正を行い、搭載可能ゲート数を求めることを特徴とする集積回路設計支援プログラム。
【請求項５】
請求項２乃至４のいずれかにおいて、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
してコンピュータを機能させることことを特徴とする集積回路設計支援プログラム。
【請求項６】
請求項４乃至５のいずれかにおいて、
内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する配置予想画像表示制御手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記論理仕様取得手段は、
前記使用レジスタ総ビット数、回路タイプを含む論理仕様についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から使用レジスタ総ビット数、回路タイプを含む論理仕様情報を受け付ける論理仕様情報受け付け手段とを含み、
物理仕様取得手段は、
前記マスタの種類と、配線層数を含む物理仕様情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面からマスタの種類と、配線層数を含む物理仕様情報を受け付ける物理仕様受け付け手段とを含み、
内蔵メモリ情報取得手段は、
内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報を受け付ける内蔵メモリ情報受け付け手段とを含むことを特徴とする集積回路設計支援プログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
論理仕様取得手段は、
ゲートアレイに関するハードウエア記述言語のソースコード情報の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める処理を行うハードウエア記述言語解析手段を含むことを特徴とする集積回路設計支援プログラム。
【請求項９】
ゲートアレイを少なくとも１部に含む集積回路の設計支援システムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
ゲートアレイを少なくとも１部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
を含むことを特徴とする集積回路設計支援システム。
【請求項１０】
ゲートアレイを少なくとも１部に含む集積回路の設計方法であって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得ステップと、
ゲートアレイを少なくとも１部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得ステップと、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算ステップと、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶ステップと、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算ステップと、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断ステップと、
を含むことを特徴とする集積回路設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路設計支援プログラム、集積回路設計支援システム及び集積回路設計支援方法に関する。
【背景技術】
【０００２】
ゲートアレイを用いたＬＳＩ設計では、マスタと呼ばれる予め準備されたゲート容量等の異なる多数のゲートアレイ基本製品を用意し、それら基本製品についてユーザー毎に異なるメタル層からなるスライスマスクを製作して最終的なセミカスタム製品化を行うことが行われている。
【特許文献１】特開２００２−７４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このようなスライス製作にあたっては、ユーザー所望の条件に対して最適なマスタを選定することが重要である。
【０００４】
従来は検討の目安となる技術資料を提示して、これに基づきユーザーに条件を出してもらい、エンジニアが手作業でレイアウト等を考慮して、ゲートアレイのマスタ選定を行うのが一般的であった。
【０００５】
ゲートアレイは論理ＬＳＩであり、基本的には論理ゲート数と、ゲートの使用効率、電源電圧、ビン数という４条件から、該当しそうなマスタを推定し、候補としてあげることは可能である。
【０００６】
しかし、近年、ＲＴＬ設計が一般化し、ユーザーがＲＴＬ設計を行なった時点では、論理ゲート数が不明なケースも増え、上記のような推定方法が難しくなっていた。また、論理ＬＳＩ内へのメモリを集積するケースが増え、そのようなケースでは、メモリブロックの配置、配線などレイアウト面の考慮が必要になり、半導体設計者以外の一般ユーザーがこれを行なうことはますます難しくなってきている。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、ゲートアレイを少なくとも１部に含む集積回路についてユーザー所望の条件に対して所与のマスタが適合するのか不適合なのかをユーザー自ら判定可能な集積回路設計支援プログラム、集積回路設計支援システム及び集積回路設計支援方法を提供することである。
【課題を解決するための手段】
【０００８】
（１）本発明は、
ゲートアレイを少なくとも１部に含む集積回路の設計支援プログラムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
してコンピュータを機能させることを特徴とする。
【０００９】
ゲートアレイを少なくとも１部に含む集積回路とは、ゲートアレイでもよいし、例えばエンベディットアレイ等のようにゲートアレイを含む集積回路でもよい。なおゲートアレイ以外に、スタンダードセル、特定用途向けのハードマクロ（ＣＰＵ等）、ＲＡＭ等を含む集積回路でもよい。
【００１０】
回路タイプとは、例えば制御回路または演算回路のいずれであるかでもよいし、演算回路と制御回路が混合している場合もあるので、その場合には各回路の占める割合に応じて複数の回路タイプを設定して選択できるようにしてもよい。
【００１１】
推定ゲート所要量演算手段は、受け付けた回路タイプに関する情報とに基づき、ゲート数換算定数又は関数を設定または選択して、設定または選択したゲート数換算定数又は関数と使用レジスタ総ビット数に基づき、推定ゲート所要量を演算するようにしてもよい。
【００１２】
使用レジスタの総ビット数とロジックの総ゲート数との相関関係や対応関係は回路タイプに応じて変わってくるので、ゲート数換算定数又は関数は、過去事例の統計的使用効率データにヒューリスティックな値を加味して設定するようにしてもよい。
【００１３】
このようにするとユーザーがハードウエア記述言語のソースしかもっておらずゲート所要数が不明な場合でも、レジスタ総ビット数と回路タイプを指定することで、かなり信憑性の高い推定ゲート所要量を演算することができる。
【００１４】
（２）本発明の集積回路設計支援プログラムは、
ゲートアレイを少なくとも１部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
してコンピュータを機能させることことを特徴とする。
【００１５】
搭載可能ゲート数演算手段は、
入力されたマスタの種類と記憶されているゲート容量情報に基づきマスタの種類に対応したゲート容量を求め、入力されたマスタの種類及び配線層数と記憶されている使用効率情報に基づき入力されたマスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算するようにしてもよい。
【００１６】
使用効率は、物理配線上使用できる配線層数をパラメータとし、過去事例の統計的使用効率データにヒューリスティックな値をマージンとして加味したものを推定使用効率として設定しておくようにしてもよい。
【００１７】
本発明によれば、ユーザー使用の配線層数に応じて適切な搭載可能ゲート数を求めることができる。
【００１８】
（３）本発明の集積回路設計支援プログラムは、
内蔵メモリの容量、数量、配置位置に関する内蔵メモリ情報を取得する内蔵メモリ情報取得手段と、
前記マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う内蔵メモリ配置シミュレーション手段と、
してコンピュータを機能させることを特徴とする。
【００１９】
内蔵メモリの容量とは例えば内蔵メモリのビット幅と深さにより指定することができる。内蔵メモリとは例えば、ＲＡＭ等である。
【００２０】
配置シミュレーション手段は、内蔵メモリの容量、数量、配置位置に関する内蔵メモリ情報に基づき、メモリの物理配置、必要な配線領域の幅など、レイアウトを考慮した面積見積もりや配置シミュレーションを行うようにしてもよい。
【００２１】
（４）本発明の集積回路設計支援プログラムは、
前記搭載可能ゲート数演算手段は、
入力されたマスタの種類、内蔵メモリ情報に基づき、内蔵メモリによりユーザーの論理回路に使用できない部分をのぞいたゲート容量を求め、当該ゲート容量に対して内蔵メモリを有することよる補正を行い、搭載可能ゲート数を求めることを特徴とする。
【００２２】
内蔵メモリを有することによる補正とは、例えば当該ゲート容量に対して所定の割合または所定量を減じる補正でもよい。例えば内蔵メモリ有りの場合にはユーザーの論理回路に使用できない部分をのぞいたゲート容量の使用効率を１０％減算するようにしてもよい。
【００２３】
（５）本発明の集積回路設計支援プログラムは、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
してコンピュータを機能させることことを特徴とする。
【００２４】
例えば推定ゲート所要量が、搭載可能ゲート数内に収まった場合に搭載可能であると判断するようにしてもよいし、推定ゲート所要量が搭載可能ゲート数の所定の割合以内に収まった場合に搭載可能であると判断するようにしてもよい。
【００２５】
（６）本発明の集積回路設計支援プログラムは、
内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する配置予想画像表示制御手段と、
してコンピュータを機能させることことを特徴とする。
【００２６】
本発明によれば内蔵メモリの配置予想画像が表示されるので、ユーザーは配置シミュレーション結果をビジュアルに確認することができる。
【００２７】
（７）本発明の集積回路設計支援プログラムは、
前記論理仕様取得手段は、
前記使用レジスタ総ビット数、回路タイプを含む論理仕様についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から使用レジスタ総ビット数、回路タイプを含む論理仕様情報を受け付ける論理仕様情報受け付け手段とを含み、
物理仕様取得手段は、
前記マスタの種類と、配線層数を含む物理仕様情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面からマスタの種類と、配線層数を含む物理仕様情報を受け付ける物理仕様受け付け手段とを含み、
内蔵メモリ情報取得手段は、
内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報受け付ける内蔵メモリ情報受け付け手段とを含むことを特徴とする。
【００２８】
本発明によればユーザーは入力画面画から論理仕様や物理使用や内蔵メモリ情報を入力することができる。
【００２９】
（８）本発明の集積回路設計支援プログラムは、
論理仕様取得手段は、
ゲートアレイに関するハードウエア記述言語のソースコード情報の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める処理を行うハードウエア記述言語解析手段を含むことを特徴とする。
【００３０】
ハードウエア記述言語（HDL（Hardware Description Language））は、デジタル回路、特に集積回路を設計するためのコンピュータ言語の一種であり、例えばＲＴＬ（Register Transfer Level）言語等でもよい。ＲＴＬとは、回路をフリップフロップ＋組み合わせ論理回路で表現したレベルのことであり、現在のHDLによる回路設計はおもにこのレベルの記述を使用する。
【００３１】
ハードウエア記述言語解析手段は、例えば代表的なＲＴＬ言語であるＶｅｒｉｌｏｇ言語のケースでは、レジスタ宣言の部分を解析してＲｅｇｉｓｔｒ宣言されたビット数から使用レジスタ総ビット数を求めるようにしてもよい。
【００３２】
本発明によれば、ユーザーがＲＴＬソースしかもっておらず、ゲート所要数が不明なケースでも、システムがＲＴＬソースを解析して、自動的に使用レジスタ総ビット数を求めるので、ユーザーの手間を大幅に削減することができる。
【００３３】
（９）本発明は、
ゲートアレイを少なくとも１部に含む集積回路の設計支援システムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
ゲートアレイを少なくとも１部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
を含むことを特徴とする。
【００３４】
（１０）本発明は、
ゲートアレイを少なくとも１部に含む集積回路の設計方法であって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得ステップと、
ゲートアレイを少なくとも１部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得ステップと、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算ステップと、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶ステップと、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算ステップと、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断ステップと、
を含むことを特徴とする。
【発明を実施するための最良の形態】
【００３５】
１．構成
まず、図１を用いて本実施形態の集積回路装置の設計支援システムの構成について説明する。本実施形態の集積回路装置の設計支援システムは、当該構成要素（各部）の一部を省略した構成としてもよい。
【００３６】
操作部１６０は、ユーザーの操作等をデータとして入力するためのものであり、その機能は、例えばキーボードやマウス等のハードウエアにより実現できる。操作部は、入力画面から使用レジスタ総ビット数、回路タイプを含む論理仕様情報を受け付ける論理仕様情報受け付け手段、入力画面からマスタの種類と、配線層数を含む物理仕様情報を受け付ける物理仕様受け付け手段、入力画面から内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報受け付ける内蔵メモリ情報受け付け手段として機能する。
【００３７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウエアにより実現できる。
【００３８】
記憶部１７０は、マスタ情報記憶部１７２を含む。
【００３９】
マスタ情報記憶部１７２は、前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段として機能する。
【００４０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ等）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウエアにより実現できる。
【００４１】
また情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるプログラムのための補助データ（付加データ）が記憶される。
【００４２】
処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）や情報記憶媒体１８０から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４３】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ(有機ＥＬディスプレイ)、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイなどのハードウエアにより実現できる。
【００４４】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウエアにより実現できる。
【００４５】
通信部１９６は、外部（例えばサーバ装置や他の端末機）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウエアや、プログラムなどにより実現できる。
【００４６】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバ装置等）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４７】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、各種処理などを行う。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウエアや、アプリケーションプログラム、ＯＳ（例えば汎用ＯＳ等）により実現できる。
【００４８】
処理部１００は、推定ゲート所要量演算部１１０、搭載可能ゲート数演算部１１２、内蔵メモリ配置シミュレーション処理部１１４、ハードウエア記述言語解析処理部１１６、適合性判断処理部１１８、表示制御部１２０を含む。表示制御部１２０は、予想配置画像表示制御部１２２と入力画面表示制御部１２４を含む。
【００４９】
推定ゲート所要量演算部１１０は、受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する。
【００５０】
搭載可能ゲート数演算部１１２は、マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する。
【００５１】
内蔵メモリ配置シミュレーション処理部１１４は、マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う。
【００５２】
また搭載可能ゲート数演算部１１２は、入力されたマスタの種類、内蔵メモリ情報に基づき、内蔵メモリによりユーザーの論理回路に使用できない部分をのぞいたゲート容量を求め、当該ゲート容量に対して内蔵メモリを有することよる補正を行い、搭載可能ゲート数を求めるようにしてもよい。
【００５３】
適合判断処理部１１８は、推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する。
【００５４】
配置予想画像表示制御部１２２は、内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する制御を行う。
【００５５】
ハードウエア記述言語解析処理部１１６は、ゲートアレイに関するハードウエア記述言語のソースコード情報の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める処理を行う。
【００５６】
入力画面表示制御部１２４は、前記使用レジスタ総ビット数、回路タイプを含む論理仕様についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、前記マスタの種類と、配線層数を含む物理仕様情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段として機能する。
【００５７】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５８】
図２（Ａ）（Ｂ）、図３（Ａ）（Ｂ）は本実施の形態のマスタ情報について説明するための図である。
【００５９】
図２（Ａ）のマスタサイズテーブル２１０は、マスタの種類２１２の対応したゲート容量２１４が記憶されている。マスタの種類２１２とは、マスタの製品の種類を表すものであればよい。ゲート容量２１４は、当該マスタの種類２１２に搭載する物理的なゲート総数である。
【００６０】
図２（Ｂ）の使用効率テーブル２２０は、マスタの種類２２２及び配線層数２２４〜２２８に対応した使用効率が記憶されている。例えばマスタの種類が「M0001」である場合、配線層数が１の場合仕様効率はｘ１であり、配線層数が２の場合仕様効率はｙ１であり、配線層数が３の場合仕様効率はｚ１である。
【００６１】
なおマスタ情報は図２（Ａ）（Ｂ）に示すようにプログラムから読み出し可能なデータテーブルとして記憶されていてもよいし、図３（Ａ）（Ｂ）にしめすようにプログラム（処理部の搭載可能ゲート数演算部を実現するためのプログラムであり、例えばＪａｖａ（登録商標）で作成されている）のソースコードに埋め込んでおく形式でもよい。図３（Ａ）は、Ｊａｖａ（登録商標）のソースコードにマスタサイズテーブル２１０の内容を埋め込む例を示しており、図３（Ｂ）は、Ｊａｖａ（登録商標）のソースコードに仕様効率テーブル２２０の内容を埋め込む例を示している。
【００６２】
２．インターフェース
本実施の形態では、適否判定の対象となるマスタについて必要仕様データをプログラム中に取り込み（但し、実データはユーザーからは見えない）Ｊａｖａ（登録商標）アプレット形式の実行プログラムとして集積回路設計支援プログラムをＷｅｂサーバ上に設置している。集積回路設計支援プログラムは、ユーザーの求めに応じてユーザー端末（図１参照）にダウンロードされ、ユーザー端末のインタネットブラウザ画面上で実行できるようになっている。
【００６３】
図４は本実施の形態のユーザー入力を受け付けるための入力画面について説明するための図である。ユーザーが入力画面閲覧要求を行うと、図４に示すような入力画面がユーザー端末の表示部に表示される。
【００６４】
３１０は物理仕様情報受け付け部であり、ゲートアレイシリーズ指定部３１２、ゲートアレイマスタ指定部３１４、ゲートアレイ配線総数指定部３１６を含む。いずれもプルダウン形式で、データを選択入力するようになっている。ゲートアレイシリーズ指定部３１２及びゲートアレイマスタ指定部３１４で所望のゲートアレイマスタ製品を指定するように構成されており、システムはこの入力情報によりマスタの種類情報を取得することができる。またゲートアレイ配線総数指定部３１６で所望の配線層数指定するように構成されており、システムはこの入力情報により配線層数情報を取得することができる。
【００６５】
３２０は論理仕様情報受け付け部であり、レジスタ総ビット数指定部３２２、ゲート総数指定部３２４、回路タイプ（制御系または演算系）指定部３１６、メモリーＢＩＳＴ内蔵有無指定部３２８を含む。レジスタ総ビット数指定部３２２、ゲート総数指定部３２４はユーザーロジックの所要ゲート数を入力する部分であり、ユーザーは、レジスタ総ビット数指定部３２２、ゲート総数指定部３２４のいずれかを選択して入力することができる。例えばユーザーがユーザーロジックの総ゲート数を把握している場合には、ゲート総数指定部３２４を選択して把握している値を入力する。またユーザーはＲＴＬ（ハードウエア記述言語の一例）ソースしかもっておらずゲート所要数が不明な場合には、ユーザーはレジスタ総ビット数指定部３２２を選択して、ＲＴＬソース中に使用したレジスタビット数（例えば、代表的なＲＴＬ言語であるＶｅｒｉｌｏｇ言語のケースではＲｅｇｉｓｔｒ宣言されたビット数）からレジスタ総ビット数を求めて入力するようにしてもよい。システムはレジスタ総ビット数指定部３２２またはゲート総数指定部３２４のいずれかの入力情報を取得することにより、ユーザーロジックの論理ゲート数に関する情報を取得することができる。
【００６６】
また回路タイプ指定部３２６で、回路タイプが制御回路であるか、演算回路であるか指定する。回路タイプとはユーザーロジックのＲＴＬソースが形成しようとする回路形式であり、ここでは制御回路と演算回路の２つのタイプから選択するようになっている。加算器や減算器や乗算器や除算器等の演算回路を含む場合には回路タイプで演算回路を指定し、前記演算回路を含まない制御系の回路である場合には回路タイプで制御回路を指定する。ただし、演算回路と制御回路が混合している場合もあるので、その場合には各回路の占める割合に応じていずれか選択するようにしてもよい。システムは回路タイプ指定部３２６の入力情報を取得することにより、ユーザーロジックの回路タイプに関する情報を取得することができる。
【００６７】
３３０はＲＡＭ情報指定部（内蔵メモリ情報受け付け部の一例）であり、内蔵ＲＡＭのビット幅指定部３３２、ビット深さ指定部３３４、個数指定部３３６、配置位置（配置行）指定部３３８を含む。内蔵ＲＡＭのビット幅指定部３３２で内蔵ＲＡＭのビット幅（縦）を指定し、ビット深さ指定部３３４で内蔵ＲＡＭのビット深さ（横）を指定し、個数指定部３３６で、先に指定したビット幅とビット深さの内蔵ＲＡＭの個数を指定し、配置位置（配置行）指定部３３８で先に指定したビット幅とビット深さの内蔵ＲＡＭの指定した個数がおかれる配置行を指定するように構成されており、システムはこの入力情報により内蔵メモリ情報を取得することができる。
【００６８】
３４０は見積もり結果画像表示部であり入力されたマスタの種類に対する入力された論理仕様の搭載の可否及び内蔵メモリの配置シミュレーション結果に基づく配置予想画像が表示される。具体的には図５、図６で説明する。
【００６９】
図５は、本実施の形態の結果表示画面（選択したマスタにユーザーロジックが適合したケース）について説明するための図である。入力画面からユーザーが、ゲートアレイシリーズ指定部３１２、ゲートアレイマスタ指定部３１４、ゲートアレイ配線総数指定部３１６、レジスタ総ビット数指定部３２２またはゲート総数指定部３２４、回路タイプ（制御系または演算系）指定部３１６、メモリーＢＩＳＴ内蔵有無指定部３２８、内蔵ＲＡＭのビット幅指定部３３２、ビット深さ指定部３３４、個数指定部３３６、配置位置（配置行）指定部３３８を指定して適否判定ツールの実行を指示すると、判定結果表示部３７０に判定結果が表示され、見積もり結果画像表示部３４０に判定結果表示画像が表示される。
【００７０】
判定結果表示部３７０は、ロジック部分（３５２）及びマクロ部分（ＲＡＭブロック３５４−１、３５４−２、３５４−３）それぞれについて判定結果（ＯＫまたはＮＧ）を表示している。
【００７１】
また判定結果表示画像は３５０に示すように、ロジック部３５２および個々のＲＡＭブロック３５４−１、３５４−２、３５４−３の形状を含み、ゲートアレイのマスタレイアウト上の仮のレイアウト配置図という形でグラフィック表示する。この際、適用可能なケース（ＯＫの場合）では第１の色（青系統の色）表示で、適用不能なケース（ＮＧの場合）では第２の色（赤系統の色）表示で該当部分を塗りつぶすようにした。
【００７２】
３７０に示すロジック部の判定結果はＯＫであり、見積もり結果画像表示部３４０に示すロジック部３５２は第１の色（青系統の色）で表示されている。これはユーザーロジック（論理仕様情報受け付け部３２０で指定した内容により判断される）が、指定したマスタ（物理仕様情報受け付け部３１０で指定した内容により判断される）に搭載可能であることを意味する。例えば論理仕様情報受け付け部３２０で受け付けた内容に基づき演算した推定ゲート所要量が、物理仕様情報受け付け部３１０及びＲＡＭ情報指定部３３０で受け付けた内容に基づき演算した搭載可能ゲート数内に収まった場合に搭載可能であると判断するようにしてもよい。
【００７３】
また３７０に示すマクロ部分（ＲＡＭブロック）の判定結果はＯＫであり、見積もり結果画像表示部３４０に示すＲＡＭブロック３５４−１、３５４−２、３５４−３は第１の色（青系統の色）で表示されている。これは内蔵ＲＡＭ（内蔵ＲＡＭ情報受け付け部３３０で指定した内容により判断される）が、指定したマスタ（物理仕様情報受け付け部３１０で指定した内容により判断される）に搭載可能であることを意味する。例えば内蔵ＲＡＭ情報受け付け部３２０で受け付けた内容に基づき、内蔵ＲＡＭの配置シミュレーションを行い、配置シミュレーションの結果内蔵ＲＡＭが物理情報指定部３１０で指定した種類のマスタに収まった場合（マスタと内蔵ＲＡＭの面積と形状に基づき配置シミュレーションをおこない配置可能であった場合）に搭載可能であると判断するようにしてもよい。
【００７４】
また例えば３６０に示すように、論理仕様情報受け付け部３２０で受け付けた内容に基づき演算したロジック合計（推定ゲート所要量）３６４、及び物理仕様情報受け付け部３１０及びＲＡＭ情報指定部３３０で受け付けた内容に基づき演算した使用可能エリアのゲート数（搭載可能ゲート数）３６２を表示するようにしてもよい。同図に示すように演算内容についても表示するようにしてもよい。
【００７５】
図６は、本実施の形態の結果表示画面（選択したマスタにユーザーロジックが適合しないケース）について説明するための図である。
【００７６】
３７０に示すロジック部の判定結果はＮＧであり、見積もり結果画像表示部３４０に示すロジック部３５２は第２の色（赤系統の色）で表示されている。これはユーザーロジック（論理仕様情報受け付け部３２０で指定した内容により判断される）が、指定したマスタ（物理仕様情報受け付け部３１０で指定した内容により判断される）に搭載可能でないことを意味する。例えば論理仕様情報受け付け部３２０で受け付けた内容に基づき演算した推定ゲート所要量が、物理仕様情報受け付け部３１０及びＲＡＭ情報指定部３３０で受け付けた内容に基づき演算した搭載可能ゲート数内に収まらなかった場合に搭載可能でないと判断するようにしてもよい。
【００７７】
また３７０に示すマクロ部分（ＲＡＭブロック）の判定結果はＮＧであり、見積もり結果画像表示部３４０に示すＲＡＭブロック３５４−１、３５４−２は第１の色（青系統の色）で表示され、ＲＡＭブロック３５４−３は第２の色（赤系統の色）で表示されている。これは内蔵ＲＡＭ（内蔵ＲＡＭ情報受け付け部３３０で指定した内容により判断される）３５４−１、３５４−２は、指定したマスタ（物理仕様情報受け付け部３１０で指定した内容により判断される）に搭載可能であるが、内蔵ＲＡＭ（内蔵ＲＡＭ情報受け付け部３３０で指定した内容により判断される）３５４−３は、指定したマスタ（物理仕様情報受け付け部３１０で指定した内容により判断される）に搭載可能でないことを意味する。
【００７８】
図７は、本実施の形態の処理の流れについて説明するためのフローチャートである。
【００７９】
ユーザーの端末に、本実施の形態の集積回路の設計支援プログラムがダウンロードされているものとする。
【００８０】
ユーザー入力画面閲覧要求を受け付けると（ステップＳ１０）、ユーザー入力画面を表示部に出力する（ステップＳ２０）。表示部には図３に示すようなユーザー入力画面が表示される。
【００８１】
次にユーザー入力画面より、回路タイプ(制御系／演算系)、レジスタ総ビット数、内蔵ＲＡＭ情報、マスタ指定情報、配線層数に関するユーザー入力情報をうけつける（ステップＳ３０）。
【００８２】
次に受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する（ステップＳ４０）。例えば下記のような式を用いて求めるようにしてもよい。
【００８３】
推定ゲート所要量＝使用レジスタ総ビット数×回路タイプに応じて設定された定数
＋内蔵ＢＩＳＴ数    ・・・（式１）
【００８４】
ここで、使用レジスタ総ビット数は、図４のレジスタ総ビット数指定部３２２に入力された値を用いる。また回路タイプに応じて設定された定数は、図４の回路タイプ（制御系または演算系）指定部３１６で選択された回路タイプに対応付けられている値をとる。例えば制御回路が選択された場合には第１の定数（α）、演算回路が選択された場合には第２の定数（β）が用いられるようにしてもよい。制御回路と演算回路でレジスタ総ビット数が同じであれば演算回路のほうが回路規模が大きくなるため、第１の定数（α）＜第２の定数（β）となるように設定してもよい。内蔵ＢＩＳＴ数は、図４のメモリーＢＩＳＴ内蔵有無指定部３２８でありが入力された場合には予め設定されているＢＩＳＴのゲート数が用いられる。
【００８５】
次に内蔵ＲＡＭ情報、マスタ指定情報、配線層数前記マスタの種類と配線層数に関する物理仕様と前記マスタ情報に基づき、搭載可能ゲート数を演算する（ステップＳ５０）例えば下記のような式を用いて求めるようにしてもよい。
【００８６】
搭載可能ゲート数＝（搭載ゲート数−マクロゲート数）×使用効率
×回路種類率×マクロ率  ・・・（式２）
【００８７】
搭載ゲート数は、例えば図４のゲートアレイシリーズ指定部３１２、ゲートアレイマスタ指定部３１４で選択された情報に基づきマスタを特定して、図２（Ａ）に示すマスタサイズテーブルから当該マスタに対応する搭載ゲート数の値を読み出して使用するようにしてもよい。またマクロゲート数は図４の内蔵ＲＡＭのビット幅指定部３３２、ビット深さ指定部３３４、個数指定部３３６の入力値に基づき演算して求めることができる。また使用効率は、例えば図４のゲートアレイシリーズ指定部３１２、ゲートアレイマスタ指定部３１４で選択された情報に基づきマスタを特定して、配線総数指定部３１６で指定された情報に基づき配線層数を特定して、図２（Ｂ）に示す使用効率テーブルから当該マスタの当該配線層数に対応する使用効率の値を読み出して使用するようにしてもよい。また回路種類率は、図４の回路タイプ（制御系または演算系）指定部３１６で選択された回路タイプに対応付けられている回路種類率の値をとる。マクロ率は、図４の内蔵ＲＡＭ情報受け付け部３３０の入力値に基づき内蔵ＲＡＭの使用の有無を判断し、判断結果に応じて設定される値を使用するようにしてもよい。例えば本実施の形態では、有りの場合には’０．９’の値をとり、無しの場合には’１’の値をとるように構成されている。内蔵ＲＡＭを有する場合には、内蔵ＲＡＭを有しない場合に比べ使用効率が落ちるので、有りの場合には無しの場合に比べてマクロ率を低く設定するようにしてもよい。
【００８８】
次に前記マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う（ステップＳ６０）。
【００８９】
次に推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する（ステップＳ７０）。
【００９０】
例えば内蔵ＲＡＭがない場合には、特定されたマスタの種類に対応した搭載ゲート数と、特定したマスタと配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算して、求めた搭載可能ゲート数と推定ゲート数に基づき、搭載の可否を判断する。
【００９１】
また例えば内蔵ＲＡＭがある場合には、特定されたマスタの種類に対応した搭載ゲート数から、内蔵メモリの配置によりユーザーの論理回路に使用できない部分をのぞいて、さらに内蔵メモリを配置することに応じた補正を行い（（式２）に示すようにマクロ率を乗じる）搭載可能ゲート数を求めるようにしてもよい。
【００９２】
次に取得したマスタの種類に対する取得した論理仕様の搭載の可否及び内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する（ステップＳ８０）。
【００９３】
本実施の形態によれば、ユーザーの設計が完成せず、仕様も完全に定まらない時点でも、使用するマスタや使用レジスタ総ビット数や配線総数等の限られた情報から最適なゲートアレイマスタを選択することができるようになった。
【００９４】
また従来、ユーザーからは見えにくかったゲートアレイのレイアウト情報をビジュアルに見せる形で、ユーザーのＲＴＬコードのゲートアレイ上での物理的実装形状を推定、対応マスタの使用可否判断を行なえるようになった。
【００９５】
その際、アプレット型プログラムを用いることで、ユーザーは何ら機密情報を外部に見せることなく、手元で試行錯誤し、決定することが可能になり、ユーザーの利便性が非常に高まった。
【００９６】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００９７】
たとえば上記実施の形態では、使用レジスタ総ビット数を図４に示すようなユーザー入力画面から入力する場合を例にとり説明したが、是に限られない。
【００９８】
例えばゲートアレイに関するハードウエア記述言語のソースコード情報（ＲＴＬソースコード等）の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める構成でもよい。
【図面の簡単な説明】
【００９９】
【図１】本実施形態の集積回路装置の設計支援システムの構成について説明するための図。
【図２】図２（Ａ）（Ｂ）は、本実施の形態のマスタ情報について説明するための図。
【図３】図３（Ａ）（Ｂ）は、本実施の形態のマスタ情報について説明するための図。
【図４】ユーザー入力を受け付けるための入力画面について説明するための図。
【図５】結果表示画面（選択したマスタにユーザーロジックが適合したケース）について説明するための図。
【図６】結果表示画面（選択したマスタにユーザーロジックが適合しないケース）について説明するための図。
【図７】本実施の形態の処理の流れについて説明するためのフローチャート。
【符号の説明】
【０１００】
１  集積回路設計支援システム、１００  処理部、１１０  推定ゲート所要量演算部、１１２  搭載可能ゲート数演算部、１１４  内蔵メモリ配置シミュレーション処理部、１１６  ハードウエア記述言語解析処理部、１１８  適合性判断処理部、１２０  表示制御部、１２２  予想配置画像表示制御部、１２４  入力画面表示制御部１２４  １６０  操作部、１７０記憶部、１７２  マスタ情報記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2008176399.tif 000003
【図２】
2008176399.tif 000004
【図３】
2008176399.tif 000005
【図７】
2008176399.tif 000006
【図４】
2008176399.tif 000007
【図５】
2008176399.tif 000008
【図６】
2008176399.tif 000009