(57)【要約】【課題】  物理設計違反の早期発見。【解決手段】  ブロック図の追加・削除・編集が可能な設計ツールにおいて、バスの配線性による信号遅延時間を検証し、物理設計違反警告を画面上に表示する。【選択図】  図１
2007026363.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続する少なくとも一つの機能モジュールを指定する手段、
該機能モジュールのシミュレーションモデルを複数の抽象度から選択する手段、
バスと該機能モジュールの構成における信号遅延時間を計算する手段、
該信号遅延時間の物理設計違反を判断する手段、
物理設計違反が起こった場合の警告を出力する手段
を有することを特徴とするシステム設計ツール。
【請求項２】
請求項１の設計ツールにおいて、
表示装置、
警告表示手段
を有することを特徴とするシステム設計ツール。
【請求項３】
請求項１および２の設計ツールにおいて、
システムに対する制約あるいは定義を含む情報を格納したデータベースを有し、
該信号遅延時間の計算手段、
該信号遅延時間の物理設計違反を判断する手段、
が該データベースを用いることを特徴とするシステム設計ツール。
【請求項４】
請求項３のデータベースは、
設計情報、バス情報、ＲＴＬのバスインターフェース情報、テクノロジ情報を含み、
ＴＬモデルから、そのモデルに対応するＲＴＬのバスインターフェース情報を抽出できる形式で
格納されていることを特徴とするシステム設計ツール。
【請求項５】
請求項１から３の設計ツールにおいて、
該信号遅延時間の計算手段は、
バスに接続するモデルに関して、ユーザーがＴＬを選択した場合、
ＴＬモデルに対応するＲＴＬインターフェースを請求項３および４のデータベースから抽出し、
ＲＴＬ情報と、設計情報、バス情報、ＲＴＬのバスインターフェース情報、テクノロジ情報
を用いて信号遅延時間を計算することを特徴とするシステム設計ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの設計ツールにおいて、機能モジュールごとにシミュレーションモデルを選択することができる手段を有し、設計者がシステム設計を行うためにシミュレーションモデルを選択し、バスに接続すると、バス信号の遅延時間を計算して物理設計違反の判定ができる設計ツールに関するものである。
【背景技術】
【０００２】
プロセス技術の進歩によりＬＳＩの集積度が増大し、これまでボードで実現していたシステムをシステムＬＳＩとして１チップ上に搭載することが可能となった。チップ上に搭載する機能モジュールも多様化し、回路規模が増大している。
【０００３】
これに伴い、システムＬＳＩを効率的に設計する手法として、従来のVerilog-HDLやVHDLといったハードウェア記述言語を使用した設計から、SystemCやSpecCといったシステム記述言語による設計が普及してきた。
【０００４】
システム記述言語による設計支援ツールとして、Synopsys社のCoCentricや、CoWare社のn2cが知られている。システム記述言語により記述したモジュールを、ブロック図入力画面で入力し、システムLSIの設計を行うことが可能になっている。
【０００５】
システムLSIの設計が終了すると、設計支援ツールからシミュレーションモデルを生成し、シミュレータを起動してシステムシミュレーションを行いシステムLSIの機能や性能を確認できるものである。
【０００６】
システム記述言語によるモジュール記述には、記述の抽象度により以下の３種類の記述レベルが一般に知られている。
【０００７】
トランザクションレベル（TL）：
モジュール間の通信を捉えて機能を記述する抽象度レベルである。通信の開始および終了の時間、通信データにより動作するため、クロックに対する精度は非常に低い。イベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。
【０００８】
バスサイクルアキュレート（BCA）：
モジュールの入力と出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対し、入力および出力部で正確にシミュレートすることができる。
【０００９】
レジスタトランスファレベル（RTL）：
レジスタファイル間の同期転送を捉えて、回路を記述する抽象度レベルである。動作クロックに対し、正確に機能動作をシミュレートすることができ精度が非常に高い。１クロックごとに機能をシミュレートするため、シミュレーション速度は非常に遅い。
【００１０】
抽象度が高いほど、シミュレーション速度は速く、抽象度が低いほどシミュレーション精度は高くなる。システムLSIの設計では、抽象度の高い記述から徐々に抽象度の低い記述へと、モジュールの機能が詳細化されていく。
【００１１】
設計者は、各種抽象度で記述されたモジュールを選択し、システムLSIの設計を行うのが一般的である。
【００１２】
又、従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開２０００−２９９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら従来の技術では、システム設計後のRTLモデル作成後、または物理設計段階において、バスの配線長や、配線長による信号遅延を検証することが一般的であった。
【００１４】
このため、物理設計違反が発生し、システムや論理回路構成を修正する必要が生じた場合は、システム設計やRTL設計をやり直す必要があり、修正に要する時間のため、開発期間が増大していた。
【課題を解決するための手段】
【００１５】
本発明は、前記の課題を解決するため、設計者がシステムを構成する機能モジュールを選択し、その機能モジュールに対するシミュレーションモデルを選択し、バスに接続すると、バスの配線長と信号の遅延値を計算し、物理設計違反が発生する場合は、警告を出力することを特徴とする。
【００１６】
設計者は、作成中のシステムのバス構成における物理設計違反の有無をシステム設計段階において知ることが可能となる。
【発明の効果】
【００１７】
以上、詳細に説明したように本発明の実施例１によれば、ブロック図の追加・削除・編集が可能な設計ツールにおいて、バスの配線性による信号遅延時間を検証し、物理設計違反警告を画面上に表示するようにしたため、設計者がバス構成に起因する物理設計違反を簡単かつシステム設計段階で知ることができる。特に、システムLSIの設計では、抽象度の高い記述から徐々に抽象度の低い記述へと、モジュールの機能が詳細化されていくのが一般的であるため、システム設計初期段階で高抽象度のモデルしか存在しない場合でも、物理設計を鑑みたシステム設計支援が可能となる。
【００１８】
このため、システム構成や論理回路の修正といった工程戻りで開発期間が増大するという問題が無くなる。
【発明を実施するための最良の形態】
【００１９】
図１は本発明の実施例１での画面表示の1例である。図２は本発明の実施例１の構成の１例である。図３は本発明の実施例１での処理の流れを示す。
【００２０】
図１において、101は、ブロック図の入力および編集を行うブロック図表示部である。
【００２１】
設計者は、マウス210またはキーボード209を使い、ブロック図表示部101上でバスに接続する機能モジュールの選択を行う。
【００２２】
102は、各ブロックに対しシミュレーションモデルを選択するモデル選択部である。
【００２３】
設計者は、機能モジュールに対するシミュレーションモデルの選択を実行する。
【００２４】
モデル選択部102は、ブロック図表示部101内のブロック図を構成するシンボルのうち1つを選択することで表示させることができる。
【００２５】
103は、バスの配線長または信号遅延時間の物理設計違反に対する警告文を表示する警告表示部である。
【００２６】
104は、システム制約選択部である。
【００２７】
設計者は、物理設計データベース204に登録されているクロック周波数およびテクノロジ情報からシステム制約の選択を行う。
【００２８】
ここでいうテクノロジ情報とは、システムのクロック周波数や、配線階層、プロセス等の制約を含む情報である。
【００２９】
図２において、201は、ブロック図編集制御部である。
【００３０】
ブロック図の追加・削除および編集を制御し、編集された設計データを設計データベース203へ格納する手段である。ブロック図編集制御部201のブロック図入力・削除・編集の機能は従来からなるＣＡＤ技術と同様である。
【００３１】
ブロック図編集制御部201は、画面編集制御部2011、モデル選択制御部2012を持つ。
【００３２】
画面編集制御部2011は、設計対象のブロック図を構成するシンボルやラインの追加・削除や編集を制御するための手段であり、機能モジュールを選択する手段である。
【００３３】
ここでシンボルは機能モジュールを代表し、ラインはバスや信号線を代表したものとして扱う。
【００３４】
ブロック図表示部101上では、機能モジュールを代表するシンボルは箱状に、バスや信号線を代表するラインは線状に表示される。
【００３５】
モデル選択制御部2012は、画面編集制御部2011により追加・削除および編集された機能モジュールまたはバスに対し、シミュレーションモデルの選択を行い管理するための手段である。
【００３６】
選択可能なシミュレーションモデルは、設計データベース203内にライブラリとして保持されている。
【００３７】
202は、物理設計違反判定部である。
【００３８】
ブロック図編集制御部201において、バスに接続する機能モジュールまたは、シミュレーションモデルの選択が実行されると、信号遅延時間を計算し、算出された遅延時間を検証し、物理設計違反が発生する場合は、警告文を警告表示部103へ表示する。
【００３９】
物理設計違反判定部202は、信号遅延時間計算部2021と、信号遅延時間検証部2022と、警告メッセージ表示制御部2023を持つ。
【００４０】
バス信号遅延時間計算部2021は、バス構成やテクノロジに依存する信号遅延時間を計算するための手段である。
【００４１】
物理設計データベース204からバス情報とテクノロジ情報を使用し、信号遅延時間を計算する。
【００４２】
信号遅延時間検証部2022は、信号遅延時間計算部2021により算出された信号遅延時間を検証するための手段である。
【００４３】
物理設計データベース204からクロック周波数を使用し、信号遅延時間が1クロックサイクル時間以内であるか判断する。
【００４４】
警告メッセージ表示制御部2023は、信号遅延時間検証部2022で、信号遅延値が物理設計違反であると判定された場合に、警告文を警告表示部103へ出力するための手段である。
【００４５】
物理設計データベース204は、クロック周波数と、バス名称、バス信号線数等のバス構造、接続モジュール数などのバス情報と、製造プロセス、配線遅延係数、配線階層などのテクノロジ情報を保持する。
【００４６】
また、これらのバス情報と、テクノロジ情報によって規定される、バスの最大配線長を保持する。
【００４７】
ユーザインタフェース制御部205は、ブロック図編集制御部201、物理設計違反判定部202とインタフェースを取る手段である。出力部206を介してモニター207へ設計情報を表示し、入力部208を介して設計者からの入力を受け付ける。
【００４８】
出力部206は、モニター207へ設計情報を表示するための手段である。
【００４９】
入力部208は、設計者がキーボード209およびマウス210から入力した情報を受けるための手段である。
【００５０】
キーボード209およびマウス210は、設計者がブロック図の追加・削除および編集を実行し、シミュレーションモデルとシステム制約の選択を行うための入力手段である。
【００５１】
設計データベース203は、設計情報をデータベースとして記憶する手段である。
【００５２】
ブロック図編集制御部201により作成されたブロック図、既存モジュールの設計情報、各機能モジュールに対応した各種シミュレーションモデル、バスの設計情報、バスに対応した各種シミュレーションモデルを格納している。
【００５３】
以下、図３の処理の流れに従い動作を説明する。
【００５４】
S301において、設計者は、システム制約の選択を実行する。
【００５５】
システムに使用するテクノロジ情報をシステム制約として、物理設計データベース204から選択し指定する。
【００５６】
S302において、設計者は、ブロック図表示部101に表示されているバスに対して、接続する機能モジュールを選択し、バスに接続する。
【００５７】
設計者が機能モジュールの選択を行い、シミュレーションモデル選択のためのコマンドを入力すると、モデル選択部102が表示される。
【００５８】
次に、設計者により機能モジュールのシミュレーションモデルが選択される。
【００５９】
設計者は、ブロック図内の機能モジュールのうちモデルを変更したい機能モジュールを選択する。設計者によりブロック図内の機能モジュールが１つ選択されると、モデル選択部102が画面上に表示される。機能モジュールのシミュレーションモデルは、設計データベース203内に格納されているものが表示される。機能モジュールに対し、ＴＬ記述、ＢＣＡ記述、ＲＴＬ記述の3種類が格納されていれば、モデル選択部102に3種類のシミュレーションモデルが表示され選択可能となる。ＴＬ記述の1種類しか格納されていない場合には、モデル選択部102には1種類のシミュレーションモデルが表示される。
【００６０】
設計者が機能モジュールのシミュレーションモデルを選択しない場合、機能モジュールのシミュレーションモデルは最も抽象度の高いものが選択される。通常、ＴＬ記述のシミュレーションモデルが選択されることになる。
【００６１】
S303において、物理設計違反判定部202で、設計者がS302において選択したバス構成における信号遅延時間を計算する。
【００６２】
S304において、S304において算出された信号遅延時間を検証し、物理設計違反が発生するかを判定する。
【００６３】
S305において、S304で信号遅延時間が物理設計違反であった場合に、警告文を警告表示部103に表示する。S305では、設計者による、ブロック図表示部101上での機能モジュール選択のうち、追加動作を受け付けない。
【００６４】
S306において、設計者がシステム設計を終了しない限り、S301からS305までは設計者により繰り返される。
【００６５】
S303における、信号遅延時間計算方法の1例を以下に示す。
【００６６】
物理設計データベース204には、バス情報とテクノロジ情報およびこれらの情報に基づいて規定されるバスの最大配線長が保持されている。バスの最大配線長は、バスの接続モジュール数、バス構造、配線階層数などのキーにより参照可能とする。さらに、バス情報にはＲＴＬのバスインターフェース情報が含まれており、この情報はユーザーによって選択されたＴＬモデルの名前などから、そのＴＬモデルをＲＴＬまで詳細化した場合のインターフェース情報として抽出可能なリストやテーブルとして格納されている。ユーザーがバスへの接続モジュールとしてＴＬを選択した場合は、前記リストを用いて、ＲＴＬのバスインターフェース情報を取得してから、ＲＴＬと同様に以下に説明する信号遅延時間計算を行う。
【００６７】
S301、S302において、設計者は、設計データベース203および物理設計データベース204に保持される機能モジュールおよびシステム制約を選択し、指定している。
【００６８】
このとき選択されているバス情報とテクノロジ情報から、物理設計データベース204に保持されている配線遅延係数を抽出する。配線遅延係数は、システムに使用するプロセスごとに求められた単位長あたりの配線遅延時間を表す係数である。
【００６９】
さらに、選択されているバスの接続モジュール数、バス構造、ＲＴＬのバスインターフェース情報配線階層数などから、それらをキーとしてバスの最大配線長を物理設計データベース204から抽出する。
【００７０】
配線遅延係数とバスの最大配線長からS301、S302において、設計者が選択したバス構成における最大信号遅延時間を求める。
【００７１】
最大信号遅延時間は、以下の式で計算される。
【００７２】
C :  配線遅延係数
Lmax:  最大配線数
Tｄ：  最大信号遅延時間
Td  =  C  ×  Lmax
データベース化されていない新規モジュールの場合は、バスの接続モジュール数、バス構造、配線階層数、ＲＴＬのバスインターフェース情報などから配置配線を実施し、信号遅延時間の計算をすることも可能である。この場合の計算方法は従来の物理設計技術で行う。
【００７３】
S304における、信号遅延時間検証方法の1例を以下に示す。
【００７４】
物理設計データベース204から、設計者が選択したクロック周波数を抽出する。
【００７５】
S303において算出された最大信号遅延時間が、抽出したクロック周波数における1クロックサイクル時間よりも大きい場合は、設計者が選択したバス構成が、物理設計違反であると判断する。
【００７６】
つまり、以下の式が成立するかを判断する。
【００７７】
Td：  最大信号遅延時間
Tc:  1クロックサイクル周期
ｆ：  クロック周波数
Td  <  Tc  =  1/f
なお、実施例１では警告文を警告表示部１０３に表示するという形態をとっているが、警告を音声等の他の伝達手段で代替することも可能である。
【００７８】
なお、実施例１では、信号遅延時間を1クロックサイクルよりも大きいという条件によって、物理設計違反の判定を行っているが、システムの構成によっては必ずしも1クロックサイクルである必要はないということも考えられる。
【００７９】
なお、本発明における物理設計違反判定は、機能モジュールのバスへの接続によって行われ、そのときの機能モジュールにおけるシミュレーションモデルの抽象度は任意である。
【図面の簡単な説明】
【００８０】
【図１】本発明の第1の実施例の画面表示例を示す図
【図２】本発明の第1の実施例の構成例を示す図
【図３】本発明の第1の実施例の処理の流れを示す図
【符号の説明】
【００８１】
１０１  ブロック図表示部
１０２  モデル選択部
１０３  警告表示部
１０４  システム制約選択部
２０１  ブロック図編集制御部
２０１１  画面編集制御部
２０１２  モデル選択制御部
２０２  物理設計違反判定部
２０２１  信号遅延時間計算部
２０２２  信号遅延時間検証部
２０３  設計データベース
２０４  物理設計データベース
２０５  ユーザインタフェース制御部
２０６  出力部
２０７  モニター
２０８  入力部
２０９  キーボード
２１０  マウス
【図１】
2007026363.tif 000003
【図２】
2007026363.tif 000004
【図３】
2007026363.tif 000005