説明

集積回路設計支援プログラム、集積回路設計支援システム及び集積回路設計支援方法

【課題】ゲートアレイについてユーザー所望の条件に対して所与のマスタが適合するのか不適合なのかをユーザー自ら判定可能なシステムを提供すること。
【解決手段】本設計支援プログラムは、使用レジスタ総ビット数、回路タイプ情報を取得する手段と、受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する手段と、前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路設計支援プログラム、集積回路設計支援システム及び集積回路設計支援方法に関する。
【背景技術】
【0002】
ゲートアレイを用いたLSI設計では、マスタと呼ばれる予め準備されたゲート容量等の異なる多数のゲートアレイ基本製品を用意し、それら基本製品についてユーザー毎に異なるメタル層からなるスライスマスクを製作して最終的なセミカスタム製品化を行うことが行われている。
【特許文献1】特開2002−7496号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
このようなスライス製作にあたっては、ユーザー所望の条件に対して最適なマスタを選定することが重要である。
【0004】
従来は検討の目安となる技術資料を提示して、これに基づきユーザーに条件を出してもらい、エンジニアが手作業でレイアウト等を考慮して、ゲートアレイのマスタ選定を行うのが一般的であった。
【0005】
ゲートアレイは論理LSIであり、基本的には論理ゲート数と、ゲートの使用効率、電源電圧、ビン数という4条件から、該当しそうなマスタを推定し、候補としてあげることは可能である。
【0006】
しかし、近年、RTL設計が一般化し、ユーザーがRTL設計を行なった時点では、論理ゲート数が不明なケースも増え、上記のような推定方法が難しくなっていた。また、論理LSI内へのメモリを集積するケースが増え、そのようなケースでは、メモリブロックの配置、配線などレイアウト面の考慮が必要になり、半導体設計者以外の一般ユーザーがこれを行なうことはますます難しくなってきている。
【0007】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、ゲートアレイを少なくとも1部に含む集積回路についてユーザー所望の条件に対して所与のマスタが適合するのか不適合なのかをユーザー自ら判定可能な集積回路設計支援プログラム、集積回路設計支援システム及び集積回路設計支援方法を提供することである。
【課題を解決するための手段】
【0008】
(1)本発明は、
ゲートアレイを少なくとも1部に含む集積回路の設計支援プログラムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
してコンピュータを機能させることを特徴とする。
【0009】
ゲートアレイを少なくとも1部に含む集積回路とは、ゲートアレイでもよいし、例えばエンベディットアレイ等のようにゲートアレイを含む集積回路でもよい。なおゲートアレイ以外に、スタンダードセル、特定用途向けのハードマクロ(CPU等)、RAM等を含む集積回路でもよい。
【0010】
回路タイプとは、例えば制御回路または演算回路のいずれであるかでもよいし、演算回路と制御回路が混合している場合もあるので、その場合には各回路の占める割合に応じて複数の回路タイプを設定して選択できるようにしてもよい。
【0011】
推定ゲート所要量演算手段は、受け付けた回路タイプに関する情報とに基づき、ゲート数換算定数又は関数を設定または選択して、設定または選択したゲート数換算定数又は関数と使用レジスタ総ビット数に基づき、推定ゲート所要量を演算するようにしてもよい。
【0012】
使用レジスタの総ビット数とロジックの総ゲート数との相関関係や対応関係は回路タイプに応じて変わってくるので、ゲート数換算定数又は関数は、過去事例の統計的使用効率データにヒューリスティックな値を加味して設定するようにしてもよい。
【0013】
このようにするとユーザーがハードウエア記述言語のソースしかもっておらずゲート所要数が不明な場合でも、レジスタ総ビット数と回路タイプを指定することで、かなり信憑性の高い推定ゲート所要量を演算することができる。
【0014】
(2)本発明の集積回路設計支援プログラムは、
ゲートアレイを少なくとも1部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
してコンピュータを機能させることことを特徴とする。
【0015】
搭載可能ゲート数演算手段は、
入力されたマスタの種類と記憶されているゲート容量情報に基づきマスタの種類に対応したゲート容量を求め、入力されたマスタの種類及び配線層数と記憶されている使用効率情報に基づき入力されたマスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算するようにしてもよい。
【0016】
使用効率は、物理配線上使用できる配線層数をパラメータとし、過去事例の統計的使用効率データにヒューリスティックな値をマージンとして加味したものを推定使用効率として設定しておくようにしてもよい。
【0017】
本発明によれば、ユーザー使用の配線層数に応じて適切な搭載可能ゲート数を求めることができる。
【0018】
(3)本発明の集積回路設計支援プログラムは、
内蔵メモリの容量、数量、配置位置に関する内蔵メモリ情報を取得する内蔵メモリ情報取得手段と、
前記マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う内蔵メモリ配置シミュレーション手段と、
してコンピュータを機能させることを特徴とする。
【0019】
内蔵メモリの容量とは例えば内蔵メモリのビット幅と深さにより指定することができる。内蔵メモリとは例えば、RAM等である。
【0020】
配置シミュレーション手段は、内蔵メモリの容量、数量、配置位置に関する内蔵メモリ情報に基づき、メモリの物理配置、必要な配線領域の幅など、レイアウトを考慮した面積見積もりや配置シミュレーションを行うようにしてもよい。
【0021】
(4)本発明の集積回路設計支援プログラムは、
前記搭載可能ゲート数演算手段は、
入力されたマスタの種類、内蔵メモリ情報に基づき、内蔵メモリによりユーザーの論理回路に使用できない部分をのぞいたゲート容量を求め、当該ゲート容量に対して内蔵メモリを有することよる補正を行い、搭載可能ゲート数を求めることを特徴とする。
【0022】
内蔵メモリを有することによる補正とは、例えば当該ゲート容量に対して所定の割合または所定量を減じる補正でもよい。例えば内蔵メモリ有りの場合にはユーザーの論理回路に使用できない部分をのぞいたゲート容量の使用効率を10%減算するようにしてもよい。
【0023】
(5)本発明の集積回路設計支援プログラムは、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
してコンピュータを機能させることことを特徴とする。
【0024】
例えば推定ゲート所要量が、搭載可能ゲート数内に収まった場合に搭載可能であると判断するようにしてもよいし、推定ゲート所要量が搭載可能ゲート数の所定の割合以内に収まった場合に搭載可能であると判断するようにしてもよい。
【0025】
(6)本発明の集積回路設計支援プログラムは、
内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する配置予想画像表示制御手段と、
してコンピュータを機能させることことを特徴とする。
【0026】
本発明によれば内蔵メモリの配置予想画像が表示されるので、ユーザーは配置シミュレーション結果をビジュアルに確認することができる。
【0027】
(7)本発明の集積回路設計支援プログラムは、
前記論理仕様取得手段は、
前記使用レジスタ総ビット数、回路タイプを含む論理仕様についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から使用レジスタ総ビット数、回路タイプを含む論理仕様情報を受け付ける論理仕様情報受け付け手段とを含み、
物理仕様取得手段は、
前記マスタの種類と、配線層数を含む物理仕様情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面からマスタの種類と、配線層数を含む物理仕様情報を受け付ける物理仕様受け付け手段とを含み、
内蔵メモリ情報取得手段は、
内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報受け付ける内蔵メモリ情報受け付け手段とを含むことを特徴とする。
【0028】
本発明によればユーザーは入力画面画から論理仕様や物理使用や内蔵メモリ情報を入力することができる。
【0029】
(8)本発明の集積回路設計支援プログラムは、
論理仕様取得手段は、
ゲートアレイに関するハードウエア記述言語のソースコード情報の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める処理を行うハードウエア記述言語解析手段を含むことを特徴とする。
【0030】
ハードウエア記述言語(HDL(Hardware Description Language))は、デジタル回路、特に集積回路を設計するためのコンピュータ言語の一種であり、例えばRTL(Register Transfer Level)言語等でもよい。RTLとは、回路をフリップフロップ+組み合わせ論理回路で表現したレベルのことであり、現在のHDLによる回路設計はおもにこのレベルの記述を使用する。
【0031】
ハードウエア記述言語解析手段は、例えば代表的なRTL言語であるVerilog言語のケースでは、レジスタ宣言の部分を解析してRegistr宣言されたビット数から使用レジスタ総ビット数を求めるようにしてもよい。
【0032】
本発明によれば、ユーザーがRTLソースしかもっておらず、ゲート所要数が不明なケースでも、システムがRTLソースを解析して、自動的に使用レジスタ総ビット数を求めるので、ユーザーの手間を大幅に削減することができる。
【0033】
(9)本発明は、
ゲートアレイを少なくとも1部に含む集積回路の設計支援システムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
ゲートアレイを少なくとも1部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
を含むことを特徴とする。
【0034】
(10)本発明は、
ゲートアレイを少なくとも1部に含む集積回路の設計方法であって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得ステップと、
ゲートアレイを少なくとも1部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得ステップと、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算ステップと、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶ステップと、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算ステップと、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断ステップと、
を含むことを特徴とする。
【発明を実施するための最良の形態】
【0035】
1.構成
まず、図1を用いて本実施形態の集積回路装置の設計支援システムの構成について説明する。本実施形態の集積回路装置の設計支援システムは、当該構成要素(各部)の一部を省略した構成としてもよい。
【0036】
操作部160は、ユーザーの操作等をデータとして入力するためのものであり、その機能は、例えばキーボードやマウス等のハードウエアにより実現できる。操作部は、入力画面から使用レジスタ総ビット数、回路タイプを含む論理仕様情報を受け付ける論理仕様情報受け付け手段、入力画面からマスタの種類と、配線層数を含む物理仕様情報を受け付ける物理仕様受け付け手段、入力画面から内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報受け付ける内蔵メモリ情報受け付け手段として機能する。
【0037】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウエアにより実現できる。
【0038】
記憶部170は、マスタ情報記憶部172を含む。
【0039】
マスタ情報記憶部172は、前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段として機能する。
【0040】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD等)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウエアにより実現できる。
【0041】
また情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるプログラムのための補助データ(付加データ)が記憶される。
【0042】
処理部100は、この情報記憶媒体180に格納されるプログラム(データ)や情報記憶媒体180から読み出されたデータなどに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0043】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイなどのハードウエアにより実現できる。
【0044】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウエアにより実現できる。
【0045】
通信部196は、外部(例えばサーバ装置や他の端末機)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウエアや、プログラムなどにより実現できる。
【0046】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバ装置等)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0047】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、各種処理などを行う。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウエアや、アプリケーションプログラム、OS(例えば汎用OS等)により実現できる。
【0048】
処理部100は、推定ゲート所要量演算部110、搭載可能ゲート数演算部112、内蔵メモリ配置シミュレーション処理部114、ハードウエア記述言語解析処理部116、適合性判断処理部118、表示制御部120を含む。表示制御部120は、予想配置画像表示制御部122と入力画面表示制御部124を含む。
【0049】
推定ゲート所要量演算部110は、受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する。
【0050】
搭載可能ゲート数演算部112は、マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する。
【0051】
内蔵メモリ配置シミュレーション処理部114は、マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う。
【0052】
また搭載可能ゲート数演算部112は、入力されたマスタの種類、内蔵メモリ情報に基づき、内蔵メモリによりユーザーの論理回路に使用できない部分をのぞいたゲート容量を求め、当該ゲート容量に対して内蔵メモリを有することよる補正を行い、搭載可能ゲート数を求めるようにしてもよい。
【0053】
適合判断処理部118は、推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する。
【0054】
配置予想画像表示制御部122は、内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する制御を行う。
【0055】
ハードウエア記述言語解析処理部116は、ゲートアレイに関するハードウエア記述言語のソースコード情報の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める処理を行う。
【0056】
入力画面表示制御部124は、前記使用レジスタ総ビット数、回路タイプを含む論理仕様についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、前記マスタの種類と、配線層数を含む物理仕様情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段として機能する。
【0057】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0058】
図2(A)(B)、図3(A)(B)は本実施の形態のマスタ情報について説明するための図である。
【0059】
図2(A)のマスタサイズテーブル210は、マスタの種類212の対応したゲート容量214が記憶されている。マスタの種類212とは、マスタの製品の種類を表すものであればよい。ゲート容量214は、当該マスタの種類212に搭載する物理的なゲート総数である。
【0060】
図2(B)の使用効率テーブル220は、マスタの種類222及び配線層数224〜228に対応した使用効率が記憶されている。例えばマスタの種類が「M0001」である場合、配線層数が1の場合仕様効率はx1であり、配線層数が2の場合仕様効率はy1であり、配線層数が3の場合仕様効率はz1である。
【0061】
なおマスタ情報は図2(A)(B)に示すようにプログラムから読み出し可能なデータテーブルとして記憶されていてもよいし、図3(A)(B)にしめすようにプログラム(処理部の搭載可能ゲート数演算部を実現するためのプログラムであり、例えばJava(登録商標)で作成されている)のソースコードに埋め込んでおく形式でもよい。図3(A)は、Java(登録商標)のソースコードにマスタサイズテーブル210の内容を埋め込む例を示しており、図3(B)は、Java(登録商標)のソースコードに仕様効率テーブル220の内容を埋め込む例を示している。
【0062】
2.インターフェース
本実施の形態では、適否判定の対象となるマスタについて必要仕様データをプログラム中に取り込み(但し、実データはユーザーからは見えない)Java(登録商標)アプレット形式の実行プログラムとして集積回路設計支援プログラムをWebサーバ上に設置している。集積回路設計支援プログラムは、ユーザーの求めに応じてユーザー端末(図1参照)にダウンロードされ、ユーザー端末のインタネットブラウザ画面上で実行できるようになっている。
【0063】
図4は本実施の形態のユーザー入力を受け付けるための入力画面について説明するための図である。ユーザーが入力画面閲覧要求を行うと、図4に示すような入力画面がユーザー端末の表示部に表示される。
【0064】
310は物理仕様情報受け付け部であり、ゲートアレイシリーズ指定部312、ゲートアレイマスタ指定部314、ゲートアレイ配線総数指定部316を含む。いずれもプルダウン形式で、データを選択入力するようになっている。ゲートアレイシリーズ指定部312及びゲートアレイマスタ指定部314で所望のゲートアレイマスタ製品を指定するように構成されており、システムはこの入力情報によりマスタの種類情報を取得することができる。またゲートアレイ配線総数指定部316で所望の配線層数指定するように構成されており、システムはこの入力情報により配線層数情報を取得することができる。
【0065】
320は論理仕様情報受け付け部であり、レジスタ総ビット数指定部322、ゲート総数指定部324、回路タイプ(制御系または演算系)指定部316、メモリーBIST内蔵有無指定部328を含む。レジスタ総ビット数指定部322、ゲート総数指定部324はユーザーロジックの所要ゲート数を入力する部分であり、ユーザーは、レジスタ総ビット数指定部322、ゲート総数指定部324のいずれかを選択して入力することができる。例えばユーザーがユーザーロジックの総ゲート数を把握している場合には、ゲート総数指定部324を選択して把握している値を入力する。またユーザーはRTL(ハードウエア記述言語の一例)ソースしかもっておらずゲート所要数が不明な場合には、ユーザーはレジスタ総ビット数指定部322を選択して、RTLソース中に使用したレジスタビット数(例えば、代表的なRTL言語であるVerilog言語のケースではRegistr宣言されたビット数)からレジスタ総ビット数を求めて入力するようにしてもよい。システムはレジスタ総ビット数指定部322またはゲート総数指定部324のいずれかの入力情報を取得することにより、ユーザーロジックの論理ゲート数に関する情報を取得することができる。
【0066】
また回路タイプ指定部326で、回路タイプが制御回路であるか、演算回路であるか指定する。回路タイプとはユーザーロジックのRTLソースが形成しようとする回路形式であり、ここでは制御回路と演算回路の2つのタイプから選択するようになっている。加算器や減算器や乗算器や除算器等の演算回路を含む場合には回路タイプで演算回路を指定し、前記演算回路を含まない制御系の回路である場合には回路タイプで制御回路を指定する。ただし、演算回路と制御回路が混合している場合もあるので、その場合には各回路の占める割合に応じていずれか選択するようにしてもよい。システムは回路タイプ指定部326の入力情報を取得することにより、ユーザーロジックの回路タイプに関する情報を取得することができる。
【0067】
330はRAM情報指定部(内蔵メモリ情報受け付け部の一例)であり、内蔵RAMのビット幅指定部332、ビット深さ指定部334、個数指定部336、配置位置(配置行)指定部338を含む。内蔵RAMのビット幅指定部332で内蔵RAMのビット幅(縦)を指定し、ビット深さ指定部334で内蔵RAMのビット深さ(横)を指定し、個数指定部336で、先に指定したビット幅とビット深さの内蔵RAMの個数を指定し、配置位置(配置行)指定部338で先に指定したビット幅とビット深さの内蔵RAMの指定した個数がおかれる配置行を指定するように構成されており、システムはこの入力情報により内蔵メモリ情報を取得することができる。
【0068】
340は見積もり結果画像表示部であり入力されたマスタの種類に対する入力された論理仕様の搭載の可否及び内蔵メモリの配置シミュレーション結果に基づく配置予想画像が表示される。具体的には図5、図6で説明する。
【0069】
図5は、本実施の形態の結果表示画面(選択したマスタにユーザーロジックが適合したケース)について説明するための図である。入力画面からユーザーが、ゲートアレイシリーズ指定部312、ゲートアレイマスタ指定部314、ゲートアレイ配線総数指定部316、レジスタ総ビット数指定部322またはゲート総数指定部324、回路タイプ(制御系または演算系)指定部316、メモリーBIST内蔵有無指定部328、内蔵RAMのビット幅指定部332、ビット深さ指定部334、個数指定部336、配置位置(配置行)指定部338を指定して適否判定ツールの実行を指示すると、判定結果表示部370に判定結果が表示され、見積もり結果画像表示部340に判定結果表示画像が表示される。
【0070】
判定結果表示部370は、ロジック部分(352)及びマクロ部分(RAMブロック354−1、354−2、354−3)それぞれについて判定結果(OKまたはNG)を表示している。
【0071】
また判定結果表示画像は350に示すように、ロジック部352および個々のRAMブロック354−1、354−2、354−3の形状を含み、ゲートアレイのマスタレイアウト上の仮のレイアウト配置図という形でグラフィック表示する。この際、適用可能なケース(OKの場合)では第1の色(青系統の色)表示で、適用不能なケース(NGの場合)では第2の色(赤系統の色)表示で該当部分を塗りつぶすようにした。
【0072】
370に示すロジック部の判定結果はOKであり、見積もり結果画像表示部340に示すロジック部352は第1の色(青系統の色)で表示されている。これはユーザーロジック(論理仕様情報受け付け部320で指定した内容により判断される)が、指定したマスタ(物理仕様情報受け付け部310で指定した内容により判断される)に搭載可能であることを意味する。例えば論理仕様情報受け付け部320で受け付けた内容に基づき演算した推定ゲート所要量が、物理仕様情報受け付け部310及びRAM情報指定部330で受け付けた内容に基づき演算した搭載可能ゲート数内に収まった場合に搭載可能であると判断するようにしてもよい。
【0073】
また370に示すマクロ部分(RAMブロック)の判定結果はOKであり、見積もり結果画像表示部340に示すRAMブロック354−1、354−2、354−3は第1の色(青系統の色)で表示されている。これは内蔵RAM(内蔵RAM情報受け付け部330で指定した内容により判断される)が、指定したマスタ(物理仕様情報受け付け部310で指定した内容により判断される)に搭載可能であることを意味する。例えば内蔵RAM情報受け付け部320で受け付けた内容に基づき、内蔵RAMの配置シミュレーションを行い、配置シミュレーションの結果内蔵RAMが物理情報指定部310で指定した種類のマスタに収まった場合(マスタと内蔵RAMの面積と形状に基づき配置シミュレーションをおこない配置可能であった場合)に搭載可能であると判断するようにしてもよい。
【0074】
また例えば360に示すように、論理仕様情報受け付け部320で受け付けた内容に基づき演算したロジック合計(推定ゲート所要量)364、及び物理仕様情報受け付け部310及びRAM情報指定部330で受け付けた内容に基づき演算した使用可能エリアのゲート数(搭載可能ゲート数)362を表示するようにしてもよい。同図に示すように演算内容についても表示するようにしてもよい。
【0075】
図6は、本実施の形態の結果表示画面(選択したマスタにユーザーロジックが適合しないケース)について説明するための図である。
【0076】
370に示すロジック部の判定結果はNGであり、見積もり結果画像表示部340に示すロジック部352は第2の色(赤系統の色)で表示されている。これはユーザーロジック(論理仕様情報受け付け部320で指定した内容により判断される)が、指定したマスタ(物理仕様情報受け付け部310で指定した内容により判断される)に搭載可能でないことを意味する。例えば論理仕様情報受け付け部320で受け付けた内容に基づき演算した推定ゲート所要量が、物理仕様情報受け付け部310及びRAM情報指定部330で受け付けた内容に基づき演算した搭載可能ゲート数内に収まらなかった場合に搭載可能でないと判断するようにしてもよい。
【0077】
また370に示すマクロ部分(RAMブロック)の判定結果はNGであり、見積もり結果画像表示部340に示すRAMブロック354−1、354−2は第1の色(青系統の色)で表示され、RAMブロック354−3は第2の色(赤系統の色)で表示されている。これは内蔵RAM(内蔵RAM情報受け付け部330で指定した内容により判断される)354−1、354−2は、指定したマスタ(物理仕様情報受け付け部310で指定した内容により判断される)に搭載可能であるが、内蔵RAM(内蔵RAM情報受け付け部330で指定した内容により判断される)354−3は、指定したマスタ(物理仕様情報受け付け部310で指定した内容により判断される)に搭載可能でないことを意味する。
【0078】
図7は、本実施の形態の処理の流れについて説明するためのフローチャートである。
【0079】
ユーザーの端末に、本実施の形態の集積回路の設計支援プログラムがダウンロードされているものとする。
【0080】
ユーザー入力画面閲覧要求を受け付けると(ステップS10)、ユーザー入力画面を表示部に出力する(ステップS20)。表示部には図3に示すようなユーザー入力画面が表示される。
【0081】
次にユーザー入力画面より、回路タイプ(制御系/演算系)、レジスタ総ビット数、内蔵RAM情報、マスタ指定情報、配線層数に関するユーザー入力情報をうけつける(ステップS30)。
【0082】
次に受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する(ステップS40)。例えば下記のような式を用いて求めるようにしてもよい。
【0083】
推定ゲート所要量=使用レジスタ総ビット数×回路タイプに応じて設定された定数
+内蔵BIST数 ・・・(式1)
【0084】
ここで、使用レジスタ総ビット数は、図4のレジスタ総ビット数指定部322に入力された値を用いる。また回路タイプに応じて設定された定数は、図4の回路タイプ(制御系または演算系)指定部316で選択された回路タイプに対応付けられている値をとる。例えば制御回路が選択された場合には第1の定数(α)、演算回路が選択された場合には第2の定数(β)が用いられるようにしてもよい。制御回路と演算回路でレジスタ総ビット数が同じであれば演算回路のほうが回路規模が大きくなるため、第1の定数(α)<第2の定数(β)となるように設定してもよい。内蔵BIST数は、図4のメモリーBIST内蔵有無指定部328でありが入力された場合には予め設定されているBISTのゲート数が用いられる。
【0085】
次に内蔵RAM情報、マスタ指定情報、配線層数前記マスタの種類と配線層数に関する物理仕様と前記マスタ情報に基づき、搭載可能ゲート数を演算する(ステップS50)例えば下記のような式を用いて求めるようにしてもよい。
【0086】
搭載可能ゲート数=(搭載ゲート数−マクロゲート数)×使用効率
×回路種類率×マクロ率 ・・・(式2)
【0087】
搭載ゲート数は、例えば図4のゲートアレイシリーズ指定部312、ゲートアレイマスタ指定部314で選択された情報に基づきマスタを特定して、図2(A)に示すマスタサイズテーブルから当該マスタに対応する搭載ゲート数の値を読み出して使用するようにしてもよい。またマクロゲート数は図4の内蔵RAMのビット幅指定部332、ビット深さ指定部334、個数指定部336の入力値に基づき演算して求めることができる。また使用効率は、例えば図4のゲートアレイシリーズ指定部312、ゲートアレイマスタ指定部314で選択された情報に基づきマスタを特定して、配線総数指定部316で指定された情報に基づき配線層数を特定して、図2(B)に示す使用効率テーブルから当該マスタの当該配線層数に対応する使用効率の値を読み出して使用するようにしてもよい。また回路種類率は、図4の回路タイプ(制御系または演算系)指定部316で選択された回路タイプに対応付けられている回路種類率の値をとる。マクロ率は、図4の内蔵RAM情報受け付け部330の入力値に基づき内蔵RAMの使用の有無を判断し、判断結果に応じて設定される値を使用するようにしてもよい。例えば本実施の形態では、有りの場合には’0.9’の値をとり、無しの場合には’1’の値をとるように構成されている。内蔵RAMを有する場合には、内蔵RAMを有しない場合に比べ使用効率が落ちるので、有りの場合には無しの場合に比べてマクロ率を低く設定するようにしてもよい。
【0088】
次に前記マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う(ステップS60)。
【0089】
次に推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する(ステップS70)。
【0090】
例えば内蔵RAMがない場合には、特定されたマスタの種類に対応した搭載ゲート数と、特定したマスタと配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算して、求めた搭載可能ゲート数と推定ゲート数に基づき、搭載の可否を判断する。
【0091】
また例えば内蔵RAMがある場合には、特定されたマスタの種類に対応した搭載ゲート数から、内蔵メモリの配置によりユーザーの論理回路に使用できない部分をのぞいて、さらに内蔵メモリを配置することに応じた補正を行い((式2)に示すようにマクロ率を乗じる)搭載可能ゲート数を求めるようにしてもよい。
【0092】
次に取得したマスタの種類に対する取得した論理仕様の搭載の可否及び内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する(ステップS80)。
【0093】
本実施の形態によれば、ユーザーの設計が完成せず、仕様も完全に定まらない時点でも、使用するマスタや使用レジスタ総ビット数や配線総数等の限られた情報から最適なゲートアレイマスタを選択することができるようになった。
【0094】
また従来、ユーザーからは見えにくかったゲートアレイのレイアウト情報をビジュアルに見せる形で、ユーザーのRTLコードのゲートアレイ上での物理的実装形状を推定、対応マスタの使用可否判断を行なえるようになった。
【0095】
その際、アプレット型プログラムを用いることで、ユーザーは何ら機密情報を外部に見せることなく、手元で試行錯誤し、決定することが可能になり、ユーザーの利便性が非常に高まった。
【0096】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0097】
たとえば上記実施の形態では、使用レジスタ総ビット数を図4に示すようなユーザー入力画面から入力する場合を例にとり説明したが、是に限られない。
【0098】
例えばゲートアレイに関するハードウエア記述言語のソースコード情報(RTLソースコード等)の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める構成でもよい。
【図面の簡単な説明】
【0099】
【図1】本実施形態の集積回路装置の設計支援システムの構成について説明するための図。
【図2】図2(A)(B)は、本実施の形態のマスタ情報について説明するための図。
【図3】図3(A)(B)は、本実施の形態のマスタ情報について説明するための図。
【図4】ユーザー入力を受け付けるための入力画面について説明するための図。
【図5】結果表示画面(選択したマスタにユーザーロジックが適合したケース)について説明するための図。
【図6】結果表示画面(選択したマスタにユーザーロジックが適合しないケース)について説明するための図。
【図7】本実施の形態の処理の流れについて説明するためのフローチャート。
【符号の説明】
【0100】
1 集積回路設計支援システム、100 処理部、110 推定ゲート所要量演算部、112 搭載可能ゲート数演算部、114 内蔵メモリ配置シミュレーション処理部、116 ハードウエア記述言語解析処理部、118 適合性判断処理部、120 表示制御部、122 予想配置画像表示制御部、124 入力画面表示制御部124 160 操作部、170記憶部、172 マスタ情報記憶部、180 情報記憶媒体、190 表示部、192 音出力部、196 通信部

【特許請求の範囲】
【請求項1】
ゲートアレイを少なくとも一部に含む集積回路の設計支援プログラムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項2】
請求項1において、
ゲートアレイを少なくとも1部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項3】
請求項2において、
内蔵メモリの容量、数量、配置位置に関する内蔵メモリ情報を取得する内蔵メモリ情報取得手段と、
前記マスタの種類及び内蔵メモリ情報に基づき内蔵メモリの配置シミュレーションを行う内蔵メモリ配置シミュレーション手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項4】
請求項3において、
前記搭載可能ゲート数演算手段は、
入力されたマスタの種類、内蔵メモリ情報に基づき、内蔵メモリによりユーザーの論理回路に使用できない部分をのぞいたゲート容量を求め、当該ゲート容量に対して内蔵メモリを有することよる補正を行い、搭載可能ゲート数を求めることを特徴とする集積回路設計支援プログラム。
【請求項5】
請求項2乃至4のいずれかにおいて、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
してコンピュータを機能させることことを特徴とする集積回路設計支援プログラム。
【請求項6】
請求項4乃至5のいずれかにおいて、
内蔵メモリの配置シミュレーション結果に基づく、配置予想画像を生成して表示部に出力する配置予想画像表示制御手段と、
してコンピュータを機能させることを特徴とする集積回路設計支援プログラム。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記論理仕様取得手段は、
前記使用レジスタ総ビット数、回路タイプを含む論理仕様についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から使用レジスタ総ビット数、回路タイプを含む論理仕様情報を受け付ける論理仕様情報受け付け手段とを含み、
物理仕様取得手段は、
前記マスタの種類と、配線層数を含む物理仕様情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面からマスタの種類と、配線層数を含む物理仕様情報を受け付ける物理仕様受け付け手段とを含み、
内蔵メモリ情報取得手段は、
内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報についてのユーザー入力を受け付けるための入力画面画像を表示する入力画面画像表示制御手段と、入力画面から内蔵メモリのビット幅、深さ、個数、配置位置に関する内蔵メモリ情報を受け付ける内蔵メモリ情報受け付け手段とを含むことを特徴とする集積回路設計支援プログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
論理仕様取得手段は、
ゲートアレイに関するハードウエア記述言語のソースコード情報の入力を受け付け、受け付けたソースコード情報を解析して使用レジスタ総ビット数を求める処理を行うハードウエア記述言語解析手段を含むことを特徴とする集積回路設計支援プログラム。
【請求項9】
ゲートアレイを少なくとも1部に含む集積回路の設計支援システムであって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得手段と、
ゲートアレイを少なくとも1部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得手段と、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算手段と、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶手段と、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算手段と、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断手段と、
を含むことを特徴とする集積回路設計支援システム。
【請求項10】
ゲートアレイを少なくとも1部に含む集積回路の設計方法であって、
使用レジスタ総ビット数、回路タイプを含む論理仕様情報を取得する論理仕様情報取得ステップと、
ゲートアレイを少なくとも1部に含む集積回路のマスタの種類と、配線層数を含む物理仕様情報を取得する物理仕様情報取得ステップと、
受け付けた使用レジスタ総ビット数と回路タイプに関する情報とに基づき、推定ゲート所要量を演算する推定ゲート所要量演算ステップと、
前記マスタの種類の対応したゲート容量情報、前記マスタの種類及び配線層数に対応した使用効率情報を含むマスタ情報を記憶するマスタ情報記憶ステップと、
前記マスタの種類と配線層数に関する物理仕様情報と前記マスタ情報に基づき、マスタの種類に対応したゲート容量、マスタの種類及び配線層数に対応した使用効率を求め、求めたゲート容量と使用効率に基づき搭載可能ゲート数を演算する搭載可能ゲート数演算ステップと、
推定ゲート所要量と搭載可能ゲート数に基づき、取得したマスタの種類に対する取得した論理仕様の搭載の可否を判断する適合判断ステップと、
を含むことを特徴とする集積回路設計支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図7】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−176399(P2008−176399A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2007−7210(P2007−7210)
【出願日】平成19年1月16日(2007.1.16)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】