JP3112808B2 - Asicエミュレーション方法および装置 - Google Patents
Asicエミュレーション方法および装置Info
- Publication number
- JP3112808B2 JP3112808B2 JP07097244A JP9724495A JP3112808B2 JP 3112808 B2 JP3112808 B2 JP 3112808B2 JP 07097244 A JP07097244 A JP 07097244A JP 9724495 A JP9724495 A JP 9724495A JP 3112808 B2 JP3112808 B2 JP 3112808B2
- Authority
- JP
- Japan
- Prior art keywords
- asic
- timing
- cell
- logic
- fpga
- 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.)
- Expired - Fee Related
Links
Description
【0001】
【産業上の利用分野】この発明は、プログラマブルデバ
イスにASICの論理を書き込んでエミュレーションす
る方法および装置に関するものである。
イスにASICの論理を書き込んでエミュレーションす
る方法および装置に関するものである。
【0002】
【従来の技術】特定用途向け半導体集積回路(以下「A
SIC」という)を開発したとき、しばしば、ASIC
単体では正常に動作してもそれを組み込んだシステムが
正しく動作しないという事態が発生する。これは、AS
IC単体の動作は開発段階におけるソフトウエアシミュ
レーションおよびASIC製造メーカーの出荷テスト等
によって十分検証されるものの、それを実際にシステム
に搭載して行うテスト(以降「システムテスト」とい
う)がASICの納入を待ってはじめて可能になるため
である。すなわち、ASIC設計者はシステム全体の動
作を想定して論理設計をするものの、この設計が常に完
全であるとはいえず、ASICの最終検証はシステムテ
ストに頼っている。
SIC」という)を開発したとき、しばしば、ASIC
単体では正常に動作してもそれを組み込んだシステムが
正しく動作しないという事態が発生する。これは、AS
IC単体の動作は開発段階におけるソフトウエアシミュ
レーションおよびASIC製造メーカーの出荷テスト等
によって十分検証されるものの、それを実際にシステム
に搭載して行うテスト(以降「システムテスト」とい
う)がASICの納入を待ってはじめて可能になるため
である。すなわち、ASIC設計者はシステム全体の動
作を想定して論理設計をするものの、この設計が常に完
全であるとはいえず、ASICの最終検証はシステムテ
ストに頼っている。
【0003】しかしながらその一方で、ソフトウエアシ
ミュレーションの完了からゲートアレーやスタンダード
セルを代表とするASIC実デバイスの納入には通常
1、2週間程度の納期を要するため、システムテストの
開始が待たされるこの期間の有効活用に対する要望は強
い。
ミュレーションの完了からゲートアレーやスタンダード
セルを代表とするASIC実デバイスの納入には通常
1、2週間程度の納期を要するため、システムテストの
開始が待たされるこの期間の有効活用に対する要望は強
い。
【0004】またASIC開発の別の問題として、AS
ICの開発費用を挙げることができる。すなわち近年の
大規模ASICの場合、1回の開発費が1000万円を
超えるものも多く、軽微な設計ミスが大きな開発ロスを
生むこともある。かかる事態を回避するために、ASI
C試作サンプルの入手前に予めシステムテストに類する
テストを完了しておきたいとする要望も強い。
ICの開発費用を挙げることができる。すなわち近年の
大規模ASICの場合、1回の開発費が1000万円を
超えるものも多く、軽微な設計ミスが大きな開発ロスを
生むこともある。かかる事態を回避するために、ASI
C試作サンプルの入手前に予めシステムテストに類する
テストを完了しておきたいとする要望も強い。
【0005】ASICエミュレーション装置はこうした
要望に答えるべく考案された装置で、通常はASICの
論理を複数のプログラマブルデバイスに展開して書き込
み、これをシステムの必要な箇所にケーブル等で接続す
ることより、ASICとシステムの両評価を先行して行
うものである。この装置によればシステムテストに近い
テストが可能となり、かつテストがハードウエアで行わ
れるため、膨大なテストデータ(タイミングパターン)
の長時間に渡る実行が必要なソフトウエアシミュレーシ
ョンに比べ、テスト時間の大幅な短縮が可能となる。
要望に答えるべく考案された装置で、通常はASICの
論理を複数のプログラマブルデバイスに展開して書き込
み、これをシステムの必要な箇所にケーブル等で接続す
ることより、ASICとシステムの両評価を先行して行
うものである。この装置によればシステムテストに近い
テストが可能となり、かつテストがハードウエアで行わ
れるため、膨大なテストデータ(タイミングパターン)
の長時間に渡る実行が必要なソフトウエアシミュレーシ
ョンに比べ、テスト時間の大幅な短縮が可能となる。
【0006】ASICエミュレーション装置の概要につ
いては、例えば「ハイ・パフォーマンス・システムズ
(high Performance Systems)」(1989年10月号
28〜37ページ)に記載されるように、主に以下の構
成を含む。すなわち、ASICの論理回路を設計し、そ
の回路に対してソフトウエアシミュレーションを行うた
めのEWSと、このEWSから設計後のネット情報およ
びセル情報等の設計データ(以下単に「設計データ」と
いう)を受けてASICの動作をエミュレーションする
ための複数のプログラマブルデバイスが搭載された評価
ボード、およびこの評価ボードとケーブル等によって接
続されるシステムである。なお、プログラマブルデバイ
スのゲート数は大規模ASICのゲート数よりも少ない
ことが多く、通常は1個のASICの論理を複数のデバ
イスに分けて書き込む。最近ではこのデバイスとして、
容易に内部論理のプログラミングが可能で、かつ一定の
ゲート規模を有するフィールドプログラマブルゲートア
レイ(以下「FPGA」という)が採用されるケースが
増えつつある。
いては、例えば「ハイ・パフォーマンス・システムズ
(high Performance Systems)」(1989年10月号
28〜37ページ)に記載されるように、主に以下の構
成を含む。すなわち、ASICの論理回路を設計し、そ
の回路に対してソフトウエアシミュレーションを行うた
めのEWSと、このEWSから設計後のネット情報およ
びセル情報等の設計データ(以下単に「設計データ」と
いう)を受けてASICの動作をエミュレーションする
ための複数のプログラマブルデバイスが搭載された評価
ボード、およびこの評価ボードとケーブル等によって接
続されるシステムである。なお、プログラマブルデバイ
スのゲート数は大規模ASICのゲート数よりも少ない
ことが多く、通常は1個のASICの論理を複数のデバ
イスに分けて書き込む。最近ではこのデバイスとして、
容易に内部論理のプログラミングが可能で、かつ一定の
ゲート規模を有するフィールドプログラマブルゲートア
レイ(以下「FPGA」という)が採用されるケースが
増えつつある。
【0007】ここで、ASICのエミュレーションを開
始するために必要となる準備工程を図13によって説明
する。
始するために必要となる準備工程を図13によって説明
する。
【0008】同図において、まずASICの論理設計を
行った後(工程131)、論理およびタイミング検証用
のテストデータを作成する(工程132)。つづいて前
記テストデータを用いてソフトウェアシミュレータによ
る検証を行う(工程133)。この検証をすべてパスし
た設計データを用いてASICエミュレーション装置に
よるエミュレーションを開始する(工程134)。
行った後(工程131)、論理およびタイミング検証用
のテストデータを作成する(工程132)。つづいて前
記テストデータを用いてソフトウェアシミュレータによ
る検証を行う(工程133)。この検証をすべてパスし
た設計データを用いてASICエミュレーション装置に
よるエミュレーションを開始する(工程134)。
【0009】
【発明が解決しようとする課題】このように一定の準備
工程を経ることにより、ASICエミュレーション装置
は大きな効用を発揮するものの、装置の使用が広がるに
つれて、ASIC実デバイスとFPGAの微妙な相違に
起因する以下の課題が意識されるようになった。 [課題1]設計意図の反映が困難 従来のASICエミュレーション装置では、FPGA上
にASICの論理を書き込んだとき、FPGA上の配線
長の偏差によって予期しない遅延差が生じ、動作タイミ
ングが設計者の意図とずれる場合があった。ASIC実
デバイスの場合は予めデバイス製造メーカーが配線長の
偏差も考慮したシミュレーション用プログラムを提供す
るが、ユーザーのもとで書き込みが行われるFPGAの
場合、配線長に対する細かい配慮は容易ではない。その
一方、FPGA等プログラマブルデバイスは一般に配線
長が長くなる傾向があるため偏差も大きくなり、もとも
とレーシングを起こす可能性のある経路でタイミングの
逆転が発生しうる。
工程を経ることにより、ASICエミュレーション装置
は大きな効用を発揮するものの、装置の使用が広がるに
つれて、ASIC実デバイスとFPGAの微妙な相違に
起因する以下の課題が意識されるようになった。 [課題1]設計意図の反映が困難 従来のASICエミュレーション装置では、FPGA上
にASICの論理を書き込んだとき、FPGA上の配線
長の偏差によって予期しない遅延差が生じ、動作タイミ
ングが設計者の意図とずれる場合があった。ASIC実
デバイスの場合は予めデバイス製造メーカーが配線長の
偏差も考慮したシミュレーション用プログラムを提供す
るが、ユーザーのもとで書き込みが行われるFPGAの
場合、配線長に対する細かい配慮は容易ではない。その
一方、FPGA等プログラマブルデバイスは一般に配線
長が長くなる傾向があるため偏差も大きくなり、もとも
とレーシングを起こす可能性のある経路でタイミングの
逆転が発生しうる。
【0010】図2(a)は非同期リセット(以下単に
「リセット」という)付のフリップフロップ(以下「F
F」と略記する)を使用した回路の例、図2(b)は設
計者がその回路に期待するタイミングを示すタイミング
図である。この回路はFF211のDに入力されるデー
タ信号21を、リセット信号23が解除された後、クロ
ック信号22によって同期化し、データ出力信号24に
出力するものである。クロック信号22とリセット信号
23はそれぞれ組合せ回路222、221から出力され
る。
「リセット」という)付のフリップフロップ(以下「F
F」と略記する)を使用した回路の例、図2(b)は設
計者がその回路に期待するタイミングを示すタイミング
図である。この回路はFF211のDに入力されるデー
タ信号21を、リセット信号23が解除された後、クロ
ック信号22によって同期化し、データ出力信号24に
出力するものである。クロック信号22とリセット信号
23はそれぞれ組合せ回路222、221から出力され
る。
【0011】ここでASICのソフトウエアシミュレー
ションによって、ASICに期待するタイミングとして
同図(b)に示す相対タイミングが保証されているもの
とする。しかし、設計データをFPGAに書き込んだと
き、前記の理由によってタイミングに逆転が発生しう
る。この様子は図3に示されている。
ションによって、ASICに期待するタイミングとして
同図(b)に示す相対タイミングが保証されているもの
とする。しかし、設計データをFPGAに書き込んだと
き、前記の理由によってタイミングに逆転が発生しう
る。この様子は図3に示されている。
【0012】同図では、前記組合せ回路221の配線が
長くなった結果、リセット信号23の解除とクロック信
号22の立ち上りが逆転している。この結果、本来T1
期間にリセットが解除されT2の立ち上りで変化すべき
データ出力信号24の変化がT3の立ち上りにずれ込ん
でいる。
長くなった結果、リセット信号23の解除とクロック信
号22の立ち上りが逆転している。この結果、本来T1
期間にリセットが解除されT2の立ち上りで変化すべき
データ出力信号24の変化がT3の立ち上りにずれ込ん
でいる。
【0013】こうした不具合はASIC実デバイスでは
起こらず、FPGAに固有の誤動作である。従って、A
SICの動作を検証するためにFPGAを使用するにも
拘らず、ASICとしては本来気にする必要のない問題
が発生し、装置を使用する利点が損なわれる。現在、設
計者はこうした無用の誤動作を発見するために別に動作
確認用のテストパターンを作成しており、そのテストパ
ターンで不具合が発見されれば、問題の信号(図2では
リセット信号23)に関する書き込みデータを修正し、
再度FPGAへ書き込みを行わなければならない。
起こらず、FPGAに固有の誤動作である。従って、A
SICの動作を検証するためにFPGAを使用するにも
拘らず、ASICとしては本来気にする必要のない問題
が発生し、装置を使用する利点が損なわれる。現在、設
計者はこうした無用の誤動作を発見するために別に動作
確認用のテストパターンを作成しており、そのテストパ
ターンで不具合が発見されれば、問題の信号(図2では
リセット信号23)に関する書き込みデータを修正し、
再度FPGAへ書き込みを行わなければならない。
【0014】[課題2]詳細タイミング検証が不可能 仮に課題1について適切な対処をなす場合でも、依然と
して詳細なタイミング検証ができないという問題が残
る。従来の装置では、FPGAに論理を書き込む際、A
SIC実デバイス製造メーカーから提示される各セルの
入力端子から出力端子への信号伝搬時間(以下「セル内
部遅延」という)および各セル間の仮想配線長に依存す
る遅延値は考慮されない。すなわち、FPGAでは設計
データと論理的に等価な回路が書き込まれるに過ぎず、
実デバイスとの間にタイミングのずれが生じる。
して詳細なタイミング検証ができないという問題が残
る。従来の装置では、FPGAに論理を書き込む際、A
SIC実デバイス製造メーカーから提示される各セルの
入力端子から出力端子への信号伝搬時間(以下「セル内
部遅延」という)および各セル間の仮想配線長に依存す
る遅延値は考慮されない。すなわち、FPGAでは設計
データと論理的に等価な回路が書き込まれるに過ぎず、
実デバイスとの間にタイミングのずれが生じる。
【0015】図14は図2のリセット付FF回路に関す
るソフトウエアシミュレータとASICエミュレーショ
ン装置における動作の違いを示すタイミング図で、同図
における各信号は以下の通りである。
るソフトウエアシミュレータとASICエミュレーショ
ン装置における動作の違いを示すタイミング図で、同図
における各信号は以下の通りである。
【0016】・クロック信号22 ・ソフトウエアシミュレータ上のリセット信号23 ・ASICエミュレーション装置上のリセット信号2
3’ ・ソフトウエアシミュレータ上のデータ信号21 ・ASICエミュレーション装置上でのデータ信号2
1’ ・両リセット信号のタイミング誤差141 ・両データ信号のタイミング誤差142 同図に示すようにタイミング誤差141、142が発生
する。従って、ASICの機能およびタイミング検証を
行う際、別途ソフトウエアシミュレータ上でASICを
構成する各セルのタイミング制約情報(セル内部遅延や
FFのデータセットアップ時間等)を読み込み、テスト
をする必要があった。
3’ ・ソフトウエアシミュレータ上のデータ信号21 ・ASICエミュレーション装置上でのデータ信号2
1’ ・両リセット信号のタイミング誤差141 ・両データ信号のタイミング誤差142 同図に示すようにタイミング誤差141、142が発生
する。従って、ASICの機能およびタイミング検証を
行う際、別途ソフトウエアシミュレータ上でASICを
構成する各セルのタイミング制約情報(セル内部遅延や
FFのデータセットアップ時間等)を読み込み、テスト
をする必要があった。
【0017】[本発明の目的] 上記課題に鑑み、本発明は、タイミング検証の信頼性を
改善し、検証期間の短縮をも図るものである。
改善し、検証期間の短縮をも図るものである。
【0018】
【課題を解決するための手段】上記目的を達成するため
に本発明のASICエミュレーション方法は、内部論理
を動的にプログラミングすることが可能なプログラマブ
ルデバイスを用いてASICの動作をエミュレーション
する方法において、設計されたASICの論理とそのA
SICの動作条件情報からそのASICの動作遅延を計
算する工程と、前記プログラマブルデバイスの性能に応
じてその動作周波数を決定する工程と、前記ASIC及
び前記プログラマブルデバイスの動作周波数から逆算さ
れるクロックサイクル周期の比を求める工程と、前記A
SICの動作遅延にこの比を乗じた遅延をもとに前記プ
ログラマブルデバイスに書き込むべきデータを生成する
工程と、を有する。
に本発明のASICエミュレーション方法は、内部論理
を動的にプログラミングすることが可能なプログラマブ
ルデバイスを用いてASICの動作をエミュレーション
する方法において、設計されたASICの論理とそのA
SICの動作条件情報からそのASICの動作遅延を計
算する工程と、前記プログラマブルデバイスの性能に応
じてその動作周波数を決定する工程と、前記ASIC及
び前記プログラマブルデバイスの動作周波数から逆算さ
れるクロックサイクル周期の比を求める工程と、前記A
SICの動作遅延にこの比を乗じた遅延をもとに前記プ
ログラマブルデバイスに書き込むべきデータを生成する
工程と、を有する。
【0019】
【0020】
【0021】
【0022】また本発明は上記方法において、前記AS
ICにおいてタイミング制約の存在するセルを選定する
工程と、前記セルの入力信号の変化をその時刻とともに
収集する工程と、前記収集の結果から前記タイミング制
約に違反するセルを検出する工程とを有する。
ICにおいてタイミング制約の存在するセルを選定する
工程と、前記セルの入力信号の変化をその時刻とともに
収集する工程と、前記収集の結果から前記タイミング制
約に違反するセルを検出する工程とを有する。
【0023】このとき本発明はさらに、前記タイミング
制約に違反したセルについてその違反を解消するために
前記セルの入力信号に設定すべき入力タイミングを計算
する工程を有する。
制約に違反したセルについてその違反を解消するために
前記セルの入力信号に設定すべき入力タイミングを計算
する工程を有する。
【0024】さらに本発明は、前記タイミング制約に対
する設計余裕を設定するための工程を有する。
する設計余裕を設定するための工程を有する。
【0025】このとき本発明はさらに、前記計算された
入力タイミングをもとに、前記タイミング制約に違反す
るセルがなくなるように前記ASICの論理を修正する
工程を有する。
入力タイミングをもとに、前記タイミング制約に違反す
るセルがなくなるように前記ASICの論理を修正する
工程を有する。
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【作用】上記構成による本発明のASICエミュレーシ
ョン方法によれば、設計されたASICの論理とそのA
SICの動作条件情報からそのASICの動作遅延が計
算される。一方、前記プログラマブルデバイスの性能に
応じてその動作周波数が決定される。ここで前記ASI
Cおよび前記プログラマブルデバイスの動作周波数が比
較され、前記ASICの論理にこの比較結果を加味して
プログラマブルデバイスに書き込むべきデータが生成さ
れる。
ョン方法によれば、設計されたASICの論理とそのA
SICの動作条件情報からそのASICの動作遅延が計
算される。一方、前記プログラマブルデバイスの性能に
応じてその動作周波数が決定される。ここで前記ASI
Cおよび前記プログラマブルデバイスの動作周波数が比
較され、前記ASICの論理にこの比較結果を加味して
プログラマブルデバイスに書き込むべきデータが生成さ
れる。
【0032】
【0033】
【0034】このとき、前記比較結果は動作周波数から
逆算されるクロックサイクル周期の比で表され、前記プ
ログラマブルデバイスに書き込むべきデータは前記AS
ICの動作遅延にこの比を乗じた遅延をもとに生成され
る。
逆算されるクロックサイクル周期の比で表され、前記プ
ログラマブルデバイスに書き込むべきデータは前記AS
ICの動作遅延にこの比を乗じた遅延をもとに生成され
る。
【0035】上記方法において本発明では、前記ASI
Cにおいてタイミング制約の存在するセルが選定され、
前記セルの入力信号の変化とその時刻の組合せが収集さ
れる。この結果から前記タイミング制約に違反するセル
が検出される。
Cにおいてタイミング制約の存在するセルが選定され、
前記セルの入力信号の変化とその時刻の組合せが収集さ
れる。この結果から前記タイミング制約に違反するセル
が検出される。
【0036】このときさらに、前記タイミング制約に違
反したセルについてその違反を解消するために前記セル
の入力信号に設定すべき入力タイミングが計算され、こ
の結果を加味して前記ASICの論理を前記プログラマ
ブルデバイスに書き込む。
反したセルについてその違反を解消するために前記セル
の入力信号に設定すべき入力タイミングが計算され、こ
の結果を加味して前記ASICの論理を前記プログラマ
ブルデバイスに書き込む。
【0037】さらに本発明では、前記タイミング制約に
対する設計余裕が設定され、この設計余裕をも加味して
前記入力タイミングが計算される。
対する設計余裕が設定され、この設計余裕をも加味して
前記入力タイミングが計算される。
【0038】また本発明ではさらに、前記計算された入
力タイミングをもとに、前記タイミング制約に違反する
セルがなくなるよう前記ASICの論理が修正される。
力タイミングをもとに、前記タイミング制約に違反する
セルがなくなるよう前記ASICの論理が修正される。
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【実施例】関連技術1. ここで本発明の関連技術を適宜図面を参照しながら説明
する。
する。
【0045】図1は関連技術1に係るASICエミュレ
ーションの方法および装置の機能ブロック図である。本
実施例は、FPGAに対する書き込みデータを修正し、
設計者がASICに期待する動作タイミングをFPGA
でも実現するもので、以下の機能ブロックを有する。
ーションの方法および装置の機能ブロック図である。本
実施例は、FPGAに対する書き込みデータを修正し、
設計者がASICに期待する動作タイミングをFPGA
でも実現するもので、以下の機能ブロックを有する。
【0046】1.ASIC論理が書き込まれた後のFP
GAの実動作タイミングを保持するブロック13 2.設計者がASICに期待する動作タイミングを保持
するブロック11 3.上記2つのブロックからデータを読み出して動作タ
イミングを比較するブロック12 4.比較結果から不整合箇所を抽出するブロック14 5.不整合箇所を修正または補正するブロック16 6.補正の際に必要となる情報をライブラリ化して保持
するブロック17 7.設計データおよび補正の内容に従ってFPGAへの
書き込みデータを作成するブロック15 8.不整合箇所についてその情報を出力するブロック1
8 エミュレーションに必要なハードウエアは、FPGAを
搭載したFPGAボード、FPGAに対する書き込みデ
ータを作成・編集するEWS、およびFPGAボードが
接続されるシステム側の回路である。通常FPGAボー
ドには複数のFPGAが配置され、特殊なシーケンスに
よってデータの書き込みを行う書き込み回路とその回路
を制御する書き込み制御回路が設けられている。書き込
み制御回路はEWSから通信等によって送られたデータ
をFPGAへ書き込む。
GAの実動作タイミングを保持するブロック13 2.設計者がASICに期待する動作タイミングを保持
するブロック11 3.上記2つのブロックからデータを読み出して動作タ
イミングを比較するブロック12 4.比較結果から不整合箇所を抽出するブロック14 5.不整合箇所を修正または補正するブロック16 6.補正の際に必要となる情報をライブラリ化して保持
するブロック17 7.設計データおよび補正の内容に従ってFPGAへの
書き込みデータを作成するブロック15 8.不整合箇所についてその情報を出力するブロック1
8 エミュレーションに必要なハードウエアは、FPGAを
搭載したFPGAボード、FPGAに対する書き込みデ
ータを作成・編集するEWS、およびFPGAボードが
接続されるシステム側の回路である。通常FPGAボー
ドには複数のFPGAが配置され、特殊なシーケンスに
よってデータの書き込みを行う書き込み回路とその回路
を制御する書き込み制御回路が設けられている。書き込
み制御回路はEWSから通信等によって送られたデータ
をFPGAへ書き込む。
【0047】以上の構成における本関連技術の処理動作
を説明する。
を説明する。
【0048】[処理1]設計者の意図した動作タイミン
グ情報を抽出する。この情報はASICの論理データか
ら得ることができる。動作タイミングはブロック11に
保持される。
グ情報を抽出する。この情報はASICの論理データか
ら得ることができる。動作タイミングはブロック11に
保持される。
【0049】[処理2]ASIC論理書き込み後のFP
GA実動作タイミング情報を抽出する。これはFPGA
書き込みデータ作成結果から抽出することができ、ブロ
ック13に保持される。
GA実動作タイミング情報を抽出する。これはFPGA
書き込みデータ作成結果から抽出することができ、ブロ
ック13に保持される。
【0050】[処理3]上記2種類の動作タイミングの
値をブロック12において比較する。この様子を図2を
用いて説明する。
値をブロック12において比較する。この様子を図2を
用いて説明する。
【0051】(1)ASIC設計時に意図した動作タイ
ミング クロック信号22の立ち上りの時刻をT1、リセット信
号23の立ち上りの時刻をT2とすると、ASIC設計
時に意図したタイミングでは、 T1 > T2 となる。
ミング クロック信号22の立ち上りの時刻をT1、リセット信
号23の立ち上りの時刻をT2とすると、ASIC設計
時に意図したタイミングでは、 T1 > T2 となる。
【0052】(2)FPGAの実動作タイミング FPGAに展開された等価回路において、クロック信号
22の立ち上りの時刻をT1’、リセット信号23の立
ち上りの時刻をT2’とすると、前述のように組合せ回
路221における配線遅延により、 T1’< T2’ となる。従って、FPGA側で無用の誤動作が発生す
る。処理3では(1)、(2)の両動作タイミングを比
較する。
22の立ち上りの時刻をT1’、リセット信号23の立
ち上りの時刻をT2’とすると、前述のように組合せ回
路221における配線遅延により、 T1’< T2’ となる。従って、FPGA側で無用の誤動作が発生す
る。処理3では(1)、(2)の両動作タイミングを比
較する。
【0053】[処理4]処理3の結果から不整合を起こ
す信号をブロック14によって抽出する。同時に不整合
に関する情報、例えば発生箇所、不整合の内容等をブロ
ック18から出力する。この結果、設計者は不整合情報
を自動的に入手することができる。
す信号をブロック14によって抽出する。同時に不整合
に関する情報、例えば発生箇所、不整合の内容等をブロ
ック18から出力する。この結果、設計者は不整合情報
を自動的に入手することができる。
【0054】[処理5]不整合箇所が存在する場合、ブ
ロック16で補正の内容を決定する。補正にはいくつか
の方法が考えられるが、この場合はFPGAに書き込む
配置配線データを修正することにより、所望のタイミン
グ、 T1’>T2’ を保証するものとする。すなわち、可能な限り前記組合
せ回路221の配線を短くしてタイミングの逆転を解消
するのである。
ロック16で補正の内容を決定する。補正にはいくつか
の方法が考えられるが、この場合はFPGAに書き込む
配置配線データを修正することにより、所望のタイミン
グ、 T1’>T2’ を保証するものとする。すなわち、可能な限り前記組合
せ回路221の配線を短くしてタイミングの逆転を解消
するのである。
【0055】[処理6]配置配線の変更で不整合が吸収
しきれない場合は、遅延セルの挿入を行う。すなわち、
遅延調整用としてブロック17に予め用意された遅延セ
ル情報を参照して必要な遅延セルを選び出し、回路の対
応部分、この場合は例えばクロック信号22に挿入す
る。この処理により、相対タイミングを正しい関係に戻
すことができる。
しきれない場合は、遅延セルの挿入を行う。すなわち、
遅延調整用としてブロック17に予め用意された遅延セ
ル情報を参照して必要な遅延セルを選び出し、回路の対
応部分、この場合は例えばクロック信号22に挿入す
る。この処理により、相対タイミングを正しい関係に戻
すことができる。
【0056】以上が関連技術1の概要である。本関連技
術ではFPGAについて説明したが、当然ながらこれは
FPGA以外のいかなるプログラマブルデバイスであっ
てもよい。
術ではFPGAについて説明したが、当然ながらこれは
FPGA以外のいかなるプログラマブルデバイスであっ
てもよい。
【0057】実施例1. つづいて実施例1のASICエミュレーションの方法と
装置を説明する。本実施例の特徴はFPGAの動作イメ
ージをできる限りASICの動作イメージに近づけるべ
く、両者の動作周波数の比に従って各種パラメータを計
算し、FPGAに書き込むものである。すなわち、FP
GAの最大動作周波数がASIC実デバイスのそれを下
回る場合も多いため、その場合はそれらの比と入力信号
に与える遅延等の比を一致させることにより、動作周波
数に見合った各種信号タイミングを実現するものであ
る。
装置を説明する。本実施例の特徴はFPGAの動作イメ
ージをできる限りASICの動作イメージに近づけるべ
く、両者の動作周波数の比に従って各種パラメータを計
算し、FPGAに書き込むものである。すなわち、FP
GAの最大動作周波数がASIC実デバイスのそれを下
回る場合も多いため、その場合はそれらの比と入力信号
に与える遅延等の比を一致させることにより、動作周波
数に見合った各種信号タイミングを実現するものであ
る。
【0058】図4は実施例1においてFPGAに書き込
むべきデータを決定するためのフローチャートである。
以下、各工程を説明する。
むべきデータを決定するためのフローチャートである。
以下、各工程を説明する。
【0059】1.論理情報読み込み工程42 設計データであるASICの論理情報41を読み込む。
【0060】2.遅延計算工程44 読み込まれたASICの論理情報41に対し、ASIC
実デバイスで発生すると予想される信号遅延時間を計算
する。この際、ASIC動作条件情報46(動作周波
数、入力駆動力、出力負荷容量、温度、電圧等)、およ
び論理セルの遅延情報、セットアップ/ホールド時間等
論理セルのタイミング制約情報、仮想配線長各モード
(最大/通常/最小) における計算係数などを持ったセ
ルライブラリ43を参照する。
実デバイスで発生すると予想される信号遅延時間を計算
する。この際、ASIC動作条件情報46(動作周波
数、入力駆動力、出力負荷容量、温度、電圧等)、およ
び論理セルの遅延情報、セットアップ/ホールド時間等
論理セルのタイミング制約情報、仮想配線長各モード
(最大/通常/最小) における計算係数などを持ったセ
ルライブラリ43を参照する。
【0061】3.書き込みデータ生成工程45 遅延計算完了後、ASIC動作条件情報46を参照し、
FPGAへの書込みデータ48を後述の規則に従って生
成する。
FPGAへの書込みデータ48を後述の規則に従って生
成する。
【0062】4.書き込み工程47 生成されたデータを実際にFPGAへ書き込む。
【0063】以上が各工程の内容である。図5は書込み
データ生成工程45における処理を示す図である。同図
に示すように、まずASIC論理情報41をエミュレー
ションすることができるFPGAの最大動作周波数を計
算する(51)。この値からASIC実デバイスのクロ
ックサイクル周期を1としたときのASICエミュレー
ション装置のクロックサイクル周期の比nを求める(5
2)。
データ生成工程45における処理を示す図である。同図
に示すように、まずASIC論理情報41をエミュレー
ションすることができるFPGAの最大動作周波数を計
算する(51)。この値からASIC実デバイスのクロ
ックサイクル周期を1としたときのASICエミュレー
ション装置のクロックサイクル周期の比nを求める(5
2)。
【0064】つづいて、FPGAに展開されたそのAS
ICの全内部信号の動作余裕がASIC実デバイスの動
作余裕のn倍になるよう、内部信号の変化すべき時刻
(以下「変化時刻」という)を計算する(53)。つぎ
に、この変化時刻を実現するようFPGAへの書込みデ
ータを生成する(54)。
ICの全内部信号の動作余裕がASIC実デバイスの動
作余裕のn倍になるよう、内部信号の変化すべき時刻
(以下「変化時刻」という)を計算する(53)。つぎ
に、この変化時刻を実現するようFPGAへの書込みデ
ータを生成する(54)。
【0065】セットアップ時間を考慮して変化時刻を計
算する方法を図6によって説明する。
算する方法を図6によって説明する。
【0066】同図(a)はASICに期待する動作波形
である。この図において、クロック信号64とデータ信
号65のタイミング余裕t61は、データ信号612〜
クロック信号64の有効エッジまでの期間t63からF
Fのセットアップ時間t62を引いた期間となる。これ
をFPGAに展開する際、クロック信号64とデータ信
号65のタイミング余裕t61’が実際のASICの動
作余裕のn倍になるためには、図6(b)に示す通り、
クロック信号64の有効エッジから、次の2つの合計時
間分遡った時刻t63’で変化すれば良い。
である。この図において、クロック信号64とデータ信
号65のタイミング余裕t61は、データ信号612〜
クロック信号64の有効エッジまでの期間t63からF
Fのセットアップ時間t62を引いた期間となる。これ
をFPGAに展開する際、クロック信号64とデータ信
号65のタイミング余裕t61’が実際のASICの動
作余裕のn倍になるためには、図6(b)に示す通り、
クロック信号64の有効エッジから、次の2つの合計時
間分遡った時刻t63’で変化すれば良い。
【0067】 1.FPGA内部FFのセットアップ時間・・・t62’ 2.ASIC側のタイミング余裕t61のn倍・・・n×t61 t63’=t62’+n×t61 この根拠は、これら2つの数値のうち実際のタイミング
余裕は2.に依存するため、1.についてはn倍せずに
加える必要性による。こうして変化時刻が確定すればこ
れを書込みデータ生成の条件として使用する。
余裕は2.に依存するため、1.についてはn倍せずに
加える必要性による。こうして変化時刻が確定すればこ
れを書込みデータ生成の条件として使用する。
【0068】以上が実施例1の概要である。本実施例の
場合、FPGAの最大動作周波数のほうが高ければ、当
然ながらn=1として両者の動作イメージを一致させる
ことができる。さらに、n<1とすれば、システムのク
ロックマージンを知ることも可能である。いずれの場合
でも、本実施例によればASICを構成する各セルのタ
イミング条件を考慮したエミュレーションができるの
で、従来は別途行っていたソフトウエアによる動作確認
が不要となるだけでなく、ソフトウエアシミュレータと
比較して検証時間の大幅な短縮が可能となる。
場合、FPGAの最大動作周波数のほうが高ければ、当
然ながらn=1として両者の動作イメージを一致させる
ことができる。さらに、n<1とすれば、システムのク
ロックマージンを知ることも可能である。いずれの場合
でも、本実施例によればASICを構成する各セルのタ
イミング条件を考慮したエミュレーションができるの
で、従来は別途行っていたソフトウエアによる動作確認
が不要となるだけでなく、ソフトウエアシミュレータと
比較して検証時間の大幅な短縮が可能となる。
【0069】実施例2. つづいて本発明の実施例2を説明する。実施例2は実施
例1と異なる方法でASICの動作イメージの忠実な再
現を図るものである。すなわち、本実施例ではセットア
ップ時間等のタイミング制約をASIC同様にFPGA
についても実現するものであるが、実施例1及び関連技
術1による動作イメージの再現がそれぞれ完全であれ
ば、両者の効果は一致することもある。
例1と異なる方法でASICの動作イメージの忠実な再
現を図るものである。すなわち、本実施例ではセットア
ップ時間等のタイミング制約をASIC同様にFPGA
についても実現するものであるが、実施例1及び関連技
術1による動作イメージの再現がそれぞれ完全であれ
ば、両者の効果は一致することもある。
【0070】図7は実施例2によって詳細なタイミング
検証を実施するためのフローチャートで、以下の工程か
らなる。
検証を実施するためのフローチャートで、以下の工程か
らなる。
【0071】1.タイミング制約が存在するセル(以下
「対象セル」という)の入力信号の変化その時刻を収集
する工程71 2.ASIC製造メーカーから提示された各セルのタイ
ミング制約情報73に従い、各セルにおけるタイミング
違反の発生有無を確認する工程72 3.タイミング違反の発生したセル(以下「違反セル」
という)に関する情報を出力する工程74 4.違反セルがタイミング制約を満足するよう、入力信
号のタイミングに施すべき修正を計算する工程75 5.工程75の情報を用いてFPGAに書き込むデータ
を生成する工程77 6.工程75の情報を用いて違反セルの違反が解消する
ように、ASICの論理を修正する工程78 なお、余裕値データ保持部76は工程75において設計
上の余裕値を付加するための余裕値データを保持してい
る。
「対象セル」という)の入力信号の変化その時刻を収集
する工程71 2.ASIC製造メーカーから提示された各セルのタイ
ミング制約情報73に従い、各セルにおけるタイミング
違反の発生有無を確認する工程72 3.タイミング違反の発生したセル(以下「違反セル」
という)に関する情報を出力する工程74 4.違反セルがタイミング制約を満足するよう、入力信
号のタイミングに施すべき修正を計算する工程75 5.工程75の情報を用いてFPGAに書き込むデータ
を生成する工程77 6.工程75の情報を用いて違反セルの違反が解消する
ように、ASICの論理を修正する工程78 なお、余裕値データ保持部76は工程75において設計
上の余裕値を付加するための余裕値データを保持してい
る。
【0072】以上の構成によってタイミング検証を行う
様子を工程毎に説明する。
様子を工程毎に説明する。
【0073】[工程71]まず、対象セルの入力信号の
変化とその時刻を組にして収集し、タイミング検証時に
使用するデータフォーマットに変換して保存する。具体
的な収集方法を図8を用いて説明する。
変化とその時刻を組にして収集し、タイミング検証時に
使用するデータフォーマットに変換して保存する。具体
的な収集方法を図8を用いて説明する。
【0074】同図には、FPGA81、FPGA81に
書き込まれた対象セル82、対象セルの入力信号の変化
を検出するために信号を引き出す信号線83、FPGA
の入出力ピン84、FPGAとエミュレーションを制御
する制御部を接続する信号線85、エミュレーションを
制御する制御部86が示されている。
書き込まれた対象セル82、対象セルの入力信号の変化
を検出するために信号を引き出す信号線83、FPGA
の入出力ピン84、FPGAとエミュレーションを制御
する制御部を接続する信号線85、エミュレーションを
制御する制御部86が示されている。
【0075】この構成おいて、入力信号の変化は信号線
83を監視することによって可能となる。検出された信
号の変化は、エミュレーション制御部86において記録
された時刻とともに、タイミング検証時に使用するデー
タフォーマットに変換され、保存される。
83を監視することによって可能となる。検出された信
号の変化は、エミュレーション制御部86において記録
された時刻とともに、タイミング検証時に使用するデー
タフォーマットに変換され、保存される。
【0076】[工程72]工程71において収集された
情報とタイミング制約情報から、違反セルの有無を確認
する。
情報とタイミング制約情報から、違反セルの有無を確認
する。
【0077】図9はこの確認方法を説明するためのタイ
ミング図である。同図(a)、(b)ともに、FPGA
に書き込まれた図2のFFの入力信号の変化を表したも
のであるが、(a)ではこのセルは違反セルではなく、
(b)では違反セルである。すなわち、クロック信号2
2、データ信号21について、ASIC製造メーカーが
要求するセットアップ時間をt91、ホールド時間をt
92とし、一方、それらが現実にとる値をそれぞれt9
3、t94とすると、同図(a)では、 t93>t91、t94>t92 が成り立つが、(b)では、 t93<t91、t94<t92 となり、セットアップ時間、ホールド時間ともに違反し
ている。従って、タイミング情報を検索することによ
り、こうした違反状態を検出する。
ミング図である。同図(a)、(b)ともに、FPGA
に書き込まれた図2のFFの入力信号の変化を表したも
のであるが、(a)ではこのセルは違反セルではなく、
(b)では違反セルである。すなわち、クロック信号2
2、データ信号21について、ASIC製造メーカーが
要求するセットアップ時間をt91、ホールド時間をt
92とし、一方、それらが現実にとる値をそれぞれt9
3、t94とすると、同図(a)では、 t93>t91、t94>t92 が成り立つが、(b)では、 t93<t91、t94<t92 となり、セットアップ時間、ホールド時間ともに違反し
ている。従って、タイミング情報を検索することによ
り、こうした違反状態を検出する。
【0078】[工程74]違反セルが発見された場合、
違反の内容を設計者に報告する。内容の例としては、違
反セルのセル番号や違反の態様、すなわちセットアッ
プ、ホールド、インヒビット時間等、違反する制約時間
の特定、その時間の不足量、違反を起こしている入力信
号のピン番号等がある。この報告を受け、設計者は論理
に不都合があることを知り、この情報をもとに論理修正
をすることができる。
違反の内容を設計者に報告する。内容の例としては、違
反セルのセル番号や違反の態様、すなわちセットアッ
プ、ホールド、インヒビット時間等、違反する制約時間
の特定、その時間の不足量、違反を起こしている入力信
号のピン番号等がある。この報告を受け、設計者は論理
に不都合があることを知り、この情報をもとに論理修正
をすることができる。
【0079】以上の各工程によれば、従来ソフトウエア
シミュレータで実行していたタイミング検証をASIC
エミュレーション装置で実行することができ、かつ検証
が実際の動作速度に近い状態で行われるため、検証時間
の大幅な短縮が可能となる。また、2種類のツール(ソ
フトウエアシミュレータとASICエミュレーション装
置)を使用する必要がないため、作業効率も向上する。
シミュレータで実行していたタイミング検証をASIC
エミュレーション装置で実行することができ、かつ検証
が実際の動作速度に近い状態で行われるため、検証時間
の大幅な短縮が可能となる。また、2種類のツール(ソ
フトウエアシミュレータとASICエミュレーション装
置)を使用する必要がないため、作業効率も向上する。
【0080】[工程75]違反セルが発見された場合、
違反を解消することのできる入力信号のタイミングを計
算する。例えば図9(b)の場合、セットアップ、ホー
ルド時間ともに違反しているため、セットアップ時間を
増やすためにはデータ信号21のローハイ変化を早め、
ホールド時間を増やすためにはハイロー変化を遅らせ
る。通常はこれら両方の違反が同時に発生する可能性は
低く、いずれか一方を解消する場合は単に信号を早める
か、遅延させることで足りる。
違反を解消することのできる入力信号のタイミングを計
算する。例えば図9(b)の場合、セットアップ、ホー
ルド時間ともに違反しているため、セットアップ時間を
増やすためにはデータ信号21のローハイ変化を早め、
ホールド時間を増やすためにはハイロー変化を遅らせ
る。通常はこれら両方の違反が同時に発生する可能性は
低く、いずれか一方を解消する場合は単に信号を早める
か、遅延させることで足りる。
【0081】[工程77]工程75の情報を用いて書き
込みデータを生成する。すなわち、設計データを基本と
し、違反セルについてのみデータを修正する。修正の方
法としては、配置配線の変更、使用セルの種別変換、遅
延セルの挿入等が考えられる。この結果、別途タイミン
グ検証をして違反セルを発見し、その都度ASICの論
理を変更する必要がなくなるため、作業性が改善され
る。
込みデータを生成する。すなわち、設計データを基本と
し、違反セルについてのみデータを修正する。修正の方
法としては、配置配線の変更、使用セルの種別変換、遅
延セルの挿入等が考えられる。この結果、別途タイミン
グ検証をして違反セルを発見し、その都度ASICの論
理を変更する必要がなくなるため、作業性が改善され
る。
【0082】なお本工程については、さらに設計余裕を
付加することが望ましい。図10はこうした設計余裕の
付加方法を説明する図である。
付加することが望ましい。図10はこうした設計余裕の
付加方法を説明する図である。
【0083】同図に示すように、セットアップ時間t9
1、ホールド時間t92に対して、それぞれ設計余裕t
101、t102が付加されている。設計余裕は、例え
ば一律に2ナノ秒を付加したり、セットアップ時間等を
一律1.2倍する等の方法によればよい。
1、ホールド時間t92に対して、それぞれ設計余裕t
101、t102が付加されている。設計余裕は、例え
ば一律に2ナノ秒を付加したり、セットアップ時間等を
一律1.2倍する等の方法によればよい。
【0084】[工程78]工程75において計算された
データを元に、FPGA側で違反セルがなくなるよう、
ASIC側に戻って論理を修正する。より具体的には、
例えば1つのセルで多くのセルを駆動している場合、2
つのセルで駆動するように論理を自動修正する等が考え
られる。この場合、各セルのファンイン/ファンアウト
が規定を満たしている場合でも論理変更がされる点に特
徴があり、この点で後述の実施例4と異なる。
データを元に、FPGA側で違反セルがなくなるよう、
ASIC側に戻って論理を修正する。より具体的には、
例えば1つのセルで多くのセルを駆動している場合、2
つのセルで駆動するように論理を自動修正する等が考え
られる。この場合、各セルのファンイン/ファンアウト
が規定を満たしている場合でも論理変更がされる点に特
徴があり、この点で後述の実施例4と異なる。
【0085】以上が実施例2の概要である。本実施例に
よれば、FPGAの動作イメージがASIC実デバイス
のそれに近づくため、詳細なタイミング検証が可能とな
る。
よれば、FPGAの動作イメージがASIC実デバイス
のそれに近づくため、詳細なタイミング検証が可能とな
る。
【0086】関連技術2. つぎに、本発明の関連技術2を説明する。関連技術2は
ASICの論理をFPGAに展開したときに発生しうる
ファンイン/ファンアウト違反を自動解消する点に特徴
がある。これはASIC実デバイスとFPGAとでは当
然ながらファンイン/ファンアウト条件が異なるためで
ある。なお、ASIC実デバイスについては通常ソフト
ウエアシミュレーションの段階でファンイン/ファンア
ウト検査を通過しているのでこうした問題は発生しない
が、未検査の場合については後述する。
ASICの論理をFPGAに展開したときに発生しうる
ファンイン/ファンアウト違反を自動解消する点に特徴
がある。これはASIC実デバイスとFPGAとでは当
然ながらファンイン/ファンアウト条件が異なるためで
ある。なお、ASIC実デバイスについては通常ソフト
ウエアシミュレーションの段階でファンイン/ファンア
ウト検査を通過しているのでこうした問題は発生しない
が、未検査の場合については後述する。
【0087】図11は関連技術2においてファンイン/
ファンアウトの自動チェックを実現するためのフローチ
ャートである。この方法は以下の工程から構成される。
ファンアウトの自動チェックを実現するためのフローチ
ャートである。この方法は以下の工程から構成される。
【0088】1.ファンイン/ファンアウト検査工程1
13 FPGAに展開された論理情報111、特にネット情報
と、使用されている各セルの駆動能力データ112を照
合し、ファンイン/ファンアウト違反の有無を検査す
る。
13 FPGAに展開された論理情報111、特にネット情報
と、使用されている各セルの駆動能力データ112を照
合し、ファンイン/ファンアウト違反の有無を検査す
る。
【0089】例えば、図12のように1つのアンドセル
121と6つのインバータセル122が接続されている
場合、このアンドセル121のファンアウトが1mA、
インバータ122のファンインが0.2mAとすると、
6つのインバータ122を駆動するのに必要な電流1.
2mA(0.2mA×6)よりもファンアウトの方が小
さくなる。本工程はこうした違反の有無を検査する。
121と6つのインバータセル122が接続されている
場合、このアンドセル121のファンアウトが1mA、
インバータ122のファンインが0.2mAとすると、
6つのインバータ122を駆動するのに必要な電流1.
2mA(0.2mA×6)よりもファンアウトの方が小
さくなる。本工程はこうした違反の有無を検査する。
【0090】2.違反情報出力工程116 前工程で違反が発見された場合、違反に関する情報、す
なわち違反箇所とその程度等を出力し、設計者に報知す
る。
なわち違反箇所とその程度等を出力し、設計者に報知す
る。
【0091】3.書き込みデータ修正工程117 違反が発見されたとき、自動的にFPGAに対する書き
込み情報を修正する。図12でいえば、例えば前記アン
ドセル121を倍のファンアウトを有するパワータイプ
のものに変更したり、アンドセル121とインバータセ
ル122の間に大きなファンアウトを持つバッファセル
を入れる等の措置が考えられる。
込み情報を修正する。図12でいえば、例えば前記アン
ドセル121を倍のファンアウトを有するパワータイプ
のものに変更したり、アンドセル121とインバータセ
ル122の間に大きなファンアウトを持つバッファセル
を入れる等の措置が考えられる。
【0092】4.FPGAへのデータ書き込み工程11
8 前工程で修正されたデータをFPGAへ書き込む。
8 前工程で修正されたデータをFPGAへ書き込む。
【0093】以上、本関連技術によれば、FPGAに書
き込むべきデータが自動的に修正されるため、以降、即
座に有効なASICエミュレーションを開始することが
できる。このとき設計者はもともと問題のないASIC
側にまで戻って論理の変更を行う必要がなく、設計効率
が大幅に改善される。
き込むべきデータが自動的に修正されるため、以降、即
座に有効なASICエミュレーションを開始することが
できる。このとき設計者はもともと問題のないASIC
側にまで戻って論理の変更を行う必要がなく、設計効率
が大幅に改善される。
【0094】なお、ASIC側のファンイン/ファンア
ウト検査がソフトウエアシミュレーションの段階で行わ
れていない場合は以下のように対応する。すなわち、前
記ファンイン/ファンアウト検査工程113において、
ASICの論理情報と、ASICで使用されている各セ
ルの駆動能力データを照合し、ASIC単体におけるフ
ァンイン/ファンアウト違反の有無を検査する。この段
階で違反が発見されれば、図示しないASICの論理修
正工程において自動修正を行う。つづいて、修正後の論
理に対してFPGA側のファンイン/ファンアウト検査
を行えばよい。この場合も、設計者がわざわざASIC
の設計に戻る必要がなく、設計効率の改善が可能とな
る。
ウト検査がソフトウエアシミュレーションの段階で行わ
れていない場合は以下のように対応する。すなわち、前
記ファンイン/ファンアウト検査工程113において、
ASICの論理情報と、ASICで使用されている各セ
ルの駆動能力データを照合し、ASIC単体におけるフ
ァンイン/ファンアウト違反の有無を検査する。この段
階で違反が発見されれば、図示しないASICの論理修
正工程において自動修正を行う。つづいて、修正後の論
理に対してFPGA側のファンイン/ファンアウト検査
を行えばよい。この場合も、設計者がわざわざASIC
の設計に戻る必要がなく、設計効率の改善が可能とな
る。
【0095】
【発明の効果】本発明のASICエミュレーション方法
によれば、ASICの論理に、ASICおよびプログラ
マブルデバイスの動作周波数の比較結果を加味して書き
込みが行われるため、プログラマブルデバイスの動作イ
メージがASIC実デバイスのそれに近くなる。従っ
て、詳細なタイミング検証を容易かつ短時間に行うこと
ができる。
によれば、ASICの論理に、ASICおよびプログラ
マブルデバイスの動作周波数の比較結果を加味して書き
込みが行われるため、プログラマブルデバイスの動作イ
メージがASIC実デバイスのそれに近くなる。従っ
て、詳細なタイミング検証を容易かつ短時間に行うこと
ができる。
【0096】
【0097】
【0098】このとき、クロックサイクル周期の比をA
SICの動作遅延に乗じて書き込みデータを作成するた
め、動作イメージを単純な比で表現でき、データ作成も
容易なる。
SICの動作遅延に乗じて書き込みデータを作成するた
め、動作イメージを単純な比で表現でき、データ作成も
容易なる。
【0099】また本発明では、タイミング制約に違反す
るセルを自動検出することができ、作業効率が向上す
る。
るセルを自動検出することができ、作業効率が向上す
る。
【0100】このとき、違反セルの違反を自動的に解消
することも可能となる。
することも可能となる。
【0101】さらに、タイミング制約に対する設計余裕
を付加することができ、動作信頼性・安定性が向上す
る。
を付加することができ、動作信頼性・安定性が向上す
る。
【0102】また本発明では、違反セルがなくなるよう
ASICの論理自体を自動修正することができる。
ASICの論理自体を自動修正することができる。
【0103】
【0104】
【0105】
【0106】
【0107】
【図1】 関連技術1に係るASICエミュレーション
方法および装置の機能ブロック図である。
方法および装置の機能ブロック図である。
【図2】(a)はリセット付FFを使用した回路例を示
す図、(b)は設計者がその回路に期待するタイミング
を示すタイミング図である。
す図、(b)は設計者がその回路に期待するタイミング
を示すタイミング図である。
【図3】 図2(a)の回路においてタイミングに逆転
が起きた場合のタイミング図である。
が起きた場合のタイミング図である。
【図4】 実施例1のASICエミュレーション装置に
おいてFPGAに書き込むべきデータを決定するための
フローチャートである。
おいてFPGAに書き込むべきデータを決定するための
フローチャートである。
【図5】 FPGAへの書込みデータ生成工程45にお
ける処理を示す図である。
ける処理を示す図である。
【図6】 セットアップ時間を考慮して変化時刻を計算
する方法例を説明する図である。
する方法例を説明する図である。
【図7】 実施例2のASICエミュレーション装置で
詳細なタイミング検証を実施するためのフローチャート
である。
詳細なタイミング検証を実施するためのフローチャート
である。
【図8】 タイミング制約が存在するセルの入力信号の
変化とその時刻を組にして収集する方法を示す図であ
る。
変化とその時刻を組にして収集する方法を示す図であ
る。
【図9】 違反セルの有無を確認する方法を説明するた
めのタイミング図である。
めのタイミング図である。
【図10】 実施例2において設計余裕を付加する方法
を説明する図である。
を説明する図である。
【図11】 関連技術2においてファンイン/ファンア
ウトの自動チェックを実現するためのフローチャートで
ある。
ウトの自動チェックを実現するためのフローチャートで
ある。
【図12】 1つのアンドセル121と6つのインバー
タセル122が接続されている状態を示す図である。
タセル122が接続されている状態を示す図である。
【図13】 ASICのエミュレーションを開始するた
めの準備工程を示す図である。
めの準備工程を示す図である。
【図14】 図2のリセット付FF回路に関するソフト
ウエアシミュレータとASICエミュレーション装置に
おける動作の違いを示すタイミング図である。
ウエアシミュレータとASICエミュレーション装置に
おける動作の違いを示すタイミング図である。
11 ASICに期待する動作タイミング保持ブロッ
ク、12 動作タイミング比較ブロック、13 FPG
A実動作タイミング保持ブロック、14 不整合箇所抽
出ブロック、15 書き込みデータ作成ブロック、16
不整合箇所補正ブロック、17 補正情報保持ブロッ
ク、18 不整合情報出力ブロック、42論理情報読み
込み工程、44 遅延計算工程、45 書き込みデータ
生成工程、47 書き込み工程、71 入力信号の変化
を収集する工程、72 違反の有無を確認する工程、7
4 違反情報を出力する工程、75 タイミングの修正
計算をする工程、77 書き込みデータを生成する工
程、78 ASIC論理を修正する工程、113 ファ
ンイン/ファンアウト検査工程、116 違反情報出力
工程、117 書き込みデータ修正工程、118 デー
タ書き込み工程。
ク、12 動作タイミング比較ブロック、13 FPG
A実動作タイミング保持ブロック、14 不整合箇所抽
出ブロック、15 書き込みデータ作成ブロック、16
不整合箇所補正ブロック、17 補正情報保持ブロッ
ク、18 不整合情報出力ブロック、42論理情報読み
込み工程、44 遅延計算工程、45 書き込みデータ
生成工程、47 書き込み工程、71 入力信号の変化
を収集する工程、72 違反の有無を確認する工程、7
4 違反情報を出力する工程、75 タイミングの修正
計算をする工程、77 書き込みデータを生成する工
程、78 ASIC論理を修正する工程、113 ファ
ンイン/ファンアウト検査工程、116 違反情報出力
工程、117 書き込みデータ修正工程、118 デー
タ書き込み工程。
フロントページの続き (56)参考文献 特開 平1−315873(JP,A) 特開 平3−171258(JP,A) 特開 平3−276375(JP,A) 特開 平7−295852(JP,A) 特開 平6−295319(JP,A) 特開 平4−134845(JP,A) 特開 平2−245831(JP,A) 特開 昭62−232583(JP,A) 特表 平4−502985(JP,A) 小川光雄、外2名、”開発環境MAX +plus▲II▼の概要とアルテラ・ チップ開発事例”、インタ−フェース、 CQ出版株式会社、平成5年、Vol. 19、No.3、p.129〜145 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 664
Claims (5)
- 【請求項1】 内部論理を動的にプログラミングするこ
とが可能なプログラマブルデバイスを用いてASICの
動作をエミュレーションする方法において、設計されたASICの論理とそのASICの動作条件情
報からそのASICの動作遅延を計算する工程と、 前記プログラマブルデバイスの性能に応じてその動作周
波数を決定する工程と、 前記ASIC及び前記プログラマブルデバイスの動作周
波数から逆算されるクロックサイクル周期の比を求める
工程と、 前記ASICの動作遅延にこの比を乗じた遅延をもとに
前記プログラマブルデバイスに書き込むべきデータを生
成する工程と、 を有することを特徴とするASICエミュレーション方
法。 - 【請求項2】 請求項1に記載のASICエミュレーシ
ョン方法において、 前記ASICにおいてタイミング制約の存在するセルを
選定する工程と、 前記セルの入力信号の変化をその時刻とともに収集する
工程と、 前記収集の結果から前記タイミング制約に違反するセル
を検出する工程と、 を有することを特徴とするASICエミュレーション方
法。 - 【請求項3】 請求項2に記載のASICエミュレーシ
ョン方法において、 該方法はさらに、 前記タイミング制約に違反したセルについてその違反を
解消するために前記セルの入力信号に設定すべき入力タ
イミングを計算する工程を有し、 この工程おいて計算された入力タイミングを加味して前
記ASICの論理を前記プログラマブルデバイスに書き
込むことを特徴とするASICエミュレーション方法。 - 【請求項4】 請求項3に記載のASICエミュレーシ
ョン方法において、該方法はさらに、 前記タイミング制約に対する設計余裕を設定するための
工程を有し、 この設計余裕も加味して前記入力タイミングを計算する
ことを特徴とするASICエミュレーション方法。 - 【請求項5】 請求項4に記載のASICエミュレーシ
ョン方法において、該方法はさらに、 前記計算された入力タイミングをもとに、前記タイミン
グ制約に違反するセルがなくなるように前記ASICの
論理を修正する工程を有することを特徴とするASIC
エミュレーション方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07097244A JP3112808B2 (ja) | 1995-04-21 | 1995-04-21 | Asicエミュレーション方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07097244A JP3112808B2 (ja) | 1995-04-21 | 1995-04-21 | Asicエミュレーション方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08292967A JPH08292967A (ja) | 1996-11-05 |
JP3112808B2 true JP3112808B2 (ja) | 2000-11-27 |
Family
ID=14187184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07097244A Expired - Fee Related JP3112808B2 (ja) | 1995-04-21 | 1995-04-21 | Asicエミュレーション方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3112808B2 (ja) |
-
1995
- 1995-04-21 JP JP07097244A patent/JP3112808B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
小川光雄、外2名、"開発環境MAX+plus▲II▼の概要とアルテラ・チップ開発事例"、インタ−フェース、CQ出版株式会社、平成5年、Vol.19、No.3、p.129〜145 |
Also Published As
Publication number | Publication date |
---|---|
JPH08292967A (ja) | 1996-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050216247A1 (en) | Method and program for verifying logic circuit having asynchronous interface | |
JP4058252B2 (ja) | Ic設計の検証方法 | |
US7587690B1 (en) | Method and system for global coverage analysis | |
JP2006048525A (ja) | シミュレーション方法 | |
US20100241414A1 (en) | Debugging simulation with partial design replay | |
US7823101B2 (en) | Device, method, and storage for verification scenario generation, and verification device | |
US7171634B2 (en) | Processing and verifying retimed sequential elements in a circuit design | |
CN117688893B (zh) | 芯片转换时间违例修复方法、装置、电子设备及存储介质 | |
US20080005709A1 (en) | Verification of logic circuits using cycle based delay models | |
US7840924B2 (en) | Apparatus, method, and program for verifying logic circuit operating with multiple clock signals | |
US6532573B1 (en) | LSI verification method, LSI verification apparatus, and recording medium | |
JP3112808B2 (ja) | Asicエミュレーション方法および装置 | |
CN116663490A (zh) | 一种异步存储芯片的验证方法、平台、装置及介质 | |
US6701498B2 (en) | Black box timing model for latch-based systems | |
JP7069608B2 (ja) | 半導体設計支援装置、半導体設計支援方法及びプログラム | |
Sharma et al. | An automation methodology for amelioration of SpyGlassCDC abstract view generation process | |
US7225419B2 (en) | Methods for modeling latch transparency | |
US7047173B1 (en) | Analog signal verification using digital signatures | |
JP3036454B2 (ja) | タイミング検証方法及び装置 | |
KR100321780B1 (ko) | 칩의외부신호자동비교에의한칩기능검증방법 | |
JP3603394B2 (ja) | Lsi開発における検証方式および検証方法 | |
JP2009187119A (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
JP3112892B2 (ja) | スキャンテスト方法及びスキャンテスト装置 | |
JP4039347B2 (ja) | ラッチ変換による遅延最適化回路の等価性検証システム、及びプログラム | |
JP2001155043A (ja) | 論理シミュレーションにおけるタイミングチェック方法およびタイミングチェック方法を記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |