(57)【要約】【課題】人手を介することなくインタフェース回路仕様を整合させることができる、高位合成で作成する新規設計データと既存設計データの接続方法を提供する。【解決手段】既存ＲＴＬのインタフェース回路のプロトコルに基づいて既存ＲＴＬへの接続用インタフェース記述を作成し、既存ＲＴＬへの接続用インタフェース記述から既存ＲＴＬの処理サイクル数を読み取り、既存ＲＴＬの処理サイクル数および新規ＲＴＬで決められた処理サイクル数にそれぞれ対応して、既存ＲＴＬのデータ処理を行うデータパス回路および新規ＲＴＬのデータ処理を行うデータパス回路を生成し、新規ＲＴＬのデータパス回路において、既存ＲＴＬのインタフェース回路に接続するための新規ＲＴＬのインタフェース回路を、既存ＲＴＬへの接続用インタフェース記述に基づいて生成する。【選択図】図１２
2015049560.tif 000002
【特許請求の範囲】
【請求項１】
高位合成で作成する新規設計データと既存設計データの接続方法であって、
前記既存設計データとしての既存レジスタトランスファレベル（ＲＴＬ）のインタフェース回路のプロトコルに基づいて前記既存ＲＴＬへの接続用インタフェース記述を作成し、
前記既存ＲＴＬへの接続用インタフェース記述から前記既存ＲＴＬの処理サイクル数を読み取り、
前記既存ＲＴＬの処理サイクル数および前記新規設計データとしての新規ＲＴＬで決められた処理サイクル数にそれぞれ対応して、前記既存ＲＴＬのデータ処理を行うデータパス回路および前記新規ＲＴＬのデータ処理を行うデータパス回路を生成し、
前記新規ＲＴＬのデータパス回路において、前記既存ＲＴＬのインタフェース回路に接続するための前記新規ＲＴＬのインタフェース回路を、前記既存ＲＴＬへの接続用インタフェース記述に基づいて生成することを特徴とする方法。
【請求項２】
前記既存ＲＴＬへの接続用インタフェース記述は、サイクル単位に前記既存ＲＴＬのインタフェース回路の入力ポートへの入力データおよび出力ポートからの出力データを指定可能としたことを特徴とする請求項１に記載の方法。
【請求項３】
前記既存ＲＴＬへの接続用インタフェース記述は、サイクル単位の順次処理を記述することを特徴とする請求項１または２に記載の方法。
【請求項４】
前記既存ＲＴＬへの接続用インタフェース記述は、前記既存ＲＴＬのインタフェース回路の入力ポートへの入力データの印加を同一サイクル内で複数記述することを特徴とする請求項１から３のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計において高位合成で作成する新規設計データと既存設計データの接続方法に関するものである。
【背景技術】
【０００２】
近年、半導体集積回路の設計の生産性向上のために、ハードウェア記述のレジスタトランスファレベル（以下、ＲＴＬという）設計より高い抽象度のＳｙｓｔｅｍＣ、Ｃ、Ｃ＋＋などの高級言語を使用した動作記述で設計を可能とする高位合成ツールが実用化されている。これに関連する技術は例えば特許文献１に記載されている。
【０００３】
高位合成ツールを適用する半導体集積回路設計の現状は、新規設計する機能は設計生産性を高めるために高位合成を用い、開発実績のある流用機能は既存のＲＴＬを再利用することで設計効率と品質確保を狙った開発が行われており、半導体集積回路の構成機能全てを新規で作成することは少ない。従って高位合成ツールで生成したＲＴＬと既存ＲＴＬを組み合わせた設計となっている。しかし、高位合成ツールで生成したＲＴＬと既存ＲＴＬを接続するケースにおいて、接続インタフェース回路仕様が双方で異なることが多く、どちらか一方または両方の接続インタフェース回路仕様を人手で変更し統一することが必要となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１４０３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
大規模な半導体集積回路設計では、設計する機能を階層的に分割し、そのブロック単位で設計を行う階層設計手法が広く適用されている。高位合成ツール利用を前提とした設計として、高位合成による動作記述からのＲＴＬ生成の一例を図１に示す。
【０００６】
図１の例では、複数のブロックからなる機能１１１を有する場合、ブロック単位の機能をそれぞれ動作記述１０１〜１０４とし、高位合成ツールによってブロック単位に高位合成を行い、それぞれＲＴＬ１０５〜１０８を生成する。生成したブロックのＲＴＬにはブロック間を接続するためのインタフェース回路１０９、１１０が必要となる。半導体集積回路全体に高位合成設計を適用するケースでは高位合成ツールがインタフェース回路を用意し、これを使ってブロック間接続をする。
【０００７】
しかし、実際の半導体集積回路設計においては、新規設計する機能は高位合成ツールを用いてＲＴＬを生成し、流用機能は既存ＲＴＬを再利用して混在させることが多い。図２に既存ＲＴＬを使用する場合の一例を示す。ここでは図中の動作記述２０１に対し既存ＲＴＬ２０３を使用する。この場合、高位合成２０４は使用せず、既存ＲＴＬ２０３を使用するが、高位合成で生成した生成ＲＴＬ２０２のインタフェース回路２０５と既存ＲＴＬ２０３のインタフェース回路２０６とでプロトコル仕様が異なることが多く、接続できない。その対応として、図２下段に示すように、動作記述２１２も高位合成２０９は使用せず、ＲＴＬ２０７を人手で作成し、既存ＲＴＬ２０８のインタフェース回路２１１に接続できるインタフェース回路２１０を用意する必要がある。このため、既存ＲＴＬの再利用には多大な工数を要していた。
【０００８】
図３は、新規設計する機能と再利用する機能が混在した場合のソフトウェア機能のソースコードの一例を示す図である。本例は、全体機能３０１の中に機能（動作記述作成）３０２、３０３、３０５がある場合において、機能３０２と３０５は新規作成し、機能３０３は内部の一部機能について既存ＲＴＬ３０４を再利用するものである。
【０００９】
この場合、新規設計の動作記述３０３から高位合成で生成した新規ＲＴＬが既存ＲＴＬ３０４と接続されることになるが、既存ＲＴＬ３０４のインタフェース回路３０７は高位合成インタフェース回路３０６を考慮したものではないため、新規ＲＴＬと既存ＲＴＬ３０４とではインタフェース回路のプロトコル仕様が合わず接続できない。そのため、新規ＲＴＬと既存ＲＴＬ３０４とを接続するには、プロトコル仕様をあわせたインタフェース回路を別途人手で作成する必要がある。
【００１０】
プロトコル仕様が合わない具体例を図６の高位合成ツールで生成したＲＴＬの接続用インタフェース回路のプロトコルタイムチャートと、図１０の既存ＲＴＬの接続用インタフェース回路のプロトコルタイムチャートとに示す。図６と図１０を比較すると、図６のインタフェース信号６０１と図１０のインタフェース信号１００１で信号名、信号種が異なる。また、両者間において、入力フェーズ６０２と１００２との間、および出力フェーズ６０４と１００４との間でサイクル数と波形が異なっていることが分かる。このように新規ＲＴＬと既存ＲＴＬ間のインタフェース回路のプロトコル仕様が合わないため両者は接続できない。
【００１１】
図４は、高位合成ツールが生成するＲＴＬの構造の一例を示す図である。本例では、動作記述４０１から高位合成処理４０２によりＲＴＬ４０３を生成する。高位合成が生成するＲＴＬ構造４０３を説明すると、図示のようにＲＴＬ４０４は、データ処理を行うデータパス回路４０６、データパス回路の処理シーケンスを制御する有限ステートマシン（以下、ＦＳＭという）回路４０５、入力インタフェース回路（入力ポート）４０７および出力インタフェース回路（出力ポート）４０８を有する。
【００１２】
図５は、高位合成ツールを使用した設計フローの一例を示す図である。図において、高位合成５１４は高位合成ツール処理である。動作記述５０１は高級言語で記述した演算アルゴリズムである。構造解析５０２は動作記述をデータの流れと実行順序を表現したグラフに変換する。スケジューリング５０３は演算器数と演算ステップ数を決める。アロケーション５０４は変数や演算にレジスタや演算器を割り当てる。データパス回路生成５０５はデータパス機能のＲＴＬを生成する。ＦＳＭ回路を生成するＦＳＭ生成５０６はデータパス制御機能のＲＴＬを生成する。インタフェース回路生成５０７はブロック間インタフェース回路のＲＴＬを生成する。このときインタフェース回路生成用プロトコルライブラリ５０８に登録してあるインタフェース回路情報を基にブロック間のインタフェース回路を生成する。生成ＲＴＬ５０９は高位合成ツール処理の出力である。人手設計５１０は、既存のＲＴＬと高位合成ツールで作成したＲＴＬとのインタフェース回路の作成を行う。全体回路記述５１３は、既存ＲＴＬ５１２と高位合成ツールで作成したＲＴＬ５０９をインタフェース回路記述５１１で接続することで完成する。
【００１３】
なお、高位合成処理結果判定５１５は、機能・性能要件を満足できないＲＴＬを生成したと判定した場合、動作記述から見直しが必要となるため動作記述５０１に戻り上記ステップを繰り返す。高位合成ツールを使用した設計フローはブロック間接続の対応として、インタフェース回路生成用プロトコルライブラリに登録されている接続方法を前提としており、既存ＲＴＬが多数存在する現状においては、再利用する既存ＲＴＬのインタフェース回路をインタフェース回路生成用ライブラリ５０８に登録されるインタフェース仕様に整合する様に人手にて対応する必要がある。
【００１４】
したがって本発明の目的は、人手を介することなくインタフェース回路仕様を整合させることができる、高位合成で作成する新規設計データと既存設計データの接続方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明は、上記目的を達成するため以下のような高位合成で作成する新規設計データと既存設計データの接続方法を提供する。
（１）高位合成で作成する新規設計データと既存設計データの接続方法であって、
前記既存設計データとしての既存レジスタトランスファレベル（ＲＴＬ）のインタフェース回路のプロトコルに基づいて前記既存ＲＴＬへの接続用インタフェース記述を作成し、
前記既存ＲＴＬへの接続用インタフェース記述から前記既存ＲＴＬの処理サイクル数を読み取り、
前記既存ＲＴＬの処理サイクル数および前記新規設計データとしての新規ＲＴＬで決められた処理サイクル数にそれぞれ対応して、前記既存ＲＴＬのデータ処理を行うデータパス回路および前記新規ＲＴＬのデータ処理を行うデータパス回路を生成し、
前記新規ＲＴＬのデータパス回路において、前記既存ＲＴＬのインタフェース回路に接続するための前記新規ＲＴＬのインタフェース回路を、前記既存ＲＴＬへの接続用インタフェース記述に基づいて生成することを特徴とする方法。
（２）前記既存ＲＴＬへの接続用インタフェース記述は、サイクル単位に前記既存ＲＴＬのインタフェース回路の入力ポートへの入力データおよび出力ポートからの出力データを指定可能としたことを特徴とする上記（１）に記載の方法。
（３）前記既存ＲＴＬへの接続用インタフェース記述は、サイクル単位の順次処理を記述することを特徴とする上記（１）または（２）に記載の方法。
（４）前記既存ＲＴＬへの接続用インタフェース記述は、前記既存ＲＴＬのインタフェース回路の入力ポートへの入力データの印加を同一サイクル内で複数記述することを特徴とする上記（１）から（３）のいずれかに記載の方法。
【発明の効果】
【００１６】
本発明によれば、人手を介することなくインタフェース回路仕様を整合させることができる、高位合成で作成する新規設計データと既存設計データの接続方法を提供することができる。これにより高位合成ツール利用における半導体集積回路設計時に既存ＲＴＬの一部または全てを使用することが容易に可能となり、設計生産性を向上させる効果がある。
本発明は、既存ＲＴＬのインタフェース回路仕様をパラメタライズ可能なインタフェース情報コマンドで高位合成ツールに入力し、既存ＲＴＬと同じインタフェース回路仕様のＲＴＬを生成可能とする。このインタフェース情報コマンドは、インタフェース回路の信号名、信号種、サイクルと波形をサイクル毎に定義する関数イメージのコマンドであり、多種多様なインタフェース回路仕様を高位合成の入力情報として与えることができる。このインタフェース情報コマンドを使用し、プロトコルライブラリの参照、インタフェース回路選択のステップに加えて、既存ＲＴＬの処理サイクルとプロトコルに対応できるインタフェース情報設定機能と、ＲＴＬのインタフェース情報読み込み機能と、既存ＲＴＬのインタフェース情報からインタフェース回路と、ＦＳＭ回路を生成することができる。
【図面の簡単な説明】
【００１７】
【図１】高位合成による動作記述からのＲＴＬ生成の一例を示す図である。
【図２】高位合成による動作記述からのＲＴＬ生成と既存ＲＴＬ使用の一例を示す図である。
【図３】高位合成ツールの入力となる動作記述の一例を示す図である。
【図４】高位合成ツールが生成するＲＴＬの構造の一例を示す図である。
【図５】高位合成ツールを使用した設計フローの一例を示す図である。
【図６】高位合成ツールで生成したＲＴＬ接続用インタフェース回路のプロトコルタイムチャートの一例である。
【図７】本発明に係る既存ＲＴＬ接続手法を適用した高位合成フローの一例を示す図である。
【図８】既存ＲＴＬ接続を持つ動作記述例を示す図である。
【図９】図８の既存ＲＴＬ接続を持つ動作記述例と既存ＲＴＬの対応関係の一例を示す図である
【図１０】ブロック間接続用インタフェース回路のプロトコルタイムチャートの一例である。
【図１１】図１０に対する既存ＲＴＬへの接続用インタフェース記述の一例を示す図である。
【図１２】図８で示すＦｕｎｃ２（）を高位合成ツールで生成したＲＴＬの回路構成の一例を示す図である。
【図１３】図１２に示すＦｕｎｃ２の回路に対する高位合成で生成したＲＴＬと既存ＲＴＬのインタフェースプロトコルのタイムチャートの一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の好適な実施形態を説明する。
図７は、本発明に係る既存ＲＴＬ接続手法を適用した高位合成フローの一例を示す図である。本フローは、既存ＲＴＬ記述を再利用する際に、既存ＲＴＬのインタフェース回路プロトコル仕様を考慮し、高位合成ツール処理における新規機能部のＲＴＬ生成を可能とするものである。
【００１９】
まず、動作記述と既存ＲＴＬとのインタフェース記述７０１は、高級言語で記述した演算、接続情報、および既存ＲＴＬとのインタフェース定義を持つ。高位合成７１５は高位合成ツール処理である。構造解析７０３は動作記述をデータの流れと実行順序を表現したグラフに変換する。スケジューリング７０４は演算器数と演算ステップ数を決める。アロケーション７０５は変数や演算にレジスタや演算器を割り当てる。データパス回路生成７０６はデータパス機能のＲＴＬを生成する。ＦＳＭ生成７０７は、既存ＲＴＬへの接続に対応したインタフェース回路生成用既存ブロック接続用プロトコル仕様定義７０２に書かれているステートシーケンス情報を基にデータパス制御を行うＦＳＭ回路のＲＴＬを生成する。既存ＲＴＬに対応する既存ブロック対応インタフェース回路生成７０８はブロック間インタフェース回路のＲＴＬを生成する。ここでは、インタフェース回路生成用既存ブロック接続用プロトコル仕様定義７０２に書かれているインタフェース回路生成用既存ブロック接続用インタフェース記述を基にインタフェース回路を生成する。これにより、生成ＲＴＬ７１１とインタフェース回路ＲＴＬ７１２が出力できる。このＲＴＬ記述は、既存ＲＴＬ７１３とインタフェース回路のプロトコル仕様が合っており接続可能となる。
【００２０】
なお、高位合成処理結果判定７０９は、機能・性能要件を満足できないＲＴＬを生成したと判定した場合、動作記述から見直しが必要となるため、動作記述と既存ＲＴＬとのインタフェース記述７０１に戻り上記ステップを繰り返す。
【００２１】
図８は、既存ＲＴＬ接続を持つ動作記述例を示す図である。動作記述８０１は、既存ＲＴＬ部の読み込みを持つ動作記述である。動作記述８０２は、既存ＲＴＬ部の送受信データのみ指定して転送サイクル情報は接続用インタフェース記述内部に隠蔽した動作記述である。この例では、送信データとして符号８０３で示すｗｒ＿ｄｔ＿ｂｕｆ＿ｏ［ｉ］があり、受信データとして符号８０４で示すｒｅｓｕｌｔ［ｉ］がある。
【００２２】
図９は、図８の既存ＲＴＬ接続を持つ動作記述例と既存ＲＴＬの対応関係の一例を示す図である。符号９０１は既存ＲＴＬ接続を持つ動作記述例である。符号９０２の動作記述Ｆｕｎｃ２内にある符号９０３のｒｔｌ＿ｃａｌｃ動作記述についてＲＴＬ時に既存ＲＴＬを使用する場合、符号９０２の動作記述Ｆｕｎｃ２を動作合成で生成したＲＴＬは、符号９０４の既存ＲＴＬと接続できるようにＲＴＬを生成する必要がある。送信データ部分９０５は既存ＲＴＬの入力ポート９０６に接続でき、受信データ部分９０７は既存ＲＴＬの出力ポート９０８に接続できるインタフェース回路を生成する必要がある。
【００２３】
図１０は、ブロック間接続用インタフェース回路のプロトコルタイムチャートの一例である。図１０に示すように、図９の入力ポート９０６と出力ポート９０８にあたるインタフェース信号１００１として、ＣＬＫ、ＣＭＤ、ＶＡＬＩＤ、ＤＡＴＡＩＮ＿ＥＮ、ＤＡＴＡＯＵＴ＿ＥＮ、ＤＡＴＡＩＮ、ＤＡＴＡＯＵＴがある。フェーズ１００２では、ポートＣＭＤがＨｉｇｈレベル信号で且つＤＡＴＡＩＮ＿ＥＮがＨｉｇｈレベル信号のとき、ポートＤＡＴＡＩＮに入力データが印加される。フェーズ１００３では、演算処理（３サイクル）が行われる。フェーズ１００４では、ポートＶＡＬＩＤがＨｉｇｈレベル信号で且つＤＡＴＡＯＵＴ＿ＥＮがＨｉｇｈレベル信号の条件のとき、ＤＡＴＡＯＵＴに出力データを出力する。
【００２４】
図１１は、図１０に対する既存ＲＴＬへの接続用インタフェース記述の一例を示す図である。この既存ＲＴＬへの接続用インタフェース記述は、サイクル単位に既存ＲＴＬのインタフェース回路の入力ポートへの入力データおよび出力ポートからの出力データを指定でき、且つサイクル単位の順次処理を記述する。また、既存ＲＴＬのインタフェース回路の入力ポートへの入力データの印加を同一サイクル内で複数記述することで並列処理を表現できる。
【００２５】
図１１において、符号１１０１および１１０２は入力データが印加されるフェーズを示す（図１０のフェーズ１００２に対応）。符号１１０１では、ポートＣＭＤ＝１（ＣＭＤがＨｉｇｈレベル信号）、ポートＤＡＴＡＩＮ＿ＥＮ＝０（ＤＡＴＡＩＮ＿ＥＮがＬｏｗレベル信号）、ポートＶＡＬＩＤ＝０（ＶＡＬＩＤがＬｏｗレベル信号）である。符号１１０２では、ポートＣＭＤ＝１（ＣＭＤがＨｉｇｈレベル信号）、ポートＤＡＴＡＩＮ＿ＥＮ＝１（ＤＡＴＡＩＮ＿ＥＮがＨｉｇｈレベル信号）、ポートＶＡＬＩＤ＝０（ＶＡＬＩＤがＬｏｗレベル信号）の条件のとき、ポートＤＡＴＡＩＮに入力データが印加されることを定義する。符号１１０３は、演算処理であり、ここではＣＭＤ＝０、ＶＡＬＩＤ＝０、ＤＡＴＡＩＮ＿ＥＮ＝０、ＤＡＴＡＯＵＴ＿ＥＮ＝０を３行定義し、３サイクルであることを定義している（図１０のフェーズ１００３に対応）。符号１１０４では、ポートＣＭＤ＝０（ＣＭＤがＬｏｗレベル信号）、ポートＤＡＴＡＯＵＴ＿ＥＮ＝１（ＤＡＴＡＯＵＴ＿ＥＮがＨｉｇｈレベル信号）、ポートＶＡＬＩＤ＝１（ＶＡＬＩＤがＨｉｇｈレベル信号）の条件のとき、ＤＡＴＡＯＵＴに演算結果であるｄａｔａ＿ｏｕｔを出力されることを定義している（図１０のフェーズ１００４に対応）。このように既存ＲＴＬのデータ入力タイミング、演算レイテンシ、データ出力タイミングなどを指定する。既存ＲＴＬの接続用インタフェース回路に様々なケースがあったとしても図１１に示す様にパラメタライズされた既存ＲＴＬへの接続用インタフェース記述とすることで、様々なインタフェースプロトコルへの対応が可能となる。
【００２６】
図１２は、図８で示すＦｕｎｃ２（）を高位合成ツールで生成したＲＴＬの回路構成の一例を示す図である。符号１２０１はＦｕｎｃ２（）を高位合成ツールでＲＴＬへ展開した回路全体である。この回路１２０１は、その構成要素として、ＦＳＭ回路１２０２、データパス回路１２０３、およびＦＳＭ回路からデータパス回路への制御信号１２００を備える。データパス回路１２０３は、高位合成ツールで生成したＦｕｎｃ２のデータパス回路ＲＴＬ１２０４と、ｒｔｌ＿ｃａｌｃのデータパス回路既存ＲＴＬ１２０５とを備える。Ｆｕｎｃ２のデータパス回路ＲＴＬ１２０４のインタフェース回路１２１１、１２１４は、ｒｔｌ＿ｃａｌｃのデータパス回路既存ＲＴＬ１２０５のインタフェース回路１２１２、１２１３とそれぞれ接続される。
【００２７】
ここで、ＦＳＭ回路生成１２０２への対応について説明する。本発明によるフローでは、図１１に記載の既存ＲＴＬへの接続用インタフェース記述（ＲＴＬ接続用インタフェースに定義したプロトコル仕様情報）から演算処理レイテンシ情報を読み取ることによりＦｕｎｃ２のデータパス回路ＲＴＬ１２０４と、ｒｔｌ＿ｃａｌｃのデータパス回路既存ＲＴＬ１２０５の全体演算ステップを制御するＦＳＭ回路を生成できる。ここでは、図１１に記載の既存ＲＴＬへの接続用インタフェース記述が符号１１０１〜１１０４で示す６行で定義されることで、図１２の既存ＲＴＬ１２０５のレイテンシ１２０９は６サイクルであることが読み取れる。また、Ｆｕｎｃ２のレイテンシ１２０８、１２１０は高位合成自身が決めてくるが、仮にレイテンシ１２０８が２サイクルで、レイテンシ１２１０も２サイクルとした場合、既存ＲＴＬ１２０９のレイテンシ６サイクルと合わせて全体で１０サイクルのデータパス回路となる。よって、ＦＳＭ回路１２０２は１０サイクルのステートシーケンスを制御する回路として生成できる。これによりＦＳＭ回路を含めデータパス回路全体のデータパスを生成できる。
【００２８】
図１３は、図１２に示すＦｕｎｃ２の回路に対する高位合成で生成したＲＴＬと既存ＲＴＬのインタフェースプロトコルのタイムチャートの一例を示す図である。本例では、インタフェース信号１３０１として、ＣＬＫ、Ｆｕｎｃ２  ＣＭＤ、Ｆｕｎｃ２  ＶＡＬＩＤ、Ｆｕｎｃ２  ＤＡＴＡＩＮ＿ＥＮ、ｒｔｌ＿ｃａｌｃ  ＤＡＴＡＯＵＴ＿ＥＮ、ｒｔｌ＿ｃａｌｃ  ＶＡＬＩＤ、ｒｔｌ＿ｃａｌｃ  ＤＡＴＡＩＮ、ｒｔｌ＿ｃａｌｃ  ＤＡＴＡＯＵＴ、Ｆｕｎｃ２  ＢＵＳＹ、Ｆｕｎｃ２  ＶＡＬＩＤを有する。
【００２９】
フェーズ１３０２は２サイクルのレイテンシ１３０５（Ｆｕｎｃ２）であり、フェーズ１３０３は６サイクルのレイテンシ１３０６（ｒｔｌ＿ｃａｌｃ）であり、そしてフェーズ１３０４は２サイクルのレイテンシ１３０７（Ｆｕｎｃ２）であり、合計で１０サイクルである。ここで、フェーズ１３０２では、ＣＭＤ＝１且つＤＡＴＡＩＮ＿ＥＮ＝１の条件により既存ＲＴＬ部のポートＤＡＴＡＩＮに入力データが印加する。次にフェーズ１３０３では、ＤＡＴＡＩＮの入力データにおける既存ＲＴＬ部の演算処理を行う。フェーズ１３０４では、既存ＲＴＬのポートＶＡＬＩＤ＝１且つＤＡＴＡＯＵＴ＿ＥＮ＝１の条件のとき、ＤＡＴＡＯＵＴに出力データを出力する。このようにして、Ｆｕｎｃ２のインタフェース回路と既存ＲＴＬのインタフェース回路とが接続可能となり、高位合成で作成する新規ＲＴＬと既存ＲＴＬが接続される。
【００３０】
以上のように本発明は、高位合成ツール利用の設計フローにおいて、プロトコルライブラリを参照して、インタフェース回路を選択するステップに加えて、既存ＲＴＬの処理サイクルとプロトコルに対応できるパラメタライズ可能なインタフェース情報の設定機能と、ＲＴＬのインタフェース情報の読み込み機能と、既存ＲＴＬのインタフェース情報からインタフェース回路を生成する。また、高位合成ツール利用の設計フローにおいて、プロトコルライブラリを参照して、インタフェース回路を選択するステップに加えて、既存ＲＴＬの処理サイクルとプロトコルに対応できるパラメタライズ可能なインタフェース情報の設定機能と、ＲＴＬのインタフェース情報の読み込み機能と、既存ＲＴＬのインタフェース情報からインタフェース回路を生成するインタフェース回路生成の指示をパラメタライズする。さらに、高位合成ツール利用の設計フローにおいて、プロトコルライブラリを参照して、インタフェース回路を選択するステップに加えて、既存ＲＴＬの処理サイクルとプロトコルに対応できるパラメタライズ可能なインタフェース情報により既存ＲＴＬのレイテンシをＦＳＭ回路のシーケンスへフィードバックする。
【符号の説明】
【００３１】
１２００  制御信号
１２０１  高位合成ツールでＲＴＬへ展開した回路全体
１２０２  ＦＳＭ回路
１２０３  データパス回路
１２０４  Ｆｕｎｃ２のデータパス回路ＲＴＬ
１２０５  ｒｔｌ＿ｃａｌｃのデータパス回路既存ＲＴＬ
１２０８、１２１０  Ｆｕｎｃ２のレイテンシ
１２０９  既存ＲＴＬのレイテンシ
１２１１−１２１４  インタフェース回路
【図１】
2015049560.tif 000003
【図２】
2015049560.tif 000004
【図３】
2015049560.tif 000005
【図４】
2015049560.tif 000006
【図５】
2015049560.tif 000007
【図６】
2015049560.tif 000008
【図７】
2015049560.tif 000009
【図８】
2015049560.tif 000010
【図９】
2015049560.tif 000011
【図１０】
2015049560.tif 000012
【図１１】
2015049560.tif 000013
【図１２】
2015049560.tif 000014
【図１３】
2015049560.tif 000015