(57)【要約】【課題】回路の内部構成を意識することなく、ＬＳＩの消費電力の低減化および面積削減を図ること。【解決手段】併合回路ＡＢでは、組み合わせ回路ＬＡ０〜ＬＡ２と組み合わせ回路ＬＢ０〜ＬＢ２とが排他的な動作をするように、選択回路２００〜２０２を挿入する。そして、選択回路２００〜２０２の出力先にＦＦ０〜ＦＦ２を接続する。併合回路ＡＢでは、選択信号Ｓ＝０のとき、組み合わせ回路ＬＡ０〜ＬＡ２が動作し、Ｓ＝１のとき、組み合わせ回路ＬＢ０〜ＬＢ２が動作する。このように、組み合わせ回路ＬＡ０〜ＬＡ２，ＬＢ０〜ＬＢ２とＦＦＡ０〜ＦＦＡ２，ＦＦＢ０〜ＦＦＢ２の接続関係さえ分かっていれば、その内部構成を意識する必要はない。【選択図】図１
2011028631.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力する入力手段、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段、
対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換する変換手段、
前記一方のパス情報および前記変換手段による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出する算出手段、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段、
として機能させることを特徴とする設計支援プログラム。
【請求項２】
前記生成手段は、
前記遺伝的アルゴリズムの交叉により、前記対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記第２の作成手段は、
前記遺伝的アルゴリズムの突然変異により、前記対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする請求項２に記載の設計支援プログラム。
【請求項４】
前記第２の作成手段は、
前記遺伝的アルゴリズムのエリート選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を作成することを特徴とする請求項２または３に記載の設計支援プログラム。
【請求項５】
前記第２の作成手段は、
前記遺伝的アルゴリズムのルーレット選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を作成することを特徴とする請求項２または３に記載の設計支援プログラム。
【請求項６】
コンピュータを、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、を入力する入力手段、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段、
対象となる共通化テーブル群内の共通化テーブルごとに、当該共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した仮併合回路の回路情報を生成する仮併合手段、
前記仮併合手段によって前記対象となる共通化テーブル群内の共通化テーブルごとに生成された前記仮併合回路の回路情報の論理合成結果を取得する仮取得手段、
前記仮取得手段によって取得された前記仮併合回路の回路情報ごとの論理合成結果から得られる前記仮併合回路に関する面積情報に基づいて、論理合成による論理圧縮度合いをあらわす評価値を、前記対象となる共通化テーブル群内の共通化テーブルごとに算出する算出手段、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段、
として機能させることを特徴とする設計支援プログラム。
【請求項７】
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力する入力手段と、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段と、
対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換する変換手段と、
前記一方のパス情報および前記変換手段による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出する算出手段と、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段と、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段と、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段と、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段と、
を備えることを特徴とする設計支援装置。
【請求項８】
コンピュータが、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力する入力工程と、
前記入力工程によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成工程と、
対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換する変換工程と、
前記一方のパス情報および前記変換工程による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出する算出工程と、
前記算出工程によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成工程と、
前記第１および第２の作成工程によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定工程と、
前記設定工程によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択工程と、
前記選択工程によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合工程と、
を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示技術は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の設計を支援する設計支援プログラム、設計支援装置、および設計支援方法に関する。
【背景技術】
【０００２】
ＬＳＩには、ブロックと呼ばれる機能モジュールが多数搭載されている。ＬＳＩに搭載された複数のブロックには、選択信号によって動作モードが使用／未使用に切り替わるものがある。選択信号によって未使用とされたブロックであっても、ＬＳＩ上である程度の面積を占めており、またある程度の待機電流を消費している。未使用ブロックの消費電流削減方法は、クロックゲートによりクロック端子を制御する程度であったが、これではリーク電流低減や面積削減には繋がらない。また、消費電力の低減および面積削減のため、排他的に動作する複数のブロックから共有化できる資産情報を抜き出す技術が開示されている（たとえば、下記特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１２３０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、まず、共有化に先だって、資産情報を抜き出すためにブロック内の内部構成を認識しなければならないという問題があった。特に、ブロック内に組み合わせ回路がある場合、組み合わせ回路の複雑度に比例して資産情報の抜き出しが困難であったり、できるとしても長期化したりするという問題があった。
【０００５】
本開示技術は、上述した従来技術による問題点を解消するため、回路の内部構成を意識することなく、ＬＳＩの消費電力の低減化および面積削減を図ることができる設計支援プログラム、設計支援装置、および設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、第１の開示技術は、排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力し、入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成し、対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換し、前記一方のパス情報および変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出し、算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成し、作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定し、設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択し、選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成することを要件とする。
【０００７】
第２の開示技術は、排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、を入力し、入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成し、対象となる共通化テーブル群内の共通化テーブルごとに、当該共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した仮併合回路の回路情報を生成し、前記対象となる共通化テーブル群内の共通化テーブルごとに生成された前記仮併合回路の回路情報の論理合成結果を取得し、取得された前記仮併合回路の回路情報ごとの論理合成結果から得られる前記仮併合回路に関する面積情報に基づいて、論理合成による論理圧縮度合いをあらわす評価値を、前記対象となる共通化テーブル群内の共通化テーブルごとに算出し、算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成し、作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定し、設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択し、選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成することを要件とする。
【発明の効果】
【０００８】
本設計支援プログラム、設計支援装置、および設計支援方法によれば、回路の内部構成を意識することなく、ＬＳＩの消費電力の低減化および面積削減を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本開示技術の一例を示す説明図である。
【図２】図１（Ｂ）に示したマージの具体例を図形化した説明図である。
【図３】実施の形態１にかかる設計支援装置のハードウェア構成を示すブロック図である。
【図４−１】実施の形態１にかかる設計支援装置の機能的構成１を示すブロック図である。
【図４−２】実施の形態１にかかる設計支援装置の機能的構成２を示すブロック図である。
【図５】排他動作情報を示す説明図である。
【図６−１】ＦＦ情報抽出部によって抽出された回路Ａに関するＦＦ情報の一例を示す説明図である。
【図６−２】ＦＦ情報抽出部によって抽出された回路Ｂに関するＦＦ情報の一例を示す説明図である。
【図７−１】パス情報抽出部によって抽出された回路Ａに関するパス情報を示す説明図である。
【図７−２】パス情報抽出部によって抽出された回路Ｂに関するパス情報を示す説明図である。
【図８−１】回路ＡのＦＦ情報に関するラベル化ＦＦ情報を示す説明図である。
【図８−２】回路ＢのＦＦ情報に関するラベル化ＦＦ情報を示す説明図である。
【図９】第１世代の共通化テーブル群の一例を示す説明図である。
【図１０−１】図７−１に示した回路Ａのパス情報のラベル変換例を示す説明図である。
【図１０−２】図７−２に示した回路Ｂのパス情報のラベル変換例を示す説明図である。
【図１１−１】回路Ａのパス情報をラベル化したラベル化パス情報を示す説明図である。
【図１１−２】回路Ｂのパス情報をラベル化したラベル化パス情報を示す説明図である。
【図１２】ラベル化パス情報の置換処理を示す説明図である。
【図１３】カウント処理による計数テーブルを示す説明図である。
【図１４】シグマスケーリング処理結果を示す説明図である。
【図１５】選択処理の内容を示す説明図である。
【図１６】次世代の親となる共通化テーブルを示す説明図である。
【図１７】交叉の一例を示す説明図である。
【図１８】突然変異の処理内容を示す説明図である。
【図１９】次世代の共通化テーブル群を示す説明図である。
【図２０】併合回路ＡＢの接続イメージを示す説明図である。
【図２１】共通化ＦＦとセレクタの共通回路情報を示す説明図である。
【図２２】出力ネット置換テーブルを示す説明図である。
【図２３】回路Ａの固有化前後の回路情報を示す説明図である。
【図２４】回路Ｂの固有化前後の回路情報を示す説明図である。
【図２５】併合回路ＡＢの回路情報を示す説明図である。
【図２６】実施の形態１にかかる設計支援装置の設計支援処理手順を示すフローチャートである。
【図２７】図２６に示した共通化テーブル評価／次世代作成処理（ステップＳ２６０５）の詳細な処理手順を示すフローチャートである。
【図２８】図２７に示した次世代作成処理（ステップＳ２７０６）の詳細な処理手順を示すフローチャートである。
【図２９】図２６に示したマージ処理（ステップＳ２６０６）の詳細な処理手順を示すフローチャートである。
【図３０−１】実施の形態２にかかる設計支援装置の機能的構成１を示すブロック図である。
【図３０−２】実施の形態２にかかる設計支援装置の機能的構成２を示すブロック図である。
【図３１】セル面積を対応付けた第１世代の共通化テーブルを示す説明図である。
【図３２】シグマスケーリング処理結果を示す説明図である。
【図３３】実施の形態２にかかる設計支援装置の設計支援処理手順を示すフローチャートである。
【図３４】図３３に示した仮マージ処理（ステップＳ３３０４）の詳細な処理手順を示すフローチャートである。
【図３５】図３３に示した仮論理合成結果取得処理（ステップＳ３３０５）の詳細な処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本開示技術にかかる設計支援装置、設計支援方法、および設計支援プログラムの好適な実施の形態を詳細に説明する。
【００１１】
＜実施の形態１＞
図１は、本開示技術の一例を示す説明図である。本開示技術は、排他的に動作しあう２つのブロックを１つのブロックにマージする技術である。（Ａ）は、排他的に動作しあう回路を示している。回路Ａは、クロックゲートＧＡにより動作制御されるブロックであり、回路Ｂは、クロックゲートＧＢにより動作制御されるブロックである。クロック信号ＣＬＫは選択信号Ｓに応じて回路Ａまたは回路Ｂに供給される。これにより、回路Ａおよび回路Ｂは排他的な動作をする。すなわち、回路Ａが動作中であれば、回路Ｂは動作せず、回路Ｂが動作中であれば、回路Ａは動作しない。
【００１２】
図２は、図１（Ｂ）に示したマージの具体例を図形化した説明図である。図の簡略化のため、クロック信号ＣＬＫは省略している。回路Ａは、組み合わせ回路ＬＡ０とその出力を保持して回路Ａから出力するフリップフロップなどのデータ保持素子（以下、「ＦＦ」とする）ＦＦＡ０を有する。また、回路Ａは、組み合わせ回路ＬＡ１とその出力を保持して回路Ａから出力するＦＦＡ１を有する。また、回路Ａは、組み合わせ回路ＬＡ２とその出力を保持して回路Ａから出力するＦＦＡ２を有する。
【００１３】
回路Ｂは、組み合わせ回路ＬＢ０とその出力を保持して回路Ｂから出力するＦＦＢ０を有する。また、回路Ｂは、組み合わせ回路ＬＢ１とその出力を保持して回路Ｂから出力するＦＦＢ１を有する。また、回路Ｂは、組み合わせ回路ＬＢ２とその出力を保持して回路Ｂから出力するＦＦＢ２を有する。
【００１４】
回路Ａと回路Ｂは排他的な動作をするため、回路Ａが動作するとは、その内部の組み合わせ回路ＬＡ０〜ＬＡ２が動作していることを意味しており、回路Ｂが動作するとは、その内部の組み合わせ回路ＬＢ０〜ＬＢ２が動作していることを意味している。
【００１５】
したがって、併合回路ＡＢでは、組み合わせ回路ＬＡ０〜ＬＡ２と組み合わせ回路ＬＢ０〜ＬＢ２とが排他的な動作をするように、選択回路２００〜２０２を挿入する。そして、選択回路２００〜２０２の出力先にＦＦ０〜ＦＦ２を接続する。併合回路ＡＢでは、選択信号Ｓ＝０のとき、組み合わせ回路ＬＡ０〜ＬＡ２が動作し、Ｓ＝１のとき、組み合わせ回路ＬＢ０〜ＬＢ２が動作する。
【００１６】
このように、組み合わせ回路ＬＡ０〜ＬＡ２，ＬＢ０〜ＬＢ２とＦＦＡ０〜ＦＦＡ２，ＦＦＢ０〜ＦＦＢ２の接続関係さえ分かっていれば、組み合わせ回路ＬＡ０〜ＬＡ２，ＬＢ０〜ＬＢ２の内部構成を意識する必要はない。また、マージ前の回路Ａおよび回路Ｂと併合回路ＡＢを比較すると、ＦＦＡ０，ＦＦＢ０がマージされてＦＦ０となる。同様に、ＦＦＡ１，ＦＦＢ１がマージされてＦＦ１となり、ＦＦＡ２，ＦＦＢ２がマージされてデータ保持素子ＦＦ２となる。
【００１７】
このあと、論理合成ツールにより併合回路ＡＢを論理圧縮することで、併合回路ＡＢの回路規模が縮小化する。このように、本開示技術では、回路Ａおよび回路Ｂの組み合わせ回路ＬＡ０〜ＬＡ２，ＬＢ０〜ＬＢ２の内部構成を意識しないアルゴリズムにより併合回路ＡＢを生成して、リーク電流の低減化と回路面積の削減を図ることができる。
【００１８】
（設計支援装置のハードウェア構成）
図３は、実施の形態１にかかる設計支援装置のハードウェア構成を示すブロック図である。図３において、設計支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、キーボード３１０と、マウス３１１と、スキャナ３１２と、プリンタ３１３と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００１９】
ここで、ＣＰＵ３０１は、設計支援装置の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００２０】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２１】
ディスプレイ３０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２２】
インターフェース（以下、「Ｉ／Ｆ」と略する。）３０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１４に接続され、このネットワーク３１４を介して他の装置に接続される。そして、Ｉ／Ｆ３０９は、ネットワーク３１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２３】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２４】
スキャナ３１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ３１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ３１３は、画像データや文書データを印刷する。プリンタ３１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２５】
（設計支援装置の機能的構成）
図４−１は、実施の形態１にかかる設計支援装置の機能的構成１を示すブロック図である。図４−１において、設計支援装置４００は、入力部４０１と、第１の作成部４０２と、評価関数情報作成部４０３と、共通化テーブル評価／再作成部４０４と、併合部４０５と、置換テーブル作成部４０６と、置換部４０７と、取得部４０８と、を備える。また、共通化テーブル評価／再作成部４０４の詳細は図４−２に示す。図４−１の各機能は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５に記憶されたプログラムをＣＰＵ３０１に実行させることにより、またはＩ／Ｆ３０９により、その機能を実現する。
【００２６】
また、設計支援装置４００に与えられる初期情報として、互いに排他的動作をしあう回路Ａおよび回路Ｂの回路情報（たとえば、ネットリストやＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）記述）ＤＡ，ＤＢと、回路Ａおよび回路Ｂの排他動作情報とを用意する。
【００２７】
図５は、排他動作情報を示す説明図である。排他動作情報とは、互いに排他的に動作する回路の組み合わせを示す情報である。回路Ａ項目と回路Ｂ項目には、それぞれの回路を一意に特定する識別情報が記憶されている。たとえば、１行目のレコードでは、回路Ｃ１と回路Ｃ２とが排他的に動作することを示している。設計者は、排他動作情報を参照して、回路Ａ項目の回路（たとえば、回路Ｃ１）の回路情報と回路Ｂ項目の回路（たとえば、回路Ｃ２）の回路情報を設計支援装置に与える。
【００２８】
図４−１に戻って、入力部４０１は、ＦＦ情報抽出部４１１と、パス情報抽出部４１２とを備える。ＦＦ情報抽出部４１１は、回路Ａおよび回路Ｂに含まれているＦＦを回路情報ＤＡ，ＤＢから抽出する機能を有する。具体的には、たとえば、ＦＦ情報抽出部４１１は既存のツールにより構成され、回路Ａおよび回路Ｂに含まれているＦＦのインスタンス情報となるＦＦ情報を回路情報ＤＡ，ＤＢから抽出する。
【００２９】
図６−１は、ＦＦ情報抽出部４１１によって抽出された回路Ａに関するＦＦ情報の一例を示す説明図である。図６−１に示したＦＦ情報６００Ａには、回路Ａに含まれているＦＦのインスタンス名（たとえば、“ＡＡＡ＿ｉｎｓｔ／ａｃ０１＿ｒｅｇ／ＣＬＫ”）が記述されている。
【００３０】
図６−２は、ＦＦ情報抽出部４１１によって抽出された回路Ｂに関するＦＦ情報の一例を示す説明図である。図６−２に示したＦＦ情報６００Ｂには、回路Ｂに含まれているＦＦのインスタンス名（たとえば、“ＢＢＢ＿ｉｎｓｔ／ｄｉｖ０１＿ｒｅｇ／ＣＬＫ”）が記述されている。
【００３１】
また、図４−１において、パス情報抽出部４１２は、回路Ａおよび回路Ｂに含まれているパスを回路情報ＤＡ，ＤＢから抽出する機能を有する。具体的には、たとえば、パス情報抽出部４１２は既存のツールにより構成され、回路Ａおよび回路Ｂに含まれているパス情報ＤＰＡ，ＤＰＢを回路情報ＤＡ，ＤＢから抽出する。パス情報ＤＰＡ，ＤＰＢとは、パスの始点となるＦＦのインスタンス名とパスの終点となるＦＦのインスタンス名との組み合わせである。
【００３２】
図７−１は、パス情報抽出部４１２によって抽出された回路Ａに関するパス情報ＤＰＡを示す説明図である。図７−１に示したパス情報ＤＰＡには、出力先（図７−１では“Ｅｎｄｐｏｉｎｔ”と表記）となるＦＦのインスタンス名と、入力元（図７−１では“Ｓｔａｒｔｐｏｉｎｔ”と表記）となるＦＦのインスタンス名を記憶している。
【００３３】
図７−２は、パス情報抽出部４１２によって抽出された回路Ｂに関するパス情報ＤＰＢを示す説明図である。図７−２に示したパス情報ＤＰＢには、終点（図７−２では“Ｅｎｄｐｏｉｎｔ”と表記）となるＦＦのインスタンス名と、始点（図７−２では“Ｓｔａｒｔｐｏｉｎｔ”と表記）となるＦＦのインスタンス名を記憶している。
【００３４】
このように、入力部４０１により回路ＡのＦＦ情報ＤＦＡおよびパス情報ＤＰＡ、回路ＢのＦＦ情報ＤＦＢおよびパス情報ＤＰＢを得ることができる。なお、回路情報ＤＡ，ＤＢからの抽出ではなく、回路ＡのＦＦ情報ＤＦＡおよびパス情報ＤＰＡ、回路ＢのＦＦ情報ＤＦＢおよびパス情報ＤＰＢを外部から入力することとしてもよい。
【００３５】
図４−１において、第１の作成部４０２は、ＦＦ情報ＤＦＡ，ＤＦＢから第１世代の共通化テーブル群Ｔ１を作成する機能を有する。第１世代の共通化テーブル群Ｔ１とは、回路ＡのＦＦと回路ＢのＦＦとの対応関係を定義するテーブルの集合である。第１世代としたのは、後述するように、第ｎ世代までの共通化テーブル群Ｔｎを作成するからである。
【００３６】
第１世代の共通化テーブル群Ｔ１は、具体的には、たとえば、まず、入力されたＦＦ情報ＤＦＡ，ＤＦＢについて、回路Ａ，Ｂ別にＦＦのインスタンスごとに固有のラベルを割り振る。ラベルは連続番号とする。また、入力ネットと出力ネットも回路情報ＤＡ，ＤＢから抽出する。入力ネットとは、ＦＦのデータ入力端子に接続されているネットである。また、出力ネットとは、ＦＦのデータ出力端子に接続されているネットである。このように、ＦＦごとにインスタンス名、入力ネット、出力ネット、ラベルを記述した情報を、ラベル化ＦＦ情報と称す。
【００３７】
図８−１は、回路ＡのＦＦ情報に関するラベル化ＦＦ情報を示す説明図である。ラベル化ＦＦ情報８００Ａにおいて、回路ＡのＦＦには、ラベル項目にラベルＡ０〜Ａ９が割り当てられている。
【００３８】
図８−２は、回路ＢのＦＦ情報に関するラベル化ＦＦ情報を示す説明図である。ラベル化ＦＦ情報８００Ｂにおいて、回路ＢのＦＦには、ラベル項目にラベルＢ０〜Ｂ７が割り当てられている。第１の作成部４０２は、ラベル化ＦＦ情報８００Ａ，８００Ｂから第１世代の共通化テーブル群Ｔ１を作成する。
【００３９】
図９は、第１世代の共通化テーブル群Ｔ１の一例を示す説明図である。第１の作成部４０２は、具体的には、たとえば、２つのラベル化ＦＦ情報８００Ａ，８００ＢのうちＦＦ数が多い方（同数であればどちらでもよい）のラベル化ＦＦ情報のラベル列を基準レコードとする。図９の場合は、回路Ａのラベル化ＦＦ情報８００ＡのラベルＡ０〜Ａ９を基準レコードに割り当てている。
【００４０】
そして、回路Ｂのラベル化ＦＦ情報８００ＢのラベルＢ０〜Ｂ７を基準レコードのラベルにランダムに割り当てる。該当するラベルがない場合は、“＊”（相手がいない）を割り当てる。そして、共通化テーブルをランダム発生でＮ個作成する。Ｎは任意のレコード数である。各共通化テーブルには、固有のテーブル番号（図９では、Ｔ１−０１，Ｔ１−０２，…，Ｔ１−Ｎ）を割り振る。テーブル番号ごとのレコードが共通化テーブルである。Ｎ個の共通化テーブルが第１世代の共通化テーブル群Ｔ１となる。
【００４１】
図４−１において、評価関数情報作成部４０３は、パス情報ＤＰＡ，ＤＰＢとラベル化ＦＦ情報８００Ａ，８００Ｂとに基づいて、評価関数情報を作成する機能を有する。具体的には、たとえば、パス情報に記述されているＦＦのインスタンス名を、ラベル化ＦＦ情報８００Ａ，８００Ｂのラベル項目を参照して、ラベルに変換する。
【００４２】
図１０−１は、図７−１に示した回路Ａのパス情報ＤＰＡのラベル変換例を示す説明図である。たとえば、回路Ａのラベル化ＦＦ情報８００Ａにおいて、インスタンス名：ＡＡＡ＿ｉｎｓｔ／ａｃ０１＿ｒｅｇのＦＦのラベルは“Ａ０”である。したがって、図１０−１では、図７−１の「ＡＡＡ＿ｉｎｓｔ／ａｃ０１＿ｒｅｇ」が「Ａ０」に変換されている。
【００４３】
図１０−２は、図７−２に示した回路Ｂのパス情報ＤＰＢのラベル変換例を示す説明図である。たとえば、回路Ｂのラベル化ＦＦ情報８００Ｂにおいて、インスタンス名：ＢＢＢ＿ｉｎｓｔ／ｄｉｖ０１＿ｒｅｇのＦＦのラベルは“Ｂ０”である。したがって、図１０−２では、図７−２の「ＢＢＢ＿ｉｎｓｔ／ｄｉｖ０１＿ｒｅｇ」が「Ｂ０」に変換されている。また、出力先とその入力元を変換されたラベルで対応付けたラベル化パス情報を生成する。各ラベル化パス情報が評価関数情報となる。
【００４４】
図１１−１は、回路Ａのパス情報ＤＰＡをラベル化したラベル化パス情報を示す説明図である。ラベル化パス情報１１０１Ａにおいて、たとえば、一行目のレコードは、入力元がラベル名Ａ０，Ａ１，Ａ４，Ａ５，Ａ７のＦＦであり、出力先がラベル名Ａ０のＦＦとなるパスを示している。
【００４５】
図１１−２は、回路Ｂのパス情報ＤＰＢをラベル化したラベル化パス情報を示す説明図である。ラベル化パス情報１１０１Ｂにおいて、たとえば、一行目のレコードは、入力元がラベル名Ｂ０，Ｂ２，Ｂ３のＦＦであり、出力先がラベル名Ｂ０のＦＦとなるパスを示している。
【００４６】
また、図４−１において、共通化テーブル評価／再作成部４０４は、共通化テーブル評価処理と次世代作成処理を実行する機能を有する。具体的には、以下の（１）〜（６）を実行する。
【００４７】
（１）回路Ａおよび回路Ｂから共通化可能な回路のＦＦをすべてリストアップする。
（２）つぎに、ランダム（もしくは任意）に共通化マッピングを行う。
（３）そして、ＦＦにつながる入力の共通性をチェックして共通性が高いほど高得点をつける。
（４）すべてのＦＦの点数付けが終わったところで合計点を計算する。
（５）別の共通化マッピングを、遺伝的アルゴリズムを用いて作成し、（３）〜（４）を再度実行する。
（６）規定回数（世代数となる）（２）〜（５）を繰り返して、一番合計点の高かった共通化テーブルを採用する。
【００４８】
図４−２は、実施の形態１にかかる設計支援装置の機能的構成２を示すブロック図である。図４−２では、共通化テーブル評価／再作成部４０４の詳細な機能的構成を示している。まず、変換部４２１は、対象となる共通化テーブル群を参照することにより、対象となる共通化テーブルごとに、当該他方のパス情報内の他方の識別情報を一方の識別情報に変換する機能を有する。対象となる共通化テーブル群は後述の設定部４２４により設定されるが、具体的には、作成された共通化テーブル群の中で最新世代の共通化テーブル群を対象となる共通化テーブル群とする。
【００４９】
変換部４２１は、具体的には、たとえば、ラベル化パス情報１１０１Ａ，１１０１Ｂの変換処理を実行する。ラベル化パス情報１１０１Ａ，１１０１Ｂの変換処理では、変換対象をラベル化パス情報１１０１Ａ，１１０１Ｂのうち基準レコードに選ばれなかった回路Ｂのラベル化パス情報１１０１Ｂとする。そして、選ばれた共通化テーブルにより、回路Ｂのラベル化パス情報１１０１Ｂを置換する。
【００５０】
図１２は、ラベル化パス情報の置換処理を示す説明図である。ここでは、共通化テーブルＴ１−０１を例に挙げて説明する。回路Ｂのラベル化パス情報１１０１Ｂ内のラベルを、選択した共通化テーブルＴ１−０１を参照して、基準レコードのラベルに置換する。たとえば、共通化テーブルＴ１−０１のラベル“Ｂ３”は、基準レコードのラベル“Ａ１”に対応している。したがって、回路Ｂのラベル化パス情報１１０１Ｂ内の“Ｂ３”を“Ａ１”に置換する。置換後のラベル化パス情報１２０１Ｂは、回路ＡのラベルＡ０〜Ａ９で表現されることとなる。
【００５１】
また、図４−２において、算出部４２２は、一方のパス情報および変換部４２１による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、共通化テーブルごとに算出する機能を有する。
【００５２】
算出部４２２は、具体的には、たとえば、カウント処理を実行する。カウント処理では、変換されていない方の回路Ａのラベル化パス情報１１０１Ａと変換後の回路Ｂのラベル化パス情報１２０１Ｂとを比較する。そして、出力先ごとに共通項となるラベルを抽出し、その数を計数する。出力先ごとの計数値の合計が、選択された共通化テーブルＴ１−０１の得点、すなわち、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値となる。
【００５３】
図１３は、カウント処理による計数テーブルを示す説明図である。図１３では、図１２で示した置換後のラベル化パス情報１２０１Ｂを用いて説明する。カウント処理では、置換されていない回路Ａのラベル化パス情報１１０１Ａを呼び出す。そして、出力先ごとに、回路Ａのラベル化パス情報１１０１Ａの入力元と回路Ｂの置換後のラベル化パス情報１２０１Ｂの入力元を対応付ける。そして、出力先ごとに両入力元に共通に存在するラベルを共通項として抽出する。
【００５４】
たとえば、ラベル：Ａ０の出力先では、共通項は、ラベル：Ａ０，Ａ１の２個である。したがって計数値は２となる。このようにして、出力先ごとに計数値をカウントし、その総計が選択された評価テーブルＴ１−０１の得点となる。図１３の例では、１９得点となる。共通化テーブル評価処理では、全共通化テーブルＴ１−０１〜Ｔ１−Ｎに対し、変換処理とカウント処理を実行することで、共通化テーブルごとの得点を得ることができる。
【００５５】
また、図４−２において、第２の作成部４２３は、算出部４２２によって算出された評価値に基づいて、遺伝的アルゴリズムにより、対象となる共通化テーブル群から次世代の共通化テーブル群を作成する機能を有する。
【００５６】
第２の作成部４２３は、具体的には、たとえば、規定回数を超えていない場合、対象となる共通化テーブル群のうち、最高得点となった共通化テーブルを用いて、次世代作成処理を実行する。なお、最高得点が複数ある場合はランダムに選択する。規定回数を超えている場合は、最高得点となった共通化テーブルを最適な共通化テーブルとして併合部４０５に出力することとなる。規定回数とは上限世代数であり、次世代作成処理は規定回数まで繰り返し実行される。次世代作成処理は、スケーリング処理、選択処理、次世代テーブル生成処理を実行する。
【００５７】
次世代作成処理には遺伝的アルゴリズムを適用する。遺伝的アルゴリズムとは、自然淘汰により最適な遺伝子が残ってきたようにシステムの中で自然淘汰のシミュレーションを実行し、最適解を求めようとするアルゴリズムである。遺伝的アルゴリズムは、広範囲の探索空間に対して少ない試行回数で最適解を求めやすい利点がある。必ず最適解が求まる訳ではないが、「最適ではないとしても効果が高いと思われる組み合わせ」を探す場合には単なるランダム検索よりも効率が良い。
【００５８】
遺伝的アルゴリズムでは、解のセットをパラメータとして一つのデータにまとめて遺伝子に見立てる。はじめにいくつもの遺伝子を用意し、それぞれを評価関数にかけてより適合度の高いと思われる遺伝子を残す。実施の形態では、評価テーブルを遺伝子に見立て、今世代の生き残りとなる親の共通化テーブルを選択する。そして、親の遺伝子（親の共通化テーブル）を引き継ぐため、親間で交叉や突然変異をおこない、次世代の子となる共通化テーブルを生成する。
【００５９】
最後に、親の共通化テーブルと子の共通化テーブルとを組み合わせることで、次世代の共通化テーブルを生成する。次世代の共通化テーブルは、規定回数を超えるまで共通化テーブル評価処理に与えられる。
【００６０】
まず、スケーリング処理を実行する。スケーリング処理とは、つぎに実行する選択処理での選択格差を広げる処理である。スケーリング処理を実行することで、高得点の共通化テーブルを選択しやすくすることができる。実施の形態では、シグマスケーリングを例に挙げて説明する。シグマスケーリングでは、各共通化テーブルの得点を、下記式（１）を用いて変換する。
【００６１】
ｆ´＝ｆ−（ｆavg−ｃ×σ）・・・（１）
【００６２】
ただし、ｆ´はスケーリング処理後の得点（ただし、ｆ´が負のときはｆ´＝０とする）。ｆはスケーリング処理前の得点、ｆavgはスケーリング処理前の得点の平均値、ｃは任意の変数（本例ではｃ＝２）、σはスケーリング処理前の標準偏差（ただし、σ＝０のときは、σ＝１とする）である。
【００６３】
図１４は、シグマスケーリング処理結果を示す説明図である。図１４では、共通化テーブルの個数ＮをＮ＝２０としている。平均値ｆavgと標準偏差σは、共通化テーブルの全得点から算出する。なお、スケーリング処理では、シグマスケーリングのほか、線形スケーリングやべき乗スケーリングを用いてもよい。
【００６４】
つぎに、選択処理を実行する。選択処理では、Ｎ個の共通化テーブルの中から次世代に残す一部（ここではＮ／２個）の共通化テーブルを選択する。選択処理では、スケーリング処理を実行した場合は、スケーリング処理後の得点を用い、スケーリング処理を実行していない場合は、共通化テーブルの得点をそのまま用いる。
【００６５】
選択処理では、エリート選択とルーレット選択とを組み合わせる。エリート選択とは、最高得点のテーブルを無条件に選択する選択方法である。最高得点が複数ある場合にはランダムで１つ選択する。
【００６６】
ルーレット選択とは、選択確率に基づいて共通化テーブルを選択する選択方法である。選択確率とは、共通化テーブルごとに、全得点の合計点を共通化テーブルの得点で割った値である。本例では、次世代に残す共通化テーブルの個数はＮ／２であり、エリート選択された共通化テーブルの個数は１であるため、（Ｎ／２−１）回分、ルーレット選択をおこなう。エリート選択では、高得点の共通化テーブルしか残らないが、ルーレット選択も適用することで、選択に多様性を残すことができる。すなわち、得点が低くても生き残る可能性を残すためである。
【００６７】
ルーレット選択では、まず、ランダム関数により選択値ｓ（０≦ｓ≦１）を生成する。つぎに、選択確率の高い順から選択確率を選び、選ばれた選択確率を選択値ｓから引く。そして、選択値ｓが０以下となったときの共通化テーブルを次世代へ生き残る親の遺伝子として選択する。
【００６８】
図１５は、選択処理の内容を示す説明図である。図１５の点数テーブルでは、共通化テーブルＴ１−１０が最高得点（１１．９３５７）であるため、エリート選択される。また、共通化テーブルごとに選択確率が算出されている。
【００６９】
図１６は、次世代の親となる共通化テーブルを示す説明図である。本例では、エリート選択された共通化テーブルＴ１−１０とルーレット選択された９個の共通化テーブルが次世代の親の遺伝子として引き継がれる。
【００７０】
つぎに、子の共通化テーブルを生成する。子の共通化テーブルの生成には、交叉と突然変異を適用する。遺伝的アルゴリズムの交叉手法は数多くあるが、実施の形態は配置を基準とした交叉を用いる。次世代の親となるＮ／２個の共通化テーブルを、２個ずつのペアに分ける。ペアの選択は適当でよいが、今回は選択順に（Ｔ１−１０，Ｔ１−０１），（Ｔ１−１６，Ｔ１−１７），（Ｔ１−０５，Ｔ１−０２），（Ｔ１−１０，Ｔ１−２０），（Ｔ１−０２，Ｔ１−０８）とする。
【００７１】
図１７は、交叉の一例を示す説明図である。（Ａ）において親の共通化テーブルのペアを選ぶ。ここでは、親の共通化テーブルのペアを（親１，親２）とする。つぎに、（Ｂ）において、ペアとなった親どうしの対応するラベル（（Ｂ）中、ハッチングを施した箇所）をランダムに選択する。選択個数もランダム（本例では４箇所）である。
【００７２】
そして、（Ｃ）において、子のペア（子１，子２）を用意する。子のペアは初期状態では空である。子１のレコードに、（Ｂ）における親１の選択箇所のラベルを選択箇所と同位置に代入する。同様に、子２のレコードに、（Ｂ）における親２の選択箇所のラベルを選択箇所と同位置に代入する。それぞれ一方の親の遺伝子を残すためである。
【００７３】
つぎに、（Ｄ）において、子１のレコードの空き領域に、子１にはない親２のラベルを左側から書き込む。すなわち、親２のラベル（Ｂ０，Ｂ３，Ｂ２，Ｂ６，Ｂ５，Ｂ４，＊，Ｂ１，＊，Ｂ７）から子１のラベル（Ｂ３，＊，Ｂ０，Ｂ５）を除いたラベル（Ｂ２，Ｂ６，Ｂ４，Ｂ１，＊，Ｂ７）を書き込む。他方の親である親２の遺伝子を残すためである。
【００７４】
同様に、（Ｅ）において、子２のレコードの空き領域に、子２にはない親１のラベルを左側から書き込む。すなわち、親１のラベル（Ｂ４，Ｂ３，Ｂ２，＊，Ｂ０，Ｂ６，＊，Ｂ５，Ｂ１，Ｂ７）から子２のラベル（Ｂ３，Ｂ６，Ｂ５，Ｂ１）を除いたラベル（Ｂ４，Ｂ２，＊，Ｂ０，＊，Ｂ７）を書き込む。他方の親である親１の遺伝子を残すためである。
【００７５】
このようにして、（Ｆ）に示したように、親１および親２の共通化テーブルから子１および子２の共通化テーブルが生成される。このような交叉を、親の共通化テーブルのペア（Ｔ１−１０，Ｔ１−０１），（Ｔ１−１６，Ｔ１−１７），（Ｔ１−０５，Ｔ１−０２），（Ｔ１−１０，Ｔ１−２０），（Ｔ１−０２，Ｔ１−０８）ごとに実行する。これにより、Ｎ／２個の子の共通化テーブルが生成されることとなる。
【００７６】
つぎに、突然変異について説明する。突然変異では、新しく生成されたＮ／２個の子の共通化テーブルに対して、低確率でランダムに配置を入れ替える。突然変異を実行することで探索空間を広げることができる。
【００７７】
図１８は、突然変異の処理内容を示す説明図である。（Ａ）は突然変異前の子の共通化テーブル群を示しており、（Ｂ）は突然変異後の子の共通化テーブル群を示している。（Ａ）において、まず、子の共通化テーブル１つ１つに対して突然変異を発生させるかチェックをおこなう。発生確率は１％程度とする。具体的には、たとえば、確率ｔ（０≦ｔ≦１）をランダムに発生して、各子の共通化テーブルに割り当てる。
【００７８】
そして、発生確率以下となる確率ｔを持つ子の共通化テーブルに対して、ランダムに２つの配置を選択する（（Ａ）のハッチングを施した箇所）。そして、選択箇所のラベルを入れ替える。これにより、（Ｂ）に示した突然変異後の子の共通化テーブル群を得ることができる。なお、突然変異の実行は任意である。最後に次世代の共通化テーブル群Ｔｉの生成を実行する。
【００７９】
図１９は、次世代の共通化テーブル群Ｔｉを示す説明図である。具体的には、たとえば、親の共通化テーブル（図１６を参照）と子の共通化テーブル（図１８を参照）を組み合わせることにより、次世代の共通化テーブル群Ｔｉが生成される。
【００８０】
また、図４−２において、設定部４２４は、第１および第２の作成部４２３によって作成された共通化テーブル群のうち最新世代の共通化テーブル群を対象となる共通化テーブル群に設定する機能を有する。具体的には、たとえば、第１世代の共通化テーブル群Ｔ１のみが作成されている場合、第１世代の共通化テーブル群Ｔ１が最新世代の共通化テーブル群となるため、対象とする共通化テーブル群として設定して、変換部４２１にわたす。また、第２の作成部４２３により次世代の共通化テーブル群Ｔｉが順次作成された場合、最新世代の共通化テーブル群Ｔｉを対象とする共通化テーブル群として設定して、変換部４２１にわたす。
【００８１】
選択部４２５は、設定部４２４によって設定された対象となる共通化テーブル群の中から特定の共通化テーブルを選択する機能を有する。具体的には、たとえば、第２の作成部４２３により規定回数ｎを超えた場合、現時点での最新世代の共通化テーブル群Ｔｎの中から、特定の共通化テーブルＴｎ−ｘを選択する。より具体的には、共通化テーブル群Ｔｎのうち、図１３に示した計数値が最高得点となる共通化テーブルを特定の共通化テーブルＴｎ−ｘとして選択する。選択された特定の共通化テーブルＴｎ−ｘは記憶装置内の特定の領域に書き込まれる。
【００８２】
また、図４−１において、併合部４０５は、選択部４２５によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報（たとえば、回路Ａの回路情報ＤＡ）および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報（たとえば、回路Ｂの回路情報ＤＢ）を、一方の識別情報により特定されるデータ保持素子の入力ネットおよび他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換する。そして、変換された共通回路情報により、一方の回路情報および他方の回路情報を併合した併合回路の回路情報ＤＡＢを生成する機能を有する。
【００８３】
具体的には、たとえば、ラベル化ＦＦ情報８００Ａ，８００Ｂと、共通化テーブル評価／再作成部４０４から最終出力される特定の共通化テーブルＴｎ−ｘを用いて、回路ＡのＦＦと回路ＢのＦＦとを共通化した共通化ＦＦとセレクタのネットリストを生成する。
【００８４】
図２０は、併合回路ＡＢの接続イメージを示す説明図である。特定の共通化テーブルＴｎ−ｘは、回路Ａのラベル列からなる基準レコードと回路Ｂのラベル列からなる最高得点のレコードの組み合わせである。両レコードの上下のラベルが対応しあい、排他的な動作をする。したがって、上下のラベルに共通化するＦＦとそのＦＦの入力に接続される２入力１出力のセレクタを生成する。なお、いずれか一方のラベルが「＊」である場合は、セレクタが不要となる。
【００８５】
たとえば、共通化テーブルの一列目の上下のラベルペア（Ａ０，Ｂ３）については、ラベルＡ０に対応する入力ネットａｃ０１＿ｉｎをセレクタの一方の入力ネット（ａｃ０１＿ｉｎ＿Ａ）とする。同様に、ラベルＢ３に対応する入力ネットｄｉｖ０４＿ｉｎをセレクタの他方の入力ネット（ｄｉｖ０４＿ｉｎ＿Ｂ）とする。入力ネット名を固有化するため、入力ネット名の末尾に“＿Ａ”、“＿Ｂ”を付している。ｆｆ０＿ｏｕｔ〜ｆｆ９＿ｏｕｔは共通化ＦＦ１〜９の出力ネットを示している。
【００８６】
図２１は、共通化ＦＦとセレクタの共通回路情報（ネットリスト）を示す説明図である。図２１に支援したネットリストは、併合部４０５により生成された、回路ＡのＦＦと回路ＢのＦＦとを共通化した共通化ＦＦとセレクタのネットリスト（共通回路情報ＮＦＳ）である。図２１中、ＳＦＦ  ｆｆ０＿ｒｅｇ〜ＳＦＦ  ｆｆ９＿ｒｅｇは、共通化ＦＦ１〜９に関する記述である。また、ＭＵＸ  Ｕｓｅｌ０〜ＭＵＸ  Ｕｓｅｌ９は、共通化ＦＦ１〜ＦＦ９の入力に接続されるセレクタに関する記述である。
【００８７】
また、図４−１において、置換テーブル作成部４０６は、併合部４０５によって得られた共通回路情報（たとえば、共通回路情報ＮＦＳ）内の共通のデータ保持素子の出力ネットと、一方の識別情報により特定されるデータ保持素子の出力ネットと、他方の識別情報により特定されるデータ保持素子の出力ネットとを対応付ける置換テーブルＴＣを作成する機能を有する。
【００８８】
図２２は、出力ネット置換テーブルＴＣを示す説明図である。回路ＡのＦＦと回路ＢのＦＦとが共通化されるが、出力ネットは入力の選択に応じて切り替わるため、置換テーブル作成部４０６では、置換テーブルＴＣを作成して対応付けをおこなう。たとえば、最高得点の共通化テーブル中、ラベルＡ０，Ｂ３のペアについては、それぞれ出力ネットは、“ａｃ０１＿ｏｕｔ”と“ｄｉｖ０４＿ｏｕｔ”である（ラベル化パス情報８００Ａ，８００Ｂを参照）。そして、この出力ネット“ａｃ０１＿ｏｕｔ”と“ｄｉｖ０４＿ｏｕｔ”を、対応する入力ネット“ａｃ０１＿ｉｎ”と“ｄｉｖ０４＿ｉｎ”の出力先となる共通化ＦＦの出力ネット“ｆｆ０＿ｏｕｔ”のレコードに関連付ける。
【００８９】
また、図４−１において、置換部４０７は、置換テーブル作成部４０６によって作成された置換テーブルＴＣを参照して、一方の回路情報（たとえば、回路Ａの回路情報ＤＡ）に記述されている出力ネットを当該出力ネットに対応する共通のデータ保持素子の出力ネットに置換する機能を有する。また、他方の回路情報（たとえば、回路Ｂの回路情報ＤＢ）に記述されている出力ネットを当該出力ネットに対応する共通のデータ保持素子の出力ネットに置換する機能を有する。
【００９０】
つぎに、置換部４０７では、回路Ａおよび回路Ｂの固有化をおこなう。具体的には、回路Ａの回路情報ＤＡおよび回路Ｂの回路情報ＤＢのインスタンス名とネット名の固有化をおこなう。たとえば、回路Ａの回路情報ＤＡおよび回路Ｂの回路情報ＤＢから共通化するＦＦを削除する。また、インスタンス名やネット名の末尾に回路Ａであれば“＿Ａ”、回路Ｂであれば“＿Ｂ”を付す。また、ＦＦの出力ネット名を、図２２の置換テーブルＴＣを参照して、共通化ＦＦの出力ネット名に変換する。
【００９１】
図２３は、回路Ａの固有化前後の回路情報（ネットリスト）を示す説明図である。回路Ａの回路情報ＤＡ（ネットリスト）の冒頭には、ｍｏｄｕｌｅ文が記述されている。ｍｏｄｕｌｅ文は、マージ処理の際に、回路Ｂのｍｏｄｕｌｅ文とマージされる。（Ａ）が固有化前の回路Ａの回路情報ＤＡであり、（Ｂ）が固有化後の回路Ａの回路情報ＮＡである。図２３では、共通化するＦＦの記述が削除され、出力ネット名が置換されている。
【００９２】
図２４は、回路Ｂの固有化前後の回路情報（ネットリスト）を示す説明図である。回路Ｂの回路情報ＤＢ（ネットリスト）の冒頭には、ｍｏｄｕｌｅ文が記述されている。ｍｏｄｕｌｅ文は、マージ処理の際に、回路Ａのｍｏｄｕｌｅ文とマージされる。（Ａ）が固有化前の回路Ｂの回路情報ＤＢであり、（Ｂ）が固有化後の回路Ｂの回路情報ＮＢである。図２４でも、共通化するＦＦの記述が削除され、出力ネット名が置換されている。
【００９３】
そして、図４−１において、併合部４０５は、置換部４０７による置換後の一方の回路情報（たとえば、回路Ａの回路情報ＮＡ）と置換部４０７による置換後の他方の回路情報（たとえば、回路Ｂの回路情報ＮＢ）と共通回路情報（たとえば、共通回路情報ＮＦＳ）とを統合することにより、併合回路ＡＢの回路情報ＤＡＢを生成する。
【００９４】
図２５は、マージした併合回路ＡＢの回路情報ＤＡＢ（ネットリスト）を示す説明図である。マージ処理では、回路Ａの入力端子および出力端子と回路Ｂの入力端子および出力端子とをマージした記述をｍｏｄｕｌｅ文に記述する。このとき、共通化ＦＦのクロック信号ｃｌｏｃｋとリセット信号ｒｅｓｅｔが重複しないように処理する。すなわち、ｃｌｏｃｋ，ｒｅｓｅｔは共通化されるため、ｍｏｄｕｌｅ文では１つだけ残す。また、あらたに、ｍｏｄｕｌｅ文に選択信号ｓｅｌＡＢを追加する。そして、回路Ａの回路情報ＮＡ、回路Ｂの回路情報ＮＢ、共通回路情報ＮＦＳ（共通化ＦＦおよびセレクタのネットリスト）を追加する。これにより、併合回路ＡＢの回路情報ＤＡＢが生成される。
【００９５】
図４−１において、取得部４０８は、併合部４０５により併合された併合回路ＡＢの回路情報ＤＡＢの論理合成結果ｄａｂを取得する機能を有する。論理合成は既存のツールにより実行される。論理合成ツールは自体は、設計支援装置４００の外部にあってもよい。外部にある場合は、併合回路ＡＢの回路情報ＤＡＢを論理合成ツールを有する外部装置に送信し、当該外部装置から論理合成結果ｄａｂを受信することとしてもよい。論理合成結果ｄａｂはファイル化されて、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５などの記憶装置に保存される。これにより、論理合成された最終的なネットリストとして出力されることとなる。
【００９６】
（設計支援処理手順）
図２６は、実施の形態１にかかる設計支援装置４００の設計支援処理手順を示すフローチャートである。まず、排他的な動作をする回路Ａ，回路Ｂの回路情報（たとえば、ネットリスト）を取得しておき（ステップＳ２６０１）、入力部４０１により、図６−１〜図７−２に示したように、ＦＦ情報ＤＦＡ，ＤＦＢおよびパス情報ＤＰＡ，ＤＰＢを抽出する（ステップＳ２６０２）。
【００９７】
そして、置換テーブル作成部４０６により、図８−１〜図９に示したように、共通化テーブル作成処理を実行する（ステップＳ２６０３）。これにより、第１世代の共通化テーブル群Ｔ１が作成される。つぎに、評価関数情報作成部４０３により、図１０−１〜図１１−２に示したように、評価関数情報（ラベル化パス情報１１０１Ａ，１１０１Ｂ）を作成し（ステップＳ２６０４）、共通化テーブル評価／再作成部４０４により、図１２〜図１９に示したように、共通化テーブル評価処理と次世代作成処理を実行する（ステップＳ２６０５）。
【００９８】
このあと、併合部４０５、置換テーブル作成部４０６および置換部４０７により、図２０〜図２５に示したように、マージ処理を実行する（ステップＳ２６０６）。これにより、図２５に示したようなマージされた併合回路ＡＢの回路情報ＤＡＢが生成される。最後に、取得部４０８により、併合部４０５によって併合された併合回路ＡＢの回路情報ＤＡＢの論理合成結果ｄａｂ取得して（ステップＳ２６０７）、最終的なネットリストを得ることとなる。
【００９９】
図２７は、図２６に示した共通化テーブル評価／次世代作成処理（ステップＳ２６０５）の詳細な処理手順を示すフローチャートである。まず、未選択の共通化テーブルがあるか否かを判断する（ステップＳ２７０１）。未選択の共通化テーブルがある場合（ステップＳ２７０１：Ｙｅｓ）、未選択の共通化テーブルを１つ選択し（ステップＳ２７０２）、図１２に示したように、ラベル化パス情報を置換する（ステップＳ２７０３）。そして、図１３に示したように、共通項を抽出してカウントし（ステップＳ２７０４）、ステップＳ２７０１に戻る。ステップＳ２７０１〜Ｓ２７０４のループにより、共通化テーブルがなくなるまで、共通項を抽出してカウントすることとなる。
【０１００】
一方、ステップＳ２７０１において、未選択の共通化テーブルがないと判断された場合（ステップＳ２７０１：Ｎｏ）、規定回数（ｎ回）実行したか否かを判断する（ステップＳ２７０５）。すなわち、ｎ世代分実行したか否かを判断する。規定回数に達していない場合（ステップＳ２７０５：Ｎｏ）、次世代作成処理を実行して（ステップＳ２７０６）、次世代の共通化テーブル群Ｔｉを作成し、ステップＳ２７０１に戻る。これにより、次世代の共通化テーブル群Ｔｉにより、ステップＳ２７０１〜ステップＳ２７０４のループが実行されることとなる。一方、規定回数を超えた場合（ステップＳ２７０５：Ｙｅｓ）、図２６のマージ処理（ステップＳ２６０６）に移行する。
【０１０１】
図２８は、図２７に示した次世代作成処理（ステップＳ２７０６）の詳細な処理手順を示すフローチャートである。まず、図１４に示したように、スケーリング処理を実行し（ステップＳ２８０１）、図１５および図１６に示したように、エリート選択やルーレット選択といった選択処理を実行する（ステップＳ２８０２）。そして、図１７および図１８に示したように、交叉／突然変異処理を実行し（ステップＳ２８０３）、図１９に示したように、次世代の共通化テーブル群Ｔｉを生成して（ステップＳ２８０４）、図２７のステップＳ２７０１に戻る。
【０１０２】
図２９は、図２６に示したマージ処理（ステップＳ２６０６）の詳細な処理手順を示すフローチャートである。まず、対象となる共通化テーブル群Ｔｉを取得し（ステップＳ２９０１）、図２１に示したように、共通化ＦＦおよびセレクタのネットリスト（共通回路情報ＮＦＳ）を生成する（ステップＳ２９０２）。そして、図２２に示したように、出力ネット置換テーブルＴＣを生成する（ステップＳ２９０３）。
【０１０３】
このあと、図２３に示したように、回路Ａの回路情報ＤＡのインスタンス名とネット名を固有化し（ステップＳ２９０４）、図２４に示したように、回路Ｂの回路情報ＤＢのインスタンス名とネット名を固有化する（ステップＳ２９０５）。そして、図２５に示したように、回路Ａの回路情報ＮＡと回路Ｂの回路情報ＮＢを併合して（ステップＳ２９０６）、図２６のステップＳ２６０７に移行する。これにより、マージされた併合回路ＡＢの回路情報ＤＡＢを得ることができる。
【０１０４】
このように、上述した実施の形態１によれば、リーク電流や面積を削減するために、使用／未使用が排他的な回路を共通化する。具体的には，ＦＦに着目してＦＦを共通化する。ＦＦを共通化することでＦＦに入力される信号を作り出す組み合わせ回路を論理圧縮することができる。
【０１０５】
また、ＦＦの共通化には評価関数（ラベル化パス情報１１０１Ａ，１１０１Ｂ）を用いる。評価関数による計算結果（点数）が高くなる組み合わせを探すことで組み合わせ回路の論理圧縮の可能性の向上を図ることができる。また、共通化した分だけＦＦの数は削減できるため、面積とリーク電流の削減を図ることができる。
【０１０６】
また、入力の共通性に着目しているため、論理圧縮の効果を上げ、組み合わせ回路の削減も期待することができる。また、上述した実施の形態１では、回路動作を理解していなくてもマージすることができる。
【０１０７】
＜実施の形態２＞
つぎに、実施の形態２について説明する。実施の形態１では、併合回路ＡＢの回路情報ＤＡＢを得たあとに、論理合成結果ｄａｂを取得することとした。これに対し、実施の形態２では、論理圧縮を試行してその圧縮度合いを評価関数として利用することとする。なお、実施の形態１と同一構成には同一符号を付し、その説明を省略する。
【０１０８】
図３０−１は、実施の形態２にかかる設計支援装置の機能的構成１を示すブロック図である。設計支援装置３０００は、ＦＦ情報抽出部４１１と、第１の作成部４０２と、仮併合部３００１と、仮取得部３００２と、共通化テーブル評価／再作成部４０４と、併合部４０５と、置換テーブル作成部４０６と、置換部４０７と、取得部４０８と、を備える。実施の形態２では、パス情報ＤＰＡ，ＤＰＢを使用しないため、図４に示したパス情報抽出部４１２および評価関数情報作成部４０３は不要である。また、また、共通化テーブル評価／再作成部４０４の詳細は図３０−２に示す。
【０１０９】
なお、各機能は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５に記憶されたプログラムをＣＰＵ３０１に実行させることにより、またはＩ／Ｆ３０９により、その機能を実現する。実施の形態１との相違は、仮併合部３００１、仮取得部３００２および共通化テーブル評価／再作成部４０４であるため、仮併合部３００１、仮取得部３００２および共通化テーブル評価／再作成部４０４についてのみ説明し、他の機能の説明は実施の形態１と同じであるため省略する。
【０１１０】
図３０−１において、仮併合部３００１は、第１の作成部４０２によって作成された第１世代の共通化テーブル群Ｔ１を用いて、回路Ａの回路情報ＤＡと回路Ｂの回路情報ＤＢとを併合（マージ）する機能を有する。具体的な動作は、併合部４０５と同一である。ただし、参照する共通化テーブルは、特定の共通化テーブルＴｎ−ｘではなく、対象となる共通化テーブル群Ｔｉ内の各共通化テーブルである。
【０１１１】
したがって、併合された各回路情報は最終的な回路情報ではなく、中間的な回路情報である。以下、仮併合部３００１による併合結果物を、「仮併合回路（ＡＢ）の回路情報（ＤＡＢ）」とする。仮併合回路（ＡＢ）の回路情報（ＤＡＢ）は、共通化テーブル群Ｔｉ内の共通化テーブルごとに得られる。
【０１１２】
仮取得部３００２も、具体的な動作は、取得部４０８と同一である。ただし、取得対象となる論理合成結果は、仮併合回路（ＡＢ）の回路情報（ＤＡＢ）の論理合成結果（ｄａｂ）である。論理合成結果（ｄａｂ）は、仮併合回路（ＡＢ）の回路情報（ＤＡＢ）ごとに得られる。論理合成では論理圧縮後の面積が算出されるため、論理合成結果（ｄａｂ）には、セルの面積の総和が記録されている。実施の形態２では、この面積の総和に応じた値を評価関数として用いる。したがって、仮併合回路（ＤＡＢ）の論理圧縮度合いに応じて、回路Ａと回路Ｂとを併合することができ、論理圧縮の効果を上げ、組み合わせ回路の削減も期待することができる。
【０１１３】
図３０−２は、実施の形態２にかかる設計支援装置の機能的構成２を示すブロック図である。図３０−２では、共通化テーブル評価／再作成部４０４の詳細な機能的構成を示している。共通化テーブル評価／再作成部４０４は、算出部４２２と、第２の作成部４２３と、設定部４２４と、選択部４２５とを備える。第２の作成部４２３、設定部４２４および選択部４２５は、実施の形態１と同一なので説明を省略する。なお、設定部４２４は、設定された対象となる共通化テーブル群Ｔｉを仮併合部３００１に渡すこととなる。
【０１１４】
算出部４２２は、仮取得部３００２によって取得された仮併合回路（ＡＢ）の回路情報（ＤＡＢ）ごとの論理合成結果（ｄａｂ）から得られる仮併合回路（ＡＢ）に関する面積情報に基づいて、論理合成による論理圧縮度合いをあらわす評価値を、対象となる共通化テーブル群内の共通化テーブルごとに算出する機能を有する。具体的には、まず、対象となる共通化テーブル群Ｔｉの各共通化テーブルに対し、論理合成結果から得られたセル面積の総和となる面積情報を関連付ける。
【０１１５】
図３１は、セル面積を対応付けた共通化テーブル群を示す説明図である。図３１では、第１世代の共通化テーブル群Ｔ１を例に挙げている。セル面積を対応付けた第１世代の共通化テーブルＴ１をＴＳ１とする。同様に、セル面積を対応付けたｉ世代の共通化テーブルＴｉをＴＳｉとする。
【０１１６】
つぎに、算出部４２２は、実施の形態１と同様、スケーリング処理を実行する。共通化テーブル評価／再作成部４０４では、セル面積の値が小さいほど，共通化テーブルとしては得点が大きくなるようにスケーリングを実行する。まず、対象とする共通化テーブル群ＴＳｉ（ここでは第１世代の共通化テーブル群ＴＳ１）から選ばれた共通化テーブルのセル面積の値ｇについて、共通化テーブル群ＴＳｉのセル面積の最小値ｇ＿ｍｉｎで割る。割った結果を２から引く。
【０１１７】
ｇ´＝２−ｇ／ｇ＿ｍｉｎ・・・（２）
【０１１８】
ただし、ｇ´はスケーリング処理後の得点である。これにより、セル面積の値ｇが小さいほど得点ｇ´は大きくなる。このあと、上述したシグマスケーリングを実行して選択格差を広げる。
【０１１９】
図３２は、シグマスケーリング処理結果を示す説明図である。具体的には、上記式（１）のｆに得点ｇ´の値を代入する。また、各セル面積の値ｇごとに得られたｇ´の平均値ｇ´avgを算出し、上記式（１）のｆ´avgに代入する。これにより、共通化テーブルＴ１−０１〜Ｔ１−２０ごとに、得点ｆ´を算出することができる。
【０１２０】
図３２に示したように、得点ｆ´が算出されたため、その後の処理は、実施の形態１と同様である。すなわち、図３２に示した得点ｆ´を用いて、第２の作成部４２３により、エリート選択およびルーレット選択（図１５および図１６を参照）、交叉（図１７を参照）、突然変異（図１８を参照）を実行する。そして、図１９に示した場合と同様、エリート選択とルーレット選択により選択されたＮ／２個の次世代の親（生き残り）と，あらたに生成されたＮ／２個の次世代の子を合わせて、Ｎ個の共通化テーブルからなる次世代の共通化テーブル群Ｔｉを生成する。
【０１２１】
この次世代の共通化テーブル群Ｔｉの生成がｎ回に達した場合、第ｎ世代の共通化テーブル群Ｔｎの中から最高得点となる特定の共通化テーブルＴｎ−ｘを選択する。そして、選択された特定の共通化テーブルＴｎ−ｘを用いて、実施の形態１と同様、併合部４０５により回路Ａと回路Ｂとの併合処理を実行する（図２０〜図２５を参照）。そして、併合処理によりマージされた回路情報ＤＡＢの論理合成結果ｄａｂを取得部４０８が取得することで、最終的なネットリストを得ることとなる。
【０１２２】
（設計支援処理手順）
図３３は、実施の形態２にかかる設計支援装置３０００の設計支援処理手順を示すフローチャートである。まず、排他的な動作をする回路Ａ，回路Ｂの回路情報（たとえば、ネットリスト）を取得しておき（ステップＳ３３０１）、ＦＦ情報抽出部４１１により、図６−１〜図６−２に示したように、ＦＦ情報を抽出する（ステップＳ３３０２）。
【０１２３】
そして、第１の作成部４０２により、図８−１〜図９に示したように、共通化テーブル作成処理を実行する（ステップＳ３３０３）。これにより、第１世代の共通化テーブル群Ｔ１が作成される。
【０１２４】
つぎに、仮併合部３００１により、仮マージ処理を実行する（ステップＳ３３０４）。仮マージ処理（ステップＳ３３０４）では、対象とする現世代（第ｉ世代）の共通化テーブル群Ｔｉ内のすべての共通化テーブルＴｉ―０１〜Ｔｉ−Ｎを用いて、回路Ａと回路Ｂとのマージ処理を実行する。詳細は後述する。マージ処理（ステップＳ３３０４）により、対象とする第ｉ世代の共通化テーブルごとに仮併合回路（ＡＢ）の回路情報（ＤＡＢ）を得ることができる。
【０１２５】
つぎに、仮論理合成結果取得処理を実行する（ステップＳ３３０５）。仮論理合成結果取得処理（ステップＳ３３０５）では、仮マージ処理（ステップＳ３３０４）での仮併合回路（ＡＢ）の回路情報（ＤＡＢ）ごとに論理合成結果（ｄａｂ）を取得する。詳細は後述する。仮論理合成により回路（ＡＢ）の回路情報（ＤＡＢ）は論理圧縮され、セル面積が算出される。
【０１２６】
そして、規定回数（ｎ回）実行したか否かを判断する（ステップＳ３３０６）。規定回数に達していない場合（ステップＳ３３０６：Ｎｏ）、最新世代の各共通化テーブルに対応するセル面積を関連付ける（ステップＳ３３０７）。そして、上記式（２）を用いて、関連付けされた各セル面積の換算処理を実行する（ステップＳ３３０８）。この換算処理により得点ｇ´が現世代の共通化テーブルごとに得られる。そして、次世代作成処理を実行する（ステップＳ３３０９）。
【０１２７】
次世代作成処理（ステップＳ３３０９）では、共通化テーブルごとの得点ｇ´を式（１）のｆとし、各セル面積の値ｇごとに得られたｇ´の平均値ｇ´avgを上記式（１）のｆ´avgとして、スケーリング処理（ステップＳ２８０１）を実行することとなる。なお、次世代作成処理（ステップＳ３３０９）が実行されることにより、次世代の共通化テーブル群Ｔｉが生成されて、ステップＳ３３０４に移行する。仮マージ処理（ステップＳ３３０４）では、ステップＳ３３０９で生成された次世代の共通化テーブル群Ｔｉを現世代の共通化テーブル群として、併合処理を実行することとなる。
【０１２８】
一方、ステップＳ３３０６において、規定回数（ｎ回）実行した場合（ステップＳ３３０６：Ｙｅｓ）、現世代（第ｎ世代）の共通化テーブル群Ｔｎの中から得点ｇ´の値が最高得点となる共通化テーブルＴｎｇを抽出する（ステップＳ３３１０）。そして、併合部４０５により、図２０〜図２５に示したように、マージ処理を実行する（ステップＳ３３１１）。これにより、図２５に示したようなマージされた併合回路ＡＢの回路情報ＤＡＢが生成される。最後に、取得部４０８により、併合回路ＡＢの回路情報ＤＡＢの論理合成結果ｄａｂを取得して（ステップＳ３３１２）、最終的なネットリストを得ることとなる。
【０１２９】
図３４は、図３３に示した仮マージ処理（ステップＳ３３０４）の詳細な処理手順を示すフローチャートである。まず、現世代の共通化テーブル群Ｔｉにおいて、未選択の共通化テーブルがあるか否かを判断する（ステップＳ３４０１）。未選択の共通化テーブルがある場合（ステップＳ３４０１：Ｙｅｓ）、未選択の共通化テーブルを１つ取得する（ステップＳ３４０２）。つぎに、図２１に示したように、共通化ＦＦおよびセレクタの共通回路情報ＮＦＳを生成する（ステップＳ３４０３）。そして、図２２に示したように、置換テーブルＴＣを生成する（ステップＳ３４０４）。
【０１３０】
このあと、図２３に示したように、回路Ａの回路情報ＤＡのインスタンス名とネット名を固有化し（ステップＳ３４０５）、図２４に示したように、回路Ｂの回路情報ＤＢのインスタンス名とネット名を固有化する（ステップＳ３４０６）。そして、図２５に示したように、回路Ａの回路情報ＮＡと回路Ｂの回路情報ＮＢを併合して（ステップＳ３４０７）、併合回路ＡＢの回路情報ＤＡＢをメモリに保存する（ステップＳ３４０８）。そして、ステップＳ３４０１に戻る。
【０１３１】
このステップＳ３４０１〜Ｓ３４０８のループを実行することで、共通化テーブルごとの併合回路ＡＢの回路情報ＤＡＢを得ることができる。また、ステップＳ３４０１において、未選択の共通化テーブルがない場合（ステップＳ３４０１：Ｎｏ）、仮マージ処理を終了して仮論理合成結果取得処理（ステップＳ３３０５）に移行する。
【０１３２】
図３５は、図３３に示した仮論理合成結果取得処理（ステップＳ３３０５）の詳細な処理手順を示すフローチャートである。まず、未選択の仮併合回路（ＡＢ）の回路情報（ＤＡＢ）があるか否かを判断し（ステップＳ３５０１）、未選択の仮併合回路（ＡＢ）の回路情報（ＤＡＢ）がある場合（ステップＳ３５０１：Ｙｅｓ）、未選択の仮併合回路（ＡＢ）の回路情報（ＤＡＢ）を取得する（ステップＳ３５０２）。そして、取得された仮併合回路（ＡＢ）の回路情報（ＤＡＢ）について仮論理合成結果（ｄａｂ）を取得し（ステップＳ３５０３）、仮論理合成結果（ｄａｂ）をメモリに保存する（ステップＳ３５０４）。
【０１３３】
このステップＳ３５０１〜Ｓ３５０４のループを実行することで、仮併合回路（ＡＢ）の回路情報（ＤＡＢ）ごとに論理圧縮することができる。また、ステップＳ３５０１において、未選択の仮併合回路（ＡＢ）の回路情報（ＤＡＢ）がない場合（ステップＳ３５０１：Ｎｏ）、図３３のステップＳ３３０６に移行することとなる。
【０１３４】
このように、実施の形態２によれば、リーク電流や面積を削減するために、使用／未使用が排他的な回路を共通化する。具体的には，ＦＦに着目してＦＦを共通化する。ＦＦを共通化することでＦＦに入力される信号を作り出す組み合わせ回路を論理圧縮することができる。
【０１３５】
また、ＦＦの共通化には論理圧縮度合い（得点ｇ´）を用いる。得点ｇ´が小さくなる組み合わせを探すことで、実施の形態１よりもより効果的に組み合わせ回路の論理圧縮の可能性の向上を図ることができる。また、共通化した分だけＦＦの数は削減できるため、面積とリーク電流の削減を図ることができる。
【０１３６】
また、入力の共通性に着目しているため、論理圧縮の効果を上げ、組み合わせ回路の削減も期待することができる。また、実施の形態１と同様、論理圧縮度合いを用いた場合でも、回路動作を理解していなくても共通化マッピングをすることができる。
【０１３７】
以上のことから、実施の形態１，２によれば、排他的に動作しあう回路内部の入力の共通性を評価することにより、回路動作を理解していなくてもマージすることができる。したがって、回路の内部構成を意識することなく、ＬＳＩの消費電力の低減化および面積削減を図ることができるという効果を奏する。
【０１３８】
なお、実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１３９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４０】
（付記１）コンピュータを、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力する入力手段、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段、
対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換する変換手段、
前記一方のパス情報および前記変換手段による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出する算出手段、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段、
として機能させることを特徴とする設計支援プログラム。
【０１４１】
（付記２）前記第２の作成手段は、
前記遺伝的アルゴリズムの交叉により、前記対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記１に記載の設計支援プログラム。
【０１４２】
（付記３）前記第２の作成手段は、
前記遺伝的アルゴリズムの突然変異により、前記対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記２に記載の設計支援プログラム。
【０１４３】
（付記４）前記第２の作成手段は、
前記遺伝的アルゴリズムのエリート選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を作成することを特徴とする付記２または３に記載の設計支援プログラム。
【０１４４】
（付記５）前記第２の作成手段は、
前記遺伝的アルゴリズムのルーレット選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を作成することを特徴とする付記２または３に記載の設計支援プログラム。
【０１４５】
（付記６）前記第２の作成手段は、
前記遺伝的アルゴリズムのエリート選択およびルーレット選択の混合選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を作成することを特徴とする付記２または３に記載の設計支援プログラム。
【０１４６】
（付記７）前記コンピュータを、
前記併合手段によって得られた共通回路情報内の共通のデータ保持素子の出力ネットと、前記一方の識別情報により特定されるデータ保持素子の出力ネットと、前記他方の識別情報により特定されるデータ保持素子の出力ネットとを対応付ける置換テーブルを作成する置換テーブル作成手段、
前記置換テーブル作成手段によって作成された置換テーブルを参照して、前記一方の回路情報に記述されている出力ネットを当該出力ネットに対応する前記共通のデータ保持素子の出力ネットに置換するとともに、前記他方の回路情報に記述されている出力ネットを当該出力ネットに対応する前記共通のデータ保持素子の出力ネットに置換する置換手段として機能させ、
前記併合手段は、
前記置換手段による置換後の前記一方の回路情報と前記置換手段による置換後の前記他方の回路情報と前記共通回路情報とを統合することにより、前記併合回路の回路情報を生成することを特徴とする付記１〜６のいずれか１つに記載の設計支援プログラム。
【０１４７】
（付記８）前記コンピュータを、
前記併合手段によって併合された併合回路の回路情報の論理合成結果を取得する取得手段として機能させることを特徴とする付記１〜７のいずれか１つに記載の設計支援プログラム。
【０１４８】
（付記９）コンピュータを、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、を入力する入力手段、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段、
対象となる共通化テーブル群内の共通化テーブルごとに、当該共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した仮併合回路の回路情報を生成する仮併合手段、
前記仮併合手段によって前記対象となる共通化テーブル群内の共通化テーブルごとに生成された前記仮併合回路の回路情報の論理合成結果を取得する仮取得手段、
前記仮取得手段によって取得された前記仮併合回路の回路情報ごとの論理合成結果から得られる前記仮併合回路に関する面積情報に基づいて、論理合成による論理圧縮度合いをあらわす評価値を、前記対象となる共通化テーブル群内の共通化テーブルごとに算出する算出手段、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段、
として機能させることを特徴とする設計支援プログラム。
【０１４９】
（付記１０）前記生成手段は、
前記遺伝的アルゴリズムの交叉により、前記対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記９に記載の設計支援プログラム。
【０１５０】
（付記１１）前記生成手段は、
前記遺伝的アルゴリズムの突然変異により、前記対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記１０に記載の設計支援プログラム。
【０１５１】
（付記１２）前記生成手段は、
前記遺伝的アルゴリズムのエリート選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記１０または１１に記載の設計支援プログラム。
【０１５２】
（付記１３）前記生成手段は、
前記遺伝的アルゴリズムのルーレット選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記１０または１１に記載の設計支援プログラム。
【０１５３】
（付記１４）前記生成手段は、
前記遺伝的アルゴリズムのエリート選択およびルーレット選択の混合選択により、前記対象となる共通化テーブル群の中から前記交叉の対象となる共通化テーブル群を選択し、前記交叉により、前記交叉の対象となる共通化テーブル群から前記次世代の共通化テーブル群を生成することを特徴とする付記１０または１１に記載の設計支援プログラム。
【０１５４】
（付記１５）前記コンピュータを、
前記併合手段によって得られた共通回路情報内の共通のデータ保持素子の出力ネットと、前記一方の識別情報により特定されるデータ保持素子の出力ネットと、前記他方の識別情報により特定されるデータ保持素子の出力ネットとを対応付ける置換テーブルを作成する置換テーブル作成手段、
前記置換テーブル作成手段によって作成された置換テーブルを参照して、前記一方の回路情報に記述されている出力ネットを当該出力ネットに対応する前記共通のデータ保持素子の出力ネットに置換するとともに、前記他方の回路情報に記述されている出力ネットを当該出力ネットに対応する前記共通のデータ保持素子の出力ネットに置換する置換手段として機能させ、
前記併合手段は、
前記置換手段による置換後の前記一方の回路情報と前記置換手段による置換後の前記他方の回路情報と前記共通回路情報とを統合することにより、前記併合回路の回路情報を生成することを特徴とする付記９〜１４のいずれか１つに記載の設計支援プログラム。
【０１５５】
（付記１６）前記コンピュータを、
前記併合手段によって併合された併合回路の回路情報の論理合成結果を取得する取得手段として機能させることを特徴とする付記９〜１５のいずれか１つに記載の設計支援プログラム。
【０１５６】
（付記１７）排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力する入力手段と、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段と、
対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換する変換手段と、
前記一方のパス情報および前記変換手段による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出する算出手段と、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段と、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段と、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段と、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段と、
を備えることを特徴とする設計支援装置。
【０１５７】
（付記１８）排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、を入力する入力手段と、
前記入力手段によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成手段と、
対象となる共通化テーブル群内の共通化テーブルごとに、当該共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した仮併合回路の回路情報を生成する仮併合手段と、
前記仮併合手段によって前記対象となる共通化テーブル群内の共通化テーブルごとに生成された前記仮併合回路の回路情報の論理合成結果を取得する仮取得手段と、
前記仮取得手段によって取得された前記仮併合回路の回路情報ごとの論理合成結果から得られる前記仮併合回路に関する面積情報に基づいて、論理合成による論理圧縮度合いをあらわす評価値を、前記対象となる共通化テーブル群内の共通化テーブルごとに算出する算出手段と、
前記算出手段によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成手段と、
前記第１および第２の作成手段によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定手段と、
前記設定手段によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択手段と、
前記選択手段によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合手段と、
を備えることを特徴とする設計支援装置。
【０１５８】
（付記１９）コンピュータが、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、前記一方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「一方のパス情報」）と、前記他方の対象回路内の出力先となるデータ保持素子の識別情報とその入力元となるデータ保持素子の識別情報との対応関係を示すパス情報（以下、「他方のパス情報」）と、を入力する入力工程と、
前記入力工程によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成工程と、
対象となる共通化テーブル群を参照することにより、前記対象となる共通化テーブルごとに、当該前記他方のパス情報内の前記他方の識別情報を前記一方の識別情報に変換する変換工程と、
前記一方のパス情報および前記変換工程による変換後の他方のパス情報内における、同一出力先の識別情報に対する入力元の識別情報の共通性をあらわす評価値を、前記共通化テーブルごとに算出する算出工程と、
前記算出工程によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成工程と、
前記第１および第２の作成工程によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定工程と、
前記設定工程によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択工程と、
前記選択工程によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合工程と、
を実行することを特徴とする設計支援方法。
【０１５９】
（付記２０）コンピュータが、
排他的に動作しあう対象回路のうち、一方の対象回路内のデータ保持素子の識別情報（以下、「一方の識別情報」）と、他方の対象回路内のデータ保持素子の識別情報（以下、「他方の識別情報」）と、を入力する入力工程と、
前記入力工程によって入力された前記一方の識別情報に前記他方の識別情報をランダムに割り当てた共通化テーブルを複数とおり作成する第１の作成工程と、
対象となる共通化テーブル群内の共通化テーブルごとに、当該共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した仮併合回路の回路情報を生成する仮併合工程と、
前記仮併合工程によって前記対象となる共通化テーブル群内の共通化テーブルごとに生成された前記仮併合回路の回路情報の論理合成結果を取得する仮取得工程と、
前記仮取得工程によって取得された前記仮併合回路の回路情報ごとの論理合成結果から得られる前記仮併合回路に関する面積情報に基づいて、論理合成による論理圧縮度合いをあらわす評価値を、前記対象となる共通化テーブル群内の共通化テーブルごとに算出する算出工程と、
前記算出工程によって算出された評価値に基づいて、遺伝的アルゴリズムにより、前記対象となる共通化テーブル群から次世代の共通化テーブル群を作成する第２の作成工程と、
前記第１および第２の作成工程によって作成された共通化テーブル群のうち最新の共通化テーブル群を前記対象となる共通化テーブル群に設定する設定工程と、
前記設定工程によって設定された前記対象となる共通化テーブル群の中から特定の共通化テーブルを選択する選択工程と、
前記選択工程によって選択された特定の共通化テーブルにおいて一方の識別情報により特定されるデータ保持素子に関する一方の回路情報および当該一方の識別情報に対応する他方の識別情報により特定されるデータ保持素子に関する他方の回路情報を、前記一方の識別情報により特定されるデータ保持素子の入力ネットおよび前記他方の識別情報により特定されるデータ保持素子の入力ネットとを共通のデータ保持素子に排他的に接続する共通回路情報に変換することにより、前記一方の回路情報および前記他方の回路情報を併合した併合回路の回路情報を生成する併合工程と、
を実行することを特徴とする設計支援方法。
【符号の説明】
【０１６０】
４００  設計支援装置
４０１  入力部
４０２  第１の作成部
４０３  評価関数情報作成部
４０４  共通化テーブル評価／再作成部
４０５  併合部
４０６  置換テーブル作成部
４０７  置換部
４０８  取得部
４２１  変換部
４２２  算出部
４２３  第２の作成部
４２４  設定部
４２５  選択部
３０００  設計支援装置
３００１  仮併合部
３００２  仮取得部
【図１】
2011028631.tif 000003
【図２】
2011028631.tif 000004
【図３】
2011028631.tif 000005
【図４−１】
2011028631.tif 000006
【図４−２】
2011028631.tif 000007
【図５】
2011028631.tif 000008
【図６−１】
2011028631.tif 000009
【図６−２】
2011028631.tif 000010
【図７−１】
2011028631.tif 000011
【図７−２】
2011028631.tif 000012
【図８−１】
2011028631.tif 000013
【図８−２】
2011028631.tif 000014
【図９】
2011028631.tif 000015
【図１０−１】
2011028631.tif 000016
【図１０−２】
2011028631.tif 000017
【図１１−１】
2011028631.tif 000018
【図１１−２】
2011028631.tif 000019
【図１２】
2011028631.tif 000020
【図１３】
2011028631.tif 000021
【図１４】
2011028631.tif 000022
【図１５】
2011028631.tif 000023
【図１６】
2011028631.tif 000024
【図１７】
2011028631.tif 000025
【図１８】
2011028631.tif 000026
【図１９】
2011028631.tif 000027
【図２０】
2011028631.tif 000028
【図２１】
2011028631.tif 000029
【図２２】
2011028631.tif 000030
【図２３】
2011028631.tif 000031
【図２４】
2011028631.tif 000032
【図２５】
2011028631.tif 000033
【図２６】
2011028631.tif 000034
【図２７】
2011028631.tif 000035
【図２８】
2011028631.tif 000036
【図２９】
2011028631.tif 000037
【図３０−１】
2011028631.tif 000038
【図３０−２】
2011028631.tif 000039
【図３１】
2011028631.tif 000040
【図３２】
2011028631.tif 000041
【図３３】
2011028631.tif 000042
【図３４】
2011028631.tif 000043
【図３５】
2011028631.tif 000044