半導体装置の設計データを記憶する記憶部と、前記設計データに基づいて、前記半導体装置に含まれる非同期パスを検出する検出部と、前記検出した非同期パスに第1のフリップフロップを挿入する挿入部と、前記挿入したフリップフロップにおいてメタステーブル状態が開始してから終了するまでのメタステーブル収束時間がクロックツリーのレイテンシよりも短いときには、前記クロックツリーのあるノードから出力される第1のクロックを前記第1のフリップフロップのクロック端子の入力に設定し、前記クロックツリーの別のノードから出力され、かつ前記第1のクロックよりも前記メタステーブル収束時間だけ遅延した第2のクロックを前記検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する遅延設定部とを備え、前記遅延設定部は、前記メタステーブル収束時間がクロックツリーのレイテンシ以上のときには、前記クロックツリーのあるノードから出力される第1のクロックを前記第1のフリップフロップのクロック端子の入力に設定し、前記第1のクロックを前記メタステーブル収束時間だけ、前記クロックツリー以外の遅延回路で遅延させた第2のクロックを前記検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する、半導体設計装置。半導体装置の設計データを記憶する記憶部と、前記設計データに基づいて、前記半導体装置に含まれる非同期パスを検出する検出部と、前記検出した非同期パスに、第1のフリップフロップと、前記第1のフリップフロップからデータを受ける第2のフリップフロップを挿入する挿入部と、前記挿入した第1のフリップフロップにおいてメタステーブル状態が開始してから終了するまでのメタステーブル収束時間がクロックツリーのレイテンシよりも短いときには、前記クロックツリーのあるノードから出力される第1のクロックを前記第1のフリップフロップのクロック端子の入力および前記検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定し、前記クロックツリーの別のノードから出力され、かつ前記第1のクロックとの位相差が前記メタステーブル収束時間となる第2のクロックを前記第2のフリップフロップのクロック端子の入力に設定する遅延設定部とを備え、前記遅延設定部は、前記メタステーブル収束時間がクロックツリーのレイテンシ以上のときには、前記クロックツリーのあるノードから出力される第1のクロックを前記第1のフリップフロップのクロック端子の入力および前記検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定し、前記第1のクロックを前記メタステーブル収束時間だけ、前記クロックツリー以外の遅延回路で遅延させた第2のクロックを前記第2のフリップフロップのクロック端子の入力に設定する、半導体設計装置。互いに同期しないクロックで動作する第1の回路ブロックと第2の回路ブロックとの間に接続されたフリップフロップと、第1のクロックと第2のクロックが入力されて、いずれかのクロックを前記フリップフロップのクロック端子へ出力するセレクタとを備え、前記第2のクロックが、前記第2の回路ブロックのフリップフロップのクロック端子に入力され、前記第2のクロックは、前記第1のクロックを前記第2の回路ブロックのフリップフロップにおいてメタステーブル状態が開始してから終了するまでのメタステーブル収束時間だけ遅延した信号である、半導体装置。互いに同期しないクロックで動作する第1の回路ブロックと第2の回路ブロックとの間に接続された前段の第1のフリップフロップおよび後段の第2のフリップフロップと、第1のクロックと第2のクロックが入力されて、いずれかのクロックを前記第2のフリップフロップのクロック端子へ出力するセレクタとを備え、前記第1のクロックが、第2の回路ブロックのフリップフロップのクロック端子および前記第1のフリップフロップのクロック端子に入力され、前記第2のクロックは、前記第1のクロックを前記第2の回路ブロックのフリップフロップにおいてメタステーブル状態が開始してから終了するまでのメタステーブル収束時間だけ遅延した信号である、半導体装置。前記第1のクロックおよび前記第2のクロックは、クロックツリーのそれぞれ異なるノードから出力された信号である、請求項3または4に記載の半導体装置。前記第2のクロックは、前記クロックツリーの末端のノードから出力された信号である、請求項5記載の半導体装置。前記第1のクロックを前記メタステーブル収束時間だけ遅延させて前記第2のクロックを出力する遅延回路をさらに備える、請求項3または4に記載の半導体装置。半導体装置の設計データを記憶する記憶部と、前記設計データに基づいて、前記半導体装置に含まれる、それぞれ異なるクロックで動作する第1の回路ブロックと第2の回路ブロックの間の非同期パスに挿入された同期化回路を検出する検出部と、前記第2の回路ブロックの入力の論理を前記挿入された同期化回路を削除することによって、論理圧縮する圧縮部と、前記同期化回路挿入前の前記第2の回路ブロックの入力の論理と、前記圧縮後の前記第2の回路ブロックの入力の論理が一致するか否かを判定する一致判定部とを備えた、半導体設計装置。半導体装置の設計データを記憶する記憶部と、前記設計データに基づいて、論理シミュレーション時に、タイミング違反した信号が入力されるフリップフロップを検出する検出部と、論理シミュレーション時に、タイミング違反した時点で、前記検出したフリップフロップのシミュレーション上の出力を不定値に設定し、かつその後前記検出したフリップフロップにおいてメタステーブル状態が開始してから終了するまでのメタステーブル収束時間経過後に、前記フリップフロップのシミュレーション上の出力を不定値から確定値に戻す設定部とを備えた、半導体設計装置。しかしながら、特許文献1特開2002-215568号公報に記載される方式は、回路のオーバーヘッドによるコストが大きい上、同期設計をベースとしたプラットフォーム設計に乗らず、設計者のスキル不足によって不良品が流出したり、設計TATが長期化するなどの問題がある。それゆえに、本発明の目的は、簡易かつ容易に、非同期パスを含む半導体装置を設計することができる半導体設計装置、および、非同期パスを含む半導体装置を提供することである。本発明の一実施形態の半導体設計装置は、半導体装置の設計データを記憶する記憶部と、設計データに基づいて、半導体装置に含まれる非同期パスを検出する検出部と、検出した非同期パスに第1のフリップフロップを挿入する挿入部と、挿入したフリップフロップにおいてメタステーブル状態が開始してから終了するまでのメタステーブル収束時間がクロックツリーのレイテンシよりも短いときには、クロックツリーのあるノードから出力される第1のクロックを第1のフリップフロップのクロック端子の入力に設定し、クロックツリーの別のノードから出力され、かつ第1のクロックよりもメタステーブル収束時間だけ遅延した第2のクロックを検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する遅延設定部とを備え、遅延設定部は、メタステーブル収束時間がクロックツリーのレイテンシ以上のときには、クロックツリーのあるノードから出力される第1のクロックを第1のフリップフロップのクロック端子の入力に設定し、第1のクロックをメタステーブル収束時間だけ、クロックツリー以外の遅延回路で遅延させた第2のクロックを検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する。本発明の一実施形態によれば、簡易かつ容易に、非同期パスを含む半導体装置を設計することができる。以下、本発明の実施形態について図面を参照して説明する。[第1の実施形態]第1の実施形態では、非同期パスへの同期化回路の挿入に関する。第1の実施形態は、従来のように非同期パスに複数段のフリップフロップ以下、FFを挿入して挿入周期分の時間を稼ぐことによって同期化を実現するのではなく、メタステーブル収束時間を算出し、その遅延時間だけ受信側のFFへ供給するクロックを遅らせることで同期化を実現する。半導体設計装置の構成図1は、第1の実施形態の半導体設計装置の構成を表わす図である。図1を参照して、この半導体設計装置は、論理合成部2と、設計データ記憶部3と、同期化回路挿入部4と、タイミング検証部5と、形式検証部6とを備える。論理合成部2は、抽象的な回路の動作に関する記述から半導体装置の論理設計を行って、半導体装置の設計データを作成し、設計データ記憶部3に書き込む。設計データ記憶部3は、設計データを記憶する。同期化回路挿入部4は、非同期パス検出部7と、遅延設定部8と、FF挿入部9とを備える。非同期パス検出部7は、設計データに基づいて、半導体装置に含まれる非同期パスを検出する。ここで、非同期パスとは、周波数の異なる、互いに独立のクロックで動作している回路の間の転送バスをいう。FF挿入部9は、検出された非同期パスにFFD型フリップフロップを挿入する。遅延設定部8は、デバイス特性、回路制約、およびMTBFMeantimebetweenfailuresに基づいて、メタステーブル収束時間Trを算出する。メタステーブル状態とは、論理レベルがローレベルでもハイレベルでもない中途半端な中間レベルを保持する状態をいう。メタステーブル収束時間Trとは、非同期パスの受信側のFFにおいてメタステーブル状態が開始してから終了するまでの時間をいう。たとえば、文献Measuringmetastabilityanditseffectoncommunicationsignalprocessingsystems、IntelCorpには、メタステーブル収束時間Tr、デバイス依存の収束時間係数τ、デバイス依存のfailureウインドウT0、非同期パスの送信側の回路ブロックのクロックの周波数fb、非同期パスの受信側の回路ブロックのクロックの周波数fa、MTBFとの間に以下の関係が成立することが示されている。MTBF=exp-Tr/τ/fb×fa×T0遅延設定部8は、非同期パスの受信側のフリップフロップ後述の挿入するFFのメタステーブル収束時間TrがクロックツリーのレイテンシTclよりも短いときには、クロックツリーのあるノードから出力される第1のクロックを挿入したFFのクロック端子の入力に設定する。遅延設定部8は、さらに、クロックツリーの別のノードから出力され、かつ第1のクロックよりもメタステーブル収束時間Trだけ遅延した第2のクロックを検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する。遅延設定部8は、非同期パスの受信側のフリップフロップ後述の挿入するFFのメタステーブル収束時間TrがクロックツリーのレイテンシTcl以上のときには、クロックツリーのあるノードから出力される第1のクロックを挿入したFFのクロック端子の入力に設定する。遅延設定部8は、第1のクロックをメタステーブル収束時間Trだけ、クロックツリー以外の遅延回路で遅延させた第2のクロックを検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する。ここで、クロックツリーのレイテンシとは、クロックツリーの末端リーフから出力されるクロックが、クロックツリーのルートから出力されるクロックに対して遅延している時間を表わす。タイミング検証部5は、設計された半導体装置が所望する周波数で動作するかの検証、およびタイミング規格値を満たしているかの検証を行なう。形式検証部6は、同期化回路などの付加回路の追加前後で、半導体装置の論理が等価であるかの検証を行なう。全体動作図2は、第1の実施形態の半導体設計装置の動作手順を表わすフローチャートである。図2を参照して、論理合成部2は、抽象的な回路の動作に関する記述から半導体装置の論理設計を行って、半導体装置の設計データを作成し、設計データ記憶部3に書き込むステップS101。次に、同期化回路挿入部4は、後述する本実施の形態に特有の、半導体装置に含まれる非同期バスに同期化回路を挿入する処理を実施するステップS102。次に、タイミング検証部5は、半導体装置のタイミング検証処理を実施するステップS103。次に、形式検証部6は、半導体装置の形式検証を実施するステップS104。同期化回路の挿入処理図3は、図2の同期化回路挿入処理の具体的な処理手順を表わすフローチャートである。図4は、非同期バスの送信側の回路ブロック以下、第1の回路ブロック、および非同期パスの受信側の回路ブロック以下、第2の回路ブロックを表わす図である。図5は、Tcl≧Trの場合に、図4の非同期パスに挿入される同期化回路を表わす図である。図6は、Tcl<Trの場合に、図4の非同期パスに挿入される同期化回路を表わす図である。図3~図6を参照して、非同期パス検出部7は、設計データに基づいて、半導体装置に含まれる非同期パスを検索するステップS201。次に、遅延設定部8は、クロックツリーのレイテンシTclを取得するステップS202。FF挿入部9は、1つのFFを挿入する。図5および図6の例では、FF62が挿入されるステップS203。次に、遅延設定部8は、挿入したFFのメタステーブル収束時間Trを算出するステップS204。次に、TclがTrよりも小さいときにはステップS205でYES、遅延設定部8は、第2の回路ブロックのFFのクロック端子へのクロックを元々入力されているクロックφ2からTr時間だけ遅延させたクロックφ3とする遅延回路を挿入するステップS206。さらに、遅延設定部8は、同期化のために挿入したFFのクロック端子へのクロックを第2の回路ブロックのFFのクロック端子に元々入力されていたクロックφ2に設定する。図6の例では、FF62のクロック端子にクロックφ2が入力されるステップS207。一方、TclがTr以上のときにはステップS205でNO、遅延設定部8は、第2の回路ブロックのFFのクロック端子へのクロックを元のクロックφ2から変更して、クロックツリーのリーフ末端から出力されるクロックφ3に設定する。図5の例では、FF55のクロック端子にクロックφ3が入力されるステップS208。次に、遅延設定部8は、クロックツリーのリーフ末端から出力されるクロックφ3よりもTr時間だけ早いクロックφ4つまり、クロックツリーのルート側のクロックをクロックツリーから取り出す。遅延設定部8は、同期化回路のFFのクロック端子へのクロックを取り出したクロックφ4に設定する。図5の例では、FF62のクロック端子にクロックφ4が入力されるステップS209。以上のように本実施の形態では、送信側の回路ブロックからのデータを受信側周波数で動作する同期化のためのFFでサンプリングし、受信側の回路ブロックでメタステーブル収束時間経過後に当該データをサンプルすることで、受信側の回路ブロックは、安定したデータをキャプチャすることができるので、設計スキルの乏しい設計者でもミスなく短TATで非同期パスを設計することができる。また、受信側の回路ブロックへ供給するクロックを遅らせるために、可能な限り、クロックツリーのレイテンシを利用するので、新たにAreaPowerのオーバーヘッドを生じることなく実装が可能である。[第1の実施形態の変形例1]この変形例では、FF挿入部9は、検出した非同期パスに、第1のフリップフロップ前段のFFと、前段のFFからデータを受ける第2のフリップフロップ後段のFFを挿入する。遅延設定部8は、非同期パスの受信側のフリップフロップ挿入する2段のFFの前段のFFのメタステーブル収束時間Trがクロックツリーの長さTClよりも短いときには、クロックツリーのあるノードから出力される第1のクロックを前段のFFのクロック端子の入力および検出された非同期データバスの受信側のフリップフロップのクロック端子の入力に設定する。遅延設定部8は、さらに、クロックツリーの別のノードから出力され、かつ第1のクロックとの位相差がメタステーブル収束時間Trとなる第2のクロックを後段のFFのクロック端子の入力に設定する。遅延設定部8は、非同期パスの受信側のフリップフロップ挿入する2段のFFの前段のFFのメタステーブル収束時間TrがクロックツリーのレイテンシTcl以上のときには、クロックツリーのあるノードから出力される第1のクロックを前段のFFのクロック端子の入力および検出された非同期パスの受信側のフリップフロップのクロック端子の入力に設定する。遅延設定部8は、第1のクロックをメタステーブル収束時間Trだけ、クロックツリー以外の遅延回路で遅延させた第2のクロックを後段のFFのクロック端子の入力に設定する。図7は、図2の同期化挿入処理の具体的な処理手順の別の例を表わすフローチャートである。図8は、Tcl≧Trの場合に、図4の非同期パスに挿入される同期化回路を表わす図である。図9は、Tcl<Trの場合に、図4の非同期パスに挿入される同期化回路を表わす図である。図4、図7~図9を参照して、非同期パス検出部7は、設計データに基づいて、半導体装置に含まれる非同期パスを検索するステップS301。次に、遅延設定部8は、クロックツリーのレイテンシTclを取得するステップS302。次に、FF挿入部9は、2段のFFを挿入する。図8および図9の例では、FF64およびFF65が挿入されるステップS303。次に、遅延設定部8は、挿入した2段のFFの前段のFFのメタステーブル収束時間Trを算出するステップS304。次に、TclがTrよりも小さいときにはステップS305でYES、遅延設定部8は、後段のFFのクロック端子へのクロックを、第2の回路ブロックのFFのクロック端子に元々入力されていたクロックφ2からTr時間だけ遅延させる遅延回路を挿入する。図9の例では、遅延回路67が挿入されるステップS306。さらに、遅延設定部8は、前段のFFのクロック端子へのクロック、および第2の回路ブロックのFFのクロック端子へのクロックを第2の回路ブロックのFFのクロック端子に元々入力されていたクロックφ2に設定する。図9の例では、FF64のクロック端子にクロックφ2が入力されるステップS307。一方、TclがTr以上のときにはステップS305でNO、遅延設定部8は、後段のFFのクロック端子へのクロックをクロックツリーの中間ノードからクロックφ3に設定する。図8の例では、FF65のクロック端子にクロックφ3が入力されるステップS308。ここで、φ3は、φ3から後述のφ4の間の位相遅延差がTr以上となるように選択される。次に、遅延設定部8は、クロックツリーのリーフ末端からクロックφ4を取出す。遅延設定部8は、第2の回路ブロックのFFのクロック端子へのクロックをクロックφ2から変更して、クロックφ4に設定する。また、遅延設定部8は、前段のFFのクロック端子へのクロックをクロックφ4に設定する。図8の例では、FF55およびFF64のクロック端子にクロックφ4が入力されるステップS309。本変形例では、第1の実施形態と同様の効果が得られる。さらに、本変形例では、複数段のFFを用いるので、受信側の回路ブロックにおいて、より確実にデータを取込むことができる。[第2の実施形態]半導体チップ図10は、本発明の第2の実施形態の半導体チップの構成を表わす図である。図10を参照して、この半導体チップ70は、CPUCentralProcessingUnit173と、SRAMStaticRandomAccessMemory71と、フラッシュメモリ72と、PLL79とを備える。CPU173は、クロックツリー82と、FF83と、Logic87とを備える。PLL79は、基準クロックをクロックツリー82へ出力する。クロックツリー82は、複数段のバッファ86遅延素子を含み、複数のノードからCPUの各素子へクロックを供給する。CPU173と、SRAM71およびフラッシュメモリ72とは、データバス80で接続される。また、この半導体チップは、周辺IPブロックとしてI2Cバスインタフェース574およびUSBコントローラ575とを備え、さらにPLL76とを備える。CPU173は、周辺バス81を介して、I2Cバスインタフェース574およびUSBコントローラ575と接続される。PLL76は、基準クロックをI2Cバスインタフェース574内のクロックツリー図示は省略およびUSBコントローラ575内のクロックツリー図示は省略へ出力する。これらのクロックツリーは、それぞれ複数段のバッファ遅延素子を含み、複数のノードから各素子へクロックを供給する。CPU173とI2Cバスインタフェース574とは、別個のクロックツリーから供給されるクロックで動作するので、CPU173とI2Cバスインタフェース574との間のデータパスは、非同期で動作する。同様に、CPU173とUSBコントローラ575とは、別個のクロックツリーから供給されるクロックで動作するので、CPU173とUSBコントローラ575との間のデータパスは、非同期で動作する。CPU173送信側回路ブロックからI2Cバスインタフェース574に設定していた。しかし、次サイクル以降のクロックのアクティブエッジで確定値を取り込まない限り、設定した不定を消滅させることができないため、必要以上に不定が伝播する。しかしながら、タイミングエラー発生時に、実機のFFの論理値は、メタステーブル収束時間が経過した後、確定値に戻り、従来の論理シミュレータは、実機の動作を正確に反映していない。本発明の実施形態では、より実機の動作に近いタイミング検証を説明する。図22は、第4の実施形態の半導体設計装置の構成を表わす図である。図22の半導体設計装置17が、図1の半導体設計装置1と相違する点は、タイミング検証部18である。この半導体設計装置17は、図示しないが、さらに第1の実施形態で説明した同期化回路挿入部4を含むものとしてもよい。タイミング検証部18は、タイミング違反検出部20と、FF論理値設定部21とを備える。タイミング違反検出部20は、設計データに基づいて、論理シミュレーション時に、タイミング違反した信号が入力されるFFを検出する。FF論理値設定部21は、論理シミュレーション時に、タイミング違反した時点で、検出したFFのシミュレーション上の出力を不定値に設定し、かつその後検出したFFにおけるメタステーブル収束時間経過後に、検出したFFのシミュレーション上の出力を不定値から確定値に戻す。全体動作図23は、第4の実施形態の半導体設計装置の動作手順を表わすフローチャートである。図23を参照して、論理合成部2は、抽象的な回路の動作に関する記述から半導体装置の論理設計を行って、半導体装置の設計データを作成し、設計データ記憶部3に書き込むステップS601。次に、タイミング検証部18は、後述する本発明の実施形態に特有の、半導体装置のタイミング検証処理を実施するステップS603。次に、形式検証部6は、半導体装置の形式検証を実施するステップS604。タイミング検証処理図24は、図23のタイミング検証処理の具体的な処理手順を表わすフローチャートである。図24を参照して、まず、タイミング違反検出部20は、設計データに基づいて、論理シミュレーション時に、タイミング違反した信号が入力されるFFを検出した場合にはステップS702でYES、FF論理値設定部21は、タイミング違反した時点で、検出されたFFのシミュレーション上の論理値を不定にするステップS703。さらに、FF論理値設定部21は、検出されたFFにおけるメタステーブル収束時間Tr時間が経過した場合にはステップS704でYES、検出したFFのシミュレーション上の論理値を確定値にもどすステップS705。さらに、すべての部分が検証されていない場合にはステップS706でNO、未検証部分に関して、ステップS702からの処理が繰返される。すべての部分が検証された場合にはステップS706でYES、終了する。例図25は、タイミング検証対象の回路を表わす図である。図26は、従来のタイミング検証でのタイミングチャートである。図26に示すように、T1の時点で、ClkAに同期しているFF44から出力される信号IntEnableがClkBに同期しているFF45のタイミング制約に違反したと仮定する。従来の論理シミュレータでは、図24に示されるように、次サイクル以降のClkBの立ち上がりによって確定値がラッチされるまで、FF45から出力される信号SyncEnableのシミュレーション上の論理値が不定に設定される。これによって、信号SyncEnableを受けるFF46から出力される信号Enable、および、信号Enableを受けるMUX42から出力される信号SyncDataのシミュレーション上の論理値が、次サイクルにおいて不定になる。さらに、信号SyncDataを受けるFF43から出力される信号DataOutのシミュレーション上の論理値が、次々サイクルにおいて不定となる。この現象は、T2の時点、およびT3の時点でも同様に発生する。したがって、従来手法では、実機において正しく同期化されていても、シミュレーションでは不定が伝播し、解析の妨げとなっていた。図27は、第4の実施形態のタイミング検証でのタイミングチャートである。図26の従来例と同様に、T1の時点で、ClkAに同期しているFF44から出力される信号IntEnableがClkBに同期しているFF45のタイミング制約に違反したと仮定する。この場合、従来例と同様に、FF45から出力される信号SyncEnableのシミュレーション上の論理値が不定に設定される。その後、FF45のメタステーブル収束時間Tr経過後にFF45から出力される信号SyncEnableのシミュレーション上の論理値が不定値から確定値に戻される。メタステーブル収束時間TrがClkBの周期TPBよりも小さいため、FF46のセットアップ制約前にSyncEnableのシミュレーション上の論理値が確定値になる。その結果、次サイクルのEnable信号のシミュレーション上の論理値も確定値となり、SyncData、およびDataOutに不定が乗ることがない。つまり、後段への不必要な不定伝播が発生しない。ただし、メタステーブル収束時間TrがClkBの周期TPB以上の場合には、従来と同様に、FF46は不定をラッチしてしまい、後段回路へ不定を伝播させてしまうことになる。以上のように、本実施の形態では、メタステーブル収束時間経過後にタイミング違反したFFのシミュレーション上の論理値を不定から確定値にすることで、不必要な不定伝播を防ぐことができ、より実機に近いシミュレーションが可能となる。また、実機では非同期パスのタイミングを網羅的に検証することが難しいが、本実施の形態によってシミュレーション上で実現することができる。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。