(57)【特許請求の範囲】
【請求項１】
１つの回路に含まれる複数の論理素子のうち出力が複数の論理素子に接続している論理素子の出力信号を切断点として分割して複数の分割回路を生成する第１の手段と、
前記回路に含まれ互いに接続された少なくとも２つの前記分割回路の組の中から遅延時間が最大のものを選び、選ばれた分割回路の組について各分割回路の個別制約値を求める第２の手段と、
前記第２の手段により制約値が求められた前記分割回路について対応する前記個別制約値に基づいて論理最適化を行う第３の手段と、
この第３の手段により最適化された分割回路と、前記第１の手段により生成され前記第２の手段により選ばれた分割回路の組に含まれない分割回路とを結合して1つの回路を生成する第４の手段とを含み、
前記複数の分割回路は第１および第２の分割回路を含み、
前記第１の分割回路は第１の遅延時間を有し、
前記第２の分割回路は前記第１の分割回路の出力端に接続されているとともに第２の遅延時間を有し、
前記第２の手段は前記第１および第２の遅延時間の比に基づいて前記回路の制約値を比例配分して前記第１および第２の分割回路の個別制約値を求めることを特徴とする回路設計装置。
【請求項２】
前記第１の手段により生成された複数の分割回路の各々が所定の規模の制約を満たしているか否かを識別する第５の手段をさらに含むことを特徴とする請求項１記載の回路設計装置。
【請求項３】
回路設計装置が、１つの回路に含まれる複数の論理素子のうち出力が複数の論理素子に接続している論理素子を抽出し格納手段に格納するステップと、
前記回路設計装置が、前記格納手段に格納された論理素子の出力信号を切断点として分割して複数の分割回路を生成するステップと、
前記回路設計装置が、前記回路に含まれ互いに接続された少なくとも２つの前記分割回路の組の中から遅延時間が最大のものを選択するステップと、
前記回路設計装置が、選択された分割回路の組について各分割回路の個別制約値を前記回路の制約値を用いて求めるステップと、
前記回路設計装置が、前記個別制約値が求められた前記分割回路について対応する前記個別制約値に基づいて論理最適化を行うステップと、
前記回路設計装置が、前記回路に含まれる前記分割回路のうち前記選択ステップにおいて選択された前記分割回路の組に含まれないものと、前記最適化ステップにおいて最適化された分割回路とを結合して1つの回路を生成するステップとを含み、
前記分割回路を生成するステップにおいて、第１の遅延時間を有する第１の分割回路と、この第１の分割回路の出力端に接続されているとともに第２の遅延時間を有する第２の分割回路とを生成し、
前記個別制約値を求めるステップにおいて、前記第１および第２の遅延時間の比を用いて前記回路の制約値を比例配分して前記第１および第２の分割回路の個別制約値を求めることを特徴とする回路設計方法。
【請求項４】
前記回路設計装置が、生成された複数の分割回路の各々が所定の規模の制約を満たしているか否かを識別するステップをさらに含むことを特徴とする請求項３記載の回路設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、回路設計装置および方法に関し、特に、回路の最適化処理を行う回路設計装置および方法に関する。
【０００２】
【従来の技術】
従来この種の回路設計装置および方法では、論理回路全体に対して論理最適化を行っていた（以下、第1の従来技術という）。また、他の従来の論理最適化方法では、論理回路全体を複数のサブブロックに人手で分割した後、各サブブロック毎に論理最適化していた（以下、第２の従来技術という）。
【０００３】
【発明が解決しようとする課題】
第1の従来技術では、多大な処理時間を要し、かつ、最適化処理を１つのプロセスでしか行えないという欠点がある。第１の従来技術は、回路を分割せずに最適化処理を行っていたためである。
【０００４】
第2の従来技術では、サブブロック分割に人手工数がかかり、かつ、各サブブロックの最適化に必要な目標値を別途作成しなければならない、という欠点がある。
そこで、本発明の目的は、回路を自動的に分割して分割回路を生成する回路設計装置および方法を提供することにある。
また、本発明の他の目的は、回路の最適化を高速に処理する回路設計装置および方法を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために本発明の回路設計装置は、１つの回路に含まれる複数の論理素子のうち出力が複数の論理素子に接続している論理素子の出力信号を切断点として分割して複数の分割回路を生成する第１の手段と、前記回路の制約値を用いて前記複数の分割回路の各々の個別制約値を求める第２の手段と、前記複数の分割回路の各々に対して対応する前記個別制約値に基づいて最適化を行う第３の手段と、この第３の手段により最適化された複数の分割回路を結合して1つの回路を生成する第４の手段とを含む。
【０００７】
さらに、本発明の他の回路設計装置は、前記第１の手段は、出力信号が複数の論理素子に接続している論理素子を抽出する抽出手段と、この抽出手段が抽出した論理素子の出力信号を切断点と決定する決定手段とを有することを特徴とする。
【０００８】
また、本発明の他の回路設計装置は、前記制約値は遅延制限時間であることを特徴とする。
【０００９】
さらに、本発明の他の回路設計装置は、前記第２の手段は、前記複数の分割回路の接続関係から対応する分割回路の個別制約値を求めることを特徴とする。
【００１０】
また、本発明の他の回路設計装置は、前記複数の分割回路は第１および第２の分割回路を含み、前記第１の分割回路は第１の遅延時間を有し、前記第２の分割回路は前記第１の分割回路の出力端に接続されているとともに第２の遅延時間を有し、前記第２の手段は前記第１および第２の遅延時間の比に基づいて前記第１および第２の分割回路の個別制約値を求めることを特徴とする。
【００１１】
さらに、本発明の他の回路設計装置は、前記第２の手段は前記第１および第２の遅延時間の比を用いて前記回路の制約値を比例配分して前記第１および第２の分割回路の個別制約値を求めることを特徴とする。
【００１２】
また、本発明の他の回路設計装置は、前記複数の分割回路は、第１の分割回路と、第２の分割回路と、前記第１および第２の分割回路の出力信号をそれぞれ入力する第３の分割回路と、前記第１および第２の分割回路の出力信号をそれぞれ入力する第４の分割回路とを含み、前記第１の分割回路と前記第３の分割回路との関係から当該第１および３の分割回路の個別制約値をそれぞれ求め、前記第２の分割回路と前記第３の分割回路との関係から当該第２よび３の分割回路の個別制約値をそれぞれ求め、記第１の分割回路と前記第４の分割回路との関係から当該第１および４の分割回路の個別制約値をそれぞれ求め、前記第２回路と前記第４の分割回路との関係から当該第２よび４の分割回路の個別制約値をそれぞれ求め、前記第１乃至第４の分割回路のそれぞれについて複数得られた前記個別制約値のうちから最も制約が厳しいものをその分割回路の個別制約値として生成することを特徴とする。
【００１３】
さらに、本発明の他の回路設計装置は、前記第１の手段により生成された複数の分割回路の各々が所定の規模の制約を満たしているか否かを識別する第５の手段をさらに含む。
【００１４】
本発明の回路設計装置は、１つの回路に含まれる複数の論理素子のうち出力が複数の論理素子に接続している論理素子の出力信号を切断点として分割して複数の分割回路を生成する第１の手段と、前記回路に含まれ互いに接続された少なくとも２つの前記分割回路の組の中から遅延時間が最大のものを選び、選ばれた分割回路の組について各分割回路の個別制約値を求める第２の手段と、前記第２の手段により制約値が求められた前記分割回路について対応する前記個別制約値に基づいて最適化を行う第３の手段と、この第３の手段により最適化された分割回路と、前記第１の手段により生成され前記第２の手段により選ばれた分割回路の組に含まれない分割回路とを結合して1つの回路を生成する第４の手段とを含む。
【００１５】
また、本発明の他の回路設計装置は、前記複数の分割回路は、第１の分割回路と、第２の分割回路と、前記第１および第２の分割回路の出力信号をそれぞれ入力する第３の分割回路と、前記第１および第２の分割回路の出力信号をそれぞれ入力する第４の分割回路とを含み、前記第２の手段は、前記第１および第３の分割回路からなる組を選択し、前記第１の分割回路と前記第３の分割回路との関係から当該第１および３の分割回路の個別制約値をそれぞれ求め、前記第３の手段は、前記第１および第３の分割回路の最適化を行い、前記第４の手段は、前記第３の手段により最適化された前記第１および第３の分割回路と、前記第２および第４の分割回路とを結合することを特徴とする。
【００１６】
本発明の回路設計方法は、回路設計装置が、１つの回路に含まれる複数の論理素子のうち出力が複数の論理素子に接続している論理素子を抽出し格納手段に格納するステップと、前記回路設計装置が、前記格納手段に格納された論理素子の出力信号を切断点として分割して複数の分割回路を生成するステップと、前記回路設計装置が、前記回路の制約値を用いて前記複数の分割回路の各々の個別制約値を求めるステップと、前記回路設計装置が、前記複数の分割回路の各々に対して対応する前記個別制約値に基づいて最適化を行うステップと、前記回路設計装置が、最適化された複数の分割回路を結合して1つの回路を生成するステップとを含む。
【００１９】
また、本発明の他の回路設計方法は、前記個別制約値を求めるステップにおいて、前記制約値および前記個別制約値として遅延制限時間を用いることを特徴とする。
【００２０】
また、本発明の他の回路設計方法は、前記個別制約値を求めるステップにおいて、前記複数の分割回路の接続関係から対応する分割回路の個別制約値を求めることを特徴とする。
【００２１】
また、本発明の他の回路設計方法は、前記分割回路を生成するステップにおいて、第１の遅延時間を有する第１の分割回路と、この第１の分割回路の出力端に接続されているとともに第２の遅延時間を有する第２の分割回路とを生成し、前記個別制約値を求めるステップにおいて、前記第１および第２の遅延時間の比に基づいて前記第１および第２の分割回路の個別制約値を求めることを特徴とする。
【００２２】
また、本発明の他の回路設計方法は、前記個別制約値を求めるステップにおいて、前記第１および第２の遅延時間の比を用いて前記回路の制約値を比例配分して前記第１および第２の分割回路の個別制約値を求めることを特徴とする。
【００２３】
また、本発明の他の回路設計方法は、前記分割回路を生成するステップにおいて、第１の分割回路と、第２の分割回路と、前記第１および第２の分割回路の出力信号をそれぞれ入力する第３の分割回路と、前記第１および第２の分割回路の出力信号をそれぞれ入力する第４の分割回路とを生成し、前記個別制約値を求めるステップにおいて、前記第１の分割回路と前記第３の分割回路との関係から当該第１および３の分割回路の個別制約値をそれぞれ求め、前記第２回路と前記第３の分割回路との関係から当該第２よび３の分割回路の個別制約値をそれぞれ求め、記第１の分割回路と前記第４の分割回路との関係から当該第１および４の分割回路の個別制約値をそれぞれ求め、前記第２回路と前記第４の分割回路との関係から当該第２よび４の分割回路の個別制約値をそれぞれ求め、前記第１乃至第４の分割回路のそれぞれについて複数得られた前記個別制約値のうちから最も制約が厳しいものをその分割回路の個別制約値として生成することを特徴とする。
【００２４】
また、本発明の他の回路設計方法は、生成された複数の分割回路の各々が所定の規模の制約を満たしているか否かを識別するステップをさらに含むことを特徴とする。
【００２５】
本発明の回路設計方法は、回路設計装置が、１つの回路に含まれる複数の論理素子のうち出力が複数の論理素子に接続している論理素子を抽出し格納手段に格納するステップと、回路設計装置が、前記格納手段に格納された論理素子の出力信号を切断点として分割して複数の分割回路を生成するステップと、回路設計装置が、前記回路に含まれ互いに接続された少なくとも２つの前記分割回路の組の中から遅延時間が最大のものを選択するステップと、回路設計装置が、選択された分割回路の組について各分割回路の個別制約値を前記回路の制約値を用いて求めるステップと、回路設計装置が、前記個別制約値が求められた前記分割回路について対応する前記個別制約値に基づいて最適化を行うステップと、回路設計装置が、前記回路に含まれる前記分割回路のうち前記選択ステップにおいて選択された前記分割回路の組に含まれないものと、前記最適化ステップにおいて最適化された分割回路とを結合して1つの回路を生成するステップとを含む。
【００２６】
【発明の実施の形態】
次に本発明の回路設計装置および方法の実施の形態について図面を参照して詳細に説明する。
【００２７】
図１を参照すると、本発明の回路設計装置は、論理回路格納手段１、最適化制約値格納手段２、分割回路規模格納手段３、複数出力素子抽出手段４、複数出力素子格納手段５、論理回路分割手段６、分割回路格納手段７、分割制約値生成手段８、分割制約値格納手段９、分割回路最適化手段１０、分割回路最適化結果格納手段１１、分割回路マージ手段１２および分割回路マージ結果格納手段１３を含む。
論理回路格納手段１は、回路図やハードウェア記述言語として表現され論理最適化の対象となる論理回路の回路情報を格納している。論理回路格納手段１には、例えば、図２に示されるような、論理素子１０１（遅延値５．０ナノ秒、規模１０）、１０２（遅延値５．０ナノ秒、規模１０）、１０３（遅延値１０ナノ秒、規模２０）および１０４（遅延値１０ナノ秒、規模２０）を有する論理回路１００が格納されている。論理回路１００では、論理素子１０１の出力信号が論理素子１０２と１０４とに入力され、規模とは、論理素子が占める面積である。論理素子１０３の出力信号が論理素子１０２と１０４とに入力された論理回路の情報が格納されている。
最適化制約値格納手段２は、論理回路格納手段１に格納されている論理回路に対して論理最適化処理を行うときに用いられる制約値を格納している。制約値は、例えば、遅延制限時間である。制約値は論理回路毎に決められている。本実施の形態では、最適化制約値格納手段２は論理回路１００の制約値として１０ナノ秒を格納している。
分割回路規模格納手段３は、分割後の回路の規模の最小制限値を格納している。規模の最小制限値は、分割されて生成された分割回路が所定の規模を満たしているか否かを判別するために用いられる。分割回路規模格納手段３には、例えば、規模１が格納されている。
複数出力素子抽出手段４は、論理回路格納手段１に格納されている論理回路の中から、出力信号が複数の他の論理素子に接続されている論理素子を選び、選び出された論理素子の回路情報を複数出力素子格納手段５に格納する。論理回路１００については、複数出力素子抽出手段４は、論理素子１０１および１０３をそれぞれ選ぶ。
複数出力素子格納手段５は複数出力素子抽出手段４により抽出された論理素子に関する情報を格納する。
論理回路分割手段６は、複数出力素子格納手段５が格納している論理素子の情報を得て当該論理素子の出力信号を切り口（切断点）として、論理回路格納手段１に格納されている論理回路を分割する。
論理回路分割手段６は、分割された回路の規模が所定の規模を超えていないか否かを分割回路規模格納手段３に格納された規模の最小制限値に基づいて判別する。論理回路分割手段６は、分割された回路の規模が所定の回路の規模以下ならば、切り口として使用した論理素子を切り口とすることをやめる。分割した回路が所定の規模を越えていれば、論理回路分割手段６は分割回路を分割回路格納手段７に格納する。
【００２８】
図３を参照すると、論理回路分割手段６は、複数出力素子格納手段５に格納されている論理素子１０１の出力信号を切り口として、論理回路格納手段１に格納されている論理回路１００を、論理素子１０１を持つ分割回路１１１、論理素子１０２を持つ分割回路１１２、論理素子１０３を持つ分割回路１１３および論理素子１０４を持つ分割回路１１４の４つの回路に分割する。論理回路分割手段６は、分割回路１１１、１０２、１０３および１０４の回路規模が分割回路規模格納手段３に格納されている回路規模の制限値１を満足するため、分割回路１１１、１０２、１０３および１０４を分割回路格納手段７に格納する。
【００２９】
分割制約値生成手段８は、図４に示されるように、分割された複数の分割回路の接続関係からそれぞれの分割回路に課される制約値を求める。具体的には、分割制約値生成手段８は、分割回路格納手段７に格納されているすべての分割回路のうち、互いに接続されている分割回路の遅延値の比をとり、この遅延値の比に応じて最適化制約値格納手段２に格納されている論理回路１００の始点から終点までの制約値からそれぞれの分割回路の制約値を生成し、分割制約値格納手段９に格納する。分割制約値生成手段８は、分割回路格納手段７に格納されている各分割回路の接続関係毎に遅延時間の比から、最適化制約値格納手段２に格納されている制約値１０ナノ秒を各分割回路に割り振り、割り振った遅延時間を各分割回路の制約値として分割制約値格納手段９に格納する。
【００３０】
分割回路最適化手段１０は、分割回路格納手段７に格納されている分割回路に対して、分割制約値格納手段９に格納されている分割回路の制約値を用いて複数の分割回路の論理最適化を並列に実行し、それぞれの最適化結果を分割回路最適化結果格納手段１１に格納する。各分割回路に対して行われる最適化の処理は従来行われている処理を適用することができる。
【００３１】
分割回路マージ手段１２は、分割回路最適化結果格納手段１１に格納されている複数の分割回路を１つの論理回路にマージし、マージした回路を分割回路マージ結果格納手段１３に格納する。分割回路マージ手段１２に格納された論理回路が最適化処理が完了したものである。
【００３２】
次に、本実施の形態の動作について詳細に説明する。
以下、本実施の形態では、図2に示される論理回路１００について説明する。
【００３３】
論理回路格納手段１は、論理回路１００の論理回路情報を格納している。
最適化制約値格納手段２には、論理回路格納手段１に格納されている論理回路１００に対して論理最適化を行う場合の遅延制限値”１０ナノ秒”が格納されている。分割回路規模格納手段３には、分割後の回路規模の最小制限値である”１０”が格納されている。
【００３４】
複数出力素子抽出手段４は、論理回路格納手段１に格納されている論理回路１００の回路情報を用いて、論理回路１００の中から、出力信号が複数の論理素子に接続している論理素子１０１および１０３を抽出し、複数出力素子格納手段５に格納する。
【００３５】
論理回路分割手段６は、複数出力素子抽出手段４により抽出され複数出力素子格納手段５に格納された論理素子１０１および１０３の出力信号を切り口として、論理回路格納手段１に格納されている論理回路１００を、図３に示すように、分割回路１１１、１０２、１０３および１０４に分割する。
【００３６】
分割された分割回路１１１、１１２、１１３および１１４それぞれの回路規模が分割回路規模格納手段３に格納されている回路規模１０以上であるため、論理回路分割手段６は、分割回路１１１、１１２、１１３および１１４を分割回路格納手段７に格納する。論理回路分割手段６は、論理回路１００を分割するとき、各分割回路で新たに発生したピン、分割回路１１１のＯ1、分割回路１１３のＯ２、分割回路１１２のＩ１１およびＩ１２および分割回路１１４のＩ２１およびＩ２２には、接続先のピン名情報を付加する。具体的には、分割回路１１１の出力端子Ｏ1にはピン名情報（分割回路１１２／Ｉ１１、分割回路１１４／Ｉ２１）が付加される。分割回路１１３の出力端子Ｏ２にはピン名情報（分割回路１１２／Ｉ１２、分割回路１１４／Ｉ２２）が付与される。分割回路１１２の入力端子Ｉ１１にはピン名情報（分割回路１１１／Ｏ１）が付加される。分割回路１１２の入力端子Ｉ１２にはピン名情報（分割回路１１３／Ｏ２）が付加される。分割回路１１４の入力端子Ｉ２１にはピン名情報（分割回路１１１／Ｏ１）が付加される。分割回路１１４の入力端子Ｉ２２にはピン名情報（分割回路１１３／Ｏ２）が付加される。
分割制約値生成手段８は、図４に示すように、分割回路格納手段７に格納されている各分割回路の接続関係(分割回路１１１−分割回路１１２)、(分割回路１１１−分割回路１１４)、(分割回路１１３−分割回路１１２)および(分割回路１１３−分割回路１１４)毎に遅延値の比を求める。具体的には、分割回路１１１と分割回路１１２との制約値の比は、分割回路１１１の遅延時間が５．０ナノ秒であり、分割回路１１２の遅延時間が５．０ナノ秒であるため、５．０ナノ秒：５．０ナノ秒、すなわち、１：１と得られる。分割回路１１１と分割回路１１４との制約値の比は、分割回路１１１の遅延時間が５．０ナノ秒であり、分割回路１１４の遅延時間１０ナノ秒であるため、５．０ナノ秒：１０ナノ秒、すなわち、１：２と得られる。分割回路１１３と分割回路１１２との比は、分割回路１１３の遅延時間が１０ナノ秒であり、分割回路１１２の遅延時間が５．０ナノ秒であるため、１０ナノ秒：５．０ナノ秒、すなわち、２：１と得られる。分割回路１１３と分割回路１１４との比は、分割回路１１３の遅延時間が１０ナノ秒であり、分割回路１１４の遅延時間が１０ナノ秒であるため、１０ナノ秒：１０ナノ秒、すなわち、１：１と求められる。
分割制約値生成手段８は、制約値の比に応じて最適化制約値格納手段２に格納されている制約値”１０ナノ秒”を各分割回路に分配する。（分割回路１１１−分割回路１１２）の接続関係からは分割回路１１１の制約値５．０ナノ秒および分割回路１１２の制約値５．０ナノ秒が得られる。(分割回路１１１−分割回路１１４)の接続関係からは分割回路１１１の制約値３．３ナノ秒および分割回路１１４の制約値６．７ナノ秒を得る。(分割回路１１３−分割回路１１２)の接続関係からは、分割回路１１３の制約値６．７ナノ秒および分割回路１１２の制約値３．３ナノ秒が得られる。(分割回路１１３−分割回路１１４)の接続関係から分割回路１１３の制約５．０ナノ秒および分割回路１１４の制約５．０ナノ秒が得られる。分割制約値生成手段８は、それぞれの分割回路について、複数得られた制約値のうち最も制約が厳しいものを選び、その分割回路の制約値として生成する。本実施の形態では、最も遅延時間が小さいものが選ばれる。分割制約値生成手段８は、分割回路１１１について制約値３．３ナノ秒を、分割回路１１２について制約値３．３ナノ秒を、分割回路１１３について制約値５．０ナノ秒を、分割回路１１４について制約値５．０ナノ秒をそれぞれ制約値として分割制約値格納手段９に格納する。
さらに具体的には、分割回路１１１に対する制約値は、分割回路１１１と分割回路１１２との関係からは５．０ナノ秒、分割回路１１１と分割回路１１４との関係からは３．３ナノ秒がそれぞれ得られるが、分割制約値生成手段８は分割回路１１１の制約値を３．３ナノ秒として生成する。分割制約値生成手段８は、分割回路１１２の制約値については、５．０ナノ秒および３．３ナノ秒のうちから３．３ナノ秒を選び、分割回路１１２の制約値として生成する。分割回路１１３の制約値は、分割回路１１３および１０２の関係および分割回路１１３および１０４の関係からそれぞれ６．７ナノ秒および５．０ナノ秒が得られるが、分割制約値生成手段８は５．０ナノ秒を選び分割回路１１３の制約値として生成する。分割制約値生成手段８は、分割回路１１４と分割回路１１１との関係から得られた６．７ナノ秒および分割回路１１４と分割回路１１３との関係から得られた５．０ナノ秒に基づいて、分割回路１１４の制約値として５．０ナノ秒を生成する。分割回路最適化手段１０は、分割回路格納手段７に格納されてい分割回路１１１、１１２、１１３および１１４に対して、分割制約値格納手段９に格納されている制約値(分割回路１１１＝３．３ナノ秒）、（分割回路１１２＝３．３ナノ秒）、（分割回路１１３＝５．０ナノ秒）および（分割回路１１４＝５．０ナノ秒)を使用して論理最適化を並列に実行し、図５に示すような分割回路１１１０、分割回路１１２０、分割回路１１３０、分割回路１１４０の最適化結果を分割回路最適化結果格納手段１１に格納する。
分割回路マージ手段１２は、分割回路最適化結果格納手段１１に格納されている分割回路１１１０の出力信号端子Ｏ１０、分割回路１１２０の入力信号端子Ｉ１１０およびＩ１２０、分割回路１１３０の出力信号端子Ｏ２０および分割回路１１４０の入力信号端子Ｉ２１０およびＩ２２０の情報を参照し、分割回路１１１０の出力信号端子Ｏ１０を分割回路１１２０の入力信号端子Ｉ１１０と分割回路１１４０の入力信号端子Ｉ２１０とに接続し、分割回路１１２０の出力信号端子Ｏ２０を分割回路１１３０の入力信号端子Ｉ１２０と分割回路１１４０の入力信号端子Ｉ２２０とに接続し１つの論理回路１０００を生成する。生成された論理回路１０００は図６に示される。分割回路マージ手段１２は、論理回路１０００を分割回路マージ結果格納手段１３に格納する。
以上のように、本実施の形態では、最適化対象の論理回路１００を、出力信号が複数の論理素子に接続している論理素子１０１および１０３の出力信号を切り口として論理回路１００を複数の分割回路１１１、１１２、１１３および１１４に分割し、分割した分割回路１１１、１１２、１１３および１１４それぞれに対して並列に論理最適化を行う。このため、論理回路の最適化を複数の最適化処理に自動分割できる。さらに、各最適化処理を並列に実行することにより回路全体の最適化処理を高速に行うことができるという効果も本発明にはある。
【００３７】
次に、本発明の第２の実施の形態について詳細に説明する。
図７を参照すると、第２の実施の形態の回路設計装置は、論理回路格納手段１、最適化制約値格納手段２、分割回路規模格納手段３、複数出力素子抽出手段４、複数出力素子格納手段５、論理回路分割手段６、分割回路格納手段７、分割制約値生成手段８０、分割制約値格納手段９、分割回路最適化手段１０、分割回路最適化結果格納手段１１、分割回路マージ手段１２および分割回路マージ結果格納手段１３を含む。論理回路格納手段１、最適化制約値格納手段２、分割回路規模格納手段３、複数出力素子抽出手段４、複数出力素子格納手段５、論理回路分割手段６、分割回路格納手段７は、図１のものと同様の構成である。
分割制約値生成手段８０は、論理回路格納手段１に格納されている論理回路に含まれる論理素子の中で最も遅延時間が大きい論理素子の接続の組合せを選び、この遅延時間が最大の組合せを構成する分割回路の遅延時間の比を求める。分割制約値生成手段８０は、求められた遅延時間の比に基づいて最適化制約値格納手段２に格納されている制約値を遅延時間が最大となる組合せを構成するそれぞれの分割回路に比例配分し、これらの分割回路の制約値を求める。具体的には、分割制約値生成手段８０は、分割回路の接続関係である、分割回路１１１−分割回路１１２、分割回路１１１−分割回路１１４、分割回路１１３-分割回路１１２および分割回路１１３-分割回路１１４の中から分割回路１１３−分割回路１１４の組合せを遅延時間が最大となる組合せとして選択する。分割制約値生成手段８０は、分割回路格納手段７に格納されている図３の分割回路(分割回路１１３−分割回路１１４)の遅延値の比(分割回路１１３：分割回路１１４＝１：１)を求める。分割制約値生成手段８０は、遅延時間の比に応じて最適化制約値格納手段２に格納されている制約値”１０ナノ秒”から分割回路１１３の制約５．０ナノ秒、分割回路１１４の制約５．０ナノ秒をそれぞれ生成し、分割制約値格納手段９に格納する。
分割回路最適化手段１０は、分割制約値格納手段９に格納されている制約値（分割回路１１３＝５．０ナノ秒）（分割回路１１４＝５．０ナノ秒)を使用して、分割回路格納手段７に格納されている分割回路分割回路１１３および分割回路１１４に対して論理最適化処理を並列に実行し、図８に示すような最適化後の分割回路１２３０および分割回路１２４０と、最適化をしていない分割回路分割回路１１１および分割回路１１２を最適化結果格納手段１１に格納する。
【００３８】
分割回路マージ手段１２は、分割回路最適化結果格納手段１１に格納されている分割回路１１１の出力信号端子Ｏ１、分割回路１１２の入力信号端子Ｉ１１およびＩ１２、分割回路１２３０の出力信号端子Ｏ２２および分割回路１２４０の入力信号端子Ｉ２２１およびＩ２２２の情報を参照し、分割回路１１１の出力信号端子Ｏ１を分割回路１１２の入力信号端子Ｉ１１と分割回路１２４０の入力信号端子Ｉ２２１とに接続し、分割回路１２３０の出力信号端子Ｏ２２を分割回路１１２の入力信号端子Ｉ１２と分割回路１２４０の入力信号端子Ｉ２２２とに接続し１つの論理回路１２０を生成する。生成された論理回路１１０は図９に示される。分割回路マージ手段１２は、論理回路１２０を分割回路マージ結果格納手段１３に格納する。
【００３９】
本実施の形態は、論理回路１００に含まれ互いに接続された少なくとも２つの分割回路の組の中から遅延時間が最大のものを選び、選ばれた分割回路の組、分割回路１２３０および１２４０について各分割回路の個別制約値を求める分割制約値生成手段８０を有する。本実施の形態では、分割制約値生成手段８０により制約値が求められた分割回路１２３０および１２４０についてのみ対応する個別制約値に基づいて最適化を行う。このため、本発明は最適化処理の対象となる分割回路の数を削減できる。さらに、処理時間を削減できるという効果も本発明にはある。
【００４０】
【発明の効果】
以上説明したように、本発明では、最適化対象の回路を、出力信号が複数の論理素子に接続している論理素子の出力信号を切り口として回路を複数の分割回路に分割し、分割した分割回路それぞれに対して並列に論理最適化を行う。このため、回路の最適化を複数の最適化処理に自動分割し、各最適化処理を並列に実行することにより回路全体の最適化処理を高速に行うことができる。
【００４１】
また、本発明では、回路に含まれ互いに接続された少なくとも２つの分割回路の組の中から遅延時間が最大のものを選び、選ばれた分割回路の組、分割回路について各分割回路の個別制約値を求める手段が設けられる。本発明では、この手段により制約値が求められた分割回路についてのみ対応する個別制約値に基づいて最適化を行う。このため、本発明は最適化処理の対象となる分割回路の数を削減できる。さらに、処理時間を削減できるという効果も本発明にはある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態を示すブロック図である。
【図２】論理回路１００を示す図である。
【図３】分割回路１１１、１１２、１１３および１１４を示す図である。
【図４】の動作を示す図である。
【図５】最適化された分割回路１１１０、１１２０、１１３０および１１４０を示す図である。
【図６】論理回路１０００を示す図である。
【図７】本発明の第２の実施の形態を示すブロック図である。
【図８】分割回路１１１、１１２、１２３および１２４を示す図である。
【図９】論理回路１０００を示す図である。
【符号の説明】
１  論理回路格納手段
２  最適化制約値格納手段
３  分割回路規模格納手段
４  複数出力素子抽出手段
５  複数出力素子格納手段
６  論理回路分割手段
７  分割回路格納手段
８  分割制約値生成手段
９  分割制約値格納手段
１０  分割回路最適化手段
１１  分割回路最適化結果格納手段
１２  分割回路マージ手段
１３  分割回路マージ結果格納手段
８０  分割制約値生成手段
【図１】
0003808272.tif 000002
【図２】
0003808272.tif 000003
【図３】
0003808272.tif 000004
【図４】
0003808272.tif 000005
【図５】
0003808272.tif 000006
【図６】
0003808272.tif 000007
【図７】
0003808272.tif 000008
【図８】
0003808272.tif 000009
【図９】
0003808272.tif 000010