(57)【要約】      （修正有）【課題】電子回路のレイアウト設計作業を支援する。【解決手段】回路設計データと、回路設計データに基づいて生成された解析データとに基づいて、始点の回路要素、第１の回路要素、終点の回路要素及び始点の回路要素から第１の回路要素を経由して終点の回路要素までの間を電気的に接続する第１の配線を含む解析対象の経路と、経路に含まれる第１の回路要素と電気的に接続されており経路に含まれない第２の回路要素と、第１の回路要素と第２の回路要素とを電気的に接続する第２の配線とを選択することを含む。選択では、始点の回路要素からの距離と終点の回路要素からの距離との合計値が大きい順に、指定された個数の第１の回路要素を選択し、指定された個数の第１の回路要素と電気的に接続されており経路に含まれない第２の回路要素を選択し、指定された個数の第１の回路要素と第２の回路要素とを電気的に接続する第２の配線を選択する。【選択図】図１
2019016382.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより、回路設計データと、前記回路設計データに基づいて生成された解析データとに基づいて、始点の回路要素、第１の回路要素、終点の回路要素、及び前記始点の回路要素から前記第１の回路要素を経由して前記終点の回路要素までの間を電気的に接続する第１の配線を含む解析対象の経路と、前記経路に含まれる前記第１の回路要素と電気的に接続されており前記経路に含まれない第２の回路要素と、前記第１の回路要素と前記第２の回路要素とを電気的に接続する第２の配線とを選択することを具備し、
前記選択することは、
前記第１の回路要素の個数の指定情報に基づいて、前記経路に含まれる複数の前記第１の回路要素の中から、前記始点の回路要素からの距離と前記終点の回路要素からの距離との合計値が大きい順に、前記個数の前記第１の回路要素を選択する第１の選択と、
前記個数の前記第１の回路要素と電気的に接続されており前記経路に含まれない前記第２の回路要素を選択する第２の選択と、
前記個数の前記第１の回路要素と前記第２の回路要素とを電気的に接続する前記第２の配線を選択する第３の選択と、
を具備する、回路設計方法。
【請求項２】
前記回路設計データは、さらに種別データを含み、
前記選択することは、前記種別データに基づいて、前記第１の回路要素と電気的に接続されており前記経路に含まれないフリップフロップ回路又は組み合わせ回路を、前記第２の回路要素として選択する、
請求項１の回路設計方法。
【請求項３】
前記選択することは、前記経路に含まれる複数の前記第１の回路要素の中から、前記始点の回路要素からの距離と前記終点の回路要素からの距離との合計値が最も大きい第１の回路要素を選択し、前記合計値が最も大きい第１の回路要素と電気的に接続されている前記第２の回路要素を選択し、前記合計値が最も大きい第１の回路要素と前記第２の回路要素とを電気的に接続する前記第２の配線を選択する、
請求項１又は請求項２の回路設計方法。
【請求項４】
前記選択することは、
複数の前記第１の回路要素ごとに、前記始点の回路要素から前記経路にそって各前記第１の回路要素に到達するまでに通過する回路要素の間の距離の合計である第１の合計を算出し、
複数の前記第１の回路要素ごとに、各前記回路要素から前記経路にそって前記終点の回路要素に到達するまでに通過する回路要素の間の距離の合計である第２の合計を算出し、
複数の前記第１の回路要素ごとに、前記第１の合計と前記第２の合計との差の絶対値を算出し、
前記差の絶対値が最も小さい回路要素を、前記始点の回路要素と前記終点の回路要素とから最も離れた回路要素として選択する、
請求項１又は請求項２の回路設計方法。
【請求項５】
前記経路と選択された前記第２の回路要素及び前記第２の配線とを含む表示データを生成することをさらに具備する、
請求項１乃至請求項４のいずれか１項の回路設計方法。
【請求項６】
前記生成することは、前記第２の回路要素の表示命令に基づいて、前記第２の回路要素と前記第２の配線とを含む前記表示データを生成し、前記第２の回路要素の非表示命令に基づいて、前記第２の回路要素と前記第２の配線とを含まない表示データを生成する、
請求項５の回路設計方法。
【請求項７】
前記選択することは、前記第１の回路要素と前記第２の回路要素とのうちの少なくとも一方に対して、ファンアウトとインスタンス名とのうちの少なくとも一方を選択することをさらに具備し、
前記生成することは、前記ファンアウトと前記インスタンス名とのうちの少なくとも一方をさらに含む前記表示データを生成する、
請求項５又は請求項６の回路設計方法。
【請求項８】
前記選択することは、前記第２の回路要素に対応するスラックとディレイとのうちの少なくとも一方を選択することをさらに具備し、
前記生成することは、前記スラックと前記ディレイとのうちの少なくとも一方をさらに含む前記表示データを生成する、
請求項５乃至請求項７のいずれか１項の回路設計方法。
【請求項９】
前記選択することは、前記第２の回路要素と電気的に接続されており前記経路に含まれない第３の回路要素と、前記第２の回路要素と前記第３の回路要素とを電気的に接続する第３の配線とを選択することをさらに具備し、
前記生成することは、選択された前記第３の回路要素及び前記第３の配線をさらに含む前記表示データを生成する、
請求項５乃至請求項８のいずれか１項の回路設計方法。
【請求項１０】
前記回路設計データは、回路要素の識別データと位置データとを含み、
前記解析データは、前記回路設計データと前記始点の回路要素の指定情報と前記終点の回路要素の指定情報とに基づいて生成されたデータである、
請求項１乃至請求項９のいずれか１項の回路設計方法。
【請求項１１】
コンピュータに、
回路設計データと、前記回路設計データに基づいて生成された解析データとに基づいて、始点の回路要素、第１の回路要素、終点の回路要素、及び前記始点の回路要素から前記第１の回路要素を経由して前記終点の回路要素までの間を電気的に接続する第１の配線を含む解析対象の経路と、前記経路に含まれる前記第１の回路要素と電気的に接続されており前記経路に含まれない第２の回路要素と、前記第１の回路要素と前記第２の回路要素とを電気的に接続する第２の配線とを選択する選択機能を実現させ、
前記選択機能は、
前記第１の回路要素の個数の指定情報に基づいて、前記経路に含まれる複数の前記第１の回路要素の中から、前記始点の回路要素からの距離と前記終点の回路要素からの距離との合計値が大きい順に、前記個数の前記第１の回路要素を選択する第１の選択機能と、
前記個数の前記第１の回路要素と電気的に接続されており前記経路に含まれない前記第２の回路要素を選択する第２の選択機能と、
前記個数の前記第１の回路要素と前記第２の回路要素とを電気的に接続する前記第２の配線を選択する第３の選択機能と、
を具備し、
前記回路設計データは、さらに種別データを含み、
前記選択機能は、前記種別データに基づいて、前記第１の回路要素と電気的に接続されており前記経路に含まれないフリップフロップ回路又は組み合わせ回路を、前記第２の回路要素として選択する、
プログラム。
【請求項１２】
前記選択機能は、前記経路に含まれる複数の前記第１の回路要素の中から、前記始点の回路要素からの距離と前記終点の回路要素からの距離との合計値が最も大きい第１の回路要素を選択し、前記合計値が最も大きい第１の回路要素と電気的に接続されている前記第２の回路要素を選択し、前記合計値が最も大きい第１の回路要素と前記第２の回路要素とを電気的に接続する前記第２の配線を選択する、
請求項１１のプログラム。
【請求項１３】
前記選択機能は、
複数の前記第１の回路要素ごとに、前記始点の回路要素から前記経路にそって各前記第１の回路要素に到達するまでに通過する回路要素の間の距離の合計である第１の合計を算出し、
複数の前記第１の回路要素ごとに、各前記回路要素から前記経路にそって前記終点の回路要素に到達するまでに通過する回路要素の間の距離の合計である第２の合計を算出し、
複数の前記第１の回路要素ごとに、前記第１の合計と前記第２の合計との差の絶対値を算出し、
前記差の絶対値が最も小さい回路要素を、前記始点の回路要素と前記終点の回路要素とから最も離れた回路要素として選択する、
請求項１１のプログラム。
【請求項１４】
前記コンピュータに、
前記経路と選択された前記第２の回路要素及び前記第２の配線とを含む表示データを生成する生成機能をさらに実現させる、請求項１１乃至請求項１３のいずれか１項のプログラム。
【請求項１５】
前記生成機能は、前記第２の回路要素の表示命令に基づいて、前記第２の回路要素と前記第２の配線とを含む前記表示データを生成し、前記第２の回路要素の非表示命令に基づいて、前記第２の回路要素と前記第２の配線とを含まない表示データを生成する、
請求項１４のプログラム。
【請求項１６】
前記選択機能は、前記第１の回路要素と前記第２の回路要素とのうちの少なくとも一方に対して、ファンアウトとインスタンス名とのうちの少なくとも一方をさらに選択し、
前記生成機能は、前記ファンアウトと前記インスタンス名とのうちの少なくとも一方をさらに含む前記表示データを生成する、
請求項１４又は請求項１５のプログラム。
【請求項１７】
前記選択機能は、前記第２の回路要素に対応するスラックとディレイとのうちの少なくとも一方をさらに選択し、
前記生成機能は、前記スラックと前記ディレイとのうちの少なくとも一方をさらに含む前記表示データを生成する、
請求項１４乃至請求項１６のいずれか１項のプログラム。
【請求項１８】
前記選択機能は、前記第２の回路要素と電気的に接続されており前記経路に含まれない第３の回路要素と、前記第２の回路要素と前記第３の回路要素とを電気的に接続する第３の配線とをさらに選択し、
前記生成機能は、選択された前記第３の回路要素及び前記第３の配線をさらに含む前記表示データを生成する、
請求項１４乃至請求項１６のいずれか１項のプログラム。
【請求項１９】
前記回路設計データは、回路要素の識別データと位置データとを含み、
前記解析データは、前記回路設計データと前記始点の回路要素の指定情報と前記終点の回路要素の指定情報とに基づいて生成されたデータである、
請求項１１乃至請求項１８のいずれか１項のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、回路設計方法及びプログラムに関する。
【背景技術】
【０００２】
回路設計装置として、例えばレイアウトＣＡＤ（Computer Aided Design）ツールを備える情報処理装置が利用される。回路設計装置は、ユーザによる情報処理装置での電子回路（例えば集積回路）のレイアウト設計作業を支援する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６２０５５７３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態は、ユーザによる電子回路のレイアウト設計作業を効果的に支援する回路設計方法及びプログラムを提供する。
【課題を解決するための手段】
【０００５】
実施形態によれば、回路設計方法は、コンピュータにより、回路設計データと、回路設計データに基づいて生成された解析データとに基づいて、始点の回路要素、第１の回路要素、終点の回路要素、及び始点の回路要素から第１の回路要素を経由して終点の回路要素までの間を電気的に接続する第１の配線を含む解析対象の経路と、経路に含まれる第１の回路要素と電気的に接続されており経路に含まれない第２の回路要素と、第１の回路要素と第２の回路要素とを電気的に接続する第２の配線とを選択することを含む。この選択することは、第１の回路要素の個数の指定情報に基づいて、経路に含まれる複数の第１の回路要素の中から、始点の回路要素からの距離と終点の回路要素からの距離との合計値が大きい順に、指定された個数の第１の回路要素を選択する第１の選択と、指定された個数の第１の回路要素と電気的に接続されており経路に含まれない第２の回路要素を選択する第２の選択と、指定された個数の第１の回路要素と第２の回路要素とを電気的に接続する第２の配線を選択する第３の選択と、を含む。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る回路設計装置の一例を示すブロック図。
【図２】第１の実施形態に係る回路設計装置による回路設計及びタイミング解析の一例を示すフローチャート。
【図３】第１の実施形態に係る回路設計装置による選択及び表示の一例を示すフローチャート。
【図４】タイミングパスの表示例を示す図。
【図５】本実施形態に係るタイミングパスの第１の表示例を示す図。
【図６】本実施形態に係るタイミングパスの第２の表示例を示す図。
【図７】本実施形態に係るタイミングパスの第３の表示例を示す図。
【図８】本実施形態に係るタイミングパスの第４の表示例を示す図。
【図９】本実施形態に係るタイミングパスの第５の表示例を示す図。
【図１０】本実施形態に係るタイミングパスの第６の表示例を示す図。
【図１１】本実施形態に係るタイミングパスの第７の表示例を示す図。
【図１２】遠回り部分を含むタイミングパスを備えた回路の具体例を示すブロック図。
【図１３】第２の実施形態に係るタイミングパスの一例を示す図。
【発明を実施するための形態】
【０００７】
以下、図面を参照して、発明の実施形態について説明する。なお、以下の説明において、略又は実質的に同一の構成要素及び機能については、同一符号を付し、必要に応じて説明を行う。
【０００８】
［第１の実施形態］
本実施形態においては、始点の回路要素、第１の回路要素、終点の回路要素、及び始点の回路要素から第１の回路要素を経由して終点の回路要素までの間を電気的に接続する第１の配線を含む解析対象の経路と、経路に含まれないが経路の形状に影響を与える第２の回路要素と、第１の回路要素と第２の回路要素との間を電気的に接続する第２の配線とを選択する回路設計装置について説明する。回路要素はセルと呼ばれる場合がある。
【０００９】
本実施形態において、解析対象の経路としては、例えばタイミングパスがある。タイミングパスは、例えば、始点の回路要素から終点の回路要素までクロック信号が伝達される経路であり、タイミング制約を満たすか否か解析される対象であるとする。
【００１０】
図１は、本実施形態に係る回路設計装置の一例を示すブロック図である。
【００１１】
回路設計装置１は、記憶装置２と、入力装置３と、表示装置４と、プロセッサ５とを含む。回路設計装置１としては、例えば情報処理装置（コンピュータ）が用いられる。
【００１２】
回路設計装置１は、回路要素及び配線を含むタイミングパスを表示可能である。回路設計装置１は、タイミング解析を実行すると、始点の回路要素から終点の回路要素までのタイミングパスに対する例えばディレイなどを含むタイミング解析データ８を生成する。ユーザは、表示装置４に表示されたタイミングパス及びディレイなどを確認し、電子回路のディレイの最適化を図る。ディレイとは、タイミングパスにおけるクロック信号の遅延を表す。
【００１３】
記憶装置２は、例えば、回路設計プログラム６、回路設計データ７、タイミング解析データ８を格納する。
【００１４】
入力装置３としては、例えば、ポインティングデバイス、又は、キーボードなどが用いられる。ポインティングデバイスとしては、例えば、マウス、タッチパネル、タッチパッドなどが用いられる。
【００１５】
表示装置４は、出力装置の一例である。表示装置４に代えて、例えば、印刷装置、通信装置、表示データを記憶する記憶装置などが用いられてもよい。
【００１６】
プロセッサ５は、記憶装置２に格納されている回路設計プログラム６を実行することにより、受付部９、ＣＡＤ部１０、タイミング解析部１１、受付部１２、選択部１３、生成部１４として機能する。
【００１７】
ユーザは、表示装置４の画面を参照し、入力装置３を操作し、各種の命令をプロセッサ５に与える。
【００１８】
受付部９は、命令を受け付ける。本実施形態において、受付部９によって受け付けられる命令としては、例えば、入力装置３からのユーザの命令でもよく、例えば、プロセッサ５による処理で発生した命令でもよい。
【００１９】
ＣＡＤ部１０は、受付部９によって受け付けられた命令に基づいて、回路設計データ７を生成し、回路設計データ７を記憶装置２に格納する。
【００２０】
例えば、回路設計データ７は、回路要素の識別データ、回路要素の種別データ、回路要素の位置データ、回路要素のファンアウト、回路要素のファンイン、配線の識別データ、配線の位置データ、ネット情報などを含む。
【００２１】
回路要素の識別データとしては、例えば、モジュール名、インスタンス名、又は、固有の識別番号などが用いられる。インスタンス名とは、回路要素を識別するための情報であり、例えば回路要素を階層的な表記で特定する。
【００２２】
例えば、回路要素の種別データは、フリップフロップ回路、組み合わせ回路、ＡＮＤ回路、ＯＲ回路、抵抗素子、キャパシタ、インダクタ、リレー回路などの種別を示す。
【００２３】
回路要素の位置データは、回路要素が配置される座標などを含む。
【００２４】
ファンアウトは、論理回路の基本要素であるゲート（ＡＮＤ，ＯＲ，ＮＯＴ）の出力が何個のゲートに接続されているかを示す。換言すれば、ファンアウトは、１つの出力ピンに接続されている回路要素に入力できるデバイスの数を示す。
【００２５】
配線の位置データは、配線の始点と終点の座標などを含む。
【００２６】
タイミング解析部１１は、記憶装置２に格納されている回路設計データ７と、始点及び終点の回路要素の指定情報とに基づいて、タイミング解析を実行し、タイミング解析データ８を生成する。そして、タイミング解析部１１は、タイミング解析データ８を記憶装置２に格納する。
【００２７】
始点及び終点の回路要素の指定情報は、例えば、入力装置３から受付部９経由で受け付けられたユーザの命令に基づく指定情報でもよい。また、始点及び終点の回路要素の指定情報は、例えば、プロセッサ５による処理で発生した命令に基づく指定情報でもよい。
【００２８】
タイミング解析データ８は、例えば、始点の回路要素から終点の回路要素までのタイミングパスの識別データ、タイミングパスに含まれる回路要素及び配線の識別データを含む。タイミング解析データ８は、さらに、始点の回路要素から各種の回路要素までのスラック及びディレイ、各種の回路要素から終点の回路要素までのスラック及びディレイを含む。スラックとは、始点の回路要素から終点の回路要素までの実際のクロック信号の伝達時間とタイミング制約により満たされるべきクロック信号の伝達時間との差である。スラックが正の値であれば、タイミングパスはタイミング制約を満たす。スラックが負の値であれば、タイミングパスはタイミング制約を満たさない。
【００２９】
本実施形態において、回路設計データ７の一部又は全部は、タイミング解析データ８に含まれるとしてもよい。これとは逆に、タイミング解析データ８の一部又は全部が回路設計データ７に含まれるとしてもよい。回路設計データ７とタイミング解析データ８とは、１つのデータとして管理されてもよい。換言すれば、回路設計データ７とタイミング解析データ８とは、自由に分離することができ、又は、組み合わせることができる。
【００３０】
受付部１２は、受付部９によって受け付けられた命令に応じて、記憶装置２に格納されている回路設計データ７とタイミング解析データ８とを受け付ける。なお、受付部１２は、回路設計データ７とタイミング解析データ８が生成される都度、生成された回路設計データ７とタイミング解析データ８を受け付けるとしてもよい。受付部１２によって回路設計データ７とタイミング解析データ８が受け付けられることにより、プロセッサ５で回路設計データ７とタイミング解析データ８とが使用可能な状態となる。
【００３１】
選択部１３は、読み出された回路設計データ７及びタイミング解析データ８と、受付部９によって受け付けられた命令とに基づいて、表示対象を選択する。
【００３２】
生成部１４は、選択部１３によって選択された表示対象に基づいて、タイミングパスに含まれている回路要素及び配線と、タイミングパスに含まれないがタイミングパスの形状に影響を与える回路要素及び配線とを含む表示データＤを生成し、表示データＤを表示装置４に送る。
【００３３】
表示部４は、生成部１４によって生成された表示データＤを表示する。
【００３４】
なお、選択部１３による表示対象の選択、及び、生成部１４によって生成される表示データＤの具体例については、図４乃至図１１を参照して説明する。
【００３５】
図２は、本実施形態に係る回路設計装置１による回路設計及びタイミング解析の一例を示すフローチャートである。
【００３６】
ステップＳ２０１において、受付部９は、回路設計命令を受け付ける。
【００３７】
ステップＳ２０２において、ＣＡＤ部１０は、回路設計命令に基づいて、回路設計データ７を生成する。
【００３８】
ステップＳ２０３において、ＣＡＤ部１０は、回路設計データ７を記憶装置２に格納する。
【００３９】
ステップＳ２０４において、受付部９は、タイミング解析命令を受け付ける。タイミング解析命令は、例えば、始点及び終点の回路要素の指定情報を含む。
【００４０】
ステップＳ２０５において、タイミング解析部１１は、始点及び終点の回路要素の指定情報に基づいて、タイミング解析データ８を生成する。
【００４１】
ステップＳ２０６において、タイミング解析部１１は、タイミング解析データ８を記憶装置２に格納する。
【００４２】
図３は、本実施形態に係る回路設計装置１による選択及び表示の一例を示すフローチャートである。
【００４３】
ステップＳ３０１において、受付部９は、タイミング解析結果の表示命令を受け付ける。タイミング解析結果の表示命令は、例えば、表示対象の選択の指定情報などを含む。
【００４４】
ステップＳ３０２において、受付部１２は、タイミング解析結果の表示命令に基づいて、記憶装置２から、回路設計データ７及びタイミング解析データ８を受け付ける。
【００４５】
ステップＳ３０３において、選択部１３は、回路設計データ７及びタイミング解析データ８と、タイミング解析結果の表示命令とに基づいて、表示対象の回路要素及び配線を選択する。
【００４６】
ステップＳ３０４において、生成部１４は、選択部１３によって選択された表示対象の回路要素及び配線を含む表示データＤを生成し、表示データＤを表示装置４に送る。表示装置４は、表示データＤを表示する。
【００４７】
ステップＳ３０５において、受付部９は、新たな条件でタイミング解析結果を表示する旨を示す新たなタイミング解析結果の表示命令、又は、終了命令を受け付ける。
【００４８】
ステップＳ３０６において、受付部９が新たなタイミング解析結果の表示命令を受け付けた場合、処理は、ステップＳ３０３に移り、受付部９が終了命令を受け付けた場合、処理は終了する。
【００４９】
以下で、選択部１３による表示対象の選択、及び、生成部１４によって生成される表示データＤの具体例について説明する。なお、以下の表示例は、自由に組み合わせ、又は、変形して適用可能である。
【００５０】
図４は、タイミングパスの表示例を示す図である。
【００５１】
タイミングパスＴＰ１は、始点の回路要素ｅ１、回路要素ｅ２〜ｅ４、終点の回路要素ｅ５を含む。
【００５２】
さらに、タイミングパスＴＰ１は、始点の回路要素ｅ１と回路要素ｅ２とを電気的に接続する配線ｐ１、回路要素ｅ２，ｅ３を電気的に接続する配線ｐ２、回路要素ｅ３，ｅ４を電気的に接続する配線ｐ３、回路要素ｅ４，ｅ５を電気的に接続する配線ｐ４を含む。
【００５３】
このタイミングパスＴＰ１は、始点の回路要素ｅ１と終点の回路要素ｅ５との間の経路が曲がっている遠回りパスである。遠回りパスは、例えばＵ字形状の部分を含む。タイミングパスＴＰ１は遠回りパスであるため、直線状のタイミングパスよりも長くなる。また、タイミングパスＴＰ１に含まれている配線ｐ１〜ｐ４の合計の長さは、直線状のタイミングパスに含まれる配線の合計の長さよりも長くなる。タイミングパスＴＰ１のみを表示した場合、ユーザは、タイミングパスＴＰ１が遠回りパスになった原因を理解しにくい。
【００５４】
図５は、本実施形態に係るタイミングパスの第１の表示例を示す図である。
【００５５】
選択部１３は、回路設計データ７とタイミング解析データ８とに基づいて、始点の回路要素ｅ１から終点の回路要素ｅ５までのタイミングパスＴＰ１と、タイミングパスＴＰ１に含まれる回路要素ｅ２〜ｅ４のうちのいずれかの回路要素ｅ４と電気的に接続されておりタイミングパスＴＰ１に含まれない回路要素ｅ６と、回路要素ｅ４と回路要素ｅ６とを電気的に接続する配線ｐ５とを、表示対象として選択する。
【００５６】
例えば、選択部１３は、受付部９によって受け付けられた表示命令に基づいて、タイミングパスＴＰ１に含まれる回路要素ｅ２〜ｅ４ごとに、始点の回路要素ｅ１からの距離ａと終点の回路要素ｅ５からの距離ｂとの合計値を算出する。そして、選択部１３は、算出された合計値が最も大きい回路要素ｅ４を選択し、この回路要素ｅ４と電気的に接続される回路要素ｅ６を、表示対象として選択するとしてもよい。
【００５７】
例えば、選択部１３は、回路要素ｅ４と電気的に接続されておりタイミングパスＴＰ１に含まれない回路要素ｅ６がフリップフロップ回路又は組み合わせ回路の場合に、回路要素ｅ６及び配線ｐ５を表示対象として選択するとしてもよい。
【００５８】
生成部１４は、タイミングパスＴＰ１に加えて、表示対象の回路要素ｅ６と、表示対象の配線ｐ５とを含む表示データＤを生成し、表示データＤを表示装置４に送る。
【００５９】
例えば、生成部１４は、タイミングパスＴＰ１が遠回りパスになった原因を調査することを示す表示命令に基づいて、回路要素ｅ６と配線ｐ５とを含む表示データＤを生成し、非表示命令に基づいて、回路要素ｅ６と配線ｐ５とを含まない表示データを生成する。
【００６０】
図６は、本実施形態に係るタイミングパスの第２の表示例を示す図である。
【００６１】
選択部１３は、受付部９によって受け付けられた表示命令に基づいて、タイミングパスＴＰ１に含まれる回路要素ｅ４と電気的に接続されており、タイミングパスＴＰ１に含まれず、フリップフロップ回路又は組み合わせ回路である回路要素ｅ６を選択する。また、選択部１３は、回路要素ｅ４と回路要素ｅ６との間に電気的に接続されており、フリップフロップ回路又は組み合わせ回路ではない回路要素ｅ７を選択する。そして、選択部１３は、回路要素ｅ４と回路要素ｅ７との間の配線ｐ５１、回路要素ｅ６と回路要素ｅ７との間の配線ｐ５２を選択する。
【００６２】
生成部１４は、タイミングパスＴＰ１に加えて、表示対象の回路要素ｅ６，ｅ７と表示対象の配線ｐ５１，ｐ５２とを含む表示データＤを生成し、表示データＤを表示装置４に送る。
【００６３】
図７は、本実施形態に係るタイミングパスの第３の表示例を示す図である。
【００６４】
受付部９は、タイミングパスＴＰ１に含まれており始点の回路要素ｅ１と終点の回路要素ｅ５との間に電気的に接続されている全ての回路要素ｅ２〜ｅ４に対する接続関係の表示命令を受け付ける。
【００６５】
すると、選択部１３は、タイミングパスＴＰ１に含まれる回路要素ｅ２〜ｅ４と電気的に接続されておりタイミングパスＴＰ１に含まれない回路要素ｅ６，ｅ８，ｅ９と、回路要素ｅ６，ｅ８，ｅ９と回路要素ｅ４，ｅ３，ｅ２とを電気的に接続する配線ｐ５，ｐ６，ｐ７とを選択する。
【００６６】
生成部１４は、タイミングパスＴＰ１に加えて、回路要素ｅ６，ｅ８，ｅ９と配線ｐ５，ｐ６，ｐ７とを含む表示データＤを生成し、表示データＤを表示装置４に送る。
【００６７】
図８は、本実施形態に係るタイミングパスの第４の表示例を示す図である。
【００６８】
受付部９は、タイミングパスＴＰ１に含まれている回路要素ｅ２〜ｅ４に対する個数の指定情報（図８では、個数として２が指定されているとする）を含む命令を、入力装置３から受け付ける。
【００６９】
すると、選択部１３は、タイミングパスＴＰ１に含まれる複数の回路要素ｅ２〜ｅ４ごとに、始点の回路要素ｅ１からの距離ａと終点の回路要素ｅ５からの距離ｂとの合計値を算出する。
【００７０】
次に、選択部１３は、算出された合計値が大きい順に、指定された個数分のタイミングパスＴＰ１の回路要素ｅ４，ｅ３を選択する。
【００７１】
そして、選択部１３は、指定された個数分の回路要素ｅ４，ｅ３と電気的に接続されておりタイミングパスＴＰ１に含まれない回路要素ｅ６，ｅ８と、回路要素ｅ６，ｅ８と回路要素ｅ４，ｅ３とを電気的に接続する配線ｐ５，ｐ６とを選択する。
【００７２】
生成部１４は、タイミングパスＴＰ１に加えて、回路要素ｅ６，ｅ８と配線ｐ５，ｐ６とを含む表示データＤを生成し、表示データＤを表示装置４に送る。
【００７３】
これにより、タイミングパスＴＰ１のうち始点の回路要素ｅ１と終点の回路要素ｅ５から最も遠くに離れている回路要素ｅ４とタイミングパスＴＰ１に含まれていない回路要素ｅ６との接続関係、２番目に遠くに離れている回路要素ｅ３とタイミングパスＴＰ１に含まれていない回路要素ｅ８との接続関係を、ユーザは調査し、理解することができる。
【００７４】
図９は、本実施形態に係るタイミングパスの第５の表示例を示す図である。
【００７５】
選択部１３は、受付部９によって受け付けられた表示命令に基づいて、始点の回路要素ｅ１から回路要素ｅ６へのディレイ１５及びスラック１６と、回路要素ｅ６から終点の回路要素ｅ５へのディレイ１７及びスラック１８をさらに表示対象として選択する。
【００７６】
生成部１４は、選択されたディレイ１５，１７及びスラック１６，１８と回路要素ｅ６とを対応付けた表示データＤを生成し、表示データＤを表示装置４に送る。例えば、生成部１４は、スラック１６，１８の値に応じて、配線ｐ５の色、太さ、線の種別を切り替えて表示データＤを生成してもよい。
【００７７】
図１０は、本実施形態に係るタイミングパスの第６の表示例を示す図である。
【００７８】
受付部９は、タイミングパスＴＰ１に含まれていない回路要素を表示する段数の指定情報（図１０では段数２が指定されているとする）を含む命令を受け付ける。ここで、段数とは、直列に接続されている回路要素の数とする。
【００７９】
選択部１３は、段数の指定情報に基づいて、タイミングパスＴＰ１に含まれている回路要素ｅ４と電気的に接続されており、タイミングパスＴＰ１に含まれていない指定された段数分の回路要素ｅ６及び回路要素ｅ１０（第３の回路要素）を選択する。
【００８０】
また、選択部１３は、回路要素ｅ６，ｅ１０を電気的に接続する配線（第３の配線）ｐ８を選択する。
【００８１】
表示部１４は、タイミングパスＴＰ１に加えて、回路要素ｅ６，ｅ１０と配線ｐ５，ｐ８とを含む表示データＤを生成し、表示データＤを表示装置４に送る。
【００８２】
なお、選択部１３は、段数の指定情報がない場合には、例えば、上記の図５，７〜９に示されるように、段数を１として表示対象を選択するとしてもよい。
【００８３】
図１１は、本実施形態に係るタイミングパスの第７の表示例を示す図である。
【００８４】
選択部１３は、受付部９によって受け付けられた表示命令に基づいて、表示対象として選択された回路要素ｅ１〜ｅ６のうち表示命令で指定された回路要素（図１１では回路要素ｅ４とする）のファンアウト１９とインスタンス名２０とをさらに選択する。
【００８５】
生成部１４は、指定された回路要素ｅ４とファンアウト１９及びインスタンス名２０とを対応付けた表示データＤを生成し、表示データＤを表示装置４に送る。表示装置４は、指定された回路要素ｅ４とファンアウト１９及びインスタンス名２０とを対応付けて表示する。
【００８６】
以上説明した本実施形態においては、遠回り部分を含むタイミングパスＴＰ１とともに、このタイミングパスＴＰ１に含まれている回路要素ｅ２〜ｅ４のいずれかと電気的に接続されておりタイミングパスＴＰ１に含まれていない回路要素ｅ６〜ｅ１０を表示することができる。
【００８７】
本実施形態においては、タイミングパスＴＰ１に含まれていないフリップフロップ回路又は組み合わせ回路を選択して表示することができる。
【００８８】
本実施形態においては、表示命令にしたがって、タイミングパスＴＰ１に含まれている回路要素ｅ４と電気的に接続されており、タイミングパスＴＰ１に含まれておらず、フリップフロップ回路又は組み合わせ回路である回路要素ｅ６と、回路要素ｅ４，ｅ６の間に電気的に接続されるフリップフロップ回路又は組み合わせ回路ではない回路要素ｅ７とを表示することができる。
【００８９】
ユーザは、上記のような表示を参照し、タイミングパスＴＰ１が遠回りパスになった原因を容易に調査し、理解することができる。
【００９０】
本実施形態においては、表示命令又は非表示命令にしたがって、タイミングパスＴＰ１に含まれていない回路要素ｅ６〜ｅ１０の表示又は非表示を切り替えることができる。
【００９１】
これにより、表示される回路要素ｅ６〜ｅ１０が多すぎて、タイミングパスＴＰ１が遠回りパスになった原因をユーザが理解することが困難になることを防止することができる。
【００９２】
本実施形態においては、タイミングパスＴＰ１に含まれており始点及び終点の回路要素ｅ１，ｅ５から離れている指定された個数分（１又は複数、ここでは２つとする）の回路要素ｅ４，ｅ３を選択し、この選択された回路要素ｅ４，ｅ３と電気的に接続されておりタイミングパスＴＰ１に含まれていない回路要素ｅ６，ｅ８を、表示することができる。
【００９３】
これにより、ユーザは、始点及び終点の回路要素ｅ１，ｅ５からの距離の順に応じて、タイミングパスＴＰ１外の表示される回路要素ｅ６，ｅ８の数を制限することができる。ユーザは、適切な数のタイミングパスＴＰ１外の回路要素ｅ６，ｅ８を参照し、タイミングパスＴＰ１が遠回りパスになった原因を調査することができる。
【００９４】
本実施形態においては、タイミングパスＴＰ１に含まれていない回路要素ｅ６に対する始点の回路要素ｅ１からのディレイ１５及びスラック１６と、回路要素ｅ６に対する終点の回路要素ｅ５へのディレイ１７及びスラック１８を表示することができる。また、本実施形態においては、スラック１６，１８の値に応じて、配線ｐ５の色、太さ、線の種別を切り替えることができる。
【００９５】
これにより、ユーザは、ディレイ１５，１７及びスラック１６，１８を参考にしながら、スラックタイミングパスＴＰ１が遠回りパスになった原因を調査することができる。
【００９６】
本実施形態においては、段数の指定情報にしたがって、タイミングパスＴＰ１に含まれている回路要素ｅ４と電気的に接続されておりタイミングパスＴＰ１に含まれていない指定された段数分の回路要素ｅ６，ｅ１０を表示させることができる。
【００９７】
これにより、ユーザは、第１段の回路要素ｅ６のみではなく、さらにその先の第２段の回路要素ｅ１０を確認することができる。
【００９８】
本実施形態においては、指定された回路要素ｅ４のファンアウト１９、インスタンス名２０を表示することができる。
【００９９】
これにより、ユーザは、表示されている回路要素ｅ４のファンアウト１９、インスタンス名２０を自由に確認することができる。
【０１００】
本実施形態において、ユーザはメニュー画面にそって表示命令を入力する。回路設計装置１は、ユーザの表示命令に応じて、自由に上記の表示状態を切り替え、又は、組み合わせて表示することができる。
【０１０１】
図１２は、遠回り部分を含むタイミングパスを備えた回路の具体例を示すブロック図である。
【０１０２】
回路２１は、長方形状の基板２２に形成される。回路２１は、データバス２３、レジスタ２５１，２５５，２６１，２６５、組み合わせ回路２５２〜２５４，２６２〜２６４，２４Ａ，２４Ｂを含む。
【０１０３】
データバス２３は、基板２２の平面の中央部に配置されている。組み合わせ回路２４Ａ，２４Ｂは、基板２２の平面の両短辺側に配置されている。
【０１０４】
レジスタ２５１、組み合わせ回路２５２〜２５４、レジスタ２５５は、弧状に曲がった形状に連結されている。レジスタ２５１，２５５は、データバス２３と電気的に接続されている。組み合わせ回路２５３は、組み合わせ回路２４Ａと電気的に接続されている。
【０１０５】
レジスタ２６１、組み合わせ回路２６２〜２６４、レジスタ２６５は、弧状に曲がった形状に連結されている。レジスタ２６１，２６５は、データバス２３と電気的に接続されている。組み合わせ回路２６３は、組み合わせ回路２４Ｂと電気的に接続されている。
【０１０６】
ここで、ユーザは、レジスタ２５１を始点の回路要素として指定し、レジスタ２５５を終点の回路要素として指定した命令を入力装置３によって入力したとする。
【０１０７】
すると、回路設計装置１は、レジスタ２５１〜２５５を含むタイミングパスＴＰ２と、タイミングパスＴＰ２に含まれており始点及び終点のレジスタ２５１，２５５から最も離れているレジスタ２５３と電気的に接続されている組み合わせ回路２４Ａとを、表示する。
【０１０８】
これにより、ユーザは、組み合わせ回路２４Ａの位置が原因でタイミングパスＴＰ２が遠回りパスになったことを容易に理解することができる。
【０１０９】
以上説明したように、本実施形態に係る回路設計装置１は、設計されている回路の回路要素が多い場合であっても、ユーザによる電子回路のレイアウト設計作業を効果的に支援することができ、ユーザの作業時間を短縮化することができる。
【０１１０】
なお、本実施形態において、組み合わせ回路２５２〜２５４，２６２〜２６４はバッファ回路でもよい。
【０１１１】
本実施形態において、ファンアウトとともに、又は、ファンアウトに代えて、ファンインを表示するとしてもよい。
【０１１２】
［第２の実施形態］
本実施形態においては、上記第１の実施形態の変形例について説明する。本実施形態は、タイミングパスに含まれている回路要素と始点及び終点の回路要素との間の距離の算出方法が、上記第１の実施形態と異なる。
【０１１３】
図１３は、本実施形態に係るタイミングパスの一例を示す図である。
【０１１４】
タイミングパスＴＰ３は、始点の回路要素ｅ２１、回路要素ｅ２２〜ｅ２７、終点の回路要素ｅ２８を含む。また、タイミングパスＴＰ３は、始点の回路要素ｅ２１と回路要素ｅ２２とを電気的に接続する配線ｐ２１、回路要素ｅ２２，ｅ２３を電気的に接続する配線ｐ２２、回路要素ｅ２３，ｅ２４を電気的に接続する配線ｐ２３、回路要素ｅ２４，ｅ２５を電気的に接続する配線ｐ２４、回路要素ｅ２５，ｅ２６を電気的に接続する配線ｐ２５、回路要素ｅ２６，ｅ２７を電気的に接続する配線ｐ２６、回路要素ｅ２７と終点の回路要素ｅ２８とを電気的に接続する配線ｐ２７を含む。
【０１１５】
本実施形態において、選択部１３は、タイミングパスＴＰ３の回路要素ｅ２２〜ｅ２７ごとに、始点の回路要素ｅ２１からタイミングパスＴＰ３にそって各回路要素ｅ２２〜ｅ２７に到達するまでに通過する回路要素の間の距離の合計（第１の合計）を算出する。
【０１１６】
また、選択部１３は、回路要素ｅ２２〜ｅ２７ごとに、各回路要素ｅ２２〜ｅ２７からタイミングパスＴＰ３にそって終点の回路要素ｅ２８に到達するまでに通過する回路要素の間の距離の合計（第２の合計）を算出する。
【０１１７】
選択部１３は、回路要素ｅ２２〜ｅ２７ごとに、第１の合計と第２の合計との差の絶対値を算出する。
【０１１８】
そして、選択部１３は、第１の合計と第２の合計との差の絶対値が最も小さい回路要素を、始点及び終点の回路要素ｅ２１，ｅ２８から最も離れた回路要素でありタイミングパスＴＰ３に含まれていない回路要素との接続関係を表示する回路要素として選択する。
【０１１９】
例えば、回路要素ｅ２４の第１の合計は、始点の回路要素ｅ２１と回路要素ｅ２２との間の距離、回路要素ｅ２２，ｅ２３の間の距離、回路要素ｅ２３，ｅ２４の間の距離の合計である。
【０１２０】
例えば、回路要素ｅ２４の第２の合計は、回路要素ｅ２４，ｅ２５の間の距離、回路要素ｅ２５，ｅ２６の間の距離、回路要素ｅ２６，ｅ２７の間の距離、回路要素ｅ２７，ｅ２８の間の距離の合計である。
【０１２１】
他の回路要素ｅ２２，ｅ２３，ｅ２５〜ｅ２７のそれぞれについても、同様に、第１及び第２の合計、第１の合計と第２の合計との差の絶対値が算出される。
【０１２２】
選択部１３は、第１の合計と第２の合計とが最も近い回路要素を、始点及び終点の回路要素ｅ２１，ｅ２８から最も離れた回路要素として選択する。そして、選択部１３は、始点及び終点の回路要素ｅ２１，ｅ２８から最も離れた回路要素と電気的に接続されておりタイミングパスＴＰ３に含まれていない回路要素を表示対象として選択する。
【０１２３】
以上説明した本実施形態においては、上記第１の実施形態とは異なる基準によって、タイミングパスＴＰ３が遠回りパスになった原因となる回路要素を表示することができる。これにより、ユーザは、タイミングパスＴＰ３が遠回りパスになった原因を調査し、理解することができる。
【０１２４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２５】
１…回路設計装置、２…記憶装置、３…入力装置、４…表示装置、５…プロセッサ、６…回路設計プログラム、７…回路設計データ、８…タイミング解析データ、９，１２…受付部、１０…ＣＡＤ部、１１…タイミング解析部、１３…選択部、１４…生成部、Ｄ…表示データ、ＴＰ１〜ＴＰ３…タイミングパス、ｅ１，ｅ２１…始点の回路要素、ｅ２〜ｅ４，ｅ６〜ｅ１０，ｅ２２〜ｅ２７…回路要素、ｅ５，ｅ２８…終点の回路要素、ｐ１〜ｐ８，ｐ５１，ｐ５２，ｐ２１〜ｐ２７…配線、１５，１７…ディレイ、１６，１８…スラック、１９…ファンアウト、２０…インスタンス名、２１…回路、２２…基板、２３…データバス、２４Ａ，２４Ｂ，２５２〜２５４，２６２〜２６４…組み合わせ回路、２５１，２５５，２６１，２６５…レジスタ。
【図１】
2019016382.tif 000003
【図２】
2019016382.tif 000004
【図３】
2019016382.tif 000005
【図４】
2019016382.tif 000006
【図５】
2019016382.tif 000007
【図６】
2019016382.tif 000008
【図７】
2019016382.tif 000009
【図８】
2019016382.tif 000010
【図９】
2019016382.tif 000011
【図１０】
2019016382.tif 000012
【図１１】
2019016382.tif 000013
【図１２】
2019016382.tif 000014
【図１３】
2019016382.tif 000015