(57)【要約】【課題】回路全体のＲＴＬ記述の中から一つか数個程度のブール式で表現される回路動作を、小規模な回路あるいはディレイの小さい回路動作に変換し、変換後のＲＴＬ記述を論理合成することによって回路の規模削減や高速化を可能にする。【解決手段】回路記述変換システムは、回路の動作を記述した回路記述と、一つから数個程度のブール式で表現される要素回路をライブラリとして登録する要素回路記述データベースと、回路記述と要素回路記述データベースを入力し、要素回路記述データベースに登録されている要素回路が回路記述に含まれるかを探索して抽出するデータベース登録回路抽出機能と、回路記述を探索して抽出したデータベース登録回路情報のレポートと、回路記述から抽出されたデータベース登録回路をライブラリとして定義されるどのブール式に変換するかを指定する変換指示と、回路記述の中の抽出された回路を変換指示が示すブール式に変換し、変換後の回路記述を出力する回路記述変換機能を有する。【選択図】図１
2019197266.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述言語で書かれた半導体集積回路装置の回路記述を変換する回路記述変換システムであって、
回路の動作を記述した回路記述と、
要素回路の回路記述を登録する要素回路記述データベースと、
前記回路記述と前記要素回路記述データベースを入力し、前記要素回路記述データベースに登録されている前記要素回路が前記回路記述に含まれるかを探索して抽出するデータベース登録回路抽出機能と、
前記回路記述の中の抽出された要素回路を前記要素回路記述データベースに登録されている前記要素回路の記述に変換する回路記述変換機能と、を有することを特徴とする回路記述変換システム。
【請求項２】
請求項１に記載の回路記述変換システムにおいて、
前記要素回路記述データベースは要素回路に対して複数の回路記述を持つ、
ことを特徴とする回路記述変換システム。
【請求項３】
請求項１に記載の回路記述変換システムにおいて、
前記データベース登録回路抽出機能は、前記回路記述から探索して抽出した要素回路について、抽出の有無、抽出した要素回路の機能および登録されている回路記述をレポートとして出力する、
ことを特徴とする回路記述変換システム。
【請求項４】
ハードウェア記述言語で書かれた半導体集積回路装置の要素回路記述を検索する回路記述検索システムであって、
要素回路の動作を記述した要素回路記述と、
要素回路の回路記述を登録する要素回路記述データベースと、
前記要素回路記述と前記要素回路記述データベースを入力し、前記要素回路記述に記述されている要素回路が前記要素回路記述データベースに登録されているかを検索するデータベース登録回路検索機能と、
検索の結果をレポートとして出力する第１レポート機能と、を有する、
ことを特徴とする回路記述検索システム。
【請求項５】
請求項４に記載の回路記述検索システムにおいて、さらに、
前記要素回路記述を論理合成する論理合成機能と、
前記論理合成の結果をレポートとして出力する第２レポート機能と、
前記要素回路記述を前記要素回路記述データベースに登録するデータベース登録機能と、を有する、
ことを特徴とする回路記述検索システム。
【請求項６】
請求項５に記載の回路記述検索システムにおいて、
前記第２レポート機能は、前記レポートとして、ゲート数およびディレイを出力する、
ことを特徴とする回路記述検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に搭載するフィールドプログラマブルゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）や特定用途向け半導体集積回路（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）などの大規模半導体集積回路装置（ＬＳＩ：Ｌａｒｇｅ−Ｓｃａｌｅ ｓｅｍｉｃｏｎｄｕｃｔｏｒ Ｉｎｔｅｇｒａｔｅｄ ｃｉｒｃｕｉｔ ｄｅｖｉｃｅ）の開発技術に関する。
【背景技術】
【０００２】
大規模半導体集積回路装置ＬＳＩの開発は、ハードウェア記述言語（ＨＤＬ：Ｈａｒｄｗａｒｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）を用いて抽象的な回路の動作に関する記述を行い、論理合成ツールによってＨＤＬを論理回路に変換し、配置配線を行うという手順で行われる。ＨＤＬには、ＶＨＤＬ、Ｖｅｒｉｌｏｇ ＨＤＬ、ＳｙｓｔｅｍＶｅｒｉｌｏｇなどがある。近年ではＬＳＩの大規模化に伴い、Ｃ言語やＣ＋＋言語といった高級プログラミング言語を用いて、より抽象度の高い動作記述から論理回路を生成する高位合成が注目されている。高位合成を利用した効率の高いＬＳＩ開発が可能になる中、回路の小型化や高速化のためにＲＴＬ（Ｒｅｇｉｓｔｅｒ Ｔｒａｎｓｆｅｒ Ｌｅｖｅｌ）の設計は依然として必要というのが現実である。ＲＴＬ設計とは順序回路（レジスタ）を明示的に示し、順序回路と順序回路の間の組合せ回路を記述するという設計スタイルである。ＲＴＬ記述には、真理値表、状態遷移記述、ブール式がある。論理合成ツールが生成する回路は、ＲＴＬ記述の仕方に依存する。つまり同じ回路動作でも、ＲＴＬ記述によって生成される回路の規模やディレイが変化する。目標とする回路規模やディレイを実現するためには、回路構造を意識してＲＴＬ設計を行う必要がある。
【０００３】
回路構造を意識してＲＴＬ設計を行うためには、回路設計の知見やノウハウ、使用するＬＳＩの回路構造の理解が必要であり、最適設計を行うには時間がかかる。そこで、一度設計したＲＴＬ記述を再利用するという方法がよく用いられている。
【０００４】
特表平１０−５０７０１３号公報（特許文献１）には、バスに接続された複数の設計済みの回路をライブラリに登録し、設計者が使いたい回路をライブラリから探索して選択し、設計する回路全体の一部に埋め込んでバスに接続するという設計手法が記載されている。
【０００５】
特開２００７−１０２６３１号公報（特許文献２）には、多階層論理回路の論理合成スクリプト作成時の、下位階層モジュールに対する合成指示や合成設定の煩雑さを削減するとともに、下位階層モジュールのＨＤＬ記述の再利用を容易化する手法が記載されている。
【０００６】
特開２００２−０７３７１２号公報（特許文献３）には、過去に設計された回路を再利用する場合に、なるべく設計資産を改変せずに、必要となる動作速度や回路規模に応じて設計資産情報を変換する方法ならびにＣＡＤ（Ｃｏｍｐｕｔｅｒ Ａｉｄｅｄ Ｄｅｓｉｇｎ）装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表平１０−５０７０１３号公報
【特許文献２】特開２００７−１０２６３１号公報
【特許文献３】特開２００２−０７３７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術は過去に設計された回路を設計資産として再利用し易くする方法に関するもので、大規模半導体集積回路装置ＬＳＩの開発期間の短縮に効果があると思われる。しかしながら、設計対象の回路がバスに接続された回路という特定の機能であり、任意の回路動作を対象にしたものではない。すなわち、従来技術が適用できる設計対象が限られてしまう。
【０００９】
本発明は上記課題を鑑みて考案したものであり、回路全体のＲＴＬ記述の中から一つから数個程度のブール式で表現される回路動作を、小規模な回路あるいはディレイの小さい回路動作に変換し、変換後のＲＴＬ記述を論理合成することによって回路の規模削減や高速化を可能にすることを課題とする。
【００１０】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
本発明の回路記述変換システムは、回路の動作を記述した回路記述と、一つから数個程度のブール式で表現される要素回路をライブラリとして登録する要素回路記述データベースと、回路記述と要素回路記述データベースを入力し、要素回路記述データベースに登録されている要素回路が回路記述に含まれるかを探索して抽出するデータベース登録回路抽出機能と、回路記述を探索して抽出したデータベース登録回路情報のレポートと、回路記述から抽出されたデータベース登録回路をライブラリとして定義されるどのブール式に変換するかを指定する変換指示と、回路記述の中の抽出された回路を変換指示が示すブール式に変換し、変換後の回路記述を出力する回路記述変換機能を有する。
【発明の効果】
【００１３】
本発明によれば、回路記述からデータベースに登録された要素回路記述を探索して抽出し、その結果から変換指示を与えることによって、回路記述の中の抽出された回路を自動変換できるため、回路規模や動作速度が最適化された回路設計を簡単かつ汎用性高くして実施可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施例で、回路記述を要素回路記述データベースによって回路記述変換するシステムのブロック図である。
【図２】回路記述の例を示す図である。
【図３】図２の回路記述を回路図で表現した図である。
【図４】回路記述の別の例を示す図である。
【図５】図４の回路記述を回路図で表現した図である。
【図６】実施例１におけるデータベース登録回路抽出機能のフローチャートを示す図である。
【図７】実施例１における回路記述変換機能のフローチャートを示す図である。
【図８】本発明の第２の実施例で、要素回路記述を要素回路記述データベースに登録するシステムのブロック図である。
【図９】実施例２におけるデータベース登録回路検索機能のフローチャートを示す図である。
【図１０】実施例２における論理合成機能のフローチャートを示す図である。
【図１１】実施例２におけるデータベース登録機能のフローチャートを示す図である。
【発明を実施するための形態】
【実施例１】
【００１５】
図１は、本発明の第１の実施例で、回路記述を要素回路記述データベースによって回路記述変換する回路記述変換システムのブロック図である。回路記述変換システム１は、以下の構成を具備する。
【００１６】
１０は大規模半導体集積回路装置ＬＳＩとして設計する回路の動作を記述した回路記述である。回路記述１０は、ＶＨＤＬ、Ｖｅｒｉｌｏｇ ＨＤＬ、ＳｙｓｔｅｍＶｅｒｉｌｏｇなどのＨＤＬを使ってＲＴＬ設計する。回路記述１０には回路１（式）が含まれている。
【００１７】
２０は論理演算や数値演算の要素回路記述を登録したデータベースである。要素回路記述データベース２０には複数の要素回路を登録でき、要素回路には一つから数個程度の式が対応付けされている。すなわち、要素回路記述データベース２０は、１つの要素回路に対して複数の回路記述を持つことが出来る。２１はある論理演算または数値演算の回路１で、２２の符号が付けられた式１と２３の符号が付けられた式２がライブラリとして定義されて、要素回路記述データベース２０に登録されている。式１のブール式は回路１（２１）を少ない回路規模にするために、その回路規模が最適設計された式であり、式２のブール式は回路１（２１）を高速に動作させるために、その動作速度が最適設計された式である。
【００１８】
３０はデータベース登録回路抽出機能である。データベース登録回路抽出機能３０は、回路記述１０と要素回路記述データベース２０とを入力し、要素回路記述データベース２０に登録されている要素回路が回路記述１０に含まれるかを探索して抽出する。回路記述１０には複数の回路が記述されているが、その中に要素回路記述データベース２０に登録されている回路があるかどうかを探索して抽出を行う。回路の抽出方法の例として等価性検証を利用する方法が考えられる。等価性検証とは２つの回路が等価であることを証明することであり、全ての考えられる入力に対して、回路の出力がいつも同じ値を出力することと定義される。回路記述１０の回路（例えば、回路1（式））を要素回路記述データベースに登録されている全ての要素回路と等価性検証を行う。等価と判断された回路は抽出されたということになる。データベース登録回路抽出機能３０は、回路記述１０から探索して抽出した要素回路について、抽出の有無、抽出した要素回路の機能および登録されている回路記述を、抽出された要素回路の情報としてレポート３１に出力する。レポート３１は、登録されている要素回路が無かった場合には「抽出された回路なし」、登録されている要素回路があった場合には「抽出された回路がある」などのメッセージを出力する。レポート３１は、また、抽出された回路の数や回路記述の該当箇所を示す等といった出力方法も考えられる。
【００１９】
４０は回路記述変換機能である。回路記述変換機能４０は、回路記述１０の中の抽出された要素回路を要素回路記述データベース２０に登録されている要素回路の記述に変換する。設計者は、レポート３１を参照し、レポート３１に記載された抽出された要素回路の情報から、所望の要素回路を選択することが出来る。ここで、所望の要素回路の選択とは、レポート３１として、例えば、回路規模が小さくてディレイ（動作速度）が大きい回路と、回路規模が大きくてディレイ（動作速度）が小さい回路とが抽出された場合において、設計するＬＳＩに要求される回路特性の要素回路に従って、回路規模が小さくてディレイ（動作速度）が大きい回路または回路規模が大きくてディレイ（動作速度）が小さい回路のいずれか一方を選択することをいう。設計者は、レポート３１を参照し、回路記述変換機能４０に変換指示４１を与える。変換指示４１は回路記述１０から抽出されたデータベース登録回路（回路１（２１））をライブラリとして定義されるどのブール式（式１（２２）、式２（２３））に変換するかを指定する。例えば、「回路１を式１に変換する」、または、「回路１を式２に変換する」といった指示を行う。回路１を全て指定した式に変換する方法もあるが、回路記述１０の中の対象となる回路１ごとに個別に式を指定する方法も考えられる。回路記述変換機能４０は変換指示４１が示すブール式に従い、回路記述１０の回路１を変換指示４１が示すブール式に記述変換し、変換後回路記述５０を出力する。
【００２０】
図２は回路記述の例を示す図である。図２は、回路記述１０の回路1（式）の一例である。これはＶｅｒｉｌｏｇ ＨＤＬの代入（アサイン）文である。変数ｓに３つの変数ａ、ｂ、ｃの和を代入するという意味である。ａ、ｂ、ｃは３２ビットの整数、ｓは３３ビットの整数とする。
【００２１】
図３は図２の回路記述を回路図で表現した図である。２２０はそれぞれ３２ビットのａとｂを加算して３３ビットの和ｓａｂを出力する加算回路である。２２１はｓａｂと３２ビットのｃを加算して３３ビットの和ｓを出力する加算回路である。
【００２２】
図４は回路記述の別の例を示す図である。図４は、回路記述１０の回路1（式）の他の一例である。図４に示される回路記述は、図２と同じ回路動作になるが、３つの代入文で記述されている。最初の代入文は変数ｐｓに３つの変数ａ、ｂ、ｃの排他的論理和を代入するという意味である。２番目の代入文は変数ｓｃに３つの論理積（ａとｂの論理積、ａとｃの論理積、ｂとｃの論理積）の論理和を代入するという意味である。論理和、論理積などの論理演算は数値演算の和や積とは異なり、演算対象の対応するビットごとに演算を行う（ビット０同士、ビット１同士、…、ビット３１同士）。３番目の代入文は変数ｓにｐｓとｓｃを左に１ビットシフトした値を加算するという意味である。図４の回路記述は図２の回路記述と異なっているが、どちらもａ、ｂ、ｃの加算であり、結果ｓは同じ結果となる。
【００２３】
図５は図４の回路記述を回路図で表現した図である。２３０はそれぞれ３２ビットのａ、ｂ、ｃの排他的論理和演算を行い、３２ビットの結果ｐｓを出力する回路である。２３１はａとｂの論理積演算を行い、３２ビットの結果ａａｎｄｂを出力する回路である。２３２はａとｃの論理積演算を行い、３２ビットの結果ａａｎｄｃを出力する回路である。２３３はｂとｃの論理積演算を行い、３２ビットの結果ｂａｎｄｃを出力する回路である。２３４はａａｎｄｂ、ａａｎｄｃ、ｂａｎｄｃの論理和演算を行い３２ビットの結果ｓｃを出力する回路である。２３５はｓｃを左（上位側）に１ビットシフトし、３３ビットの結果ｓｃｌｓｆｔ１を出力する回路である。ここで、ｓｃｌｓｆｔ１［３２：１］＝ｓｃ［３１：０］、ｓｃｌｓｆｔ１［０］＝０である。つまり、左１ビットシフト回路２３５は回路を使わず、配線だけで実現される。２３６はｐｓとｓｃｌｓｆｔ１を加算して３３ビットの和ｓを出力する回路である。
【００２４】
ここで図３の回路と図５の回路を比較する。回路規模については、図３は３２ビットの加算回路２２０と３３ビットの加算回路２２１が必要である。一方、図５は３２ビットの３入力排他的論理和回路２３０、３つの３２ビットの２入力論理積回路（２３１、２３２、２３３）、３２ビットの３入力論理和回路２３４、３３ビットの加算回路２３６が必要である。回路規模は使用するＬＳＩによって異なるが、ＦＰＧＡの場合は図３より図５の方が多くのＬＵＴ（Ｌｏｏｋ Ｕｐ Ｔａｂｌｅ）を使用する。
【００２５】
回路のディレイについては、図３は３２ビットの加算回路２２０のディレイと３３ビットの加算回路２２１のディレイの和となる。加算回路２２０、２２１はそれぞれ桁上げ伝播加算を行うが、各桁で生じる桁上げを上位に伝播する必要があるためにディレイが大きくなる。一方、図５は２入力論理積回路（２３１、２３２、２３３）、３入力論理和回路２３４、左１ビットシフト回路２３５、加算回路のディレイの和となる。２入力論理積回路（２３１、２３２、２３３）のディレイは２入力論理積回路の１つ分であり、３入力論理和回路２３４のディレイは３入力論理和回路の１つ分であり、左１ビットシフト回路２３５のディレイは０である。図３の回路のディレイは３２ビット加算回路と３３ビット加算回路のディレイの和であったが、図５の回路のディレイは、２入力論理積回路１つと３入力論理和回路１つと３３ビット加算回路２３６のディレイの和となり、図５の回路は図３の回路よりディレイが小さくなる。
【００２６】
まとめると、図３の回路は回路規模が小さくてディレイ（動作速度）が大きい回路、図５の回路は回路規模が大きくてディレイ（動作速度）が小さい回路ということになる。このように、同じ動作の回路を、小規模な回路（図３）あるいは高速な回路（図５）になるように記述することができる。
【００２７】
図６は実施例１におけるデータベース登録回路抽出機能のフローチャートを示す図である。ステップ３００で回路記述１０を読み込む。次に、ステップ３０１で要素回路記述データベース２０からデータベース登録回路を読み込む。次に、ステップ３０２で回路記述１０から要素回路記述データベース２０に登録されている回路を探索して抽出する。すなわち、回路記述１０と機能的に同じ回路が要素回路記述データベース２０に登録された複数の回路の中から抽出される。抽出される回路は、無い場合もあるし、1つの場合あるいは複数の場合もある。最後に、ステップ３０３で抽出した回路のレポート３１を出力する。レポート３１は、登録されている要素回路が無かった場合には「抽出された回路なし」、登録されている要素回路があった場合には「抽出された回路がある」などのメッセージを出力する。また、抽出された回路の数や回路記述の該当箇所を示す等といった出力方法も考えられる。
【００２８】
図７は実施例１における回路記述変換機能のフローチャートを示す図である。ステップ４００で変換指示４１を読み込む。次に、ステップ４０１で回路記述１０とデータベース登録回路抽出機能３０が抽出した要素回路記述データベース２０の登録回路の抽出情報を読み込む。次に、ステップ４０２で変換指示４１が示すブール式に従い回路記述１０から抽出された回路を要素回路記述データベース２０の登録回路の式（ブール式）に変換する。最後に、ステップ４０３で変換した回路記述５０を出力する。
【００２９】
実施例１の回路記述変換システムは、回路の動作を記述した回路記述１０と、一つから数個程度のブール式で表現される要素回路をライブラリとして登録する要素回路記述データベース２０と、回路記述１０と要素回路記述データベース２０を入力し、要素回路記述データベース２０に登録されている要素回路が回路記述に含まれるかを探索して抽出するデータベース登録回路抽出機能３０と、回路記述を探索して抽出したデータベース登録回路情報のレポート３１と、回路記述１０から抽出されたデータベース登録回路をライブラリとして定義されるどのブール式に変換するかを指定する変換指示４１と、回路記述１０の中の抽出された回路を変換指示４１が示すブール式に変換し、変換後の回路記述を出力する回路記述変換機能４０を有する。
【００３０】
実施例１によれば、回路記述１０から要素回路記述データベース２０に登録された要素回路記述を探索して抽出し、その結果から変換指示４１を与えることによって、回路記述１０の中の抽出された回路を自動変換できるため、回路規模や動作速度が最適化された回路設計を簡単かつ汎用性を高くして実施可能になる。
【実施例２】
【００３１】
実施例１では、要素回路記述データベース２０に登録された回路１の（式１）（式２）の利用方法を説明した。実施例２では、要素回路記述データベース２０へ、例えば、回路１の（式３）を新規に登録することか可能な回路記述検索システムについて説明する。
【００３２】
図８は本発明の第２の実施例で、要素回路記述を要素回路記述データベースに登録する回路記述検索システムのブロック図である。回路記述検索システム２は、以下の構成を具備する。
【００３３】
１１は要素回路の動作を記述した要素回路記述（回路１（式３））である。半導体集積回路装置ＬＳＩの設計において小型化や高速化などの最適化を行った回路のうち、要素回路として汎用的に利用できるような回路が対象となる。要素回路記述１１はＶＨＤＬ、Ｖｅｒｉｌｏｇ ＨＤＬ、ＳｙｓｔｅｍＶｅｒｉｌｏｇなどのＨＤＬを使ってＲＴＬ設計されている。
【００３４】
２０は論理演算や数値演算の要素回路の回路記述を登録したデータベースである。要素回路記述データベース２０には複数の要素回路を登録でき、要素回路には１つまたは複数の式が対応付けできる。
【００３５】
２１はある論理演算または数値演算の回路１で、２２の符号が付けられた式１と２３の符号が付けられた式２が登録されている。式１は回路１（２１）を少ない回路で実現するための式であり、式２は回路１（２１）を高速な回路で実現するための式である。
【００３６】
６０はデータベース登録回路検索機能である。データベース登録回路検索機能６０は、要素回路記述１１と要素回路記述データベース２０を入力し、要素回路記述１１に記述されている要素回路が要素回路記述データベース２０に登録されているかを検索する。要素回路記述データベース２０には複数の回路と対応する式が登録されているが、データベース登録回路検索機能６０は要素回路記述データベース２０の中から要素回路記述１１に記述されている回路および対応する式があるかどうかを探索する。検索された要素回路の情報は、第１レポート機能により、検索の結果としてレポート６１に出力される。レポート６１は、要素回路記述１１に記述されている回路が要素回路記述データベースに登録されていない場合には「要素回路の登録なし」、要素回路記述１１に記述されている回路が要素回路記述データベースに登録されているが式が異なる場合には「登録された回路があるが式が異なる」、要素回路記述１１に記述されている回路が要素回路記述データベースに登録されており式が同じ場合には「登録された回路があり式が一致する」などのメッセージを出力する。
【００３７】
７０は論理合成機能である。論理合成機能７０は要素回路記述１１を論理合成する。要素回路記述１１の登録者は論理合成機能７０に合成指示７１を与える。例えば、「回路１を合成する」といった指示を行う。論理合成機能７０は合成指示７１に従い、要素回路記述１１を合成して回路に変換し、第２レポート機能により、論理合成の結果をレポート７２として出力する。レポート７２の内容としては、ゲート数やディレイが考えられる。
【００３８】
８０はデータベース登録機能である。データベース登録機能８０は、要素回路記述１１を要素回路記述データベース２０に登録する。要素回路記述１１の登録者はデータベース登録機能８０にデータベース登録指示８１を与える。例えば、「回路１とその式３を登録する」といった指示を行う。データベース登録機能８０は登録指示８１に従い、要素回路記述１１の回路１（式３）を要素回路記述データベース２０の回路１（２１）の式３（２４）として登録する。したがって、要素回路記述データベース２０には、回路１（２１）の式１（２２）、式２（２３）および式３（２４）の様に、回路１（２１）に対して複数の式（式１、式２、式３）を登録できる。このように、要素回路記述データベース２０に登録されていなかった回路１（２１）に対しする式３を要素回路記述データベース２０への新規な式３として登録できる。これにより、要素回路記述データベース２０の利便性や応用性を向上させることが可能である。
【００３９】
なお、登録するデータとしては、要素回路記述１１の回路１（式３）とともに、レポート７２の内容も登録するのが良い。これにより、実施例２の要素回路記述データベース２０を、実施例１の要素回路記述データベース２０として利用する場合において、レポート３１のレポート内容に、ゲート数（回路規模）やディレイ（動作速度）を含ませることが出来るので、設計者は、レポート３１の内容から、所望の要素回路の構成を選択できる。
【００４０】
また、これにより、設計したいＬＳＩに応じて、回路１の回路構成を複数の式（式１、式２、式３）の中から選択して利用できる。したがって、設計したい要素回路の特性（低速だが小規模な回路、大規模だが高速な回路、比較的小規模でかつ比較的高速な回路等）に応じたＬＳＩを設計することが可能になる。
【００４１】
図９は実施例２におけるデータベース登録回路検索機能のフローチャートである。ステップ６００で要素回路記述１１を読み込む。次にステップ６０１で要素回路記述データベース２０の登録回路を読み込む。次にステップ６０２で要素回路記述１１を要素回路記述データベース２０の登録回路から検索する。最後に、ステップ６０３で検索した回路のレポート６１を出力する。
【００４２】
図１０は実施例２における論理合成機能のフローチャートである。ステップ７００で合成指示７１を読み込む。次にステップ７０２で要素回路記述１１を合成する。最後にステップ７０２で合成結果のレポート７２（ゲート数、ディレイ）を出力する。
【００４３】
図１１は実施例２におけるデータベース登録機能のフローチャートである。ステップ８００でデータベース登録指示８１を読み込む。ステップ８０１で要素回路記述１１を要素回路記述データベース２０に登録する。
【００４４】
実施例２によれば、検索された要素回路の情報はレポートが、例えば、「要素回路の登録なし」または「登録された回路があるが式が異なる」の場合、データベース登録機能８０に登録指示８１を行うことにより、要素回路記述データベース２０にライブラリとして新規な式を登録することができる。これにより、要素回路記述データベース２０に登録される登録回路のライブラリを充実させることができる。
【００４５】
また、要素回路記述データベース２０に登録されていなかった回路１（２１）に対する式３を要素回路記述データベース２０へ新規な式３として登録できるので、要素回路記述データベース２０に登録される登録回路（回路１（２１））のライブラリを充実させることができ、要素回路記述データベース２０の利便性や応用性を向上させることが可能である。
【００４６】
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は、上記実施形態および実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【００４７】
１０：回路記述
２０：要素回路記述データベース
２１：要素回路１
２２：要素回路１を記述した式１
２３：要素回路１を記述した式２
２４：要素回路１を記述した式３
３０：データベース登録回路抽出機能
３１：データベース登録回路抽出結果のレポート
４０：回路記述変換機能
４１：回路記述変換への変換指示
５０：変換後の回路記述
６０：データベース登録回路検索機能
６１：データベース登録回路検索結果のレポート
７０：論理合成機能
７１：論理合成機能への合成指示
７２：論理合成結果のレポート
８０：データベース登録機能
８１：データベース登録機能へのデータベース登録指示
２２０、２２１、２３６：加算回路
２３０：排他的論理和回路
２３１、２３２、２３３：論理積回路
２３４：論理和回路
２３５：１ビット左シフト回路
【図１】
2019197266.tif 000003
【図２】
2019197266.tif 000004
【図３】
2019197266.tif 000005
【図４】
2019197266.tif 000006
【図５】
2019197266.tif 000007
【図６】
2019197266.tif 000008
【図７】
2019197266.tif 000009
【図８】
2019197266.tif 000010
【図９】
2019197266.tif 000011
【図１０】
2019197266.tif 000012
【図１１】
2019197266.tif 000013