(57)【要約】【課題】クロック配線による配線混雑を低減し、クロックスキューを容易に揃えることができる回路設計支援装置を提供する。【解決手段】素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部２１と、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部２４と、前記回路設計情報に基づき前記素子配置領域に前記素子を配置する配置部１１ａと、配置部１１ａにより配置された前記素子のうち前記記憶素子を前記配置指示情報に基づき前記記憶素子配置場所に再配置する再配置部１１ｂと、前記記憶素子へのクロック配線及び前記素子間の配線を行う配線部１２と、を備える。【選択図】図１
2008158657.tif 000002
【特許請求の範囲】
【請求項１】
素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部と、
前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部と、
前記回路設計情報に基づき前記素子配置領域に前記素子を配置する配置部と、
前記配置部により配置された前記素子のうち前記記憶素子を前記配置指示情報に基づき前記記憶素子配置場所に再配置する再配置部と、
前記記憶素子へのクロック配線及び前記素子間の配線を行う配線部と、
を備えることを特徴とする回路設計支援装置。
【請求項２】
前記素子配置領域内には少なくとも２つの前記記憶素子配置場所が予め定められ、前記再配置部は前記記憶素子を前記配置部により配置された場所から最も近い前記記憶素子配置場所に再配置することを特徴とする請求項１記載の回路設計支援装置。
【請求項３】
素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部と、
前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部と、
前記配置指示情報に基づく前記記憶素子配置場所へのダミー記憶素子の配置と、前記回路設計情報に基づく前記素子配置領域への素子配置と、を行う配置部と、
前記ダミー記憶素子へのクロック配線を行う配線部と、
所定のタイミング制約を満たすように前記クロック配線にクロックバッファの挿入を行うクロックツリー合成部と、
前記配置部により配置された前記記憶素子を前記ダミー記憶素子と入れ替えて、入れ替えたダミー記憶素子を削除する記憶素子入れ替え部と、
を備えることを特徴とする回路設計支援装置。
【請求項４】
素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部、配置部、再配置部及び配線部を有する回路設計支援装置を用いた回路設計方法であって、
前記配置部が、前記回路設計情報に基づき前記素子配置領域に前記素子を配置するステップと、
前記再配置部が、前記配置部により配置された前記記憶素子を前記配置指示情報に基づき前記記憶素子配置場所に再配置するステップと、
前記配線部が、前記素子間の配線及び前記記憶素子へのクロック配線を行うステップと、
を備えることを特徴とする回路設計方法。
【請求項５】
素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部、配置部、クロックツリー合成部、記憶素子入れ替え部及び配線部を有する回路設計支援装置を用いた回路設計方法であって、
前記配置部が、前記配置指示情報に基づく前記記憶素子配置場所へのダミー記憶素子の配置を行うステップと、
前記配線部が、前記ダミー記憶素子へのクロック配線を行うステップと、
前記クロックツリー合成部が、所定のタイミング制約を満たすように前記クロック配線にクロックバッファの挿入を行うステップと、
前記配線部が、前記回路設計情報に基づいて前記素子配置領域への前記素子の配置を行うステップと、
前記記憶素子入れ替え部が、前記配置部により配置された前記記憶素子を前記ダミー記憶素子と入れ替えて、入れ替えたダミー記憶素子を削除するステップと、
前記配線部が前記素子間の配線を行うステップと、
を備えることを特徴とする回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計支援装置及び回路設計方法に関するものである。
【背景技術】
【０００２】
従来、回路設計において自動配置配線ツールを使用した論理回路の配置配線（Ｐｌａｃｅ＆Ｒｏｕｔｅ：Ｐ＆Ｒ）が行われており（例えば特許文献１参照）、その際、フリップフロップやラッチ等の記憶素子へのクロック供給のためのクロック配線が配線混雑を招いていた。また、記憶素子に与えられるクロックはクロックスキューを揃える必要があり、記憶素子が回路上に点在するとクロックスキューが大きくばらつき、タイミングクローズが困難になるという問題を有していた。
【特許文献１】特開２００５−２５８６５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明はクロック配線による配線混雑を低減し、クロックスキューを容易に揃えることができる回路設計支援装置及び回路設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の一態様による回路設計支援装置は、素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部と、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部と、前記回路設計情報に基づき前記素子配置領域に前記素子を配置する配置部と、前記配置部により配置された前記素子のうち前記記憶素子を前記配置指示情報に基づき前記記憶素子配置場所に再配置する再配置部と、前記記憶素子へのクロック配線及び前記素子間の配線を行う配線部と、を備えるものである。
【０００５】
また、本発明の一態様による回路設計支援装置は、素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部と、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部と、前記配置指示情報に基づく前記記憶素子配置場所へのダミー記憶素子の配置と、前記回路設計情報に基づく前記素子配置領域への素子配置と、を行う配置部と、前記ダミー記憶素子へのクロック配線を行う配線部と、所定のタイミング制約を満たすように前記クロック配線にクロックバッファの挿入を行うクロックツリー合成部と、前記配置部により配置された前記記憶素子を前記ダミー記憶素子と入れ替えて、入れ替えたダミー記憶素子を削除する記憶素子入れ替え部と、を備えるものである。
【０００６】
本発明の一態様による回路設計方法は、素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部、配置部、再配置部及び配線部を有する回路設計支援装置を用いた回路設計方法であって、前記配置部が、前記回路設計情報に基づき前記素子配置領域に前記素子を配置するステップと、前記再配置部が、前記配置部により配置された前記記憶素子を前記配置指示情報に基づき前記記憶素子配置場所に再配置するステップと、前記配線部が、前記素子間の配線及び前記記憶素子へのクロック配線を行うステップと、を備えるものである。
【０００７】
また、本発明の一態様による回路設計方法は、素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部、前記素子を配置する素子配置領域内に予め定められた、前記素子に含まれる記憶素子を配置する少なくとも１つの記憶素子配置場所に関する配置指示情報を格納する配置指示情報格納部、配置部、クロックツリー合成部、記憶素子入れ替え部及び配線部を有する回路設計支援装置を用いた回路設計方法であって、前記配置部が、前記配置指示情報に基づく前記記憶素子配置場所へのダミー記憶素子の配置を行うステップと、前記配線部が、前記ダミー記憶素子へのクロック配線を行うステップと、前記クロックツリー合成部が、所定のタイミング制約を満たすように前記クロック配線にクロックバッファの挿入を行うステップと、前記配線部が、前記回路設計情報に基づいて前記素子配置領域への前記素子の配置を行うステップと、前記記憶素子入れ替え部が、前記配置部により配置された前記記憶素子を前記ダミー記憶素子と入れ替えて、入れ替えたダミー記憶素子を削除するステップと、前記配線部が前記素子間の配線を行うステップと、を備えるものである。
【発明の効果】
【０００８】
本発明によれば、クロック配線による配線混雑を低減し、クロックスキューを容易に揃えることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態による回路設計支援装置を図面に基づいて説明する。
【００１０】
（第１の実施形態）図１に本発明の第１の実施形態に係る回路設計支援装置の概略構成を示す。回路設計支援装置は演算装置１、記憶装置２及び制御装置３を備え、表示装置４及び入出力装置５に接続されている。演算装置１は自動配置部１１ａ、再配置部１１ｂ、配線部１２、タイミング解析部１３及び配線情報抽出部１４を有する。記憶装置２は回路情報格納部２１、チップ情報格納部２２、回路図データ格納部２３、配置指示情報格納部２４及びセル情報格納部２５を有する。
【００１１】
回路情報格納部２１には、図２（ａ）に示されるような、チップに配置される論理ゲートや記憶素子等の素子情報や各素子の接続情報（ネットリスト）等の回路設計情報が格納される。記憶素子は例えばフリップフロップやラッチである。チップ情報格納部２２には素子が配置されるチップのサイズ等の情報が格納される。回路図データ格納部２３には素子が配置されたチップ情報である回路図データが格納される。配置指示情報格納部２４には、図２（ｂ）に示されるような、チップ内の記憶素子が配置される場所に関する配置指示情報が格納される。記憶素子配置場所は配置される記憶素子のサイズや数などから定められ、１箇所又は複数箇所ある。記憶素子配置場所は入出力装置５を介してユーザにより指定することもできる。セル情報格納部２５には素子に対応付けられた属性値等が格納される。
【００１２】
配線情報抽出部１４は配線容量や配線長から遅延を算出する。タイミング解析部１３はこの遅延を用いて素子間の遅延情報を求める。自動配置部１１ａは回路設計情報、チップ情報、セル情報及び遅延情報に基づき素子の自動配置を行う。この自動配置は公知の自動配置配線ツールを用いて行うことができる。再配置部１１ｂは配置された素子がフリップフロップやラッチ等の記憶素子である場合、配置指示情報に基づき、図２（ｃ）に示すように、記憶素子を記憶素子配置場所に配置し直す。自動配置部１１ａは素子配置を行う際にセル情報格納部２５に含まれる属性値等の情報を取り出す。取り出される情報にはその素子の種類も含まれており、これにより配置された素子が記憶素子か否かを判断することが出来る。図２（ｄ）に示すように素子が配置された後、配線部１２は素子間の配線及びクロック配線を行う。クロックツリー合成部１５が所定のタイミング制約を満たすようにクロックバッファの挿入を行う。
【００１３】
論理ゲートや記憶素子が配置された回路図は表示装置４に表示される。また、ユーザからのタイミング制約等の指示入力は入出力装置５を介して制御装置３に取り込まれ、演算装置１で処理される。また、論理ゲートや記憶素子が配置された回路図データ等が入出力装置５を介して外部へ出力される。
【００１４】
本実施形態に係る回路設計支援装置によればクロックを必要とする記憶素子を特定の場所（記憶素子配置場所）に配置することで記憶素子が点在しないため、クロック配線の配線混雑を低減することができる。また、クロックスキューを揃えることが容易になり、タイミングクローズが容易となる。
【００１５】
自動配置部１１ａによる素子の自動配置の際に、記憶素子以外の素子が記憶素子配置場所に配置された場合、記憶素子配置場所と重ならないように再配置部１１ｂがその素子を移動するようにしてもよい。
【００１６】
本実施形態による回路設計方法を図３に示すフローを用いて説明する。
（ステップＳ１）自動配置部１１ａにより素子が自動配置される。
（ステップＳ２）自動配置された素子が記憶素子であるかどうかが判定される。記憶素子である場合はステップＳ３へ進み、記憶素子でない場合はステップＳ４へ進む。
（ステップＳ３）再配置部１１ｂにより記憶素子配置場所へ配置し直される。記憶素子配置場所が複数ある場合は、例えば自動配置された場所から最も近い記憶素子配置場所へ配置する。
（ステップＳ４）さらに配置する素子がある場合はステップＳ１へ戻り、ない場合はステップＳ５へ進む。
（ステップＳ５）配線部１２により配線処理が行われ、クロックツリー合成部１５によりタイミング制約を満たすようにクロックツリーが構成される。
【００１７】
本実施形態に係る回路設計方法によればクロックを必要とする記憶素子を特定の場所（記憶素子配置場所）に配置することで各記憶素子が点在しないため、クロック配線の配線混雑を低減することができる。また、クロックスキューを揃えることが容易になり、タイミングクローズが容易となる。
【００１８】
（第２の実施形態）図４に本発明の第２の実施形態に係る回路設計支援装置の概略構成を示す。回路設計支援装置は演算装置１、記憶装置２及び制御装置３を備え、表示装置４及び入力装置５に接続されている。演算装置１は自動配置部１１ａ、配線部１２、タイミング解析部１３、配線情報抽出部１４、クロックツリー合成部１５及び記憶素子入れ替え部１６を有する。記憶装置２は回路情報格納部２１、チップ情報格納部２２、回路図データ格納部２３、配置指示情報格納部２４及びセル情報格納部２５を有する。
【００１９】
回路情報格納部２１は、図５（ａ）に示されるような、チップに配置される論理ゲートや記憶素子等の素子情報や各素子の接続情報（ネットリスト）等の回路設計情報と、ダミー記憶素子情報とを格納する。ダミー記憶素子は素子情報に含まれる記憶素子と同等の記憶素子であり、例えばフリップフロップである。チップ情報格納部２２には素子が配置されるチップのサイズ等の情報が格納される。回路図データ格納部２３にはダミー記憶素子の配置及びクロック配線が行われた回路図データと、素子配置及び配線が行われた回路図データが格納される。配置指示情報格納部２４には、図５（ｂ）に示されるような、チップ内の記憶素子を配置する場所に関する配置指示情報が格納される。記憶素子配置場所は配置される記憶素子のサイズや数などから定められ、１箇所又は複数箇所ある。セル情報格納部２５には素子に対応付けられた属性値等が格納されている。
【００２０】
自動配置部１１ａはダミー記憶素子情報、チップ情報及び配置指示情報に基づきダミー記憶素子の自動配置を行う。実際に配置される記憶素子の数と同数のダミー記憶素子が記憶素子配置場所に配置される。配線部１２及びクロックツリー合成部１５によりクロック配線、クロックバッファ等の挿入が行われ、図５（ｃ）に示されるような、タイミング制約を満たすクロックがダミー記憶素子に与えられるようなクロックツリーが構成される。
【００２１】
配線情報抽出部１４は配線容量や配線長から遅延を算出する。タイミング解析部１３はこの遅延を用いて素子間の遅延情報を求める。自動配置部１１ａは、クロックツリー構成後に、回路設計情報、チップ情報、セル情報及び遅延情報に基づき素子の自動配置を行う。自動配置された素子が記憶素子の場合、図５（ｄ）に示すように、記憶素子入れ替え部１６がこの記憶素子と既に配置されているダミー記憶素子のうちの１つとを入れ替える。入れ替えるダミー記憶素子は例えば記憶素子が自動配置された場所から一番近いダミー記憶素子にする。入れ替えられたダミー記憶素子は回路図中から削除される。これにより図５（ｅ）に示すように、記憶素子配置場所にクロック配線済みの記憶素子が配置される。配線部１２は配置された各素子間の配線を行う。
【００２２】
本実施形態に係る回路設計支援装置によればクロックを必要とする記憶素子を特定の場所（記憶素子配置場所）に配置することで各記憶素子が点在しないため、クロック配線の配線混雑を低減することができる。また、論理ゲート等の素子が配置される前にダミー記憶素子を用いてクロックツリーを完成させるため、クロックスキューを揃えることがさらに容易になり、タイミングクローズがさらに容易となる。
【００２３】
本実施形態による回路設計方法を図６に示すフローを用いて説明する。
（ステップＳ１１）自動配置部１１ａによりダミー記憶素子が記憶素子配置場所に自動配置される。
（ステップＳ１２）配線部１２及びクロックツリー合成部１５により、自動配置されたダミー記憶素子のクロック配線が行われ、タイミング制約を満たすクロックツリーが構成される。
（ステップＳ１３）自動配置部１１ａにより素子が自動配置される。
（ステップＳ１４）自動配置された素子が記憶素子かどうかが判定される。記憶素子の場合はステップＳ１５へ進み、記憶素子でない場合はステップＳ１６へ進む。
（ステップＳ１５）記憶素子入れ替え部１６により自動配置された記憶素子とダミー記憶素子とが入れ替えられ、ダミー記憶素子は削除される。入れ替えるダミー記憶素子は例えば記憶素子が自動配置された場所から一番近いダミー記憶素子とする。
（ステップＳ１６）さらに配置する素子がある場合はステップＳ１３に戻り、ない場合はステップＳ１７へ進む。
（ステップＳ１７）配線部１２により配置された素子間の配線処理が行われる。
【００２４】
本実施形態に係る回路設計方法によればクロックを必要とする記憶素子を特定の場所（記憶素子配置場所）に配置することで各記憶素子が点在しないため、クロック配線の配線混雑を低減することができる。また、ダミー記憶素子を用いてクロックツリーを完成させた後にダミー記憶素子と記憶素子を入れ替えることでクロックスキューを揃えることがさらに容易になり、タイミングクローズがさらに容易となる。
【００２５】
上述した実施の形態はいずれも一例であって制限的なものではないと考えられるべきである。上記実施形態では記憶素子が自動配置される度に記憶素子配置場所へ配置し直していたが、すべての記憶素子の自動配置後にまとめて記憶素子配置場所へ配置し直すようにしてもよい。また、上記実施形態による回路設計方法をコンピュータで実行するための回路設計プログラムとしてコンピュータ読み取り可能な記録媒体に記録することもできる。本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態による回路設計支援装置の概略構成図である。
【図２】素子配置の一例を示す図である。
【図３】回路設計のフローチャートを示す図である。
【図４】本発明の第２の実施形態による回路設計支援装置の概略構成図である。
【図５】素子配置の一例を示す図である。
【図６】回路設計のフローチャートを示す図である。
【符号の説明】
【００２７】
１  演算装置
２  記憶装置
３  制御装置
４  表示装置
５  入出力装置
【図１】
2008158657.tif 000003
【図２】
2008158657.tif 000004
【図３】
2008158657.tif 000005
【図４】
2008158657.tif 000006
【図５】
2008158657.tif 000007
【図６】
2008158657.tif 000008