(57)【要約】  ＬＳＩを設計する際の設計効率を向上させる。セレクタモジュール生成部０２１が、設計対象のＬＳＩに含まれるＩＰ間の信号の入出力フローが記述されるＩＰ接続情報０４０を入力し、入力したＩＰ接続情報０４０を解析し、ＩＰ接続情報０４０に記述されているＩＰ間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成する。マクロモジュール生成部０２２は、セレクタと機能ブロックとの関係が表されるマクロモジュールを、セレクタモジュール生成部０２１により生成されたセレクタモジュールを用いて生成する。
2013176077.tif 000002
【特許請求の範囲】
【請求項１】
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成部と、
セレクタと機能ブロックとの関係が表されるマクロモジュールを、前記セレクタモジュール生成部により生成されたセレクタモジュールを用いて生成するマクロモジュール生成部とを有することを特徴とするＬＳＩ設計装置。
【請求項２】
前記セレクタモジュール生成部は、
複数種類の信号に対して機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、
前記入出力フロー情報を解析し、各々が同じ種類の信号を入出力する２つ以上の機能ブロックを対応付け、
対応付けた機能ブロックのうち信号を出力する機能ブロックの個数分の入力ピンを持ち、対応付けた機能ブロックのうち信号を入力する機能ブロックの個数分の出力ピンを持つセレクタのセレクタモジュールを生成することを特徴とする請求項１に記載のＬＳＩ設計装置。
【請求項３】
前記セレクタモジュール生成部は、
ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）を含む機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力することを特徴とする請求項１又は２に記載のＬＳＩ設計装置。
【請求項４】
前記セレクタモジュール生成部は、
複数種類の信号に対して機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、
前記入出力フロー情報を解析し、各々が異なるセレクタに対応する複数のセレクタモジュールを生成し、
前記マクロモジュール生成部は、
前記入出力フロー情報を解析し、各々が同じ種類の信号を入出力する２つ以上の機能ブロックを対応付け、
信号の種類ごとに、前記複数のセレクタモジュールの中から、対応付けた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを選択し、
信号の種類ごとに選択したセレクタモジュールを用いてマクロモジュールを生成することを特徴とする請求項１〜３のいずれかに記載のＬＳＩ設計装置。
【請求項５】
前記マクロモジュール生成部は、
セレクタと機能ブロックとの関係が表されるとともに、セレクタの制御レジスタと、セレクタの制御レジスタにアクセスするためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェースとが表されるマクロモジュールを生成することを特徴とする請求項１〜４のいずれかに記載のＬＳＩ設計装置。
【請求項６】
コンピュータが、設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ
Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成ステップと、
前記コンピュータが、セレクタと機能ブロックとの関係が表されるマクロモジュールを、前記セレクタモジュール生成ステップにより生成されたセレクタモジュールを用いて生成するマクロモジュール生成ステップとを有することを特徴とするＬＳＩ設計方法。
【請求項７】
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成ステップと、
セレクタと機能ブロックとの関係が表されるマクロモジュールを、前記セレクタモジュール生成ステップにより生成されたセレクタモジュールを用いて生成するマクロモジュール生成ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の設計に関する。
【背景技術】
【０００２】
ＬＳＩの大規模化に伴い、いわゆるＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）ベースの設計手法が提案されている。
ＩＰベースの設計では、ＩＰや既に動作実績のある回路モジュールなど、複数の機能ブロックを流用し、これらを組み合わせてシステムＬＳＩを構成することで開発効率を向上させる。
また、ＩＰベース設計では、基本的にＩＰや既存モジュールを流用し、周辺回路の修正や機能ブロック間の結線変更を行うだけでシステムＬＳＩを構成することができ、設計効率を大幅に向上することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２４４２７４号公報
【特許文献２】特開２００７−１９３８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＬＳＩの大規模化、およびシステムＬＳＩに要求される機能の多様化が進むことで、システムＬＳＩを構築するために必要なＩＰ数は増大し、ＩＰ同士の接続関係も複雑化する。
このため、周辺回路の修正や機能ブロック間の結線変更量の増大、接続関係を実現するために必要なグルーロジックの設計工数の増大が、設計効率向上の阻害要因となっている。【０００５】
例えば、映像信号処理向けのシステムＬＳＩを例とする。
ワンチップで複数の解像度や画像フォーマットの異なる２系統の入出力に対応したいという要求があった場合、各系統に全く同じ映像信号処理機能を持たせ、２系統が独立して動くＬＳＩを構成すれば要求機能は満足できる。
しかし、このような実装は回路規模が膨大になるので、実際はこのような実装はしない。
実際の運用では、ＬＳＩのユースケースを制限事項として定義し、ＬＳＩのユースケースを動作モードとして定義する。
そして、あるモードで同時に動かない複数の機能があれば、当該複数の機能をマージして必要最低限のＩＰ数で当該複数の機能を実現できるよう最適化を行う。
このように必要最低限のＩＰ数で機能を実現できるように最適化を行う場合、機能のマージを実現するために、同じＩＰであっても動作モードによって異なる入力データを与えられるようにする必要がある。
このため、入力データを制御するためセレクタ（グルーロジック）が必要となる。
必要となるセレクタは、実現しようとするシステムによって異なるためＩＰの標準機能として組み込むことはでない。
このため、システムを構築するごとにセレクタを設計し直す必要がある。
また、設計し直しとなったセレクタをシステム内で制御する必要がある。
一般的にシステムの制御はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって行われるため、セレクタを制御するレジスタにアクセスするためのＣＰＵバスＩＦ（インタフェース）もシステムごとに設計変更が必要となる。
以上のように、単にセレクタを挿入するだけでも複数箇所の設計変更が必要であり、挿入箇所が増大すると設計効率が低下する。【０００６】
この発明は、上記のような点に鑑みたものであり、ＬＳＩを設計する際の設計効率を向上させることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るＬＳＩ設計装置は、
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成部と、
セレクタと機能ブロックとの関係が表されるマクロモジュールを、前記セレクタモジュール生成部により生成されたセレクタモジュールを用いて生成するマクロモジュール生成部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールと前記セレクタモジュールを含むマクロブロック、ならびにセレクタモジュールを制御するためのＣＰＵバスＩＦを自動生成するため、ＬＳＩを設計する際の設計効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るＬＳＩ設計プラットフォームの構成例を示す図。
【図２】実施の形態１に係るシステムＬＳＩ組み上げ装置の構成例を示す図。
【図３】実施の形態１に係るＩＰ接続情報の例を示す図。
【図４】実施の形態１に係るＩＰ接続情報の例を示す図。
【図５】実施の形態１に係るセレクタモジュールの例を示す図。
【図６】実施の形態１に係るマクロモジュールの例を示す図。
【図７】実施の形態１に係る制御レジスタ情報の例を示す図。
【図８】実施の形態１に係るマクロ接続情報の生成例を示す図。
【図９】実施の形態１に係るアドレスマップ情報の例を示す図。
【図１０】実施の形態１に係るネットリストの例を示す図。
【図１１】実施の形態１に係るシステムＬＳＩ組み上げ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
本実施の形態では、ＩＰを含む複数の機能ブロックを相互接続する事によりシステムＬＳＩを構成するシステムＬＳＩ設計プラットフォームを説明する。
本実施の形態に係るシステムＬＳＩ設計プラットフォームには、セレクタモジュール生成部と、マクロモジュール生成部と、ＬＳＩトップ接続記述生成部が含まれる。
セレクタモジュール生成部は、ＩＰを含む複数の機能ブロック間の接続関係を構成するために必要なセレクタモジュールを生成する。
マクロモジュール生成部は、前記セレクタモジュール生成部が生成するセレクタモジュールとセレクタモジュールがつながるＩＰとを含むマクロモジュールを生成する。
ＬＳＩトップ接続記述生成部は、前記マクロモジュール生成部が生成するマクロモジュールとＩＰとを相互接続してＬＳＩのトップ記述を生成する。
本実施の形態に係るシステムＬＳＩ設計プラットフォームを用いれば、システムＬＳＩの設計ごとに必要であったセレクタの新規設計と、ＣＰＵバスＩＦの設計変更が自動化されるため設計効率が改善される。
【００１１】
図１は、本実施の形態に係るシステムＬＳＩ設計プラットフォームの構成例を示すブロック図である。
【００１２】
ＬＳＩ設計プラットフォーム０００は、ＩＰライブラリ１００とシステムＬＳＩ組み上げ装置０２０によって構成される。
システムＬＳＩ組み上げ装置０２０は、ＩＰ接続情報０４０、アドレスマップ情報２００及びＣＰＵバスＩＦ情報３００を入力し、ネットリスト０３０を出力する。
なお、ネットリスト０３０とはＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたシステムＬＳＩトップの接続記述である。
ＩＰ接続情報０４０、アドレスマップ情報２００及びＣＰＵバスＩＦ情報３００の詳細は後述する。
ＩＰライブラリ１００は、ライブラリに含まれる個々のＩＰに関するＩＰ情報１０１を含み、ＩＰ情報１０１は例えば、ＩＰ名称、入出力ピン情報、制御レジスタ情報、ＨＤＬ記述を含んでいる。
ＩＰライブラリ１００には、設計対象のシステムＬＳＩに含まれるＩＰに関するＩＰ情報１０１が含まれている。
なお、システムＬＳＩ組み上げ装置０２０はＬＳＩ設計装置の例に相当する。
【００１３】
図２を用いてシステムＬＳＩ組み上げ装置０２０の詳細について説明する。
システムＬＳＩ組み上げ装置０２０は、内部にセレクタモジュール生成部０２１とマクロモジュール生成部０２２とＬＳＩトップ接続記述生成部０２３を含む。
【００１４】
セレクタモジュール生成部０２１は、ＩＰ接続情報０４０を入力し、セレクタライブラリ０１１を生成する。
セレクタライブラリ０１１には、セレクタモジュール生成部０２１が生成するセレクタモジュールの情報が記載されている。
セレクタライブラリ０１１には、ＩＰライブラリ０１０と同じく、例えばＩＰ名称（セレクタ名称）、入出力ピン情報、制御レジスタ情報、ＨＤＬ記述が含まれる。
【００１５】
セレクタモジュールは、後述する図５に示すように、セレクタ０６４と、入力ピン０６１、０６２と、出力ピン０６３と、セレクタ制御信号入力インタフェース０６５が相互に関連付けられた機能ブロック０６０である。
入力ピン０６１、０６２は、セレクタ０６４がＩＰから信号を入力するためのピンである。
出力ピン０６３は、セレクタ０６４がＩＰに信号を出力するためのピンである。
セレクタ制御信号入力インタフェース０６５は、制御信号の入力のためのインタフェースである。
なお、「セレクタモジュールを生成する」とは、図５に示すようなセレクタモジュール０６０のテンプレートを生成するという意味である。
テンプレートの詳細情報は、セレクタライブラリ０１１の情報（ＩＰ名称（セレクタ名称）、入出力ピン情報、制御レジスタ情報、ＨＤＬ記述）である。
セレクタモジュール生成部０２１は、例えば、２ｔｏ１のセレクタが必要な場合は、図５に示すような２ｔｏ１セレクタのセレクタモジュールのテンプレートを生成する。
また、３ｔｏ１のセレクタが必要な場合は、セレクタモジュール生成部０２１は、図５の構成に相当する３ｔｏ１セレクタのセレクタモジュールのテンプレートを生成する。
セレクタモジュール生成部０２１は、生成したテンプレートの詳細情報をセレクタライブラリ０１１に登録する。
そして、後述するマクロモジュール生成部０２２が、セレクタライブラリ０１１の情報を用いて、例えば、２ｔｏ１セレクタのセレクタモジュールのインスタンスを生成し、また、３ｔｏ１セレクタのセレクタモジュールのインスタンスを生成する。
【００１６】
ＩＰ接続情報０４０は、例えば図３のＩＰ接続情報例０４１に示すように、特定のフォーマットでＩＰ間の接続関係（但し、ＣＰＵバスＩＦは除く）を表したものである。
図３のＩＰ接続情報例０４１は、ＩＰ  Ａ、Ｂ、Ｃの３つについて接続関係を表している。
ＩＰ接続情報例０４１中、Ａ＿ｏｕｔやＢ＿ｏｕｔ、Ｃ＿ｉｎはそれぞれＩＰ  Ａの出力信号、ＩＰ  Ｂの出力信号、ＩＰ  Ｃの入力信号を表すキーワードである。
また、「．」以降はＩＰの信号線名であり、Ａ＿ｏｕｔ．ＰＸＲは、ＩＰ  ＡのＰＸＲ信号（出力）を表す。
記号「＝＞」は信号線の向かう方向を示しており、Ａ＿ｏｕｔ．ＰＸＲ＝＞Ｃ＿ｉｎ．ＰＸＲはＩＰ  ＡのＰＸＲ信号（出力）がＩＰ  ＣのＰＸＲ信号（入力）につながることを表している。
ＩＰ接続情報例０４１内で表される接続関係、および各信号線の意味は図４に示す通りである。
なお、図３では、接続関係を表現するためにＡ＿ｏｕｔやＣ＿ｉｎ、および「．」や「＝＞」という記号を用いるフォーマットを示したが、これは説明を簡単にするために用いたのであって、ＩＰ接続情報０４０の記述フォーマットを限定するものではない。
図３に示すように、ＩＰ接続情報０４０は、設計対象のＬＳＩに含まれる機能ブロック間の信号の入出力フローが記述される情報であり、入出力フロー情報の例に相当する。
【００１７】
セレクタモジュール生成部０２１は、ＩＰ接続情報０４０をスキャンして入力信号ごとにセレクタの挿入が必要かどうかをチェックする。
セレクタの挿入が必要である場合には、セレクタモジュール生成部０２１は、セレクタモジュールを生成する。
セレクタ挿入が必要かどうかは、一つの入力信号に対して、複数の出力信号が接続されているかどうかを調べる。
例えば、ＩＰ接続情報例０４１（図３）の例では、入力信号Ｃ＿ｉｎ．ＰＸＲに対して、出力信号Ａ＿ｏｕｔ．ＰＸＲと出力信号Ｂ＿ｏｕｔ．ＰＸＲが接続されている。
このため、入力信号Ｃ＿ｉｎ．ＰＸＲの入力の前に２ｔｏ１のセレクタ挿入が必要である。
従って、セレクタモジュール生成部０２１は、２ｔｏ１セレクタのセレクタモジュールを生成する。
このように、セレクタモジュール生成部０２１は、ＩＰ接続情報０４０を解析し、ＩＰ接続情報０４０に記述されているＩＰ間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成する。
【００１８】
図５は、セレクタモジュール生成部０２１により生成されるセレクタモジュール０６０の例を示す。
セレクタモジュール０６０には、入力ピン０６１、０６２と、出力ピン０６３と、セレクタ制御信号インタフェース０６５が含まれる。
入力ピン０６１、０６２は、２ｔｏ１セレクタ０６４がＩＰ  ＡおよびＩＰ  Ｂからの信号を入力するためのピンである。
出力ピン０６３は、２ｔｏ１セレクタ０６４がＩＰ  Ｃに信号を出力するためのピンである。
セレクタ制御信号入力インタフェース０６５は、２ｔｏ１セレクタ０６４を制御するためのインタフェースである。
なお、ここまでの説明では２ｔｏ１セレクタの場合について説明したが、必要となるセレクタがＮｔｏＭ（Ｎ、Ｍは自然数かつＮ≧Ｍ）の場合も同様の構成のセレクタを生成する。
つまり、セレクタモジュール生成部０２１は、ＩＰ接続情報０４０を解析し、各々が同じ種類の信号（ＰＸＲ信号、ＰＸＧ信号等）を入出力する２つ以上のＩＰを対応付ける。
そして、セレクタモジュール生成部０２１は、対応付けたＩＰのうち信号を出力するＩＰの個数（Ｎ個）分の入力ピンを持ち、対応付けたＩＰのうち信号を入力するＩＰの個数（Ｍ個）分の出力ピンを持つＮｔｏＭセレクタのセレクタモジュールを生成する。
以上のような生成を繰り返し行い、必要なセレクタモジュールを全て生成した後、生成したセレクタモジュールの情報をセレクタライブラリ０１１として出力する。
ただし、セレクタライブラリ０１１内に既に同じ機能、例えば２ｔｏ１セレクタを持つセレクタモジュールが含まれる場合には重複して生成しない。
【００１９】
マクロモジュール生成部０２２は、ＩＰライブラリ１００のＩＰ情報１０１とＣＰＵバスＩＦ情報３００、セレクタモジュール生成部０２１が出力したセレクタライブラリ０１１およびＩＰ接続情報０４０を入力としてマクロモジュールを生成する。
そして、マクロモジュール生成部０２２は、生成したマクロモジュールをマクロライブラリ０１２として出力する。
ここで生成されるマクロモジュールとは、セレクタモジュール生成部０２１が生成したセレクタモジュールと、セレクタモジュールの出力がつながるＩＰとを含むラッパーモジュールのことである。
マクロライブラリ０１２には、例えばマクロ名称、入出力ピン情報、制御レジスタ情報、ＨＤＬ記述、包含するＩＰ情報が含まれる。
【００２０】
図６に、図３で示したＩＰ接続情報０４１の場合において生成されるマクロモジュール７００を示す。
マクロモジュール生成部０２２は、ＩＰ接続情報０４０（０４１）をスキャンして、セレクタが挿入されるＩＰの入力信号をチェックする。
セレクタの挿入が必要な入力信号がある場合には、マクロモジュール生成部０２２は、セレクタライブラリ０１１から接続関係を構成するために必要な機能を持つセレクタモジュールを選ぶ。
この場合は、マクロモジュール生成部０２２は、２ｔｏ１のセレクタモジュール０６０（図５）を選ぶ。
そして、マクロモジュール生成部０２２は、セレクタモジュール０６０のインスタンスであるセレクタモジュール６００とＩＰ  Ｃとをマクロモジュール７００の中で接続する。
この時、マクロモジュール生成部０２２は、セレクタの入力につながる新しいマクロモジュールの入力ポート７０１、７０２を生成し、同時にセレクタの制御レジスタ７０３を生成する。
また、マクロモジュール生成部０２２は、ＣＰＵバスＩＦ情報３００に基づき、ＣＰＵバスＩＦ７５０からリード／ライトが行えるよう、制御レジスタ７０３にレジスタセレクタ７５１を加える。
更に、マクロモジュール生成部０２２は、マクロモジュールに含まれるＩＰ  Ｃの制御レジスタ情報をＩＰライブラリ１００から読み出す。
マクロモジュール生成部０２２は、読み出したＩＰ  Ｃの制御レジスタ情報に制御レジスタ７０３の情報を付け加え、マクロモジュールの制御レジスタ情報を生成する。
【００２１】
ここでＣＰＵバスＩＦ情報３００とは、ＣＰＵバスＩＦの信号名とその信号の意味を対応付けた情報である。
図６の場合では、ＣＰＵバスＩＦ情報３００は、チップセレクト信号（ＢＵＳ  ＣＳ）、リードライト制御信号（ＢＵＳ  ＲＷ）、アドレス信号（ＢＵＳ  ＡＤＲ）、ライトデータ信号（ＢＵＳ  ＷＤＡＴ）、リードデータ信号（ＢＵＳ  ＲＤＡＴ）を実際のＣＰＵバスＩＦと対応させた情報である。
また、制御レジスタ情報とは、特定のフォーマットにて、ＩＰに含まれる制御レジスタとバスアドレスとの対応付けが記載された情報である。
制御レジスタ情報は、例えば図７の符号６０１に示すように、アドレス（００００等）と制御レジスタ名（制御レジスタ０等）とを空白を挟む形で対応付けた情報である。
図７の１行目は、バスＩＦのチップセレクト（図６  ＢＵＣ  ＣＳ信号）が有効な場合にバスアドレス（図６  ＢＵＳ  ＡＤＲ）００００ｈが入力されると、ＩＰ内の制御レジスタ０にアクセスできることを表している。
２行目以降についても、同様の記述内容となっている。
【００２２】
また、マクロモジュール生成部０２２は、マクロモジュール内でＩＰを接続した箇所は、ＩＰ接続情報０４０（０４１）の該当箇所をマクロモジュールとの接続が示される情報に書き換え、マクロ接続情報０５０（０５１）を生成する（図８）。
図８の例では、信号ＰＸＲについてセレクタモジュールとＩＰを接続した際に、ＩＰ接続情報０４１内の符号４０２の行が符号５０２の行のように書き換えられる。
また、符号４０３の行が符号５０３の行のように書き換えられる。
このようにして、マクロ接続情報０５１が生成される。
他の信号についても、セレクタモジュールとＩＰを接続した際に、ＩＰ接続情報０４１内の該当する行が図８に示す形式で書き換えられる。
【００２３】
図３のＩＰ接続情報０４１では、ＰＸＧ、ＰＸＢ等の他の種類の信号にも２ｔｏ１のセレクタの挿入が必要である。
このため、マクロモジュール生成部０２２は、各信号に対して、２ｔｏ１のセレクタモジュール（図５）のインスタンスを生成する。
そして、マクロモジュール生成部０２２は、各セレクタモジュールとＩＰ  Ｃとをマクロモジュール７００の中で接続する。
更に、マクロモジュール生成部０２２は、各信号に対して、マクロモジュールの入力ポートの生成、ＩＰ接続情報０４０の書き換えを行う。
マクロモジュール生成部０２２は、これらの処理を、マクロモジュールの生成が不要となるまで続けて、全てのマクロモジュールを生成し、マクロライブラリ０１２を出力する。
図６では、信号ＰＸＲについてのセレクタモジュール６００、入力ポート７０１、７０２、制御レジスタ７０３と、信号ＰＸＧについてのセレクタモジュール６１０、入力ポート７０４、７０５、制御レジスタ７０６のみを図示している。
実際の処理では、図３のＩＰ接続情報０４１の各信号に対して同様の構成が生成される。
【００２４】
なお、図７で示した制御レジスタ情報のフォーマットは説明を簡単にするために用いたものであり、制御レジスタ情報を表現するフォーマットを制限するものではない。
【００２５】
次に、ＬＳＩトップ接続記述生成部０２３が、マクロモジュール生成部０２２が生成したマクロライブラリ０１２、マクロ接続情報０５０及びアドレスマップ情報２００を入力し、最終的なネットリスト０３０を生成する。
ここで、アドレスマップ情報２００とは、特定のフォーマットで記述されたファイルである。
アドレスマップ情報２００には、システム上のどのアドレスに、どのＩＰの制御レジスタの先頭をマッピングするかが表される。
アドレスマップ情報２００では、例えば図９の符号８０１に示すように、システム上のアドレスと、ＩＰ名とが対になって示される。
図９の符号８０１の例では、ＩＰ  Ａの制御レジスタをシステムアドレス１５００＿００００ｈ以降にマッピングすることが表されている。
同様にＩＰ  Ｂの制御レジスタをシステムアドレス１５００＿０１００ｈ以降にマッピングすることが表されている。
更に、ＩＰ  Ｃの制御レジスタをシステムアドレス１５００＿０２００以降にマッピングすることが表されている。
なお、図９では、アドレスとＩＰ名との対を１行ごと、空白を挟んで記述するフォーマットとなっているが、これは説明を簡単にするために用いた一例であって、記述のフォーマットを制限するものではない。
【００２６】
ＬＳＩトップ接続記述生成部０２３は、マクロ接続情報０５０に従って、ＩＰとマクロモジュールの接続記述を生成する。
次に、ＬＳＩトップ接続記述生成部０２３は、アドレスマップ情報２００に従って、ＣＰＵバスＩＦのうちチップセレクト信号（図６  ＢＵＳ  ＣＳ信号）を出力するアドレスデコーダ３１０を生成する（図１０）。
ＬＳＩトップ接続記述生成部０２３は、生成したアドレスデコーダ３１０のチップセレクト信号を、アドレスマップ情報２００に記載されるＩＰのチップセレクト信号と接続する。
ただし、マクロモジュール内に包含されるＩＰのＩＰ名は、マクロ接続情報０５０の中には存在しない。
このような場合は、ＬＳＩトップ接続記述生成部０２３はマクロライブラリ０１２に包含されるＩＰ情報を調べ、該当するＩＰが含まれるマクロモジュールのチップセレクト入力にアドレスデコーダ３１０のチップセレクト信号を接続する。
最後に、ＬＳＩトップ接続記述生成部０２３は、ＣＰＵバスＩＦ情報３００に基づき、ＣＰＵバスＩＦ部分同士を接続する。
【００２７】
以上のような構成をとれば、ＩＰベース設計を用いてシステムＬＳＩを構築する際、ＩＰ接続情報とアドレスマップ情報を作るだけで、ＩＰ間を接続するために必要なグルーロジックおよびＣＰＵから各ＩＰを制御するために必要なＣＰＵバスＩＦが自動生成される。
そして、自動生成されたＣＰＵバスＩＦを用いて、ＬＳＩトップの接続記述を得ることができるため、ＩＰベース設計の設計効率を向上させることができる。
【００２８】
本実施の形態では、
ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）を含む複数の機能ブロックを相互接続することによりシステムＬＳＩを構成するシステムＬＳＩ設計プラットフォームを説明した。
具体的には、
ＩＰを含む複数の機能ブロック間の接続関係を構成するために必要なセレクタモジュールを生成するセレクタモジュール生成部と、
前記セレクタモジュール生成部が生成するセレクタモジュールとセレクタモジュールがつながるＩＰとを含むマクロモジュールを生成するマクロモジュール生成部と、
前記マクロモジュールが生成するマクロモジュールとＩＰとを相互接続してＬＳＩのトップ記述を生成するＬＳＩトップ接続記述生成部を備えたシステムＬＳＩ設計プラットフォームを説明した。
【００２９】
また、本実施の形態では、
前記マクロモジュール生成部は、ＩＰを含む複数の機能ブロック間の接続関係を表すＩＰ接続情報から、セレクタモジュール生成部が生成したセレクタモジュールとセレクタモジュールの出力がつながるＩＰとを包含したマクロモジュールを生成することを説明した。
【００３０】
また、本実施の形態では、
前記マクロモジュール生成部は、ＣＰＵバスＩＦ情報に基づき、セレクタモジュール生成部が生成したセレクタモジュールおよびＩＰに含まれる制御レジスタへアクセスするためのＣＰＵバスＩＦをマクロモジュールのＩＦに生成することを説明した。
【００３１】
また、本実施の形態では、
前記ＬＳＩトップ接続記述生成部は、アドレスマップ情報に基づき、ＩＰおよび前記マクロモジュール生成部が生成するマクロモジュールの内の制御レジスタにＣＰＵバスＩＦからアクセスするために必要なアドレスデコーダを生成し、アドレスデコーダとＩＰおよびマクロモジュールのＣＰＵバスＩＦを接続することを説明した。
【００３２】
最後に、本実施の形態に示したシステムＬＳＩ組み上げ装置０２０のハードウェア構成例を図１１を参照して説明する。
システムＬＳＩ組み上げ装置０２０はコンピュータであり、システムＬＳＩ組み上げ装置０２０の各要素をプログラムで実現することができる。
システムＬＳＩ組み上げ装置０２０のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００３３】
演算装置９０１は、プログラムを実行するＣＰＵである。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、例えば通信カードである。
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
入出力装置９０５は、例えば、ＩＰ接続情報０４０、アドレスマップ情報２００、ＣＰＵバスＩＦ情報３００を入力し、また、ネットリスト０３０を表示する。
【００３４】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図２に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図２に示す「〜部」の機能を実現するプログラムを実行する。
また、入力されたＩＰ接続情報０４０、アドレスマップ情報２００、ＣＰＵバスＩＦ情報３００も、順次主記憶装置９０３にロードされ、演算装置９０１により用いられる。
また、生成されたセレクタライブラリ０１１、マクロライブラリ０１２の情報も主記憶装置９０３に格納され、演算装置９０１により用いられる。
【００３５】
また、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の解析」、「〜の生成」、「〜の検知」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されてもよい。
【００３６】
なお、図１１の構成は、あくまでもシステムＬＳＩ組み上げ装置０２０のハードウェア構成の一例を示すものであり、システムＬＳＩ組み上げ装置０２０のハードウェア構成は図１１に記載の構成に限らず、他の構成であってもよい。
【００３７】
また、本実施の形態に示す手順により、本発明に係るＬＳＩ設計方法を実現可能である。
【符号の説明】
【００３８】
０００  ＬＳＩ設計プラットフォーム、０１１  セレクタライブラリ、０１２  マクロライブラリ、０２０  システムＬＳＩ組み上げ装置、０２１  セレクタモジュール生成部、０２２  マクロモジュール生成部、０２３  ＬＳＩトップ接続記述生成部、０３０  ネットリスト、０４０  ＩＰ接続情報、０５０  マクロ接続情報、１００  ＩＰライブラリ、１０１  ＩＰ情報、２００  アドレスマップ情報、３００  ＣＰＵバスＩＦ情報。
【図１】
2013176077.tif 000003
【図２】
2013176077.tif 000004
【図３】
2013176077.tif 000005
【図４】
2013176077.tif 000006
【図５】
2013176077.tif 000007
【図６】
2013176077.tif 000008
【図７】
2013176077.tif 000009
【図８】
2013176077.tif 000010
【図９】
2013176077.tif 000011
【図１０】
2013176077.tif 000012
【図１１】
2013176077.tif 000013
【手続補正書】
【提出日】平成26年8月25日(2014.8.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成部と、
セレクタと機能ブロックとの関係が表されるとともに、セレクタの制御レジスタと、セレクタの制御レジスタにアクセスするためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェースとが表されるマクロモジュールを、前記セレクタモジュール生成部により生成されたセレクタモジュールを用いて生成するマクロモジュール生成部とを有することを特徴とするＬＳＩ設計装置。
【請求項２】
前記セレクタモジュール生成部は、
複数種類の信号に対して機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、
前記入出力フロー情報を解析し、各々が同じ種類の信号を入出力する２つ以上の機能ブロックを対応付け、
対応付けた機能ブロックのうち信号を出力する機能ブロックの個数分の入力ピンを持ち、対応付けた機能ブロックのうち信号を入力する機能ブロックの個数分の出力ピンを持つセレクタのセレクタモジュールを生成することを特徴とする請求項１に記載のＬＳＩ設計装置。
【請求項３】
前記セレクタモジュール生成部は、
ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）を含む機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力することを特徴とする請求項１又は２に記載のＬＳＩ設計装置。
【請求項４】
前記セレクタモジュール生成部は、
複数種類の信号に対して機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、
前記入出力フロー情報を解析し、各々が異なるセレクタに対応する複数のセレクタモジュールを生成し、
前記マクロモジュール生成部は、
前記入出力フロー情報を解析し、各々が同じ種類の信号を入出力する２つ以上の機能ブロックを対応付け、
信号の種類ごとに、前記複数のセレクタモジュールの中から、対応付けた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを選択し、
信号の種類ごとに選択したセレクタモジュールを用いてマクロモジュールを生成することを特徴とする請求項１〜３のいずれかに記載のＬＳＩ設計装置。
【請求項５】
コンピュータが、設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ
Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成ステップと、
前記コンピュータが、セレクタと機能ブロックとの関係が表されるとともに、セレクタの制御レジスタと、セレクタの制御レジスタにアクセスするためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェースとが表されるマクロモジュールを、前記セレクタモジュール生成ステップにより生成されたセレクタモジュールを用いて生成するマクロモジュール生成ステップとを有することを特徴とするＬＳＩ設計方法。
【請求項６】
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、入力した入出力フロー情報を解析し、入出力フロー情報に記述されている機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成ステップと、
セレクタと機能ブロックとの関係が表されるとともに、セレクタの制御レジスタと、セレクタの制御レジスタにアクセスするためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェースとが表されるマクロモジュールを、前記セレクタモジュール生成ステップにより生成されたセレクタモジュールを用いて生成するマクロモジュール生成ステップとをコンピュータに実行させることを特徴とするプログラム。
【手続補正書】
【提出日】平成27年1月22日(2015.1.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明に係るＬＳＩ設計装置は、
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが機能ブロック間の信号接続を示す関係式の形式で記述される入出力フロー情報を入力として、入力された入出力フロー情報を解析し、入出力フロー情報に記述されている同じ種類の信号を出力する複数の機能ブロックと該信号を入力する１つの機能ブロックを対応付け、対応付けられた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成部と、
生成されたセレクタモジュールの制御レジスタを生成し、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェース情報を入力として、入力されたＣＰＵバスインタフェース情報に基づいてＣＰＵバスインタフェースを生成し、セレクタモジュールおよび該セレクタモジュールの出力がつながる機能ブロックを含み、ＣＰＵバスインタフェースを介してセレクタモジュールの制御レジスタにアクセスするマクロモジュールを生成し、機能ブロック間の信号の入出力フローが記述される入出力フロー情報からマクロモジュールに信号をつなげる機能ブロックとマクロモジュール間の信号の入出力フローが記述される入出力フロー情報を生成するマクロモジュール生成部とを有することを特徴とする。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが機能ブロック間の信号接続を示す関係式の形式で記述される入出力フロー情報を入力として、入力された入出力フロー情報を解析し、前記入出力フロー情報に記述されている同じ種類の信号を出力する複数の機能ブロックと該信号を入力する１つの機能ブロックを対応付け、対応付けられた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成部と、
生成されたセレクタモジュールの制御レジスタを生成し、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェース情報を入力として、入力されたＣＰＵバスインタフェース情報に基づいてＣＰＵバスインタフェースを生成し、前記セレクタモジュールおよび該セレクタモジュールの出力がつながる機能ブロックを含み、前記ＣＰＵバスインタフェースを介して前記セレクタモジュールの制御レジスタにアクセスするマクロモジュールを生成し、前記機能ブロック間の信号の入出力フローが記述される入出力フロー情報から前記マクロモジュールに信号をつなげる機能ブロックと前記マクロモジュール間の信号の入出力フローが記述される入出力フロー情報を生成するマクロモジュール生成部とを有することを特徴とするＬＳＩ設計装置。
【請求項２】
前記セレクタモジュール生成部は、
複数種類の信号に対して機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、
前記入出力フロー情報を解析し、各々が同じ種類の信号を入出力する２つ以上の機能ブロックを対応付け、
対応付けた機能ブロックのうち信号を出力する機能ブロックの個数分の入力ピンを持ち、対応付けた機能ブロックのうち信号を入力する機能ブロックの個数分の出力ピンを持つセレクタのセレクタモジュールを生成することを特徴とする請求項１に記載のＬＳＩ設計装置。
【請求項３】
前記セレクタモジュール生成部は、
ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）を含む機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力されることを特徴とする請求項１又は２に記載のＬＳＩ設計装置。
【請求項４】
前記セレクタモジュール生成部は、
複数種類の信号に対して機能ブロック間の信号の入出力フローが記述される入出力フロー情報を入力し、
前記入出力フロー情報を解析し、各々が異なるセレクタに対応する複数のセレクタモジュールを生成し、
前記マクロモジュール生成部は、
前記入出力フロー情報を解析し、各々が同じ種類の信号を入出力する２つ以上の機能ブロックを対応付け、
信号の種類ごとに、前記複数のセレクタモジュールの中から、対応付けた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを選択し、
信号の種類ごとに選択したセレクタモジュールを用いてマクロモジュールを生成することを特徴とする請求項１ないし３のいずれか１項に記載のＬＳＩ設計装置。
【請求項５】
コンピュータが、設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが機能ブロック間の信号接続を示す関係式の形式で記述される入出力フロー情報を入力として、入力された入出力フロー情報を解析し、前記入出力フロー情報に記述されている同じ種類の信号を出力する複数の機能ブロックと該信号を入力する１つの機能ブロックを対応付け、対応付けられた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成ステップと、
前記コンピュータが、生成されたセレクタモジュールの制御レジスタを生成し、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェース情報を入力として、入力されたＣＰＵバスインタフェース情報に基づいてＣＰＵバスインタフェースを生成し、前記セレクタモジュールおよび該セレクタモジュールの出力がつながる機能ブロックを含み、前記ＣＰＵバスインタフェースを介して前記セレクタモジュールの制御レジスタにアクセスするマクロモジュールを生成し、前記機能ブロック間の信号の入出力フローが記述される入出力フロー情報から前記マクロモジュールに信号をつなげる機能ブロックと前記マクロモジュール間の信号の入出力フローが記述される入出力フロー情報を生成するマクロモジュール生成ステップとを有することを特徴とするＬＳＩ設計方法。
【請求項６】
設計対象のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に含まれる機能ブロック間の信号の入出力フローが機能ブロック間の信号接続を示す関係式の形式で記述される入出力フロー情報を入力として、入力された入出力フロー情報を解析し、前記入出力フロー情報に記述されている同じ種類の信号を出力する複数の機能ブロックと該信号を入力する１つの機能ブロックを対応付け、対応付けられた機能ブロック間の信号の入出力フローに合致するセレクタのセレクタモジュールを生成するセレクタモジュール生成ステップと、
生成されたセレクタモジュールの制御レジスタを生成し、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）バスインタフェース情報を入力として、入力されたＣＰＵバスインタフェース情報に基づいてＣＰＵバスインタフェースを生成し、前記セレクタモジュールおよび該セレクタモジュールの出力がつながる機能ブロックを含み、前記ＣＰＵバスインタフェースを介して前記セレクタモジュールの制御レジスタにアクセスするマクロモジュールを生成し、前記機能ブロック間の信号の入出力フローが記述される入出力フロー情報から前記マクロモジュールに信号をつなげる機能ブロックと前記マクロモジュール間の信号の入出力フローが記述される入出力フロー情報を生成するマクロモジュール生成ステップとをコンピュータに実行させることを特徴とするプログラム。
【国際調査報告】
2013176077.tif 000014
2013176077.tif 000015
2013176077.tif 000016