第1のハードウェア記述言語第1のHDLで記載される少なくとも1つの構成要素と、前記第1のHDLとは異なる第2のHDLで記載される少なくとも1つのモジュールとを有する回路記述のシミュレーションコードを生成する方法であって、少なくとも1つのプログラムされたプロセッサ上で動作を行なうことを含み、前記動作は、前記回路記述を詳述することと、シミュレーションのデータフローのグラフを生成することとを含み、前記生成することは、第1のデータフロービルダーを用いて前記第1のHDLで記載されるモジュールを通じてデータ経路をモデル化することと、第2のデータフロービルダーを用いて前記第2のHDLで記載されるモジュールを通じて前記データ経路をモデル化することとを含み、前記動作は、さらに、前記データフローのグラフからシミュレーションコードを生成することを含み、前記生成されたコードは、前記回路記述に従って回路動作をシミュレートするように実行可能である、方法。前記第1および第2のHDLで記載されるモジュールを通じて前記データ経路をモデル化することは、データフローのネットを推測することと、各モジュールのために処理を生成することと、前記ネットのドライバを生成することと、前記データフローのネットに対する各処理の感度を決定することとを含む、請求項1に記載の方法。前記第1のHDLで記載されるモジュールを通じて前記データ経路をモデル化することは、前記回路記述の第1のトラバースで前記第1のデータフロービルダーを用いて前記第1のHDLで記載されるモジュールのデータフローのネットを推測することと、前記回路記述の第2のトラバースにおいて、次のステップを行なうために第3のデータフロービルダーを用いることとを含み、当該ステップは、前記第1のHDLで記載される各モジュールの処理を生成することと、前記第1のHDLに関連する前記ネットのドライバを生成することと、前記第1のHDLで記載されるモジュールの処理の感度を決定することとを含む、請求項1に記載の方法。前記第2のHDLで記載されるモジュールを通じて前記データ経路をモデル化することは、前記回路記述の前記第1のトラバースにおいて、次のステップを行なうために前記第2のデータフロービルダーを用いることを含み、当該ステップは、前記第2のHDLで記載されるモジュールのデータフローのネットを推測することと、前記第2のHDLで記載される各モジュールの処理を生成することと、前記第2のHDLに関連する前記ネットのドライバを生成することと、前記第2のHDLで記載されるモジュールの処理の感度を決定することとを含み、前記モデル化することは、さらに、前記第2のHDLで記載されるモジュールの浅いトラバースを行なうために第4のデータフロービルダーを用いることを含む、請求項3に記載の方法。前記回路記述の前記第2のトラバースは、前記回路記述のインスタンス化ステートメントのみをトラバースする、請求項4に記載の方法。前記第1のDHLと両立可能な形式を有する第1のHDL信号表現を生成することと、前記第2のDHLと両立可能な形式を有する第2のHDL信号表現を生成することと、前記シミュレーションのデータフローのグラフにおいて言語境界間で前記回路記述の各インスタンス化されたモジュールに対し、前記インスタンス化されたモジュールのポートを前記第1のHDL信号表現にマッピングすることと、前記インスタンス化されたモジュールのポートを前記第2のHDL信号表現にマッピングすることとをさらに含む、請求項1~5のいずれかに記載の方法。前記シミュレーションコードを生成することは、シミュレーションの間に前記第1のHDL信号表現の値での変化に応答して、次の動作をするように構成される第1のトランザクション関数を生成することを含み、当該動作は、前記第1のHDL信号表現を前記第2のHDL信号表現の形式の第1の変換された値に変換することと、前記第2のHDL信号表現を前記第1の変換された値で更新することとを含み、前記シミュレーションコードを生成することは、さらに、シミュレーションの間に前記第2のHDL信号表現の値での変化に応答して、次の動作をするように構成される第2のトランザクション関数を生成することを含み、当該動作は、前記第2のHDL信号表現を前記第1のHDL信号表現の形式の第2の変換された値に変換することと、前記第2のHDL信号表現を前記第2の変換された値で更新することとを含む、請求項6に記載の方法。前記第1の信号表現は、前記第1のHDLと両立可能な形式で第1のメモリ位置に記憶され、前記第2の信号表現は、前記第2のHDLと両立可能な形式で第2のメモリ位置に記憶される、請求項7に記載の方法。前記第1のトランザクション関数は、前記第1のHDL信号表現の値が変化するシミュレーションの間にデルタ周期で変換を完了して動作を更新するように構成され、前記第2のトランザクション関数は、前記第2のHDL信号表現の値が変化するシミュレーションの間にデルタ周期で変換を完了して動作を更新するように構成される、請求項7に記載の方法。プロセッサが実行可能な命令で構成される持続的でプロセッサ読取可能な記憶媒体を備え、プロセッサによって実行されたときの命令は、プロセッサに次のステップを実行させ、当該ステップは、第1のハードウェア記述言語第1のHDLで記載される少なくとも1つのモジュールと、前記第1のHDLとは異なる第2のHDLで記載される少なくとも1つのモジュールとを有する回路記述を詳述することと、シミュレーションのデータフローのグラフを生成することとを含み、前記生成することは、第1のデータフロービルダーを用いて前記第1のHDLで記載されるモジュールを通じてデータ経路をモデル化することと、第2のデータフロービルダーを用いて前記第2のHDLで記載されるモジュールを通じて前記データ経路をモデル化することとを含み、前記ステップは、さらに、前記データフローのグラフからシミュレーションコードを生成することを含み、前記生成されたコードは、前記回路記述に従って回路動作をシミュレートするように実行可能である、コンピュータプログラム製品。前記第1および第2のHDLの少なくとも1つで記載されるモジュールを通じて前記データ経路をモデル化することは、データフローのネットを推測することと、各モジュールのために処理を生成することと、前記ネットのドライバを生成することと、前記データフローのネットに対する各処理の感度を決定することとを含む、請求項10に記載のコンピュータプログラム製品。前記第1のDHLと両立可能な形式を有する第1のHDL信号表現を生成することと、前記第2のDHLと両立可能な形式を有する第2のHDL信号表現を生成することと、前記シミュレーションのデータフローのグラフにおいて言語境界間で前記回路記述の各インスタンス化されたモジュールに対し、前記インスタンス化されたモジュールのポートを前記第1のHDL信号表現にマッピングすることと、前記インスタンス化されたモジュールのポートを前記第2のHDL信号表現にマッピングすることとをさらに含む、請求項10または11に記載のコンピュータプログラム製品。第1のハードウェア記述言語第1のHDLで記載される少なくとも1つの構成要素と、前記第1のHDLとは異なる第2のHDLで記載される少なくとも1つのモジュールとを有する回路記述から生成される回路であって、当該回路は、次のステップによって生成され、当該ステップは、少なくとも1つのプログラムされたプロセッサ上で動作を行なうことを含み、前記動作は、前記回路記述を詳述することと、シミュレーションのデータフローのグラフを生成することとを含み、前記生成することは、第1のデータフロービルダーを用いて前記第1のHDLで記載されるモジュールを通じてデータ経路をモデル化することと、第2のデータフロービルダーを用いて前記第2のHDLで記載されるモジュールを通じて前記データ経路をモデル化することとを含み、前記動作は、さらに、前記データフローのグラフからシミュレーションコードを生成することを含み、前記生成されたコードは、前記回路記述に従って回路動作をシミュレートするように実行可能である、回路。前記第1のDHLと両立可能な形式を有する第1のHDL信号表現を生成することと、前記第2のDHLと両立可能な形式を有する第2のHDL信号表現を生成することと、前記シミュレーションのデータフローのグラフにおいて言語境界間で前記回路記述の各インスタンス化されたモジュールに対し、前記インスタンス化されたモジュールのポートを前記第1のHDL信号表現にマッピングすることと、前記インスタンス化されたモジュールのポートを前記第2のHDL信号表現にマッピングすることとをさらに含む、請求項13に記載の回路。前記第1および第2のHDLの少なくとも1つで記載されるモジュールを通じて前記データ経路をモデル化することは、データフローのネットを推測することと、各モジュールのために処理を生成することと、前記ネットのドライバを生成することと、前記データフローのネットに対する各処理の感度を決定することとを含む、請求項13または14に記載の回路。異なるHDLの異なるフォーマットおよび能力により、混合言語設計は、効率的にシミュレートするのが困難となり得る。混合言語シミュレーションの1つの解決法として、モジュール単位ごとのコード生成つまり、コンパイルされたコードシミュレーションを有効にするためのHDLからの実行可能な/アセンブリ/オブジェクトコード生成を実行する。コード生成の間、ヴェリログモジュールおよびVHDLモジュールの各々がインスタンス化されるように、特有の表現が生成される。これらのモジュールを基礎とした表現は、実行時間に読み込まれ、シミュレーションを行なうのに用いられる。そのようなモデルにおいて、ヴェリログモジュールおよびVHDLモジュールの間の信号を変換し伝搬するためのポート接続は、シミュレーション実行時間の間に構成され、シミュレーション稼働負荷を増大させ得る新しい信号をよく生成する。信号を言語境界を越えて伝搬させるデータ型変換および複雑なポート接続を扱うために、信号を適切にマッピングし変換するための付加的かつ黙示的なHDL処理が必要とされる。信号の伝搬および付加的なHDL処理を扱うことの組合せ効果により、シミュレーションの複雑さおよびメモリ要求が増し、シミュレーション実行時間の効率を低減させる。概要一実施例では、第1および第2のHDLの組合せで記載される少なくとも1つのモジュールを有する回路記述のシミュレーションコードを生成する方法が与えられる。回路記述が詳述され、回路記述のシミュレーションのデータフローのグラフが生成される。シミュレーションのデータフローのグラフは、少なくとも第1のデータフロービルダーを用いて第1のHDLのモジュールを通じてデータ経路をモデル化することと、少なくとも第2のデータフロービルダーを用いて第2のHDLのモジュールを通じてデータ経路をモデル化することとによって生成される。シミュレーションコードは、シミュレーションのデータフローのグラフに従って設計の実行をモデル化するように構成され、データフローのグラフから生成される。いくつかの実施例では、第1および第2のHDLで記載されるモジュールを通じてデータ経路をモデル化することは、データフローのネットを推測することと、各モジュールのために処理を生成することと、ネットのドライバを生成することと、データフローのネットに対する各処理の感度を決定することとを含む。いくつかの実施例では、第1のHDLで記載されるモジュールを通じてデータ経路をモデル化することは、回路記述の第1のトラバースで第1のデータフロービルダーを用いて第1のHDLで記載されるモジュールのデータフローのネットを推測することと、回路記述の第2のトラバースにおいて、次のステップを行なうために第3のデータフロービルダーを用いることとを含む。当該ステップは、第1のHDLで記載される各モジュールの処理を生成することと、第1のHDLに関連するネットのドライバを生成することと、第1のHDLで記載されるモジュールの処理の感度を決定することとを含み得る。いくつかの実施例では、第2のHDLで記載されるモジュールを通じてデータ経路をモデル化することは、回路記述の第1のトラバースにおいて、次のステップを行なうために第2のデータフロービルダーを用いることと、第2のHDLで記載されるモジュールの浅いトラバースを行なうために第4のデータフロービルダーを用いることを含む。上記ステップは、第2のHDLで記載されるモジュールのデータフローのネットを推測することと、第2のHDLで記載される各モジュールの処理を生成することと、第2のHDLに関連するネットのドライバを生成することと、第2のHDLで記載されるモジュールの処理の感度を決定することとを含み得る。いくつかの実施例では、回路記述の第2のトラバースは、回路記述のインスタンス化ステートメントのみをトラバースする。いくつかの実施例においては、第1のHDLはヴェリログで、第2のHDLはVHDLである。いくつかの実施例では、回路記述のシミュレーションコードを生成する方法は、さらに、第1のDHLと両立可能な形式を有する第1のHDL信号表現を生成することと、第2のDHLと両立可能な形式を有する第2のHDL信号表現を生成することと、シミュレーションのデータフローのグラフにおいて言語境界間で回路記述の各インスタンス化されたモジュールに対し、インスタンス化されたモジュールのポートを第1のHDL信号表現にマッピングすることと、インスタンス化されたモジュールのポートを第2のHDL信号表現にマッピングすることとを含む。いくつかの実施例では、シミュレーションコードを生成することは、第1および第2のトランザクション関数を生成することを含む。第1のトランザクション関数は、シミュレーションの間に第1のHDL信号表現の値での変化に応答して、次の動作をするように構成される。当該動作は、第1のHDL信号表現を第2のHDL信号表現の形式の第1の変換された値に変換することと、第2のHDL信号表現を第1の変換された値で更新することとを含む。第1のトランザクション関数は、シミュレーションの間に第2のHDL信号表現の値での変化に応答して、次の動作をするように構成される。当該動作は、第2のHDL信号表現を第1のHDL信号表現の形式の第2の変換された値に変換することと、第2のHDL信号表現を第2の変換された値で更新することとを含む。いくつかの実施例では、第1の信号表現は、第1のHDLと両立可能な形式で第1のメモリ位置に記憶され、第2の信号表現は、第2のHDLと両立可能な形式で第2のメモリ位置に記憶される。いくつかの実施例では、第1のトランザクション関数は、第1のHDL信号表現の値が変化するシミュレーションの間にデルタ周期で変換および更新の動作を完了するように構成され、第2のトランザクション関数は、第2のHDL信号表現の値が変化するシミュレーションの間にデルタ周期で変換および更新の動作を完了するように構成される。他の実施例では、第1および第2のHDLの組合せで記載される回路設計のシミュレーションコードを生成するための方法が与えられる。回路記述が詳述され、回路記述のシミュレーションのデータフローのグラフが生成される。シミュレーションコードは、シミュレーションのデータフローのグラフに従って設計の実行をモデル化するように構成され、データフローのグラフから生成される。シミュレーションコードは、第1のDHLと両立可能な形式を有する第1のHDL信号表現と、第2のDHLと両立可能な形式を有する第2のHDL信号表現とを用いる。シミュレーションのデータフローのグラフにおいて言語境界間で回路記述の各インスタンス化されたモジュールに対し、インスタンス化されたモジュールのポートは、第1のHDL信号表現にマッピングされるとともに、第2のHDL信号表現にマッピングされる。いくつかの実施例では、シミュレーションコードを生成することは、さらに、シミュレーションの間に第1のHDL信号表現の値での変化に応答して、次の動作をするように構成される第1のトランザクション関数を生成することを含み、当該動作は、第1のHDL信号表現を第2のHDL信号表現の形式の第1の変換された値に変換することと、第2のHDL信号表現を第1の変換された値で更新することとを含む。シミュレーションコードを生成することは、さらに、シミュレーションの間に第2のHDL信号表現の値での変化に応答して、次の動作をするように構成される第2のトランザクション関数を生成することを含み、当該動作は、第2のHDL信号表現を第1のHDL信号表現の形式の第2の変換された値に変換することと、第2のHDL信号表現を第2の変換された値で更新することとを含む。いくつかの実施例では、第1および第2のトランザクション関数は、第1のHDLと両立可能な形式で第1のメモリ位置に第1の信号表現を記憶し、第2のHDLと両立可能な形式で第2のメモリ位置に第2の信号表現を記憶するように構成される。いくつかの実施例では、第1のトランザクション関数は、第1のHDL信号表現の値が変化するシミュレーションの間にデルタ周期で変換を完了し動作を更新するように構成され、第2のトランザクション関数は、第2のHDL信号表現の値が変化するシミュレーションの間にデルタ周期で変換を完了し動作を更新するように構成される。いくつかの実施例では、回路記述のシミュレーションのデータフローのグラフを生成することは、第1のデータフロービルダーを用いて第1のHDLで記載されるモジュールを通じてデータ経路をモデル化することと、第2のデータフロービルダーを用いて第2のHDLで記載されるモジュールを通じてデータ経路をモデル化することとを含む。いくつかの実施例では、第1のHDLで記載されるモジュールを通じてデータ経路をモデル化することは、回路記述の第1のトラバースで第1のデータフロービルダーを用いて第1のHDLで記載されるモジュールのデータフローのネットを推測することと、回路記述の第2のトラバースにおいて、次のステップを行なうために第3のデータフロービルダーを用いることとを含む。当該ステップは、第1のHDLで記載される各モジュールの処理を生成することと、第1のHDLに関連するネットのドライバを生成することと、第1のHDLで記載されるモジュールの処理の感度を決定することとを含む。いくつかの実施例では、第2のHDLで記載されるモジュールを通じてデータ経路をモデル化することは、回路記述の第1のトラバースにおいて、次のステップを行なうために第2のデータフロービルダーを用いることと、第2のHDLで記載されるモジュールの浅いトラバースを行なうために第4のデータフロービルダーを用いることとを含む。上記ステップは、第2のHDLで記載されるモジュールのデータフローのネットを推測することと、第2のHDLで記載される各モジュールの処理を生成することと、第2のHDLに関連するネットのドライバを生成することと、第2のHDLで記載されるモジュールの処理の感度を決定することとを含む。いくつかの実施例では、回路記述の第2のトラバースは、回路記述のインスタンス化ステートメントのみをトラバースする。さらに他の実施例では、製造の品目が与えられる。当該品目は、回路記述を処理するためにプロセッサが実行可能な命令で構成される持続的でプロセッサ読取可能な記憶媒体によって特徴づけられる。命令がプロセッサによって実行されるとき、命令はプロセッサに回路記述を詳述させるとともに、回路記述のシミュレーションのデータフローのグラフを生成させる。シミュレーションのデータフローのグラフは、少なくとも第1のデータフロービルダーを用いて第1のHDLのモジュールを通じてデータ経路をモデル化すること、および、少なくとも第2のデータフロービルダーを用いて第2のHDLのモジュールを通じてデータ経路をモデル化することによって生成される。第1のHDLのモジュールを通じたデータ経路は、回路記述の2つのトラバースでデータフロービルダーを用いてモデル化される。回路記述の第1のトラバースでは、第1のHDLのモジュールのデータフローのネットは、回路記述の第1のトラバースで第1のデータフロービルダーを用いて推測される。回路記述の第2のトラバースでは、処理が第1のHDLの各モジュールに対して生成され、第1のHDLのネットのドライバが生成され、第1のHDLのモジュールの処理の感度が決定される。いったんデータフローのグラフが生成されると、シミュレーションのデータフローのグラフに従って設計の実行をモデル化するように構成されるシミュレーションコードが生成される。いくつかの実施例では、第2のHDLで記載されるモジュールを通じてデータ経路をモデル化することは、次のステップを行なうために回路記述の第1のトラバースで第2のデータフロービルダーを用いることと、第2のHDLで記載されるモジュールの浅いトラバースを行なうために第4のデータフロービルダーを用いることとを含む。当該ステップは、第2のHDLで記載されるモジュールのデータフローのネットを推測することと、第2のHDLで記載される各モジュールのために処理を生成することと、第2のHDLと関連するネットのドライバを生成することと、第2のHDLのモジュールで記載される処理の感度を決定することとを含む。種々の他の実施例は、続く詳細な説明および特許請求の範囲において説明されることが分かるだろう。様々な局面および有利な点は、次の詳細な説明を考察し、以下の図面を参照することによって明らかとなる。詳細な説明データフローのモデル化は、HDLの設計をシミュレートするのに効率的な方法を与える。データフローモデルにおいて、レジスタおよび方法の間のデータフローの観点から回路がモデル化され、当該方法で設計は個々のゲートのインスタンス化よりもむしろデータを処理する。データフローのシミュレータは、シミュレーションコードがデータつまり、HDLモジュールの内部およびHDLモジュールに沿って流れる信号に続く方法で実行される点で特徴付けられる。この特性を満足させる一方でデータ生成を最適化するために、単一言語シミュレータは通常、新たにインスタンス化されたモジュールのための新たな信号データ構造を生成することなしに、インスタンス化を介してモジュール間で信号を伝搬する。シミュレータは、インスタンス化するモジュールからのデータ構造を再使用する。しかしながら、異なるHDLに基づいてモジュール間で信号が横断するとき、2つのモデルの信号データ構造は両立可能でない。以前の混合言語シミュレータは通常、異なるHDLタイプのモジュールがインスタンス化されたときに信号の変換および伝搬を扱うために、新たな信号および実行時間ヘルパー処理を生成することによってこの問題に対処する。これらの新たな信号および実行時間処理の結果、シミュレータの稼働負荷およびメモリ要求が増大する。一以上の実施例は、混合言語のデータフローシミュレーションのための効率的な実行時間コードを生成するための方法を与え、それにより、シミュレータの稼働負荷およびメモリ要求が低減される。コンパイルの間、信号表現の数を最小化させる方法でデータフロー表現が生成され、HDLの言語境界に沿った信号の変換が事前に構成される。混合言語仕様の言語境界に沿って信号の伝搬を扱うために、実行時間で生成されるのにいかなる付加的な処理も要求されない。代わりに、言語境界に沿った信号伝搬の固有の複雑性は、信号のデータフローを生成しシミュレーションコードを生成する局面の間のコンパイル時間で扱われる。その結果、非常に改善された実行時間の動作およびメモリ占有面積を伴った混合言語シミュレータとなる。図1は、混合言語回路記述の一例を示す。この例において、HDL仕様は、トップレベルのVHDLモジュールVh1102を含む。Vh1モジュールは、ヴェリログモジュールVer2104をインスタンス化する。ヴェリログモジュールは、VHDLモジュールVh3106およびヴェリログモジュールVer4108をインスタンス化する。Vh3モジュールはさらに、ヴェリログモジュールVer5110をインスタンス化する。この例でのHDL設計階層の深さは、説明の簡単化のため4つのレベルに制限されている。実際には、モジュールをインスタンス化するときに信号が言語境界を横断する回数を制限するHDLの設計規則はない。その結果、大きなHDL設計は、何回も境界を横断して、何回も信号変換を要求し得る。一以上の実施例では、言語境界を横断する各信号のために1つのヴェリログ表現および1つのVHDL表現を生成することによって、混合言語のデータフローシミュレータで言語境界を横切る信号伝搬のためのシミュレータ効率を改善する。コンパイル時間では、信号のヴェリログ表現は、単一言語のヴェリログシミュレータにあるため、ヴェリログの活性なデータフロービルダーによって生成される。また、信号のVHDL表現は、単一言語のVHDLシミュレータにあるため、VHDLの活性なデータフロービルダーによって生成される。もし信号が言語境界を複数回横断すれば、対応するHDLのために前もって生成された表現が用いられる。データフロー信号を再使用することにより、ポートのための信号生成が混合言語シミュレータにおいて最適化される。コード生成局面の間、シミュレーションの間に混合言語信号のVHDL部分およびヴェリログ部分の更新を制御するためにトランザクション関数が生成され得る。トランザクション関数は、この信号に敏感なVHDL処理およびヴェリログ処理をウェイクアップし/スケジュールするように構成される。この構造により、コンパイラは各混合言語信号のための最小量のデータを構築することが確実になる。これにより、実行時間に処理されることが要求される信号符号化データの量が低減される。図2は、図1に示される混合言語回路記述のモジュール間の信号伝搬を表わす。この例において、2つの信号表現Vhsig220およびVersig222は、モジュール202、204、206、208および210を通じて信号のデータフローを表わすのに用いられる。VHDLモジュールは、Vhsig220の信号表現を用いてシミュレートされ、ヴェリログモジュールは、Versig222の信号表現を用いてシミュレートされる。VHDLポートは、コンパイルの間ヴェリログ信号にマッピングされる。コンパイルの間に生成されるトランザクション関数は、他方での充電に応答して信号表現の1つを更新するように構成される。たとえば、シミュレーションの間、Vhsig220は、VHDLモジュールVh1202によって生成される信号を表わすのに用いられる。VHDLモジュール202は、信号Vhsig220を用いてシミュレートされ、ヴェリログモジュールVer2204、Ver4208およびVer5210は、ヴェリログ信号表現Versig222を用いてそれらの各信号に対してシミュレートされる。VhsigがVh1202のシミュレーションに続いて更新されたとき、トランザクション関数はVersig222も更新する。明確のため、Vhsig220のような信号は、入力信号に加えて、出力信号、入出力信号またはモジュールにおいて局所的に宣言された信号を表わすようにも用いられ得る。混合言語シミュレーションにおいて、言語境界を横切って用いられる信号の変化は、当該信号に接近するすべてのヴェリログモジュールおよびVHDLモジュールに伝搬されなければならない。ヴェリログ側で生じるそのような信号の変化は、VHDL側でただちに利用可能であるべきであり、VHDL側での信号に対する変化は、ヴェリログ側でただちに見えるようにすべきである。一以上の実施例は、言語境界を横切って通過する各信号に対する2つのメモリ位置、1つはヴェリログ型の位置、もう1つはVHDL型の位置、を保持することによって、この問題に対処している。実行時間において、ヴェリログモジュールが信号のヴェリログ表現を修正するとき、ヴェリログ型のメモリ位置に変化が書き込まれる。同じデルタ周期、すなわち、信号のヴェリログ表現が伝搬される同じモデル化された時間周期において、トランザクション関数はヴェリログ値をVHDL値に変換し、変換された値を信号のVHDL型の位置に書き込む。同様に、VHDLモジュールが実行時間に信号を変化させるとき、当該変化はVHDL型のメモリ位置に書き込まれ、変換されて、当該信号に関係するヴェリログ型の位置に記憶される。これは、ヴェリログモジュールが実行されたとき、シミュレータは信号の最も最近の値を用い、値の変化を確認するためにそれを前の値と比較可能であることを確実にする。同様に、VHDLモジュールが実行されたとき、単一の言語VHDLフローにあるため、信号の最新のVHDL値が容易に利用可能である。トランザクション関数は各信号対を変換し更新するように構成されるので、信号がヴェリログモジュール内にある間に信号が実行時間でアクセスされるとき、シミュレータは混合言語信号の説明を要求されない。図3は、シミュレーションの間に言語境界間で信号表現を効率的に変換するために、コンパイルの間に生成され構成され得るトランザクション関数によって実施される処理の一例のフロー図を示す。VHDL信号はブロック302および304でモニターされ、信号Vhsigへの修正に応答して、トランザクション関数は、ブロック306でVHDL形式のメモリ位置にVhsigの値を書き込むように構成される。ブロック308では、トランザクション関数は、コンパイルの間に決定された変換を用いてVhsigをヴェリログ形式に変換する。変換された値は、ブロック310においてヴェリログ形式のメモリ位置に記憶される。当該値がブロック306および310でメモリに書き込まれた後、トランザクション関数は、ブロック312でVhsigまたはVersigのいずれかに敏感であることから、データフローのグラフによって示される処理の行使を開始する。同様に、ヴェリログ信号Versigは、ブロック322および324でモニターされる。Versig信号への修正に応答して、トランザクション関数は、ブロック326においてVersigの値をヴェリログ形式のメモリ位置に書き込むように構成される。ブロック328では、トランザクション関数は、コンパイルの間に決定された変換を用いてVersigをVHDL形式に変換する。変換された値は、ブロック330においてVHDL形式のメモリ位置に記憶される。当該値がブロック326および330でメモリに書き込まれた後、トランザクション関数は、ブロック332でVhsigまたはVersigのいずれかに敏感であることから、データフローのグラフによって示される処理の行使を開始する。一以上の実施例において、十分に精緻な混合言語設計のデータフロー表現は、十分に精緻な混合言語設計の各モジュールのために、ネットを推測し、処理を生成し、ネットのドライバーを生成し、感度を決定するための単一言語のヴェリログおよびVHDLのデータフロービルダーを用いることによって生成され得る。データフローのグラフは、VHDLビルダーを用いてVHDLモジュールを通じておよびヴェリログデータフロービルダーを用いてヴェリログモジュールを通じて、設計をトラバースし、信号のデータフローをモデル化することにより、混合言語のHDL仕様のために生成され得る。モジュール間参照の付加的な固有の複雑さにより、ヴェリログのデータフロー中心のシミュレータは、設計のトップダウンを2度トラバースする必要がある。各トラバースは、個別のデータフロービルダーを用いて実現され、それゆえ、ヴェリログのデータフロー中心のシミュレータは、ヴェリログモジュールを通じてデータフローを決定するために2つのデータフロービルダーを用いる。一以上の実施例は、4つのデータフロービルダーを用いて混合言語のデータフローモデルを生成する。2つのデータビルダーは、設計のVHDLモジュールを処理し、他の2つのデータビルダーは、設計のヴェリログモジュールを処理する。混合言語設計のヴェリログ部分はヴェリログシミュレーションのデータフロービルダーによって処理され、混合言語設計のVHDL部分はVHDLシミュレーションのデータフロービルダーによって処理されなければならないため、混合言語シミュレータは、少なくとも3つのデータフロービルダー、2つのヴェリログビルダーおよび1つのVHDLビルダー、を必要とする。2つのヴェリログビルダーは、情報の分離を保存するために必要とされる。設計がトラバースされるため、VHDLビルダーは設計のVHDL部分をトラバースするのに用いられ、ヴェリログビルダーは設計のヴェリログ部分をトラバースするのに用いられる。このように、設計の全トラバースは、少なくとも1つのVHDLビルダーおよび少なくとも1つのヴェリログビルダーを利用する。設計階層のヴェリログ部分の2つのトラバースが必要とされることから、設計階層のVHDL部分をトラバースするのに第2のVHDLビルダーが必要とされる。その結果、混合言語のデータフローグラフは、設計の2つのトラバースにおいて2つのVHDLビルダーおよび2つのヴェリログビルダーを用いて生成することができる。第1および第2のVHDLデータフロービルダーのみならず第1および第2のヴェリログデータフロービルダーを実施するために同じコードが用いられ得る。しかしながら、これらは、それらの間に情報の共有がない点でまとまりのない構造である。実際に、第1のヴェリログデータフロービルダーは、第2のヴェリログデータフロービルダーを生成する前に消去され得る。設計がトラバースされるとき、各インスタンス化されたモジュールのHDL型に基づいて、適当なVHDLまたはヴェリログのデータフロービルダーが選択される。たとえば、もし最上位のモジュールがVHDL言語で書きこまれた場合、VHDLのデータフロービルダーは、ヴェリログモジュールがインスタンス化されるまでHDL設計階層のトップダウンをトラバースするために生成され用いられる。ヴェリログモジュールとの遭遇に応答して、ヴェリログのデータフロービルダーは、ヴェリログモジュールの下で設計階層のトラバースを継続するために生成され用いられる。ヴェリログモジュールがVHDLモジュールをインスタンス化するまで、ヴェリログのデータフロービルダーを用いて設計がトラバースされる。そのとき、前回生成されたVHDLのデータフロービルダーは、VHDLモジュールの下でVHDL階層をトラバースするために用いられ得る。他のヴェリログモジュールのインスタンス化に遭遇するまで、VHDLのデータフロービルダーを用いてトラバースが継続する。ヴェリログモジュールとの遭遇に応答して、前回生成されたヴェリログのデータフロービルダーは、階層のトラバースを継続するために用いられる。VHDLのデータフロービルダーおよびヴェリログのデータフロービルダーの間を必要な回数だけ制御により切り替える。このトラバースの間、VHDLのデータフロービルダーは、ネットを推測すること、シミュレーションでモジュールのステートメントを実行するための処理を生成すること、各モジュールによって修正される信号を有するネットのドライバーを生成すること、および、推測されるデータフローネットの生成される処理信号の各々の感度を決定することを含む、処理されるVHDLモジュールの各々に対して多くのタスクを実行する。ヴェリログモジュールの各々に対して、ヴェリログのデータフロービルダーは、データフローのネットを推測するのに用いられる。上述したように、モジュール間参照の固有の複雑さにより、処理およびネットドライバを生成し、各ヴェリログモジュールのためのネットの感度を決定するために、第2のトラバースが必要とされる。いったん階層設計の第1のトラバースが完了すると、第2のVHDLのデータフロービルダーが生成され、最上位レベルのVHDLモジュールから始まる設計階層のトップダウンの浅いトラバースのために用いられ得る。浅いトラバースは、VHDL処理、信号割り当ておよびデクラレーションが処理されない設計トラバースに関する。浅いトラバースにおいて、インスタンス化ステートメントは、ヴェリログモジュールのインスタンス化に遭遇するまで識別され解析される。ヴェリログモジュールのインスタンス化への遭遇に応答して、第2のヴェリログのデータフロービルダーは、このインスタンス化されたモジュールの下、ヴェリログの階層設計をトラバースするために生成され用いられる。この第2のトラバースの間、第2のヴェリログのデータフロービルダーは、モジュールのプロセスを生成すること、ネットのドライバを生成すること、および、データフローのネットへの各処理の感度を決定することを含む、処理されるヴェリログモジュールの各々に対して多くのタスクを実行する。第1のトラバースのように、設計階層がトラバースされたとき、言語境界間において第2のヴェリログおよびVHDLのデータフロービルダーの間を制御スイッチが行き来する。図4は、混合言語回路記述をコンパイルするための処理の一例のフロー図を示す。回路記述がブロック401に詳述される。混合言語HDL記述のデータフロー図表は、ブロック430に示される処理の例において生成される。VHDLのデータフロービルダーおよびヴェリログのデータフロービルダーは、ブロック402において生成される。VHDL信号Vhsigおよびヴェリログ信号Versigは、ブロック404において生成される。この例では、信号表現およびデータフロービルダーは、混合言語設計をトラバースする前に生成される。いくつかの実施例では、第1のHDLのモジュールに遭遇したとき、第1の信号表現およびデータフロービルダーが生成される。異なるDHLのモジュールに遭遇した場合、第2の信号表現およびデータフロービルダーが生成される。十分に精緻な設計の第1のトラバースは、ブロック406において開始される。第1のトラバースの間に決定ステップ408で遭遇される各ヴェリログブロックに対し、第1のヴェリログのデータフロービルダーは、ブロック410において第1の組のデータフロー問題を解決するのに用いられる。上述したように、第1のデータフロービルダーは、Versig信号のデータフローのネットを推測するのに用いられる。第1のトラバースの間の決定ステップ408で遭遇される各VHDLブロックに対し、第1のVHDLデータフロービルダーは、ブロック412においてVhsig信号表現のデータフローをマッピングするのに用いられる。上述したように、第1のトラバースに渡って、VHDLのデータフロービルダーは、Vhsigのネットを推測し、モジュールに含まれる処理を生成し、ネットのドライバを生成し、データフローのネットに対する各処理の感度を決定する。決定ステップ414においてモジュールの新たなインスタンスにいつ遭遇したときでも、データフローのグラフ生成のため決定ステップ408において適当なデータフロービルダーが選択される。HDL仕様の第1のトラバースが決定ステップ414において完了したとき、第2のVHDLのデータフロービルダーおよび第2のヴェリログのデータフロービルダーがブロック416において生成される。HDL仕様のデータフローのグラフを完成させるため、精緻な設計が2度トラバースされ、第2のデータフロービルダーが用いられる。決定ステップ418において遭遇する各ヴェリログブロックに対し、第2のヴェリログのデータフロービルダーは、ブロック420におけるVersig信号を用いてヴェリログのデータフローのグラフを完成させるのに用いられる。上述したように、第2のヴェリログのデータフロービルダーは、モジュールの処理を生成し、ネットのドライバを生成し、ブロック410において第1のトラバースで生成されるデータフローのネットに対する各処理の感度を決定する。各VHDLモジュールに対して、第2のVHDLのデータフロービルダーは、ブロック422において各VHDLモデルの浅いトラバースを行なうことによって全仕様がトラバースされるのを可能にし、VHDLモジュール内のインスタンス化ステートメントのみ細部までに処理される。モジュールの行使をモデル化するように構成され、シミュレーションのデータフローのグラフに従うシミュレーションコードは、第1のHDLと両立可能な形式を有する第1のHDL信号表現および第2のHDLと両立可能な形式を有する第2のHDL信号表現を用いてブロック440で生成される。シミュレーションのデータフローのグラフにおける言語境界間で回路記述の各インスタンス化されたモジュールに対し、インスタンス化されたモジュールのポートは、第1のHDL信号表現にマッピングされるとともに第2のHDL信号表現にマッピングされる。例示および実施例は、VHDLおよびヴェリログにおいて表現される混合言語設計の文脈で最初に記載されているが、実施例は、VHDLおよびヴェリログのみならずまたはその代わりに、他のHDL言語を含む混合言語仕様のシミュレーションに関連しても用いられ得ることが認識される。同様に、上記の例示および実施例は、1つの最上位のモジュールを参照して記載されているが、一以上の実施例は、複数の最上位モジュールで設計に容易に外挿することができる。図5は、そこに記載された処理および関数を実行するために構成され得るコンピュータ構造の一例のブロック図を示す。プログラムコードで構成された1以上のプロセッサおよびメモリ構成を含む種々の代替的なコンピュータ構成は、処理およびデータ構造を制御し、異なる実施例のアルゴリズムを実行するのに適していると評価されるだろう。プロセッサの実行可能な形式で符号化される一以上の実施例の処理を含むコンピュータコードは、磁気的または光学的ディスクまたはテープ、電子記憶装置、またはネットワークを通じた応用サービスのような、様々なコンピュータ読取可能な記憶媒体または配信チャネルを介して記憶されるか与えら得る。プロセッサ計算配列500は、1以上のプロセッサ502、クロック信号発生器504、メモリ部506、記憶部508、およびホストバス512に結合された入力/出力制御部510を含む。プロセッサ計算配列500は、回路板上の分離した構成要素で実行され得るか、集積回路内で内部的に実行され得る。集積回路内で内部的に実行されるとき、プロセッサ計算配列は、マイクロコントローラとしても知られている。計算配列の構造は、本願の当業者には認識されているように、実施要件に依存する。プロセッサ502は、1以上の汎用プロセッサ、1以上の汎用プロセッサおよび適当な共用プロセッサの組合せ、または1以上の特化されたプロセッサたとえば、RISC、CISC、パイプライン型などであり得る。メモリ配列506は通常、複数レベルのキャッシュメモリおよび主メモリを含む。記憶配列508は、磁気ディスク図示せず、フラッシュ、EPROM、または他の不揮発性データ記憶によって与えられるような局所的および/または遠隔の持続性記憶を含み得る。当該記憶部は、読出または読出/書込が可能であり得る。さらに、メモリ部506および記憶部508は、単一の配列に結合されてもよい。プロセッサ配列502は、記憶部508および/またはメモリ部506の配列でソフトウェアを行使し、記憶部508および/またはメモリ部506の配列からデータを読み出すとともにそこへデータを記憶し、入力/出力制御配列510を通じて外部装置と通信する。これらの機能は、クロック信号発生器504によって同期される。計算配列のリソースは、オペレーティングシステム図示せずまたはハードウェア制御部図示せずのいずれかによって管理され得る。