(57)【要約】【課題】論理合成を行う際に使用する論理合成スクリプトの事前確認を短時間で行える論理合成支援装置を提供することを目的とする。【解決手段】論理回路解析手段（１０２）において、論理合成の対象となる論理回路（１１１）を解析し、インスタンスとポートの固有名と記述の対応を解析し、スクリプト解析手段（１０３）において、スクリプトで使用されているコマンドと固有名を抽出し、論理回路生成手段（１０４）において、スクリプト内で使用されている固有名に関連する論理回路の記述だけを含む仮想論理回路（１１３）を生成し、論理合成対象を小規模化することで論理合成スクリプトの確認処理時間を短縮する。【選択図】　　　図１
2004102458.tif 000002
【特許請求の範囲】
【請求項１】
レジスタ転送レベルで記述された論理回路を解析する論理回路解析手段と、
前記論理回路を論理合成するための論理合成スクリプトを解析するスクリプト解析手段と、
前記論理回路解析手段の解析結果と前記スクリプト解析手段での解析結果に基づき、前記論理回路から限定された箇所のみの仮想論理回路を生成する論理回路生成手段と
を具備することを特徴とする論理合成支援装置。
【請求項２】
レジスタ転送レベルで記述された論理回路を解析する論理回路解析手段と、
前記論理回路を論理合成するための論理合成スクリプトを解析するスクリプト解析手段と、
前記論理回路解析手段の解析結果と前記スクリプト解析手段での解析結果に基づき、前記論理回路から限定された箇所のみの仮想論理回路を生成する論理回路生成手段と、
前記論理回路から仮想ネットリストを生成する仮想ネットリスト生成手段と、前記論理合成スクリプトから特定コマンドを置換し、仮想スクリプトを生成する仮想スクリプト生成手段と
を具備することを特徴とする論理合成支援装置。
【請求項３】
レジスタ転送レベルで記述された論理回路を解析する論理回路解析手段と、
前記論理回路を論理合成するための論理合成スクリプトを解析するスクリプト解析手段と、
前記論理回路解析手段の解析結果と前記スクリプト解析手段での解析結果に基づき、前記論理回路から限定された箇所のみの仮想論理回路を生成する論理回路生成手段と、
前記論理合成スクリプトから特定固有名を使用するコマンドに対しスクリプトを追加し、仮想スクリプトを生成する仮想スクリプト生成手段と
を具備することを特徴とする論理合成支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レジスタ転送レベルの論理回路を論理合成する場合に必要となる論理合成スクリプトの確認を行う論理合成支援の技術に関する。
【０００２】
【従来の技術】
レジスタ転送レベルの論理回路を論理合成によりゲートレベルの論理回路に変換する際、ハードウェア記述言語で記述された論理回路から、論理合成装置において複数の処理を行い、ゲートレベルの論理回路を生成することが行われている。
【０００３】
この論理合成装置での複数の処理は、論理合成装置に依存したスクリプト言語によって、複数のコマンドを実行する処理手順を記述する。
このような論理合成装置においては、レジスタ転送レベルで論理回路を設計し、論理合成を行うために、各論理回路に対応した論理合成用のスクリプトを記述する必要がある。
【０００４】
論理合成処理にはある程度の時間を要するため、設計した論理回路の記述ミスや論理合成スクリプトの記述ミスにより、論理合成処理が失敗した場合に、後戻りの工数が必要となる。
【０００５】
さらに、設計した論理回路が大規模であれば、処理時間が増大し、論理合成処理を失敗した際の後戻りの時間はさらに大きくなる。
そこで、論理合成を行う前に、論理回路の記述や論理合成スクリプトの記述の文法確認を行ったり、論理回路に対応した論理合成スクリプトを自動生成することにより、記述ミスをなくすことが行われている。
【０００６】
例えば、従来の論理合成支援システムでは、論理回路に依存したパラメータを設定し、スクリプトの雛形に基づき、論理合成スクリプトを自動生成することで、論理合成を誤りなく実行することを行っている（特許文献１参照）。
【０００７】
【特許文献１】
特開２０００−３４８０８６号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、文法確認では、論理合成処理により新たに生じたインスタンスやマッピングを行うテクノロジに依存したゲートレベルでの固有名が不明であるため、コマンドで指定した固有名の正しさを確認することができない。
【０００９】
また、論理合成スクリプトを雛形に沿って自動生成する場合は、論理合成で雛形で想定される以外の複雑な処理を行いたい場合に柔軟に対応できなくなる。
本発明は論理合成を行う際に使用する論理合成スクリプトの事前確認を短時間で行うことができる論理合成支援装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の論理合成支援装置は、レジスタ転送レベルで記述された論理回路を解析する論理回路解析手段と、前記論理回路を論理合成するための論理合成スクリプトを解析するスクリプト解析手段と、前記論理回路解析手段の解析結果と前記スクリプト解析手段での解析結果に基づき、前記論理回路から限定された箇所のみの仮想論理回路を生成する論理回路生成手段とを具備することを特徴とする。
【００１１】
具体的には、前記論理回路解析手段は、レジスタ転送レベルで記述された論理回路を読み込み、構造を解析し、論理回路に含まれるインスタンスとポートの固有名と、対応する記述を抽出する。前記スクリプト解析手段は、論理合成スクリプトを読み込み、スクリプトに含まれるコマンドを抽出し、コマンドで指定されているインスタンスとポートの固有名を抽出する。前記論理回路生成手段は、前記スクリプト解析手段で指定されているインスタンスとポートから、論理回路での対応するインスタンスとポートを特定し、特定のインスタンスとポートと関係する記述のみを含む仮想論理回路を生成する。
【００１２】
この構成により、元の論理回路より小規模な論理回路を生成することで、事前に論理合成スクリプトの確認を短時間で行える論理回路を生成できる。
また、本発明の論理合成支援装置は、レジスタ転送レベルで記述された論理回路を解析する論理回路解析手段と、前記論理回路を論理合成するための論理合成スクリプトを解析するスクリプト解析手段と、前記論理回路解析手段の解析結果と前記スクリプト解析手段での解析結果に基づき、前記論理回路から限定された箇所のみの仮想論理回路を生成する論理回路生成手段と、前記論理回路から仮想ネットリストを生成する仮想ネットリスト生成手段と、前記論理合成スクリプトから特定コマンドを置換し、仮想スクリプトを生成する仮想スクリプト生成手段とを具備することを特徴とする。
【００１３】
具体的には、前記論理回路解析手段は、レジスタ転送レベルで記述された論理回路を読み込み、構造を解析し、論理回路に含まれるインスタンスとポートの固有名と、対応する記述を抽出する。前記スクリプト解析手段は、論理合成スクリプトを読み込み、スクリプトに含まれるコマンドを抽出し、コマンドで指定されているインスタンスとポートの固有名を抽出する。前記論理回路生成手段は、前記スクリプト解析手段で指定されているインスタンスとポートから、論理回路での対応するインスタンスとポートを特定し、特定のインスタンスとポートと関係する記述のみを含む仮想論理回路を生成する。前記仮想ネットリスト生成手段は、前記論理回路生成手段で生成された論理回路に対応するネットリストを生成する。前記仮想スクリプト生成手段は、前記スクリプトの論理合成コマンドを、前記ネットリストを読み込むコマンドに置換する。
【００１４】
この構成によると、元の論理回路より小規模な論理回路を生成することで、事前に論理合成スクリプトの確認を短時間で行える論理回路を生成し、論理合成処理を省くためのネットリストおよびスクリプトを生成できる。
【００１５】
また、本発明の論理合成支援装置は、レジスタ転送レベルで記述された論理回路を解析する論理回路解析手段と、前記論理回路を論理合成するための論理合成スクリプトを解析するスクリプト解析手段と、前記論理回路解析手段の解析結果と前記スクリプト解析手段での解析結果に基づき、前記論理回路から限定された箇所のみの仮想論理回路を生成する論理回路生成手段と、前記論理合成スクリプトから特定固有名を使用するコマンドに対しスクリプトを追加し、仮想スクリプトを生成する仮想スクリプト生成手段とを具備することを特徴とする。
【００１６】
具体的には、前記論理回路解析手段は、レジスタ転送レベルで記述された論理回路を読み込み、構造を解析し、論理回路に含まれるインスタンスとポートの固有名と、対応する記述を抽出する。前記スクリプト解析手段は、論理合成スクリプトを読み込み、スクリプトに含まれるコマンドを抽出し、コマンドで指定されているインスタンスとポートの固有名を抽出する。前記前記スクリプト解析手段で指定されているインスタンスとポートから、論理回路での対応するインスタンスとポートを特定し、特定のインスタンスとポートと関係する記述のみを含む論理回路を生成する。前記仮想スクリプト生成手段は、前記論理合成スクリプトにおいて、特定の固有名を使用するコマンドに対し、スクリプトを追加し、新たな論理合成スクリプトを生成する。
【００１７】
この構成によると、元の論理回路より小規模な論理回路を生成することで、事前に論理合成スクリプトの確認を短時間で行える論理回路を生成し、かつ、論理合成処理で変更される候補が複数存在する固有名に分岐処理を行うスクリプトを追加することで、より安全なスクリプトを生成することが可能となる。
【００１８】
【発明の実施の形態】
以下、図面を参照して、本発明の各実施の形態を説明する。
（実施の形態１）
図１〜図６は本発明の（実施の形態１）を示す。
【００１９】
図１は、本発明の（実施の形態１）における論理合成支援装置を表す。
この論理合成支援装置１０１は、論理回路解析手段１０２とスクリプト解析手段１０３と論理回路生成手段１０４から構成される。
【００２０】
論理回路解析手段１０２では、元になる論理回路１１１の構造を解析し、論理回路１１１に含まれる階層構造とインスタンスとポートの固有名を抽出し、これらを論理回路１１１での対応する記述と共に論理回路構造１１４に格納する。
【００２１】
スクリプト解析手段１０３では、論理合成用のスクリプト１１２を解析し、スクリプト１１２に含まれるコマンド及びコマンドで指定されているインスタンスとポートの固有名を抽出し、これらを固有名リスト１１５に格納する。
【００２２】
論理回路生成手段１０４では、固有名リスト１１５に含まれるインスタンスとポートを参照し、これと一致するインスタンスとポートを論理回路構造１１４から検索し、該当するインスタンスとポートに対応する記述から仮想論理回路１１３を生成する。
【００２３】
図２は論理回路１１１の記述例であり、図３は論理回路構造１１４であり、図４はスクリプト１１２の記述例であり、図５は固有名リストであり、図６は生成された仮想論理回路１１３である。
【００２４】
論理回路解析手段１０２では、図２で示される論理回路１１１が読み込まれ、固有名ｑ１、ｑ２、ｏｕｔが抽出され、図３で示される論理回路構造１１４が作成される。
【００２５】
スクリプト解析手段１０３では、図４で示されるスクリプト１１２が読み込まれ、コマンドを解析し、固有名ｑ１＿ｒｅｇ、ｏｕｔが抽出され、図５で示される固有名リスト１１５が作成される。
【００２６】
論理回路生成手段１０４では、固有名リストに含まれる固有名ｑ１＿ｒｅｇ、ｏｕｔを論理回路構造１１４から検索し、該当する固有名に対応する記述を図６で示される仮想論理回路１１３として出力する。
【００２７】
これにより、元になる論理回路１１１より小規模な仮想論理回路１１３を生成することで、仮想論理回路１１３を使用して論理合成を行うことにより、論理回路１１１を使用した論理合成を行うよりも短い処理時間で事前にスクリプトの確認を行うことが可能となる。
【００２８】
（実施の形態２）
図７〜図１０は（実施の形態２）を示す。
図７は、本発明の（実施の形態２）における論理合成支援装置を表す。
【００２９】
論理合成支援装置７０１は、論理回路解析手段７０２とスクリプト解析手段７０３と論理回路生成手段７０４と仮想ネットリスト生成手段７０５と仮想スクリプト生成手段７０６から構成される。
【００３０】
論理回路解析手段７０２は（実施の形態１）における論理回路解析手段１０２と同一である。スクリプト解析手段７０３は（実施の形態１）におけるスクリプト解析手段１０３と同一である。論理回路生成手段７０４は（実施の形態１）における論理回路生成手段１０４と同一である。
【００３１】
仮想ネットリスト生成手段７０５は、論理回路生成手段７０４で生成された仮想論理回路７１３から変換ルール７１８に従って仮想ネットリスト７１６を生成する。
【００３２】
仮想スクリプト生成手段７０６は、元になるスクリプト７１２から論理合成を実施するコマンドを、仮想ネットリスト７１６を読み込むコマンドに置換し、仮想スプリクト７１７を生成する。
【００３３】
図８は仮想ネットリスト７１６の記述例であり、図９は仮想スクリプト７１７の記述例である。
仮想ネットリスト生成手段７０５では、図６に示される仮想論理回路７１３を読み込み、変換ルール７１８に従って仮想ネットリスト７１６を出力する。図１０は変換ルール例を示す。
【００３４】
ここでは、ａｌｗａｙｓ文に含まれる固有名はモジュールＦＦにマッピングされ、モジュールＦＦの各ポートは、変換ルール７１８に示されるポートの接続関係より、それぞれ接続される。
【００３５】
また、演算記号＋は、モジュールａｄｄｅｒにマッピングされ、モジュールａｄｄｅｒの各ポートは、変換ルール７１８に示されるポートの接続関係より、それぞれ接続される。
【００３６】
仮想スクリプト生成手段７０６では、図４に示される元のスクリプト７１２に対し、論理合成を実施するコマンドｓｙｎｔｈｅｓｉｚｅを、仮想ネットリスト７１６を読み込むコマンドｒｅａｄに置換し、図９に示される仮想スクリプト７１７を出力する。
【００３７】
これにより、事前にスクリプトの確認を行う作業において、論理合成の処理時間を単なるネットリスト読み込み処理時間にすることで、より短い処理時間で事前にスクリプトの確認を行うことが可能となる。
【００３８】
（実施の形態３）
図１１〜図１３は（実施の形態３）を示す。
図１１は本発明の（実施の形態３）における論理合成支援装置を表す。
【００３９】
論理合成支援装置１１０１は、論理回路解析手段１１０２とスクリプト解析手段１１０３と論理回路生成手段１１０４と仮想スクリプト生成手段１１０７から構成される。
【００４０】
論理回路解析手段１１０２は、（実施の形態１）の論理回路解析手段１０２と同一である。スクリプト解析手段１１０３は、（実施の形態１）のスクリプト解析手段１０３と同一である。論理回路生成手段１１０４は、（実施の形態１）の論理回路生成手段１０４と同一である。仮想論理回路１１１３は（実施の形態１）と同様にして論理回路生成手段１１０４で生成される。
【００４１】
仮想スクリプト生成手段１１０７は、論理回路構造１１１４のうち変換ルール１１２０に該当する場合に、該当固有名を使用するコマンドを、分岐処理を行うように元のスクリプト１１１２から置換し、仮想スクリプト１１１９を出力する。
【００４２】
図１２は仮想スクリプト１１１９の記述例であり、図１３は変換ルール１１２０の一部である。
仮想スクリプト生成手段１１０７では、図３で示される論理回路構造１１４から図１３で示される変換ルール１１２０に適合する記述を検索する。
【００４３】
ここでは、ｑ１＿ｒｅｇが適合する記述であり、この場合、ｑ１＿ｒｅｇは変換ルール１１２０に記載されている候補１と候補２を処理するように、候補１の存在を確認して分岐処理を行うコマンドに置換する。
【００４４】
そして、図４で示される元のスクリプト１１１２から、分岐処理を行うコマンドが追加された図１２で示される仮想スクリプト１１１９を生成する。
これにより、論理合成処理によって固有名が変換される可能性に複数の候補がある場合でも、論理合成後の処理で失敗することがなくなり、論理合成での実行ミスを無くすことが可能となる。
【００４５】
【発明の効果】
以上のように本発明によれば、元の論理回路とスクリプトに基づき、小規模の論理回路を生成することで、実際に論理合成を実施するよりも短時間で論理合成処理を行い、スクリプトの正しさを確認することが可能となる。
【００４６】
さらに、仮想ネットリストを生成することで、スクリプトの正しさを確認するための論理合成処理時間の短縮を図ることが可能となる。
また、スクリプトに固有名に依存した分岐処理を追加することで、より安全なスクリプトを生成することが可能となる。
【図面の簡単な説明】
【図１】（実施の形態１）の論理合成支援装置の構成図
【図２】同実施の形態の元の論理回路の記述例
【図３】同実施の形態の論理回路構造の例
【図４】同実施の形態の元のスクリプトの記述例
【図５】同実施の形態の固有名リストの例
【図６】同実施の形態の仮想論理回路の記述例
【図７】（実施の形態２）の論理合成支援装置の構成図
【図８】同実施の形態の仮想ネットリストの記述例
【図９】同実施の形態の仮想スクリプトの記述例
【図１０】同実施の形態の変換ルール例
【図１１】（実施の形態３）の論理合成支援装置の構成図
【図１２】同実施の形態の生成スクリプト例
【図１３】同実施の形態の変換ルール例
【符号の説明】
１０１，７０１，１１０１　　論理合成支援装置
１０２，７０２，１１０２　　論理回路解析手段
１０３，７０３，１１０３　　スクリプト解析手段
１０４，７０４，１１０４　　論理回路生成手段
７０５　　仮想ネットリスト生成手段
７０６，１１０７　　仮想スクリプト生成手段
１１１　　元の論理回路
１１２　　元のスクリプト
１１３，７１３，１１１３　　仮想論理回路
１１４　　論理回路構造
１１５　　固有名リスト
【図１】
2004102458.tif 000003
【図２】
2004102458.tif 000004
【図３】
2004102458.tif 000005
【図４】
2004102458.tif 000006
【図５】
2004102458.tif 000007
【図６】
2004102458.tif 000008
【図７】
2004102458.tif 000009
【図８】
2004102458.tif 000010
【図９】
2004102458.tif 000011
【図１０】
2004102458.tif 000012
【図１１】
2004102458.tif 000013
【図１２】
2004102458.tif 000014
【図１３】
2004102458.tif 000015