(57)【要約】【課題】本発明はクロック間の非同期回路の検証を抽出度の高いＲＴＬシミュレーションで行う非同期回路検証支援装置を提供する。【解決手段】非同期回路検証支援装置１は、ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行う際に、Ｋｅｙ信号を生成し、ＲＴＬでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Ｋｅｙ信号を使用して行う。したがって、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証するとともに、ゲートシミュレーションによる検証時間を減少させ、回路動作の検証を適切に行いつつ、開発期間を短縮させることができる。【選択図】          図２
2004185311.tif 000002
【特許請求の範囲】
【請求項１】
ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行う非同期回路検証支援装置であって、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号を生成し、前記ＲＴＬでの回路の機能記述から前記回路の論理設計及び前記レイアウト設計までを当該Ｋｅｙ信号を使用して行うことを特徴とする非同期回路検証支援装置。
【請求項２】
ＲＴＬで回路の機能記述を行うＲＴＬ記述作成手段と、当該ＲＴＬ記述作成手段でＲＴＬ記述された回路から異なるクロック間においてデータ転送を行う回路部分を抽出し、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号で管理する部分を決定するＫｅｙ信号決定手段と、前記ＲＴＬ記述作成手段での回路のＲＴＬ記述に前記Ｋｅｙ信号を記述するＫｅｙ信号記述手段と、当該Ｋｅｙ信号記述手段で記述されたＲＴＬを用いてＲＴＬシミュレーションを実施して回路の機能動作が正しく行われるかを確認するＲＴＬシミュレーション手段と、前記Ｋｅｙ信号記述手段で記述されたＫｅｙ信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成するＫｅｙ信号制約スクリプト作成手段と、当該Ｋｅｙ信号制約スクリプト作成手段で作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成する論理合成手段と、当該論理合成手段で作成されたネットリスト形式の回路を自動配置配線ツールを使用してレイアウト作成を行うレイアウト設計手段と、前記Ｋｅｙ信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して前記Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認する静的タイミング解析手段と、当該静的タイミング解析手段の解析の結果がデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、前記レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するゲートシミュレーション手段と、を備えていることを特徴とする非同期回路検証支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期回路検証支援装置に関し、詳細には、クロック間の非同期回路の検証を抽出度の高いＲＴＬシミュレーションで行う非同期回路検証支援装置に関する。
【０００２】
【従来の技術】
【特許文献１】
特開平９−５０４４９号公報
【特許文献２】
特開平１１−８５８１０号公報
【特許文献３】
特開２０００−２６８０８０号公報
近時、回路の大規模化と高速化により、回路構成は、クロック同期の回路構成をとることがほとんどとなってきている。
【０００３】
ところが、回路の複雑化も増し、同期させるクロックも１本とは限らず、複数本のクロックとなる。また、各クロックの周波数においても、１００ＭＨｚを超える高速の周波数から１０ＭＨｚ以下の低速の周波数まで種々のクロックが存在している。
【０００４】
また、回路も、同期回路と非同期回路が混在し、回路構成も複雑になってきている。
【０００５】
このような状況において、回路の検証を行うことは、困難な状況となってきており、従来、同期回路と非同期回路を識別して、回路の検証を行う技術が種々提案されている（特許文献１、特許文献２、特許文献３等参照）。
【０００６】
そして、従来、クロック間の非同期回路の検証においては、主にゲートレベルのシミュレーションで行っており、ゲートレベルのシミュレーションでは、フリップフロップ回路のタイミングバイオレーションが発生すると不定を出力するため、クロック間の非同期回路に対しては、フリップフロップ回路を駆動する転送側のクロックタイミングと受信側のクロックタイミングとをずらして、タイミングバイオレーションが発生しないようにしている。
【０００７】
また、ゲートシミュレーションにおいては、フリップフロップ回路のタイミングバイオレーションが発生してもフリップフロップ回路の出力データが不定とならない方法もある。
【０００８】
【発明が解決しようとする課題】
しかしながら、クロック間の非同期回路の検証を、フリップフロップ回路を駆動する転送側のクロックタイミングと受信側のクロックタイミングとをずらして、タイミングバイオレーションが発生しないようにすると、単に、タイミングバイオレーションが起きないようにゲートシミュレーションを行っているだけであり、タイミングバイオレーションが発生するタイミングでクロックが入力されたときの動作を検証することができず、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかを保証することができない。
【０００９】
また、ゲートシミュレーションにおいて、フリップフロップ回路のタイミングバイオレーションが発生してもフリップフロップ回路の出力データが不定とならないような方法にあっては、データが不定とならず、「１」または「０」のどちらかのデータとなるため、どちらになっても回路が正しく動作するということを検証することができないという問題があった。
【００１０】
そこで、請求項１記載の発明は、ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号を生成し、ＲＴＬでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Ｋｅｙ信号を使用して行うことにより、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証するとともに、ゲートシミュレーションによる検証時間を減少させ、回路動作の検証を適切に行いつつ、開発期間を短縮させることのできる非同期回路検証支援装置を提供することを目的としている。
【００１１】
請求項２記載の発明は、ＲＴＬ記述作成手段で、回路の機能記述をＲＴＬで行い、当該ＲＴＬ記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Ｋｅｙ信号決定手段で、抽出して、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号で管理する部分を決定し、Ｋｅｙ信号記述手段で、ＲＴＬ記述作成手段での回路のＲＴＬ記述にＫｅｙ信号を記述して、ＲＴＬシミュレーション手段で、当該記述されたＲＴＬを用いてＲＴＬシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Ｋｅｙ信号制約スクリプト作成手段で、Ｋｅｙ信号記述手段で記述されたＫｅｙ信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成手段で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計手段で、自動配置配線ツールを使用してレイアウト作成を行して、Ｋｅｙ信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析手段で、Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション手段で、レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成することにより、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証するとともに、ゲートシミュレーションによる検証時間を減少させ、回路動作の検証を適切に行いつつ、開発期間を短縮させることのできる非同期回路検証支援装置を提供することを目的としている。
【００１２】
【課題を解決するための手段】
請求項１記載の発明の非同期回路検証支援装置は、ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行う非同期回路検証支援装置であって、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号を生成し、前記ＲＴＬでの回路の機能記述から前記回路の論理設計及び前記レイアウト設計までを当該Ｋｅｙ信号を使用して行うことにより、上記目的を達成している。
【００１３】
上記構成によれば、ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号を生成し、ＲＴＬでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Ｋｅｙ信号を使用して行うので、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【００１４】
請求項２記載の発明の非同期回路検証支援装置は、ＲＴＬで回路の機能記述を行うＲＴＬ記述作成手段と、当該ＲＴＬ記述作成手段でＲＴＬ記述された回路から異なるクロック間においてデータ転送を行う回路部分を抽出し、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号で管理する部分を決定するＫｅｙ信号決定手段と、前記ＲＴＬ記述作成手段での回路のＲＴＬ記述に前記Ｋｅｙ信号を記述するＫｅｙ信号記述手段と、当該Ｋｅｙ信号記述手段で記述されたＲＴＬを用いてＲＴＬシミュレーションを実施して回路の機能動作が正しく行われるかを確認するＲＴＬシミュレーション手段と、前記Ｋｅｙ信号記述手段で記述されたＫｅｙ信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成するＫｅｙ信号制約スクリプト作成手段と、当該Ｋｅｙ信号制約スクリプト作成手段で作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成する論理合成手段と、当該論理合成手段で作成されたネットリスト形式の回路を自動配置配線ツールを使用してレイアウト作成を行うレイアウト設計手段と、前記Ｋｅｙ信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して前記Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認する静的タイミング解析手段と、当該静的タイミング解析手段の解析の結果がデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、前記レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するゲートシミュレーション手段と、を備えていることにより、上記目的を達成している。
【００１５】
上記構成によれば、ＲＴＬ記述作成手段で、回路の機能記述をＲＴＬで行い、当該ＲＴＬ記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Ｋｅｙ信号決定手段で、抽出して、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号で管理する部分を決定し、Ｋｅｙ信号記述手段で、ＲＴＬ記述作成手段での回路のＲＴＬ記述にＫｅｙ信号を記述して、ＲＴＬシミュレーション手段で、当該記述されたＲＴＬを用いてＲＴＬシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Ｋｅｙ信号制約スクリプト作成手段で、Ｋｅｙ信号記述手段で記述されたＫｅｙ信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成手段で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計手段で、自動配置配線ツールを使用してレイアウト作成を行して、Ｋｅｙ信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析手段で、Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション手段で、レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するので、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【００１６】
【発明の実施の形態】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００１７】
図１〜図９は、本発明の非同期回路検証支援装置の一実施の形態を示す図であり、図１は、本発明の非同期回路検証支援装置の一実施の形態を適用した非同期回路検証支援装置１の要部回路構成図である。
【００１８】
図１において、非同期回路検証支援装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）２、ハードディスク３、メモリ４、キーボード５及びディスプレイ６等を備え、例えば、パーソナルコンピュータ等の情報処理装置に、非同期回路検証支援プログラムと必要なデータが搭載されることで、構築されている。
【００１９】
ハードディスク３は、非同期回路検証支援プログラムと必要なデータ、特に、後述するＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ  ）と呼ばれる抽象度の高いレベルで記述された回路情報が予め格納、または、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ  ）等の記録媒体に記録されているこれらの非同期回路検証支援プログラムと必要なデータを読み取って格納されている。
【００２０】
ＣＰＵ２は、ハードディスク３内の非同期回路検証支援プログラムに基づいて非同期回路検証支援装置１を構築し、メモリ４をワークメモリとして利用して、非同期回路検証支援処理のシミュレーションを実行する。
【００２１】
キーボード５は、非同期回路検証支援装置１を使用して非同期回路検証処理のシミュレーションを実行させる際に、必要な各種命令等が入力操作される。
【００２２】
ディスプレイ６は、非同期回路検証処理のシミュレーションを実行する上で必要な各種情報やキーボード５から入力された各種命令及び非同期回路検証処理のシミュレーションの実行結果等を表示出力する。
【００２３】
そして、非同期回路検証支援装置１は、図２に示すように、ハードディスク３内の非同期回路検証プログラムにより、ＲＴＬ記述作成部１１、Ｋｅｙ信号決定部１２、Ｋｅｙ信号記述部１３、ＲＴＬシミュレーション部１４、Ｋｅｙ信号制約スクリプト作成部１５、論理合成部１６、レイアウト設計部１７、静的タイミング解析部１８、ゲートシミュレーション部１９及びログ情報解析部２０を構築する。
【００２４】
ＲＴＬ記述作成部（ＲＴＬ記述作成手段）１１は、ＲＴＬと呼ばれる抽象度の高いレベルで回路の機能記述をハードウエア記述言語で行う。なお、このハードウエア記述言語でＲＴＬ記述する手法は、一般に広く知られた技術であるため、詳細な説明は省略する。
【００２５】
Ｋｅｙ信号決定部（Ｋｅｙ信号決定手段）１２は、異なるクロック間においてデータ転送を行う回路部分を抽出し、当該抽出した回路部分のうち、Ｋｅｙ信号で管理する部分を決定する。この抽出回路部分からＫｅｙ信号で管理する部分を決定する基準は、データの受け渡しに数サイクルかけて行ってよい部分のように、ある程度の時間幅をとれるものを除いた、その他の部分を対象とする。なお、ＲＴＬ記述を読ませて非同期回路部分の抽出を行うことは、市販ツールにも既に存在し、公知の技術である。ここで、Ｋｅｙ信号とは、異なるクロック間のデータ転送において、転送するデータとともに送られる信号で、受ける側のクロックエッジに対して、データ転送の確定より先に確定してはならない信号である。
【００２６】
そして、このクロック間の非同期データ転送回路は、図３に示すように回路構成され、フリップフロップ２１、組み合わせゲート２２、フリップフロップ２３、非同期データ転送部２４、フリップフロップ２５、組み合わせゲート２６、フリップフロップ２７、クロックドライバ２８及びクロックドライバ２９を備えている。
【００２７】
フリップフロップ２１とフリップフロップ２３には、クロックツリーシンセシス等のクロックドライバ２８を介してクロックＣＬＫ１が入力され、フリップフロップ２１及びフリップフロップ２３は、クロックＣＬＫ１でドライブされて、フリップフロップ２１が組み合わせゲート２２に信号を出力し、また、フリップフロップ２３が非同期データ転送部２４を介して、フリップフロップ２５に信号を出力する。
【００２８】
フリップフロップ２５とフリップフロップ２７には、クロックツリーシンセシス等のクロックドライバ２９を介してクロックＣＬＫ２が入力され、フリップフロップ２５及びフリップフロップ２７は、クロックＣＬＫ２でドライブされて、フリップフロップ２５が非同期データ転送部２４を介してフリップフロップ２３から転送されてきた信号を組み合わせゲート２６に出力し、また、フリップフロップ２７が組み合わせゲート２６から転送されてきた信号を次段の回路に出力する。
【００２９】
すなわち、非同期データ転送部２４は、クロックＣＬＫ１でドライブされるフリップフロップ２３からクロックＣＬＫ２でドライブされるフリップフロップ２５へのデータ転送を行い、非同期データ転送部２４の左側と右側でそれぞれ、クロックＣＬＫ１とクロックＣＬＫ２に同期した回路となっている。
【００３０】
再び、図２において、Ｋｅｙ信号記述部（Ｋｅｙ信号記述手段）１３は、ＲＴＬ記述作成部１１で記述された回路のＲＴＬ記述にＫｅｙ信号を記述する。このＲＴＬ記述は、例えば、図４のように示すことができ、図４において、▲１▼は、Ｋｅｙ信号の設定であり、ｋｅｙ＿ｒｅｑ＿ｄｅｌａｙがＫｅｙ＿１というＫｅｙ信号名で定義することを表わしている。また、▲２▼は、Ｋｅｙ＿１で送信するｋｅｙ＿ｓ＿ｒｅｑと、受信するｋｅｙ＿ｒ＿ｒｅｑとを定義しており、▲３▼、▲４▼、▲５▼は、Ｋｅｙ信号の受け渡し動作を示している。すなわち、▲４▼において、Ｋｅｙ信号を遅延（図４では、３ｎｓ遅延させることを示している。）させ、▲５▼において、その遅延後に確定させる。▲３▼は、転送するＫｅｙ信号のステータスを決めており、Ｋｅｙ信号が「０」から「１」に変化する場合にデータ転送が行われることとしている。
【００３１】
そして、Ｋｅｙ信号部の回路構成は、図５のように示すことができ、図５において、Ｋｅｙ信号部は、Ｋｅｙ信号送信フリップフロップ部３１からＫｅｙ信号転送部３２を介してＫｅｙ信号受信フリップフロップ部３３に転送される。そして、データ転送側フリップフロップ群３４からクロックＣＬＫ１に同期して、データ受信側フリップフロップ群３５にデータが転送され、このデータ転送側フリップフロップ群３４とデータ受信側フリップフロップ群３５との間は、４ビットのバス構成となっている。クロックＣＬＫ１は、クロックドライバ３６を介してＫｅｙ信号送信フリップフロップ部３１及びデータ転送側フリップフロップ群３４に入力され、クロックＣＬＫ２は、クロックドライバ３７を介してＫｅｙ信号受信フリップフロップ部３３及びデータ受信側フリップフロップ群３５に入力される。そして、Ｋｅｙ信号転送部分３２は、Ｋｅｙ信号送信フリップフロップ部３１からＫｅｙ信号受信フリップフロップ部３３に転送されるＫｅｙ信号を、ＲＴＬで記述された遅延（図４の▲４▼）だけ遅延させる。
【００３２】
再び、図２において、ＲＴＬシミュレーション部（ＲＴＬシミュレーション手段）１４は、Ｋｅｙ信号記述部１３で記述されたＲＴＬを用いてＲＴＬシミュレーションを実施し、回路の機能動作が正しく行われるかを確認する。このＲＴＬシミュレーション部１４では、Ｋｅｙ信号記述部１３で説明したように、Ｋｅｙ信号で管理するデータの遅延より、Ｋｅｙ信号の転送を遅くしたＲＴＬシミュレーションを行うことになる。
【００３３】
Ｋｅｙ信号制約スクリプト作成部（Ｋｅｙ信号制約スクリプト作成手段）１５は、Ｋｅｙ信号記述部１３で記述されたＫｅｙ信号記述から、論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成する。この論理合成ツールに投入する制約スクリプトは、例えば、図６のように示すことができ、また、静的タイミング解析ツールに投入する解析スクリプトは、図７のように示すことができる。
【００３４】
そして、論理合成部（論理合成手段）１６では、Ｋｅｙ信号制約スクリプト作成部１５で作成された論理合成制約ファイルを使用して、論理合成を行い、ネットリスト形式の回路を作成する。
【００３５】
レイアウト設計部（レイアウト設計手段）１７は、論理合成部１６で作成されたネットリスト形式の回路を、自動配置配線ツールを使用して、レイアウト作成する。
【００３６】
静的タイミング解析部（静的タイミング解析手段）１８は、Ｋｅｙ信号制約スクリプト作成部１５で作成された静的タイミング解析用の制約ファイルを使用して、Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行って、データ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認する。
【００３７】
非同期回路検証支援装置１は、静的タイミング解析部１８の解析の結果、データ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっていない場合には、レイアウト設計部１７へ戻って、レイアウト調整を行い、上記同様に処理する。
【００３８】
ゲートシミュレーション部（ゲートシミュレーション手段）１９は、静的タイミング解析部１８の解析の結果、データ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、レイアウト設計部１７で作成された回路のゲートシミュレーションを行い、実施したゲートシミュレーションの結果のログファイルを作成する。ゲートシミュレーション部１９は、このゲートシミュレーション実施を、タイミングバイオレーションが発生してもフリップフロップが不定出力しないモードで実施する。
【００３９】
ログ情報解析部２０は、ゲートシミュレーション部１９で実行したログファイルを解析する。
【００４０】
すなわち、ゲートシミュレーション部１９は、ゲートシミュレーションでタイミングバイオレーションが発生すると、図８に示すように、Ｗａｒｎｉｎｇメッセージをログに記述する。図８のログの最初のＷａｒｎｉｎｇでは、▲２▼で示されるフリップフロップにおいて、▲１▼のバイオレーションが発生していることを示している。図８では、Ｋｅｙ信号におけるデータの転送の受信側のフリップフロップであるｒ＿ｒｅｑにタイミングバイオレーションが発生していることが示されている。
【００４１】
次に、本実施の形態の作用を説明する。本実施の形態の非同期回路検証支援装置１は、Ｋｅｙ信号を作成し、ＲＴＬ設計→論理設計→レイアウト設計までを一貫してこのＫｅｙ信号を使用して行って、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行う。
【００４２】
まず、Ｋｅｙ信号について説明する。Ｋｅｙ信号とは、上述のように、異なるクロック間のデータ転送において、転送するデータとともに送られる信号で、受ける側のクロックエッジに対して、データ転送の確定より先に確定してはならない信号である。すなわち、Ｋｅｙ信号は、データ転送完了を示すフラグ信号の意味を有している。
【００４３】
そして、本実施の形態の非同期回路検証支援装置１では、Ｋｅｙ信号をひとまとまりのデータ転送に対して、１ビット用意し、Ｋｅｙ信号で管理したいデータ転送個所が複数あると、それぞれのデータ転送に対して、１ビットのＫｅｙ信号を設定する。
【００４４】
すなわち、図９に示すように、送信側フリップフロップ４１から受信側フリップフロップ４２に複数ビットデータを転送する場合、送信側に、送信側Ｋｅｙ信号フリップフロップ４３を設け、受信側に、受信側Ｋｅｙ信号フリップフロップ４４を設けて、Ｋｅｙ信号転送部４５で接続する。
【００４５】
そして、送信側フリップフロップ４１と送信側Ｋｅｙ信号フリップフロップ４３にクロックＣＬＫ１をクロックドライバ４６を介して入力し、受信側フリップフロップ４２と受信側Ｋｅｙ信号フリップフロップ４４にクロックドライバ４７を介して入力する。
【００４６】
このようにすると、図１０に示すように、▲１▼のクロックＣＬＫ１のエッジでデータとＫｅｙ信号が転送される。データ転送には、▲２▼期間の遅延のばらつきがあるため、Ｋｅｙ信号の確定は、データが確定する遅延の最大を超えるように、▲３▼で確定させる。クロックＣＬＫ２に同期してデータを受ける回路である受信側フリップフロップ４２は、▲３▼でＫｅｙ信号が確定した後のクロックＣＬＫ２のエッジ（図１０の▲５▼）でデータを取り込む回路として作成する。
【００４７】
そして、クロック間のデータ転送回路については、レイアウト工程の収束を高めるために、ある一定の規則を定めることが有効となる。
【００４８】
ところが、上記本実施の形態の非同期回路検証支援装置１では、その回路構成を限定することなく、どのような場合であっても適応することができる。
【００４９】
そして、一般的には、異なるクロック間でバスのような複数データ信号を同じクロックエッジで送る場合、各信号の遅延ばらつきによりデータの確定が受ける側のクロックエッジの前後でばらつくことがあり、このばらつきを予測した回路構成及びＲＴＬシミュレーションは困難であるが、Ｋｅｙ信号を使用することで、そのばらつきを考慮する必要がなくなる。
【００５０】
そこで、本実施の形態の非同期回路検証支援装置１は、図３及び図５に示したように、Ｋｅｙ信号回路を利用する。
【００５１】
なお、最終的な回路の遅延は、レイアウト作成後に確定されるが、Ｋｅｙ信号とデータの遅延関係は、レイアウト作成と静的タイミング解析で管理して作り込むことが条件となる。
【００５２】
そして、本実施の形態の非同期回路検証支援装置１は、上述のように、ハードディスク３内の非同期回路検証支援プログラムに基づいて、図２に示すようなＲＴＬ記述作成部１１、Ｋｅｙ信号決定部１２、Ｋｅｙ信号記述部１３、ＲＴＬシミュレーション部１４、Ｋｅｙ信号制約スクリプト作成部１５、論理合成部１６、レイアウト設計部１７、静的タイミング解析部１８、ゲートシミュレーション部１９及びログ情報解析部２０を有する非同期回路検証支援装置１を構築し、メモリ４をワークメモリとして利用して、非同期回路検証支援処理のシミュレーションを実行する。
【００５３】
すなわち、ハードディスク３には、ＲＴＬ作成部１１とＫｅｙ信号記述部１３で作成したＲＴＬ記述の回路情報が予め記憶されており、ＣＰＵ２とメモリ４では、Ｋｅｙ信号制約スクリプト作成部１５で作成した制約スクリプトファイルと、論理合成部１６で作成されるネットリストの回路情報と、ゲートシミュレーション部１９により作成されるログファイルが新たにハードディスク３に記憶される。ＲＴＬシミュレーション部１４では、ハードディスク３に記憶されているＲＴＬ記述の回路情報を用い、また、ゲートシミュレーション部１９では、論理合成部１６で作成されてハードディスク３に記憶されているネットリストの回路情報を用い、キーボード５からの指示によって、非同期回路検証支援処理のシミュレーションを実行する。非同期回路検証支援装置１は、このシミュレーションでは、ＣＰＵ２とメモリ４を使用し、シミュレーション結果をディスプレイ６に表示して、ログファイルをハードディスク３に記憶する。
【００５４】
具体的には、非同期回路検証支援装置１は、ＲＴＬ記述作成部１１で、ＲＴＬと呼ばれる抽象度の高いレベルで回路の機能記述をハードウエア記述言語で行い、Ｋｅｙ信号決定部１２で、異なるクロック間においてデータ転送を行う回路部分を抽出して、当該抽出した回路部分のうち、Ｋｅｙ信号で管理する部分を決定する。そして、非同期回路検証支援装置１は、Ｋｅｙ信号記述部１３が、ＲＴＬ記述作成部１１で記述した回路のＲＴＬ記述にＫｅｙ信号を記述し、ＲＴＬシミュレーション部１４が、Ｋｅｙ信号記述部１３で記述したＲＴＬを用いてＲＴＬシミュレーションを実施して、回路の機能動作が正しく行われるかを確認する。ＲＴＬシミュレーション部１４では、Ｋｅｙ信号で管理するデータの遅延より、Ｋｅｙ信号の転送を遅くしたＲＴＬシミュレーションを行うことになる。
【００５５】
非同期回路検証支援装置１は、Ｋｅｙ信号制約スクリプト作成部１５で、Ｋｅｙ信号記述部１３で記述したＫｅｙ信号記述から、論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成し、論理合成部１６で、Ｋｅｙ信号制約スクリプト作成部１５で作成された論理合成制約ファイルを使用して、論理合成を行って、ネットリスト形式の回路を作成する。
【００５６】
そして、非同期回路検証支援装置１は、レイアウト設計部１７で、論理合成部１６で作成されたネットリスト形式の回路を、自動配置配線ツールを使用してレイアウト作成を行い、静的タイミング解析部１８で、Ｋｅｙ信号制約スクリプト作成部１５で作成された静的タイミング解析用の制約ファイルを使用して、Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行って、データ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認する。
【００５７】
非同期回路検証支援装置１は、静的タイミング解析部１８の解析の結果、データ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっていない場合には、レイアウト設計部１７へ戻って、レイアウト調整を行い、上記同様に処理する。
【００５８】
非同期回路検証支援装置１は、ゲートシミュレーション部１９で、静的タイミング解析部１８の解析の結果、データ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、レイアウト設計部１７で作成した回路のゲートシミュレーションを行い、実施したゲートシミュレーションの結果のログファイルを作成する。ゲートシミュレーション部１９は、このゲートシミュレーション実施を、タイミングバイオレーションが発生してもフリップフロップが不定出力しないモードで実施する。
【００５９】
非同期回路検証支援装置１は、ログ情報解析部２０で、ゲートシミュレーション部１９で実行したログファイルを解析する。すなわち、ゲートシミュレーション部１９は、ゲートシミュレーションでタイミングバイオレーションが発生すると、図８に示すように、Ｗａｒｎｉｎｇメッセージをログに記述する。
【００６０】
このように、本実施の形態の非同期回路検証支援装置１は、ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号を生成し、ＲＴＬでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Ｋｅｙ信号を使用して行っている。
【００６１】
具体的には、非同期回路検証支援装置１は、ＲＴＬ記述作成部１１で、回路の機能記述をＲＴＬで行い、当該ＲＴＬ記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Ｋｅｙ信号決定部１２で、抽出して、当該抽出した回路部分のうち、Ｋｅｙ信号で管理する部分を決定し、Ｋｅｙ信号記述部１３で、ＲＴＬ記述作成部１１での回路のＲＴＬ記述にＫｅｙ信号を記述して、ＲＴＬシミュレーション部１４で、当該記述されたＲＴＬを用いてＲＴＬシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Ｋｅｙ信号制約スクリプト作成部１５で、Ｋｅｙ信号記述部１３で記述されたＫｅｙ信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成部１６で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計部１７で、自動配置配線ツールを使用してレイアウト作成を行して、Ｋｅｙ信号制約スクリプト作成部１５で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析部１８で、Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション部１９で、レイアウト設計部１７で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成している。
【００６２】
したがって、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行いつつ、開発期間を短縮させることができる。
【００６３】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６４】
【発明の効果】
請求項１記載の発明の非同期回路検証支援装置によれば、ＲＴＬで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号を生成し、ＲＴＬでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Ｋｅｙ信号を使用して行うので、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【００６５】
請求項２記載の発明の非同期回路検証支援装置によれば、ＲＴＬ記述作成手段で、回路の機能記述をＲＴＬで行い、当該ＲＴＬ記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Ｋｅｙ信号決定手段で、抽出して、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないＫｅｙ信号で管理する部分を決定し、Ｋｅｙ信号記述手段で、ＲＴＬ記述作成手段での回路のＲＴＬ記述にＫｅｙ信号を記述して、ＲＴＬシミュレーション手段で、当該記述されたＲＴＬを用いてＲＴＬシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Ｋｅｙ信号制約スクリプト作成手段で、Ｋｅｙ信号記述手段で記述されたＫｅｙ信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成手段で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計手段で、自動配置配線ツールを使用してレイアウト作成を行して、Ｋｅｙ信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析手段で、Ｋｅｙ信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にＫｅｙ信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション手段で、レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するので、クロック間の非同期回路の検証を抽象度の高いＲＴＬシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【図面の簡単な説明】
【図１】本発明の非同期回路検証支援装置の一実施の形態を適用した非同期回路検証支援装置の要部回路ブロック図。
【図２】図１の非同期回路検証支援装置で構築される非同期回路検証支援装置の機能ブロック図。
【図３】図１の非同期データ転送回路の一例を示す図。
【図４】ＲＴＬ記述の一例を示す図。
【図５】Ｋｅｙ信号部の回路説明図。
【図６】論理合成ツールに投入される制約スクリプトの一例を示す図。
【図７】静的タイミング解析ツールに投入する解析スクリプトの一例を示す図。
【図８】図２のゲートシミュレーション部のログに記述するゲートシミュレーションでタイミングバイオレーションが発生した場合のＷａｒｎｉｎｇメッセージの一例を示す図。
【図９】一般的なＫｅｙ信号発生回路の説明図。
【図１０】図９の各部の信号波形を示す図。
【符号の説明】
１  非同期回路検証支援装置
２  ＣＰＵ
３  ハードディスク
４  メモリ
５  キーボード
６  ディスプレイ
１１  ＲＴＬ記述作成部
１２  Ｋｅｙ信号決定部
１３  Ｋｅｙ信号記述部
１４  ＲＴＬシミュレーション部
１５  Ｋｅｙ信号制約スクリプト作成部
１６  論理合成部
１７  レイアウト設計部
１８  静的タイミング解析部
１９  ゲートシミュレーション部
２０  ログ情報解析部
２１  フリップフロップ
２２  組み合わせゲート
２３  フリップフロップ
２４  非同期データ転送部
２５  フリップフロップ
２６  組み合わせゲート
２７  フリップフロップ
２８  クロックドライバ
２９  クロックドライバ
３１  Ｋｅｙ信号送信フリップフロップ部
３２  Ｋｅｙ信号転送部
３３  Ｋｅｙ信号受信フリップフロップ部
３４  データ転送側フリップフロップ群
３５  データ受信側フリップフロップ群
３６、３７  クロックドライバ
４１  送信側フリップフロップ
４２  受信側フリップフロップ
４３  送信側Ｋｅｙ信号フリップフロップ
４４  受信側Ｋｅｙ信号フリップフロップ
４５  Ｋｅｙ信号転送部
４６、４７  クロックドライバ
【図１】
2004185311.tif 000003
【図２】
2004185311.tif 000004
【図３】
2004185311.tif 000005
【図４】
2004185311.tif 000006
【図５】
2004185311.tif 000007
【図６】
2004185311.tif 000008
【図７】
2004185311.tif 000009
【図８】
2004185311.tif 000010
【図９】
2004185311.tif 000011
【図１０】
2004185311.tif 000012