(57)【要約】【課題】半導体集積回路の機能検証において、動作モデルとこの動作モデルを高位合成した後の高位合成モデル（ＲＴＬモデルなど）との対応付けを適切に行うことにより、ＴＡＴの短縮化を図る。【解決手段】動作モデルＭ１に対して観測変数を設定するステップと、観測変数に基づいて動作モデルを検索して観測用ポートを抽出するステップと、抽出した観測用ポートが内部ポートか否かを判断して、内部ポートの場合は外部ポートに定義し直すステップと、観測変数については論理圧縮を禁止する状態で動作モデルを高位合成してＲＴＬモデルＭ２を生成するステップと、動作モデルＭ１に対するシミュレーションの実行により、観測変数の信号変化を抽出してリファレンスモデルＭ３を生成するステップと、観測変数に基づいてＲＴＬモデルＭ２をリファレンスモデルＭ３と比較し、その比較結果を出力するステップとを含む。【選択図】　図１
2004139309.tif 000002
【特許請求の範囲】
【請求項１】
動作モデルに対して観測したい変数である観測変数を設定するステップと、
前記観測変数に基づいて前記動作モデルを検索して観測用ポートを抽出するステップと、
前記抽出した観測用ポートが内部ポートか否かを判断して、内部ポートの場合は外部ポートに定義し直すステップと、
前記観測変数については論理圧縮を禁止する状態で前記動作モデルを高位合成して高位合成モデルを生成するステップと、
前記動作モデルに対するシミュレーションの実行により、前記観測変数の信号変化を抽出してリファレンスモデルを生成するステップと、
前記観測変数に基づいて前記高位合成モデルを前記リファレンスモデルと比較し、その比較結果を出力するステップとを含むことを特徴とする半導体集積回路検証方法。
【請求項２】
前記高位合成モデルがＲＴＬモデルである請求項１に記載の半導体集積回路検証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の機能検証を行うための半導体集積回路検証方法に関する。
【０００２】
【従来の技術】
システムＬＳＩ化に対応した検証の従来技術として、時間の概念を伴わない記述レベルの動作モデルと、この動作モデルを高位合成した時間の概念を伴う記述レベルの高位合成モデル（ＲＴＬモデル）との比較検証において、動作モデルの記述レベルと高位合成モデルの記述レベルとの中間に位置する中間検証言語を使用し、動作モデルと高位合成モデル（ＲＴＬモデル）との協調検証を行う方法が提案されている（例えば、特許文献１参照）。なお、ＲＴＬ（Ｒｅｇｉｓｔｅｒ　Ｔｒａｎｓｆｅｒ　Ｌｅｖｅｌ）は、レジスタ転送レベルのことであり、このＲＴＬモデルを論理合成ツールに入力することにより実際の論理設計を行う。動作モデルに対するシミュレーションは、高速である反面、精度が劣る。逆に、高位合成モデルに対するシミュレーションは、高精度である反面、速度に劣る。
【０００３】
上記の従来の技術によれば、中間検証言語を用いてシミュレーションを行うので、モデルとしてのトータルな検証を高速かつ高精度に行える。
【０００４】
【特許文献１】
特開２００１−１０９７８８号公報（第４−６頁、図１−３）
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、動作モデルによる機能検証とＲＴＬモデルや実機での機能検証との両者につき、個々にモニタリングしたい変数、レジスタやワイヤについては、両モデル間で対応付けした状態での機能検証はできないものであった。機能検証の結果、不具合があれば、モデル生成および機能検証の繰り返しを余儀なくされる。しかし、従来の技術の場合には、トータルで不具合を見つけることはできるが、具体的にどの箇所に不具合があるのかをワンポイント的に確定することができない。個々の変数ごとの機能検証ではないために、モデルの修正および機能検証の繰り返しの頻度がかなり高いものとなっていた。したがって、注文を受けてから製品を供給するまでのトータルの開発期間であるＴＡＴ（Ｔｕｒｎ　Ａｒｏｕｎｄ　Ｔｉｍｅ）が長くなるという問題があった。
【０００６】
本発明はこのような事情に鑑みて創作されたものであり、機能検証において、動作モデルとこの動作モデルを高位合成した後の高位合成モデル（ＲＴＬモデルなど）との対応付けを適切に行うことにより、ＴＡＴの短縮化を図ることができる半導体集積回路検証方法を提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記の課題を解決するために、本発明は次のような手段を講じる。すなわち、本発明による半導体集積回路検証方法は、次のような複数のステップを含む構成とされている。
【０００８】
（１）動作モデルに対して観測したい変数である観測変数を設定するステップ。
【０００９】
（２）前記観測変数に基づいて前記動作モデルを検索して観測用ポートを抽出するステップ。
【００１０】
（３）前記抽出した観測用ポートが内部ポートか否かを判断して、内部ポートの場合は外部ポートに定義し直すステップ。
【００１１】
（４）前記観測変数については論理圧縮を禁止する状態で前記動作モデルを高位合成して高位合成モデルを生成するステップ。
【００１２】
（５）前記動作モデルに対するシミュレーションの実行により、前記観測変数の信号変化を抽出してリファレンスモデルを生成するステップ。
【００１３】
（６）前記観測変数に基づいて前記高位合成モデルを前記リファレンスモデルと比較し、その比較結果を出力するステップ。
【００１４】
上記において、（１）〜（４）の各ステップは、この記載順に実行されるものである。（５）のステップは、（１）のステップの後に実行されるものであり、したがって、（４）のステップに引き続いて実行するほか、（２）または（３）または（４）と並行処理してもよい。（６）のステップは、（４）および（５）の両ステップの完了の後に実行されるものである。
【００１５】
上記において、高位合成とは、時間の概念を伴わない記述レベルにある動作モデルから例えばＲＴＬのように時間の概念を伴う記述レベルにある高位合成モデルを合成することである。時間の概念を伴うとは、基本クロックのどのタイミングでどのような動作が行われるかを正確に記述していることである。
【００１６】
上記構成による作用は次のとおりである。動作モデルの観測点と高位合成モデルの観測点とを互いに対応付けるべく、最初に動作モデルに対して観測変数を設定している。動作モデルを高位合成して高位合成モデルを生成するには、動作モデルに対して論理圧縮を施すことになるが、観測変数が内部ポートである場合には、その観測変数を内部ポートのまま論理圧縮すると、動作モデルと高位合成モデルとの対応関係に矛盾を生じさせるおそれがある。内部ポートとは、該当する関数において、内部でのみ用いられており、外部から観測できないものである。これに対して、外部ポートとは外部にも関連していて、外部から観測できるものである。そこで、内部ポートである観測変数については、外部ポートとして定義し直す。もともと外部ポートである観測変数については、定義のし直しはせず、そのままとする。このような定義のし直しによって、元は内部ポートであった変数も外部からの観測が可能になる。また、高位合成における論理圧縮に際して、観測変数については予め処理対象から除外しておく。
【００１７】
以上のように、内部ポートに該当する観測変数については外部ポート化した上で、観測変数を除外して高位合成するので、生成された高位合成モデルの観測点と元の動作モデルの観測点とを矛盾なく対応付けることができる。
【００１８】
一方、動作モデルに対してシミュレーションを実行して、観測変数の信号変化を抽出してリファレンスモデルを生成する。ここでの信号変化は、時間の概念を伴わないものであり、単に時系列的な信号の“Ｈ”，“Ｌ”の変化のまとまりのことを指す。そのような信号変化の時系列データをリファレンスモデルとする。このリファレンスモデルも観測変数を基準にまとめられている。
【００１９】
以上で、高位合成モデルとリファレンスモデルとが準備されたことになる。次いで、観測変数に基づいて高位合成モデルをリファレンスモデルと比較し、その比較結果を出力する。例えば、一致ならば“ＴＲＵＥ”を、不一致ならば“ＦＡＬＳＥ”を出力する。変数としては、レジスタやワイヤも含まれる。
【００２０】
このようにして、本発明は、機能検証において、動作モデルと高位合成モデルとの対応付けを適切に行うことにより、不具合箇所をワンポイント的に具体的に確定することができる。その結果、モデルの修正および機能検証の繰り返しの頻度を大幅に低減化することができる。したがって、ＴＡＴを短縮化することができる。
【００２１】
【発明の実施の形態】
以下、本発明における半導体集積回路検証方法の実施の形態について、図１から図５を用いて説明する。なお、本発明はこの実施の形態に何等限定されるものではなく、要旨を逸脱しない範囲においては種々なる態様で実施し得る。
【００２２】
図１は本発明の実施の形態における半導体集積回路検証方法の概要を示すブロック図である。
【００２３】
観測変数設定・高位合成工程１において、半導体集積回路の動作モデルＭ１に対して観測したい変数である観測変数を設定し、観測用ポートを外部に出す状態で高位合成を行ってＲＴＬモデルＭ２を生成する。このＲＴＬモデルＭ２は、高位合成モデルの一例である。ＲＴＬモデルＭ２は、ＨＤＬ（Ｈａｒｄｗａｒｅ　Ｄｅｓｃｒｉｐｔｉｏｎ　Ｌａｎｇｕａｇｅ：ハードウエア記述言語）で記述されている。ＨＤＬとしては、ＶＨＤＬやＶｅｒｉｌｏｇ‐ＨＤＬを利用することができる。
【００２４】
一方、リファレンスモデル生成工程２において、動作モデルＭ１に対するシミュレーションを実行することにより、観測変数の信号変化を抽出してリファレンスモデルＭ３を生成する。
【００２５】
比較工程３において、上記の高位合成の結果のＲＴＬモデルＭ２をリファレンスモデルＭ３と比較して、観測変数についての機能動作を確認する。その比較結果のデータをＲＴＬモデルＭ２に組み込んで検証後ＲＴＬモデルＭ４を生成する。
【００２６】
マッピング工程４において、検証後ＲＴＬモデルＭ４のデータに基づいて、上記比較結果のデータを加味して不具合箇所を修正する状態でＦＰＧＡ（Ｆｉｅｌｄ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｇａｔｅ　Ａｒｒａｙ）Ｍ５のデータを得る。
【００２７】
次に、上記構成の半導体集積回路検証方法について、その具体例を図２〜図５を用いて説明する。
【００２８】
図２は観測変数設定・高位合成工程１の具体的処理を示すフローチャートである。
【００２９】
ステップＳ２１において、動作モデルＭ１に対して観測変数を設定する。
【００３０】
ステップＳ２２において、観測変数に基づいて動作モデルＭ１を検索する。
【００３１】
ステップＳ２３において、検索で該当した観測変数が動作モデルＭ１で内部ポートであるか否かを判定する。内部ポートであれば、ステップＳ２４において、外部ポートとして定義のし直しを行い、その上でステップＳ２５に進む。内部ポートでなく、既に外部ポートであれば、何もせずにそのままステップＳ２５に進む。
【００３２】
ステップＳ２５において、観測変数に対してフラグを立てる。
【００３３】
ステップＳ２６において、任意の変数につきフラグが立っているか否かを判定する。フラグが立っていなければ、つまり観測変数でなければ、ステップＳ２７において、論理圧縮を実行し、その上でステップＳ２８に進む。一方、フラグが立っていれば、論理圧縮を施さない状態でステップＳ２８に進む。
【００３４】
ステップＳ２８において、高位合成を実行して、ＲＴＬモデルＭ２を得る。
【００３５】
図３（ａ）はリファレンスモデル生成工程２の具体的処理を示すフローチャート、図３（ｂ）はリファレンスモデルの具体的内容である。
【００３６】
ステップＳ３１において、動作モデルＭ１のシミュレーションを実行する。ここで、すでに設定されている観測変数の信号変化を抽出する。
【００３７】
ステップＳ３２において、観測変数のシミュレーション結果を時系列にデータベース化し、リファレンスモデルＭ３を得る。
【００３８】
得られるリファレンスモデルＭ３の具体的な内容の一例を図３（ｂ）に示す。
【００３９】
図４は比較工程３の具体的処理を示すフローチャートである。
【００４０】
ステップＳ４１において、上記で生成したリファレンスモデルＭ３に対して、ハードウェア構成ライブラリＭ６から所望のハードウェア構成の選択を行う。選択されたハードウェア構成には、記憶手段と比較手段と同期制御手段とが含まれる。
【００４１】
ステップＳ４２において、上記で選択したハードウェア構成における記憶手段にリファレンスモデルＭ３のデータを設定し、ＲＴＬモデルＭ２をリファレンスモデルＭ３と比較し、その比較結果をＲＴＬモデルＭ２に組み込んだ検証後ＲＴＬモデルＭ４を生成する。
【００４２】
図５（ａ），（ｂ）はそれぞれ、図４のステップＳ４１で選択されるべきハードウェア構成の例を示す。これらは予めハードウェア構成ライブラリＭ６に格納されている。
【００４３】
図５（ａ）の場合は、比較手段５１と記憶手段としてのＦＩＦＯ５２と同期制御手段５３とを備えたハードウェア構成となっている。ＦＩＦＯ５２に対してリファレンスモデルＭ３のデータを順次に設定する。同期制御手段５３によって同期をとりながら、ＲＴＬモデルＭ２から読み出した観測変数ｘのデータとＦＩＦＯ５２から読み出した観測変数ｘのデータとを比較手段５１において比較し、その比較結果データＤ１をＲＴＬモデルＭ２に組み込むことにより、検証後ＲＴＬモデルＭ４を生成する。
【００４４】
図５（ｂ）の場合は、比較手段５４と記憶手段としてのＲＡＭ５５と同期制御手段５６とを備えたハードウェア構成となっている。ＲＡＭ５５に対してリファレンスモデルＭ３のデータを転送格納する。同期制御手段５６によって同期をとりながら、ＲＴＬモデルＭ２から読み出した観測変数ｘのデータと同期制御手段５６がＲＡＭ５５から読み出した観測変数ｘのデータとを比較手段５４において比較し、その比較結果データＤ２をＲＴＬモデルＭ２に組み込むことにより、検証後ＲＴＬモデルＭ４を生成する。
【００４５】
以上のように本実施の形態によれば、動作モデルＭ１とＲＴＬモデルＭ２との観測変数ごとの動作比較を容易に実現することができる。
【００４６】
【発明の効果】
以上のように本発明によると、半導体集積回路の機能検証において、動作モデルと高位合成モデルとの相互間で、モニタリングしたい変数、レジスタやワイヤの対応付けを適切に行うことにより、不具合箇所をワンポイント的に具体的に確定することができる。その結果、モデルの修正および機能検証の繰り返しの頻度を大幅に低減化し、ＴＡＴを短縮化することができる。また、その展開として、ＦＰＧＡ等を用いた実機検証における検証容易化を進めることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態における半導体集積回路検証方法の概要を示すブロック図
【図２】本発明の実施の形態における観測変数設定・高位合成工程の具体的処理を示すフローチャート
【図３】本発明の実施の形態におけるリファレンスモデル生成工程の具体的処理を示すフローチャート、およびリファレンスモデルの具体的内容を示す図
【図４】本発明の実施の形態における比較工程の具体的処理を示すフローチャート
【図５】本発明の実施の形態において比較工程で選択されるべきハードウェア構成の例を示すブロック図
【符号の説明】
Ｍ１　動作モデル
Ｍ２　ＲＴＬモデル（高位合成モデル）
Ｍ３　リファレンスモデル
Ｍ４　検証後ＲＴＬモデル
Ｍ５　ＦＰＧＡ
Ｍ６　ハードウェア構成ライブラリ
１　観測変数設定・高位合成工程
２　リファレンスモデル生成工程
３　比較工程
４　マッピング工程
【図１】
2004139309.tif 000003
【図２】
2004139309.tif 000004
【図３】
2004139309.tif 000005
【図４】
2004139309.tif 000006
【図５】
2004139309.tif 000007