(57)【要約】【課題】論理設計の段階では共用回路を各回路ブロックに配置し、その後レイアウト設計に即した実装回路に簡単に変換すること。【解決手段】論理設計の段階において、設計者は複数の回路ブロックに回路Ｚを配置して設計を行う。その後、レイアウト設計に即した実装回路に変換する際、制御部が回路設計プログラムを読み出して実行することにより、制御部は回路Ｚを共用回路Ｚとして各回路ブロックの共通層に配置し、各回路ブロックから回路Ｚを削除する。そして制御部は回路ブロックと共用回路Ｚの配線を行う。【選択図】図６
2010003027.tif 000002
【特許請求の範囲】
【請求項１】
回路ブロックに共通して配置されている特定の回路の配置情報を取得する配置情報取得手段と、
前記特定の回路を独立して配置する場所を示す配置位置情報を取得する配置位置情報取得手段と、
前記配置位置情報の示す配置位置に前記特定の回路を共用回路として独立して配置し、前記回路ブロックから前記特定の回路を削除する共用回路配置手段と、
前記特定の回路の入力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する入力端子に接続し、前記特定の回路の出力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する出力端子に接続する回路移動手段と、
を備えた回路設計装置。
【請求項２】
前記共用回路配置手段は、前記共用回路の入出力端子のうち前記回路ブロックに接続されている入出力端子の接続先を切り替えて前記共用回路と接続状態にある前記回路ブロックを切り替える切替回路を更に配置することを特徴とする請求項１に記載の回路設計装置。
【請求項３】
コンピュータに、
回路ブロックに共通して配置されている特定の回路の配置情報を取得する配置情報取得手段、
前記特定の回路を独立して配置する場所を示す配置位置情報を取得する配置位置情報取得手段、
前記配置位置情報の示す配置位置に前記特定の回路を共用回路として独立して配置し、前記回路ブロックから前記特定の回路を削除する共用回路配置手段、
前記特定の回路の入力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する入力端子に接続し、前記特定の回路の出力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する出力端子に接続する回路移動手段、
として機能させるための回路設計プログラム。
【請求項４】
回路ブロックに共通して配置されている特定の回路の配置情報を取得する配置情報取得ステップ、
前記特定の回路を独立して配置する場所を示す配置位置情報を取得する配置位置情報取得ステップ、
前記配置位置情報の示す配置位置に前記特定の回路を共用回路として独立して配置し、前記回路ブロックから前記特定の回路を削除する共用回路配置ステップ、
前記特定の回路の入力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する入力端子に接続し、前記特定の回路の出力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する出力端子に接続する回路移動ステップ
を含む回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の回路ブロックに配置された共用回路を含む回路を設計するための回路設計装置、回路設計プログラム及び回路設計方法である。
【背景技術】
【０００２】
従来、ＡＳＩＣ（Application Specific Integrated Circuit）等のＬＳＩ（Large Scale Integrated Circuit）の大規模化に伴い、レイアウト設計は階層分割等の手法を用いることが主流になっている。そこで、レイアウト設計に先立ってなされる論理設計の段階において、階層構成に対応した論理設計を行う場合が多い。特許文献１には、論理設計における回路の階層構造に対して所定の階層に対する再構築を自動的に行うことにより利便性を向上させる論理回路設計方法について記載されている。
【特許文献１】特開２００６−２６０２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＩＰ（Intellectual Property）回路等の回路ブロックの一部回路を共用化し、回路面積を削減してチップサイズの縮小、コストダウンを図る場合が多い。しかし、共用回路を論理設計の段階で用いる場合、共通の上位階層に共用回路を配置し、各回路ブロックから共用回路に向けた配線を行う必要があり、設計者の作業が煩雑となっていた。更に配線が階層を隔てて引き回される為に回路図が分かりにくいものとなっていた。
【０００４】
本発明は、上記の問題を解決するためになされたもので、論理設計の段階では共用回路を各回路ブロックに配置し、その後レイアウト設計に即した実装回路に簡単に変換することができる回路設計装置、回路設計プログラム及び回路設計方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明の回路設計装置は、回路ブロックに共通して配置されている特定の回路の配置情報を取得する配置情報取得手段と、前記特定の回路を独立して配置する場所を示す配置位置情報を取得する配置位置情報取得手段と、前記配置位置情報の示す配置位置に前記特定の回路を共用回路として独立して配置し、前記回路ブロックから前記特定の回路を削除する共用回路配置手段と、前記特定の回路の入力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する入力端子に接続し、前記特定の回路の出力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する出力端子に接続する回路移動手段と、を備えたことを特徴としている。
【０００６】
更に、請求項３に記載の発明の回路設計プログラムは、コンピュータに、回路ブロックに共通して配置されている特定の回路の配置情報を取得する配置情報取得手段、前記特定の回路を独立して配置する場所を示す配置位置情報を取得する配置位置情報取得手段、前記配置位置情報の示す配置位置に前記特定の回路を共用回路として独立して配置し、前記回路ブロックから前記特定の回路を削除する共用回路配置手段、前記特定の回路の入力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する入力端子に接続し、前記特定の回路の出力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する出力端子に接続する回路移動手段、として機能させることを特徴としている。
【０００７】
更に、請求項４に記載の発明の回路設計方法は、回路ブロックに共通して配置されている特定の回路の配置情報を取得する配置情報取得ステップ、前記特定の回路を独立して配置する場所を示す配置位置情報を取得する配置位置情報取得ステップ、前記配置位置情報の示す配置位置に前記特定の回路を共用回路として独立して配置し、前記回路ブロックから前記特定の回路を削除する共用回路配置ステップ、前記特定の回路の入力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する入力端子に接続し、前記特定の回路の出力端子と接続していた前記回路ブロックの端子を前記共用回路の対応する出力端子に接続する回路移動ステップ、を含むことを特徴としている。
【０００８】
これらの構成によれば、論理設計の段階においては、共用回路を回路ブロックに配置した状態（回路の接続関係が設計者にとって分かりやすい）で設計を行い、その後レイアウト設計に即した実装回路に変換する際に、共用回路を回路ブロックの共通層等に配置して各回路ブロックと共用回路の配線を自動的に行って実装回路を設計することができる。これにより、実装回路に変換する際に設計者が手動で共用回路を移動して配線を引き直すといった煩雑な配線処理を行う必要がなく、簡単に実装回路への変換を行うことができる。
【０００９】
また、請求項２に記載の発明は、請求項１に記載の回路設計装置であって、前記共用回路配置手段は前記共用回路の入出力端子のうち前記回路ブロックに接続されている入出力端子の接続先を切り替えて前記共用回路と接続状態にある前記回路ブロックを切り替える切替回路を更に配置することを特徴としている。
【００１０】
この構成によれば、共用回路と回路ブロックの接続の切り替えを行う切替回路が自動的に配置されることによって、設計者の手間を省き、簡単に実装回路への変換を行うことができる。
【発明の効果】
【００１１】
この発明によれば、論理設計の段階においては、共用回路を回路ブロックに配置した状態（回路の接続関係が設計者にとって分かりやすい）で設計を行い、その後レイアウト設計に即した実装回路に変換する際に、共用回路を回路ブロックの共通層等に配置して各回路ブロックと共用回路の配線を自動的に行って実装回路を設計することができる。これにより、実装回路に変換する際に設計者が手動で共用回路を移動して配線を引き直すといった煩雑な配線処理を行う必要がなく、簡単に実装回路への変換を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態に係る回路設計装置、回路設計プログラム及び回路設計方法について図面を参照して説明する。図１は回路設計装置１の構成を示すブロック図である。回路設計装置１はコンピュータ（例えば、パーソナルコンピュータ、ホストコンピュータ等）により実現され、制御部１１、入力操作部１２、記憶部１３、表示部１４及びネットワークＩ／Ｆ部１５を備えて構成される。
【００１３】
制御部１１は、入力される指示信号に応じて所定のプログラムに基づいた処理を実行し
各機能部への指示やデータ転送を行う等、回路設計装置１全体を制御する。具体的には、制御部１１は、ＣＰＵ（Central Processing Unit：中央処理装置）等によって構成され、入力操作部１２から入力される操作信号に応じて記憶部１３に記憶されたプログラムを読み出し、そのプログラムに従って処理を実行する。そして制御部１１は、処理結果を表示するための表示制御信号を表示部１４に対して出力し、処理結果に応じた情報を表示させる。
【００１４】
また、制御部１１は配置情報取得部１１１、配置位置情報取得部１１２、共用回路配置部１１３及び配線接続部１１４として機能する。配置情報取得部１１１は、回路ブロックに配置されている共用回路の配置情報を取得する。配置位置情報取得部１１２は、共用回路の配置先の位置情報を取得する。共用回路配置部１１３は、配置位置情報取得部１１２によって取得された配置位置情報の示す位置に共用回路を配置し、回路ブロック内の共用回路を削除する。配線接続部１１４は、回路ブロックと共用回路の配線を行う。
【００１５】
入力操作部１２は、文字／英数字入力キー、カーソルキー及び各種機能キー等を備えたキーボードや、タッチパッドやマウス等のポインティングデバイスを備えて構成されており、キーボードで押下されたキーの操作信号や、ポインティングデバイスの操作信号を制御部１１へ出力する。
【００１６】
記憶部１３は、回路設計装置１の備える種々の機能を実現するためのプログラムやデータ等を記憶する。本実施の形態では、記憶部１３は回路設計プログラム１３１を記憶する。回路設計プログラム１３１は、回路設計装置１を用いて設計者によって設計された回路ブロックのうち、共通して用いられている回路を共用回路として独立して配置し、各回路ブロックと共用回路の配線を自動的に行うプログラムである。
【００１７】
表示部１４は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示画面を備え、制御部１１から出力される表示制御信号に従って文字や画像等の表示を行う。ネットワークＩ／Ｆ部１５は、ＬＡＮボード等の通信モジュールから構成され、ネットワークＩ／Ｆ部１５と接続されたネットワークを介して種々のデータを送受信する。
【００１８】
図２は、回路設計装置１を用いて設計者によって設計された回路図の一例を示す図である。回路ブロック２は回路Ｘ及び回路Ｚを備えて構成されており、回路ブロック３は回路Ｙ及び回路Ｚを備えて構成されている。回路ブロック２の入力端子ＰＩＮ１は回路Ｘの入力端子ｉｎ１に接続され、回路Ｘの出力端子ｏｕｔ１は回路Ｚの入力端子ｉｎ３に接続され、回路Ｚの出力端子ｏｕｔ３は回路ブロック２の出力端子ＰＯＵＴ１に接続されている。同様に、回路ブロック３の入力端子ＰＩＮ２は回路Ｙの入力端子ｉｎ２に接続され、回路Ｙの出力端子ｏｕｔ２は回路Ｚの入力端子ｉｎ３に接続され、回路Ｚの出力端子ｏｕｔ３は回路ブロック３の出力端子ＰＯＵＴ２に接続されている。
【００１９】
ここで、回路ブロック２及び３に含まれる回路Ｚは同じ論理回路であり、共用回路として設定されている。つまり、図２においては、回路ブロック２及び３のそれぞれに回路Ｚが配置されているが、これは論理設計の段階において設計者が回路構成を理解しやすいように便宜上それぞれの回路ブロックに配置しているのに過ぎず、実際には回路Ｚは１つしか存在していない。
【００２０】
以下、図２における論理回路を「仮想回路」という。その後、レイアウト設計を行う段階において、レイアウト設計に即した回路に変換される。このレイアウト設計に即した回路を「実装回路」という。仮想回路から実装回路に変換する際、制御部１１は記憶部１３から回路設計プログラム１３１を読み出し、変換処理を行う。具体的には、制御部１１は、共用回路である回路Ｚを独立した回路として共通の上位階層に配置し、回路ブロック２及び３との配線を引き直して、仮想回路から実装回路に変換する処理を行う。
【００２１】
こうすることにより、論理設計の段階（例えば検証シミュレーション前）において、回路Ｚを共通化するために、仮想回路から実装回路への変換にかかる作業、即ち、回路Ｚを回路ブロック２及び３の共通の上位階層等に配置し、回路Ｘ及びＹの出力端子と回路Ｚの入力端子ｉｎ３を接続し、回路ブロック２及び３の出力端子と回路Ｚの出力端子ｏｕｔ３をそれぞれ接続するという煩雑な配線処理を設計者が行わなくて済み、設計作業にかかる労力や時間を削減させることができる。
【００２２】
図６は制御部１１が回路設計プログラム１３１に従って処理を実行したときの処理の流れを示すフローチャートである。処理の流れについて、図２〜５の回路図を参照しながら詳しく説明する。まず、配置情報取得部１１１は、回路ブロックに配置されている共用回路として設定されている回路の配置情報を取得する（ステップＳ１１）。例えば、図２における回路Ｚは、予め定められた設定方法で共用回路であることが設計者によって設定されており、配置情報取得部１１１は共用回路である回路Ｚが回路ブロック２と回路ブロック３に配置されていることを示す情報を取得する。
【００２３】
次に、配置位置情報取得部１１２は、回路Ｚの配置位置情報を取得する（ステップＳ１２）。配置位置は、入力操作部１２を介して設計者によって指示入力された位置（階層）であってもよいし、配置位置情報取得部１１２が回路ブロック２及び３の共通の上位階層で回路Ｚの配置に適切な位置を選択して、配置位置を決定するようにしてもよい。
【００２４】
そして、共用回路配置部１１３は、図３に示すように、配置位置情報取得部１１２が取得した配置位置情報が示す位置に回路Ｚを配置する。以下、回路ブロック２及び３に配置されている回路Ｚと区別するために、「共用回路Ｚ」という。回路Ｚと共用回路Ｚは同じ回路であり、回路Ｚの入力端子ｉｎ３と共用回路Ｚの入力端子ｉｎ９、回路Ｚの出力端子ｏｕｔ３と共用回路Ｚの出力端子ｏｕｔ９がそれぞれ対応している。
【００２５】
更に共用回路配置部１１３は、共用回路Ｚの入出力端子のうち、回路ブロックと接続関係にある端子にスイッチを配置する。つまり、回路Ｚの入力端子ｉｎ３は回路Ｘ及びＹの出力端子と接続関係にあるため、共用回路配置部１１３は共用回路Ｚの入力端子ｉｎ９にスイッチＳ１を配置する。同様に、回路Ｚの出力端子ｏｕｔ３は回路ブロック２及び３の出力端子と接続関係にあるため、共用回路配置部１１３は共用回路Ｚの出力端子ｏｕｔ９にスイッチＳ２を配置する。そして、共用回路配置部１１３は、スイッチＳ１及びＳ２の接続先を切り替えるための指示信号を出力する切替指示回路４１を配置する（ステップＳ１３）。ここで、切替回路４はスイッチＳ１及びＳ２と切替指示回路４１を備えて構成される。そして図４に示すように、共用回路配置部１１３は回路ブロック２及び３の回路Ｚを削除する（ステップＳ１４）。
【００２６】
続いて、配線接続部１１４は、回路ブロック２及び３の各端子のうち、元々回路Ｚと接続されていた端子がスイッチＳ１及びＳ２の接続先となるよう配線を行う（ステップＳ１５）。回路Ｘの出力端子ｏｕｔ１は元々回路Ｚの入力端子ｉｎ３と接続されていたため、図５に示すように、配線接続部１１４はスイッチＳ１の接続先となるよう配線Ｗ１１を引く。同様に、回路Ｙの出力端子ｏｕｔ２も回路Ｚの入力端子ｉｎ３と接続されていたため、配線接続部１１４はスイッチＳ１の接続先となるよう配線Ｗ２１を引く。更に、配線接続部１１４は、回路ブロック２の出力端子ＰＯＵＴ１と回路ブロック３の出力端子ＰＯＵＴ２がスイッチＳ２の接続先となるように配線Ｗ１２及びＷ２２を引く。スイッチＳ１及びＳ２は切替指示回路４１から出力される指示信号に応答して、回路ブロック２又は３の何れか一方と接続を切り替える。
【００２７】
尚、共用回路Ｚは単体で検証シミュレーションが実行可能であり、更には論理回路及び実装回路に適用した場合でも検証シミュレーションによる動作確認を行うことができるものである。
【００２８】
以上、説明したように、最初の設計段階においては、共用回路である回路Ｚは、図２に示すように、各回路ブロックに配置した状態で仮想回路の設計を行い、その後レイアウト設計に即した回路に変換する際に、回路Ｚを共用回路Ｚとして共通層等に配置して各回路ブロックと共用回路Ｚの配線を行うことにより実装回路を自動的に設計することができる。従って、仮想回路から実装回路の変換を行う際に手動で配線を引き回すといった煩雑な配線処理を設計者が行う必要がなく、簡単に仮想回路から実装回路の変換を行うことができる。
【図面の簡単な説明】
【００２９】
【図１】回路設計装置の構成を示すブロック図。
【図２】仮想回路の一例を示す図。
【図３】仮想回路から実装回路への変換の手順を説明するための図。
【図４】仮想回路から実装回路への変換の手順を説明するための図。
【図５】仮想回路から実装回路への変換の手順を説明するための図。
【図６】制御部が回路設計プログラムに従って処理を実行したときの処理の流れを示すフローチャート。
【符号の説明】
【００３０】
１      回路設計装置
１１    制御部
１１１  配置情報取得部（配置情報取得手段）
１１２  配置位置情報取得部（配置位置情報取得手段）
１１３  共用回路配置部（共用回路配置手段）
１１４  配線接続部（回路移動手段）
１２    入力操作部
１３    記憶部
１３１  回路設計プログラム
１４    表示部
１５    ネットワークＩ／Ｆ部
【図１】
2010003027.tif 000003
【図２】
2010003027.tif 000004
【図３】
2010003027.tif 000005
【図４】
2010003027.tif 000006
【図５】
2010003027.tif 000007
【図６】
2010003027.tif 000008