JP2004185311A - 非同期回路検証支援装置 - Google Patents

非同期回路検証支援装置 Download PDF

Info

Publication number
JP2004185311A
JP2004185311A JP2002351459A JP2002351459A JP2004185311A JP 2004185311 A JP2004185311 A JP 2004185311A JP 2002351459 A JP2002351459 A JP 2002351459A JP 2002351459 A JP2002351459 A JP 2002351459A JP 2004185311 A JP2004185311 A JP 2004185311A
Authority
JP
Japan
Prior art keywords
circuit
key signal
rtl
simulation
data transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002351459A
Other languages
English (en)
Inventor
Kazunobu Sugaya
和伸 菅谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002351459A priority Critical patent/JP2004185311A/ja
Publication of JP2004185311A publication Critical patent/JP2004185311A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】本発明はクロック間の非同期回路の検証を抽出度の高いRTLシミュレーションで行う非同期回路検証支援装置を提供する。
【解決手段】非同期回路検証支援装置1は、RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行う際に、Key信号を生成し、RTLでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Key信号を使用して行う。したがって、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証するとともに、ゲートシミュレーションによる検証時間を減少させ、回路動作の検証を適切に行いつつ、開発期間を短縮させることができる。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、非同期回路検証支援装置に関し、詳細には、クロック間の非同期回路の検証を抽出度の高いRTLシミュレーションで行う非同期回路検証支援装置に関する。
【0002】
【従来の技術】
【特許文献1】
特開平9−50449号公報
【特許文献2】
特開平11−85810号公報
【特許文献3】
特開2000−268080号公報
近時、回路の大規模化と高速化により、回路構成は、クロック同期の回路構成をとることがほとんどとなってきている。
【0003】
ところが、回路の複雑化も増し、同期させるクロックも1本とは限らず、複数本のクロックとなる。また、各クロックの周波数においても、100MHzを超える高速の周波数から10MHz以下の低速の周波数まで種々のクロックが存在している。
【0004】
また、回路も、同期回路と非同期回路が混在し、回路構成も複雑になってきている。
【0005】
このような状況において、回路の検証を行うことは、困難な状況となってきており、従来、同期回路と非同期回路を識別して、回路の検証を行う技術が種々提案されている(特許文献1、特許文献2、特許文献3等参照)。
【0006】
そして、従来、クロック間の非同期回路の検証においては、主にゲートレベルのシミュレーションで行っており、ゲートレベルのシミュレーションでは、フリップフロップ回路のタイミングバイオレーションが発生すると不定を出力するため、クロック間の非同期回路に対しては、フリップフロップ回路を駆動する転送側のクロックタイミングと受信側のクロックタイミングとをずらして、タイミングバイオレーションが発生しないようにしている。
【0007】
また、ゲートシミュレーションにおいては、フリップフロップ回路のタイミングバイオレーションが発生してもフリップフロップ回路の出力データが不定とならない方法もある。
【0008】
【発明が解決しようとする課題】
しかしながら、クロック間の非同期回路の検証を、フリップフロップ回路を駆動する転送側のクロックタイミングと受信側のクロックタイミングとをずらして、タイミングバイオレーションが発生しないようにすると、単に、タイミングバイオレーションが起きないようにゲートシミュレーションを行っているだけであり、タイミングバイオレーションが発生するタイミングでクロックが入力されたときの動作を検証することができず、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかを保証することができない。
【0009】
また、ゲートシミュレーションにおいて、フリップフロップ回路のタイミングバイオレーションが発生してもフリップフロップ回路の出力データが不定とならないような方法にあっては、データが不定とならず、「1」または「0」のどちらかのデータとなるため、どちらになっても回路が正しく動作するということを検証することができないという問題があった。
【0010】
そこで、請求項1記載の発明は、RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号を生成し、RTLでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Key信号を使用して行うことにより、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証するとともに、ゲートシミュレーションによる検証時間を減少させ、回路動作の検証を適切に行いつつ、開発期間を短縮させることのできる非同期回路検証支援装置を提供することを目的としている。
【0011】
請求項2記載の発明は、RTL記述作成手段で、回路の機能記述をRTLで行い、当該RTL記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Key信号決定手段で、抽出して、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号で管理する部分を決定し、Key信号記述手段で、RTL記述作成手段での回路のRTL記述にKey信号を記述して、RTLシミュレーション手段で、当該記述されたRTLを用いてRTLシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Key信号制約スクリプト作成手段で、Key信号記述手段で記述されたKey信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成手段で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計手段で、自動配置配線ツールを使用してレイアウト作成を行して、Key信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析手段で、Key信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション手段で、レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成することにより、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証するとともに、ゲートシミュレーションによる検証時間を減少させ、回路動作の検証を適切に行いつつ、開発期間を短縮させることのできる非同期回路検証支援装置を提供することを目的としている。
【0012】
【課題を解決するための手段】
請求項1記載の発明の非同期回路検証支援装置は、RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行う非同期回路検証支援装置であって、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号を生成し、前記RTLでの回路の機能記述から前記回路の論理設計及び前記レイアウト設計までを当該Key信号を使用して行うことにより、上記目的を達成している。
【0013】
上記構成によれば、RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号を生成し、RTLでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Key信号を使用して行うので、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【0014】
請求項2記載の発明の非同期回路検証支援装置は、RTLで回路の機能記述を行うRTL記述作成手段と、当該RTL記述作成手段でRTL記述された回路から異なるクロック間においてデータ転送を行う回路部分を抽出し、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号で管理する部分を決定するKey信号決定手段と、前記RTL記述作成手段での回路のRTL記述に前記Key信号を記述するKey信号記述手段と、当該Key信号記述手段で記述されたRTLを用いてRTLシミュレーションを実施して回路の機能動作が正しく行われるかを確認するRTLシミュレーション手段と、前記Key信号記述手段で記述されたKey信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成するKey信号制約スクリプト作成手段と、当該Key信号制約スクリプト作成手段で作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成する論理合成手段と、当該論理合成手段で作成されたネットリスト形式の回路を自動配置配線ツールを使用してレイアウト作成を行うレイアウト設計手段と、前記Key信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して前記Key信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認する静的タイミング解析手段と、当該静的タイミング解析手段の解析の結果がデータ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、前記レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するゲートシミュレーション手段と、を備えていることにより、上記目的を達成している。
【0015】
上記構成によれば、RTL記述作成手段で、回路の機能記述をRTLで行い、当該RTL記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Key信号決定手段で、抽出して、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号で管理する部分を決定し、Key信号記述手段で、RTL記述作成手段での回路のRTL記述にKey信号を記述して、RTLシミュレーション手段で、当該記述されたRTLを用いてRTLシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Key信号制約スクリプト作成手段で、Key信号記述手段で記述されたKey信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成手段で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計手段で、自動配置配線ツールを使用してレイアウト作成を行して、Key信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析手段で、Key信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション手段で、レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するので、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【0016】
【発明の実施の形態】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【0017】
図1〜図9は、本発明の非同期回路検証支援装置の一実施の形態を示す図であり、図1は、本発明の非同期回路検証支援装置の一実施の形態を適用した非同期回路検証支援装置1の要部回路構成図である。
【0018】
図1において、非同期回路検証支援装置1は、CPU(Central Processing Unit )2、ハードディスク3、メモリ4、キーボード5及びディスプレイ6等を備え、例えば、パーソナルコンピュータ等の情報処理装置に、非同期回路検証支援プログラムと必要なデータが搭載されることで、構築されている。
【0019】
ハードディスク3は、非同期回路検証支援プログラムと必要なデータ、特に、後述するRTL(Register Transfer Level )と呼ばれる抽象度の高いレベルで記述された回路情報が予め格納、または、CD−ROM(Compact Disc Read Only Memory )等の記録媒体に記録されているこれらの非同期回路検証支援プログラムと必要なデータを読み取って格納されている。
【0020】
CPU2は、ハードディスク3内の非同期回路検証支援プログラムに基づいて非同期回路検証支援装置1を構築し、メモリ4をワークメモリとして利用して、非同期回路検証支援処理のシミュレーションを実行する。
【0021】
キーボード5は、非同期回路検証支援装置1を使用して非同期回路検証処理のシミュレーションを実行させる際に、必要な各種命令等が入力操作される。
【0022】
ディスプレイ6は、非同期回路検証処理のシミュレーションを実行する上で必要な各種情報やキーボード5から入力された各種命令及び非同期回路検証処理のシミュレーションの実行結果等を表示出力する。
【0023】
そして、非同期回路検証支援装置1は、図2に示すように、ハードディスク3内の非同期回路検証プログラムにより、RTL記述作成部11、Key信号決定部12、Key信号記述部13、RTLシミュレーション部14、Key信号制約スクリプト作成部15、論理合成部16、レイアウト設計部17、静的タイミング解析部18、ゲートシミュレーション部19及びログ情報解析部20を構築する。
【0024】
RTL記述作成部(RTL記述作成手段)11は、RTLと呼ばれる抽象度の高いレベルで回路の機能記述をハードウエア記述言語で行う。なお、このハードウエア記述言語でRTL記述する手法は、一般に広く知られた技術であるため、詳細な説明は省略する。
【0025】
Key信号決定部(Key信号決定手段)12は、異なるクロック間においてデータ転送を行う回路部分を抽出し、当該抽出した回路部分のうち、Key信号で管理する部分を決定する。この抽出回路部分からKey信号で管理する部分を決定する基準は、データの受け渡しに数サイクルかけて行ってよい部分のように、ある程度の時間幅をとれるものを除いた、その他の部分を対象とする。なお、RTL記述を読ませて非同期回路部分の抽出を行うことは、市販ツールにも既に存在し、公知の技術である。ここで、Key信号とは、異なるクロック間のデータ転送において、転送するデータとともに送られる信号で、受ける側のクロックエッジに対して、データ転送の確定より先に確定してはならない信号である。
【0026】
そして、このクロック間の非同期データ転送回路は、図3に示すように回路構成され、フリップフロップ21、組み合わせゲート22、フリップフロップ23、非同期データ転送部24、フリップフロップ25、組み合わせゲート26、フリップフロップ27、クロックドライバ28及びクロックドライバ29を備えている。
【0027】
フリップフロップ21とフリップフロップ23には、クロックツリーシンセシス等のクロックドライバ28を介してクロックCLK1が入力され、フリップフロップ21及びフリップフロップ23は、クロックCLK1でドライブされて、フリップフロップ21が組み合わせゲート22に信号を出力し、また、フリップフロップ23が非同期データ転送部24を介して、フリップフロップ25に信号を出力する。
【0028】
フリップフロップ25とフリップフロップ27には、クロックツリーシンセシス等のクロックドライバ29を介してクロックCLK2が入力され、フリップフロップ25及びフリップフロップ27は、クロックCLK2でドライブされて、フリップフロップ25が非同期データ転送部24を介してフリップフロップ23から転送されてきた信号を組み合わせゲート26に出力し、また、フリップフロップ27が組み合わせゲート26から転送されてきた信号を次段の回路に出力する。
【0029】
すなわち、非同期データ転送部24は、クロックCLK1でドライブされるフリップフロップ23からクロックCLK2でドライブされるフリップフロップ25へのデータ転送を行い、非同期データ転送部24の左側と右側でそれぞれ、クロックCLK1とクロックCLK2に同期した回路となっている。
【0030】
再び、図2において、Key信号記述部(Key信号記述手段)13は、RTL記述作成部11で記述された回路のRTL記述にKey信号を記述する。このRTL記述は、例えば、図4のように示すことができ、図4において、▲1▼は、Key信号の設定であり、key_req_delayがKey_1というKey信号名で定義することを表わしている。また、▲2▼は、Key_1で送信するkey_s_reqと、受信するkey_r_reqとを定義しており、▲3▼、▲4▼、▲5▼は、Key信号の受け渡し動作を示している。すなわち、▲4▼において、Key信号を遅延(図4では、3ns遅延させることを示している。)させ、▲5▼において、その遅延後に確定させる。▲3▼は、転送するKey信号のステータスを決めており、Key信号が「0」から「1」に変化する場合にデータ転送が行われることとしている。
【0031】
そして、Key信号部の回路構成は、図5のように示すことができ、図5において、Key信号部は、Key信号送信フリップフロップ部31からKey信号転送部32を介してKey信号受信フリップフロップ部33に転送される。そして、データ転送側フリップフロップ群34からクロックCLK1に同期して、データ受信側フリップフロップ群35にデータが転送され、このデータ転送側フリップフロップ群34とデータ受信側フリップフロップ群35との間は、4ビットのバス構成となっている。クロックCLK1は、クロックドライバ36を介してKey信号送信フリップフロップ部31及びデータ転送側フリップフロップ群34に入力され、クロックCLK2は、クロックドライバ37を介してKey信号受信フリップフロップ部33及びデータ受信側フリップフロップ群35に入力される。そして、Key信号転送部分32は、Key信号送信フリップフロップ部31からKey信号受信フリップフロップ部33に転送されるKey信号を、RTLで記述された遅延(図4の▲4▼)だけ遅延させる。
【0032】
再び、図2において、RTLシミュレーション部(RTLシミュレーション手段)14は、Key信号記述部13で記述されたRTLを用いてRTLシミュレーションを実施し、回路の機能動作が正しく行われるかを確認する。このRTLシミュレーション部14では、Key信号記述部13で説明したように、Key信号で管理するデータの遅延より、Key信号の転送を遅くしたRTLシミュレーションを行うことになる。
【0033】
Key信号制約スクリプト作成部(Key信号制約スクリプト作成手段)15は、Key信号記述部13で記述されたKey信号記述から、論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成する。この論理合成ツールに投入する制約スクリプトは、例えば、図6のように示すことができ、また、静的タイミング解析ツールに投入する解析スクリプトは、図7のように示すことができる。
【0034】
そして、論理合成部(論理合成手段)16では、Key信号制約スクリプト作成部15で作成された論理合成制約ファイルを使用して、論理合成を行い、ネットリスト形式の回路を作成する。
【0035】
レイアウト設計部(レイアウト設計手段)17は、論理合成部16で作成されたネットリスト形式の回路を、自動配置配線ツールを使用して、レイアウト作成する。
【0036】
静的タイミング解析部(静的タイミング解析手段)18は、Key信号制約スクリプト作成部15で作成された静的タイミング解析用の制約ファイルを使用して、Key信号で管理する回路部分のタイミングについて解析を行って、データ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認する。
【0037】
非同期回路検証支援装置1は、静的タイミング解析部18の解析の結果、データ転送より前にKey信号の確定が起らないタイミング関係となっていない場合には、レイアウト設計部17へ戻って、レイアウト調整を行い、上記同様に処理する。
【0038】
ゲートシミュレーション部(ゲートシミュレーション手段)19は、静的タイミング解析部18の解析の結果、データ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、レイアウト設計部17で作成された回路のゲートシミュレーションを行い、実施したゲートシミュレーションの結果のログファイルを作成する。ゲートシミュレーション部19は、このゲートシミュレーション実施を、タイミングバイオレーションが発生してもフリップフロップが不定出力しないモードで実施する。
【0039】
ログ情報解析部20は、ゲートシミュレーション部19で実行したログファイルを解析する。
【0040】
すなわち、ゲートシミュレーション部19は、ゲートシミュレーションでタイミングバイオレーションが発生すると、図8に示すように、Warningメッセージをログに記述する。図8のログの最初のWarningでは、▲2▼で示されるフリップフロップにおいて、▲1▼のバイオレーションが発生していることを示している。図8では、Key信号におけるデータの転送の受信側のフリップフロップであるr_reqにタイミングバイオレーションが発生していることが示されている。
【0041】
次に、本実施の形態の作用を説明する。本実施の形態の非同期回路検証支援装置1は、Key信号を作成し、RTL設計→論理設計→レイアウト設計までを一貫してこのKey信号を使用して行って、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行う。
【0042】
まず、Key信号について説明する。Key信号とは、上述のように、異なるクロック間のデータ転送において、転送するデータとともに送られる信号で、受ける側のクロックエッジに対して、データ転送の確定より先に確定してはならない信号である。すなわち、Key信号は、データ転送完了を示すフラグ信号の意味を有している。
【0043】
そして、本実施の形態の非同期回路検証支援装置1では、Key信号をひとまとまりのデータ転送に対して、1ビット用意し、Key信号で管理したいデータ転送個所が複数あると、それぞれのデータ転送に対して、1ビットのKey信号を設定する。
【0044】
すなわち、図9に示すように、送信側フリップフロップ41から受信側フリップフロップ42に複数ビットデータを転送する場合、送信側に、送信側Key信号フリップフロップ43を設け、受信側に、受信側Key信号フリップフロップ44を設けて、Key信号転送部45で接続する。
【0045】
そして、送信側フリップフロップ41と送信側Key信号フリップフロップ43にクロックCLK1をクロックドライバ46を介して入力し、受信側フリップフロップ42と受信側Key信号フリップフロップ44にクロックドライバ47を介して入力する。
【0046】
このようにすると、図10に示すように、▲1▼のクロックCLK1のエッジでデータとKey信号が転送される。データ転送には、▲2▼期間の遅延のばらつきがあるため、Key信号の確定は、データが確定する遅延の最大を超えるように、▲3▼で確定させる。クロックCLK2に同期してデータを受ける回路である受信側フリップフロップ42は、▲3▼でKey信号が確定した後のクロックCLK2のエッジ(図10の▲5▼)でデータを取り込む回路として作成する。
【0047】
そして、クロック間のデータ転送回路については、レイアウト工程の収束を高めるために、ある一定の規則を定めることが有効となる。
【0048】
ところが、上記本実施の形態の非同期回路検証支援装置1では、その回路構成を限定することなく、どのような場合であっても適応することができる。
【0049】
そして、一般的には、異なるクロック間でバスのような複数データ信号を同じクロックエッジで送る場合、各信号の遅延ばらつきによりデータの確定が受ける側のクロックエッジの前後でばらつくことがあり、このばらつきを予測した回路構成及びRTLシミュレーションは困難であるが、Key信号を使用することで、そのばらつきを考慮する必要がなくなる。
【0050】
そこで、本実施の形態の非同期回路検証支援装置1は、図3及び図5に示したように、Key信号回路を利用する。
【0051】
なお、最終的な回路の遅延は、レイアウト作成後に確定されるが、Key信号とデータの遅延関係は、レイアウト作成と静的タイミング解析で管理して作り込むことが条件となる。
【0052】
そして、本実施の形態の非同期回路検証支援装置1は、上述のように、ハードディスク3内の非同期回路検証支援プログラムに基づいて、図2に示すようなRTL記述作成部11、Key信号決定部12、Key信号記述部13、RTLシミュレーション部14、Key信号制約スクリプト作成部15、論理合成部16、レイアウト設計部17、静的タイミング解析部18、ゲートシミュレーション部19及びログ情報解析部20を有する非同期回路検証支援装置1を構築し、メモリ4をワークメモリとして利用して、非同期回路検証支援処理のシミュレーションを実行する。
【0053】
すなわち、ハードディスク3には、RTL作成部11とKey信号記述部13で作成したRTL記述の回路情報が予め記憶されており、CPU2とメモリ4では、Key信号制約スクリプト作成部15で作成した制約スクリプトファイルと、論理合成部16で作成されるネットリストの回路情報と、ゲートシミュレーション部19により作成されるログファイルが新たにハードディスク3に記憶される。RTLシミュレーション部14では、ハードディスク3に記憶されているRTL記述の回路情報を用い、また、ゲートシミュレーション部19では、論理合成部16で作成されてハードディスク3に記憶されているネットリストの回路情報を用い、キーボード5からの指示によって、非同期回路検証支援処理のシミュレーションを実行する。非同期回路検証支援装置1は、このシミュレーションでは、CPU2とメモリ4を使用し、シミュレーション結果をディスプレイ6に表示して、ログファイルをハードディスク3に記憶する。
【0054】
具体的には、非同期回路検証支援装置1は、RTL記述作成部11で、RTLと呼ばれる抽象度の高いレベルで回路の機能記述をハードウエア記述言語で行い、Key信号決定部12で、異なるクロック間においてデータ転送を行う回路部分を抽出して、当該抽出した回路部分のうち、Key信号で管理する部分を決定する。そして、非同期回路検証支援装置1は、Key信号記述部13が、RTL記述作成部11で記述した回路のRTL記述にKey信号を記述し、RTLシミュレーション部14が、Key信号記述部13で記述したRTLを用いてRTLシミュレーションを実施して、回路の機能動作が正しく行われるかを確認する。RTLシミュレーション部14では、Key信号で管理するデータの遅延より、Key信号の転送を遅くしたRTLシミュレーションを行うことになる。
【0055】
非同期回路検証支援装置1は、Key信号制約スクリプト作成部15で、Key信号記述部13で記述したKey信号記述から、論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成し、論理合成部16で、Key信号制約スクリプト作成部15で作成された論理合成制約ファイルを使用して、論理合成を行って、ネットリスト形式の回路を作成する。
【0056】
そして、非同期回路検証支援装置1は、レイアウト設計部17で、論理合成部16で作成されたネットリスト形式の回路を、自動配置配線ツールを使用してレイアウト作成を行い、静的タイミング解析部18で、Key信号制約スクリプト作成部15で作成された静的タイミング解析用の制約ファイルを使用して、Key信号で管理する回路部分のタイミングについて解析を行って、データ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認する。
【0057】
非同期回路検証支援装置1は、静的タイミング解析部18の解析の結果、データ転送より前にKey信号の確定が起らないタイミング関係となっていない場合には、レイアウト設計部17へ戻って、レイアウト調整を行い、上記同様に処理する。
【0058】
非同期回路検証支援装置1は、ゲートシミュレーション部19で、静的タイミング解析部18の解析の結果、データ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、レイアウト設計部17で作成した回路のゲートシミュレーションを行い、実施したゲートシミュレーションの結果のログファイルを作成する。ゲートシミュレーション部19は、このゲートシミュレーション実施を、タイミングバイオレーションが発生してもフリップフロップが不定出力しないモードで実施する。
【0059】
非同期回路検証支援装置1は、ログ情報解析部20で、ゲートシミュレーション部19で実行したログファイルを解析する。すなわち、ゲートシミュレーション部19は、ゲートシミュレーションでタイミングバイオレーションが発生すると、図8に示すように、Warningメッセージをログに記述する。
【0060】
このように、本実施の形態の非同期回路検証支援装置1は、RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号を生成し、RTLでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Key信号を使用して行っている。
【0061】
具体的には、非同期回路検証支援装置1は、RTL記述作成部11で、回路の機能記述をRTLで行い、当該RTL記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Key信号決定部12で、抽出して、当該抽出した回路部分のうち、Key信号で管理する部分を決定し、Key信号記述部13で、RTL記述作成部11での回路のRTL記述にKey信号を記述して、RTLシミュレーション部14で、当該記述されたRTLを用いてRTLシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Key信号制約スクリプト作成部15で、Key信号記述部13で記述されたKey信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成部16で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計部17で、自動配置配線ツールを使用してレイアウト作成を行して、Key信号制約スクリプト作成部15で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析部18で、Key信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション部19で、レイアウト設計部17で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成している。
【0062】
したがって、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行いつつ、開発期間を短縮させることができる。
【0063】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0064】
【発明の効果】
請求項1記載の発明の非同期回路検証支援装置によれば、RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行うに際して、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号を生成し、RTLでの回路の機能記述から回路の論理設計及びレイアウト設計までを当該Key信号を使用して行うので、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【0065】
請求項2記載の発明の非同期回路検証支援装置によれば、RTL記述作成手段で、回路の機能記述をRTLで行い、当該RTL記述された回路から異なるクロック間においてデータ転送を行う回路部分を、Key信号決定手段で、抽出して、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号で管理する部分を決定し、Key信号記述手段で、RTL記述作成手段での回路のRTL記述にKey信号を記述して、RTLシミュレーション手段で、当該記述されたRTLを用いてRTLシミュレーションを実施して回路の機能動作が正しく行われるかを確認し、Key信号制約スクリプト作成手段で、Key信号記述手段で記述されたKey信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成して、論理合成手段で、当該作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成し、当該作成されたネットリスト形式の回路を、レイアウト設計手段で、自動配置配線ツールを使用してレイアウト作成を行して、Key信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して、静的タイミング解析手段で、Key信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認し、当該解析の結果がデータ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、ゲートシミュレーション手段で、レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するので、クロック間の非同期回路の検証を抽象度の高いRTLシミュレーションで行えるようにして、タイミングバイオレーションが起きても大丈夫な回路構成になっているかどうかについても適切に検証することができるとともに、ゲートシミュレーションによる検証時間を減少させることができ、回路動作の検証を適切に行うことができるとともに、開発期間を短縮させることができる。
【図面の簡単な説明】
【図1】本発明の非同期回路検証支援装置の一実施の形態を適用した非同期回路検証支援装置の要部回路ブロック図。
【図2】図1の非同期回路検証支援装置で構築される非同期回路検証支援装置の機能ブロック図。
【図3】図1の非同期データ転送回路の一例を示す図。
【図4】RTL記述の一例を示す図。
【図5】Key信号部の回路説明図。
【図6】論理合成ツールに投入される制約スクリプトの一例を示す図。
【図7】静的タイミング解析ツールに投入する解析スクリプトの一例を示す図。
【図8】図2のゲートシミュレーション部のログに記述するゲートシミュレーションでタイミングバイオレーションが発生した場合のWarningメッセージの一例を示す図。
【図9】一般的なKey信号発生回路の説明図。
【図10】図9の各部の信号波形を示す図。
【符号の説明】
1 非同期回路検証支援装置
2 CPU
3 ハードディスク
4 メモリ
5 キーボード
6 ディスプレイ
11 RTL記述作成部
12 Key信号決定部
13 Key信号記述部
14 RTLシミュレーション部
15 Key信号制約スクリプト作成部
16 論理合成部
17 レイアウト設計部
18 静的タイミング解析部
19 ゲートシミュレーション部
20 ログ情報解析部
21 フリップフロップ
22 組み合わせゲート
23 フリップフロップ
24 非同期データ転送部
25 フリップフロップ
26 組み合わせゲート
27 フリップフロップ
28 クロックドライバ
29 クロックドライバ
31 Key信号送信フリップフロップ部
32 Key信号転送部
33 Key信号受信フリップフロップ部
34 データ転送側フリップフロップ群
35 データ受信側フリップフロップ群
36、37 クロックドライバ
41 送信側フリップフロップ
42 受信側フリップフロップ
43 送信側Key信号フリップフロップ
44 受信側Key信号フリップフロップ
45 Key信号転送部
46、47 クロックドライバ

Claims (2)

  1. RTLで回路の機能記述を行い、論理合成して回路設計した後、当該回路を、自動配置配線ツールを使用してレイアウト作成し、当該レイアウトした回路のシミュレーションを行う非同期回路検証支援装置であって、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号を生成し、前記RTLでの回路の機能記述から前記回路の論理設計及び前記レイアウト設計までを当該Key信号を使用して行うことを特徴とする非同期回路検証支援装置。
  2. RTLで回路の機能記述を行うRTL記述作成手段と、当該RTL記述作成手段でRTL記述された回路から異なるクロック間においてデータ転送を行う回路部分を抽出し、当該抽出した回路部分のうち、異なるクロック間のデータ転送で当該転送するデータとともに送られる信号であり、かつ、受ける側のクロックエッジに対して当該データ転送の確定より先に確定してはならないKey信号で管理する部分を決定するKey信号決定手段と、前記RTL記述作成手段での回路のRTL記述に前記Key信号を記述するKey信号記述手段と、当該Key信号記述手段で記述されたRTLを用いてRTLシミュレーションを実施して回路の機能動作が正しく行われるかを確認するRTLシミュレーション手段と、前記Key信号記述手段で記述されたKey信号記述から論理合成と静的タイミング解析に使用する制約スクリプトファイルを作成するKey信号制約スクリプト作成手段と、当該Key信号制約スクリプト作成手段で作成された論理合成制約ファイルを使用して論理合成を行ってネットリスト形式の回路を作成する論理合成手段と、当該論理合成手段で作成されたネットリスト形式の回路を自動配置配線ツールを使用してレイアウト作成を行うレイアウト設計手段と、前記Key信号制約スクリプト作成手段で作成された静的タイミング解析用の制約ファイルを使用して前記Key信号で管理する回路部分のタイミングについて解析を行ってデータ転送より前にKey信号の確定が起らないタイミング関係となっているかを確認する静的タイミング解析手段と、当該静的タイミング解析手段の解析の結果がデータ転送より前にKey信号の確定が起らないタイミング関係となっている場合に、前記レイアウト設計手段で作成された回路のゲートシミュレーションを行って、当該実施したゲートシミュレーションの結果のログファイルを作成するゲートシミュレーション手段と、を備えていることを特徴とする非同期回路検証支援装置。
JP2002351459A 2002-12-03 2002-12-03 非同期回路検証支援装置 Pending JP2004185311A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002351459A JP2004185311A (ja) 2002-12-03 2002-12-03 非同期回路検証支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002351459A JP2004185311A (ja) 2002-12-03 2002-12-03 非同期回路検証支援装置

Publications (1)

Publication Number Publication Date
JP2004185311A true JP2004185311A (ja) 2004-07-02

Family

ID=32753369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002351459A Pending JP2004185311A (ja) 2002-12-03 2002-12-03 非同期回路検証支援装置

Country Status (1)

Country Link
JP (1) JP2004185311A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803254B1 (ko) 2005-01-19 2008-02-13 세이코 엡슨 가부시키가이샤 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US7945882B2 (en) 2007-02-27 2011-05-17 Fujitsu Semiconductor Limited Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803254B1 (ko) 2005-01-19 2008-02-13 세이코 엡슨 가부시키가이샤 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US7945882B2 (en) 2007-02-27 2011-05-17 Fujitsu Semiconductor Limited Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium

Similar Documents

Publication Publication Date Title
US20050216247A1 (en) Method and program for verifying logic circuit having asynchronous interface
JP5410414B2 (ja) 回路エミュレーションの入力及び遅延入力のマルチプレクシング
JP5432127B2 (ja) 自動回路設計及びシミュレーションに使用するための技術
JP5432126B2 (ja) 自動回路設計及びシミュレーションに使用するための技術
JP5405451B2 (ja) 自動回路設計及びシミュレーションに使用するための技術
US20030192018A1 (en) Apparatus and method for automated use of phase abstraction for enhanced verification of circuit designs
JP2006048525A (ja) シミュレーション方法
US6748573B2 (en) Apparatus and method for removing effects of phase abstraction from a phase abstracted trace
US20080016480A1 (en) System and Method for Driving Values to DC Adjusted/Untimed Nets to Identify Timing Problems
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
US6745377B2 (en) Apparatus and method for representing gated-clock latches for phase abstraction
US5903577A (en) Method and apparatus for analyzing digital circuits
US7237208B1 (en) Managing formal verification complexity of designs with datapaths
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
US20090172612A1 (en) Static hazard detection device, static hazard detection method, and recording medium
US8689153B1 (en) M and A for importing hardware description language into a system level design environment
JP2004185311A (ja) 非同期回路検証支援装置
Kebaili et al. Clock domain crossing formal verification: a meta-model
Kebaili et al. Enabler-based synchronizer model for clock domain crossing static verification
JP2009187344A (ja) 非同期論理回路検証装置およびその方法、並びにプログラム
JP5104356B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2007241836A (ja) マルチサイクルパス検証方法
JP5145167B2 (ja) クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
JP7354815B2 (ja) 検証支援装置、検証支援方法および検証支援プログラム