(57)【要約】【課題】  設計上位の動作シミュレーションの結果と設計下位のＲＴＬシミュレーションの結果とが、ＲＴＬシミュレーションの途中の段階において、又は検証対象となるＬＳＩの回路内部において整合しているかどうかを検証し得るＬＳＩ設計検証装置及びＬＳＩ設計検証方法を提供することにある。【解決手段】  動作シミュレーションによってＬＳＩのシステムアーキテクチャ設計検証を行う第１のシミュレーション部２と、動作シミュレーションにおける動作履歴を抽出する動作履歴抽出部３と、詳細設計検証のシミュレーションにおいて行われる動作が、抽出された動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するアサーションチェック手段生成部４と、アサーションチェック手段を用いたシミュレーションによって詳細設計検証を行う第２のシミュレーション部５とで、システムアーキテクチャ設計検証及び詳細設計検証を行うＬＳＩ設計検証装置１を構成する。【選択図】  図１
2005108007.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩの設計における前記ＬＳＩのシステムアーキテクチャ設計検証及び詳細設計検証を行うＬＳＩ設計検証方法であって、
（ａ）予め作成された前記ＬＳＩのシステム動作モデルの動作シミュレーションを行うことによって、前記ＬＳＩのシステムアーキテクチャ設計検証を行う工程と、
（ｂ）前記動作シミュレーションにおいてシミュレーションされた前記ＬＳＩの動作履歴を抽出する工程と、
（ｃ）前記ＬＳＩの詳細設計検証のシミュレーションにおいてシミュレーションされる前記ＬＳＩの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成する工程と、
（ｄ）前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う工程とを少なくとも有することを特徴とするＬＳＩ設計検証方法。
【請求項２】
前記（ｂ）の工程において、前記動作履歴として、前記動作シミュレーションから得られる前記ＬＳＩ上の信号の出力履歴、及び前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域の更新履歴を抽出する請求項１記載のＬＳＩ設計検証方法。
【請求項３】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段が生成される請求項２記載のＬＳＩ設計検証方法。
【請求項４】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の信号の出力された時刻を基準とする時間帯の範囲で、出力されたことをアサーションとするアサーションチェック手段が生成される請求項２記載のＬＳＩ設計検証方法。
【請求項５】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成される請求項２記載のＬＳＩ設計検証方法。
【請求項６】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ更新の発生した時刻を基準とする時間帯の範囲で、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成される請求項２記載のＬＳＩ設計検証方法。
【請求項７】
前記（ａ）の工程における前記動作シミュレーションにおいて、前記記憶領域のデータ更新が前記信号の出力を起点として行われており、
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ更新の起点となった前記信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されていることをアサーションとするアサーションチェック手段が生成される請求項２記載のＬＳＩ設計検証方法。
【請求項８】
前記（ｃ）の工程において、
前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、
前記アサーションチェック手段は、前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、前記更新履歴の内容で更新されていることをアサーションとする請求項２記載のＬＳＩ設計検証方法。
【請求項９】
前記（ａ）の工程において、前記動作シミュレーションがバストランザクション単位で行われており、
前記（ｂ）の工程において、バストランザクション単位で前記動作履歴が抽出される請求項１記載のＬＳＩ設計検証方法。
【請求項１０】
前記（ｂ）の工程において、
前記バストランザクション単位での前記動作履歴として、前記動作シミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号の出力履歴と、前記動作シミュレーションでアクセスされたアドレス空間の更新履歴とが抽出される請求項９記載のＬＳＩ設計検証方法。
【請求項１１】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段を生成する請求項１０記載のＬＳＩ設計検証方法。
【請求項１２】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号の出力された時刻を基準とする時間帯の範囲で、出力されたことをアサーションとするアサーションチェック手段を生成する請求項１０記載のＬＳＩ設計検証方法。
【請求項１３】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成する請求項１０記載のＬＳＩ設計検証方法。
【請求項１４】
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻を基準とする時間帯の範囲で、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成する請求項１０記載のＬＳＩ設計検証方法。
【請求項１５】
前記（ａ）の工程における前記動作シミュレーションにおいて、前記アドレス空間のデータ更新が前記バスリクエスト信号の出力を起点として行われており、
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間におけるデータ更新の起点となった前記バスリクエスト信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成する請求項１０記載のＬＳＩ設計検証方法。
【請求項１６】
前記（ｃ）の工程において、
前記動作シミュレーションでアクセスされたアドレス空間におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、
前記アサーションチェック手段は、前記動作シミュレーションでアクセスされたアドレス空間の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、前記更新履歴の内容で更新されていることをアサーションとする請求項１０記載のＬＳＩ設計検証方法。
【請求項１７】
前記システム動作モデルがＣＰＵモデルを含んでおり、
前記（ｂ）の工程において、前記動作履歴として、前記動作シミュレーションにおけるＣＰＵモデルの動作履歴を抽出する請求項１記載のＬＳＩ設計検証方法。
【請求項１８】
前記動作シミュレーションにおいて発生した前記ＣＰＵモデルのプログラムカウンタの変更に基づいて、前記ＣＰＵモデルの動作履歴が抽出される請求項１７に記載のＬＳＩ設計検証方法。
【請求項１９】
前記ＣＰＵモデルのプログラムカウンタが、前記ＣＰＵモデルにおいて実行されるプログラムをコンパイルしたときに抽出された命令のアドレス、前記命令のジャンプ先アドレス、サブルーチンの先頭アドレス、タスクの先頭アドレス、スレッドの先頭アドレス、及びプロセスの先頭アドレスのうち少なくとも一つを指していた場合に、前記ＣＰＵモデルの動作履歴が抽出される請求項１８記載のＬＳＩ設計検証方法。
【請求項２０】
前記ＣＰＵモデルの動作履歴が、前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って出力された信号の出力履歴であり、
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの値になった後に、前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタが前記値の場合に出力された信号が、前記出力履歴の内容で出力されたことをアサーションとするアサーションチェック手段が生成される請求項１８記載のＬＳＩ設計検証方法。
【請求項２１】
前記ＣＰＵモデルの動作履歴が、前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って使用された記憶領域の更新履歴であり、
前記（ｃ）の工程において、
前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの値になった後であって、予め設定された時間の経過時に、前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタが前記値の場合に使用された記憶領域が、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成される請求項１８記載のＬＳＩ設計検証方法。
【請求項２２】
ＬＳＩの設計における前記ＬＳＩのシステムアーキテクチャ設計検証及び詳細設計検証を行うＬＳＩ設計検証装置であって、
予め作成された前記ＬＳＩのシステム動作モデルの動作シミュレーションを行うことによって、前記ＬＳＩのシステムアーキテクチャ設計検証を行う第１のシミュレーション部と、
前記動作シミュレーションにおいてシミュレーションされた前記ＬＳＩの動作履歴を抽出する動作履歴抽出部と、
前記ＬＳＩの詳細設計検証のシミュレーションにおいてシミュレーションされる前記ＬＳＩの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するアサーションチェック手段生成部と、
前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う第２のシミュレーション部とを少なくとも有することを特徴とするＬＳＩ設計検証装置。
【請求項２３】
ＬＳＩの設計における前記ＬＳＩのシステムアーキテクチャ設計検証及び詳細設計検証をコンピュータに行わせるためのプログラムであって、
（ａ）予め作成された前記ＬＳＩのシステム動作モデルの動作シミュレーションを行うことによって、前記ＬＳＩのシステムアーキテクチャ設計検証を行うステップと、
（ｂ）前記動作シミュレーションにおいてシミュレーションされた前記ＬＳＩの動作履歴を抽出するステップと、
（ｃ）前記ＬＳＩの詳細設計検証のシミュレーションにおいてシミュレーションされる前記ＬＳＩの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するステップと、
（ｄ）前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行うステップとを前記コンピュータに実行させる命令を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ、特にシステムＬＳＩのシステムアーキテクチャ設計検証及び詳細設計検証を行うためのＬＳＩ設計検証装置及びＬＳＩ設計検証方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩの微細化、集積技術の進展により、１チップＬＳＩを用いて大規模なデジタルシステムを実現することが可能になっている。このようなＬＳＩはシステムＬＳＩと呼ばれる。システムＬＳＩの開発では、短期に、システム仕様・動作設計から、機能、論理及びレイアウトまでを、段階的に検証を行いながらトップダウンに設計し、早期に製品化を図ることが求められている。
【０００３】
特に、ＬＳＩ化を前提としたシステムレベルの仕様・動作や実現アーキテクチャの基本設計においては、チップ製造後のアーキテクチャ変更が多大のコストを伴うことから、詳細設計を進める前に、システムＬＳＩの処理性能、例えばそのボトルネック部分等を解析することが求められる。このため、Ｃ言語等を用いてシステムの機能的な動作記述を行って、仕様・機能を確認した後、機能を実現するアーキテクチャを適切な精度でモデル化することが行なわれている。
【０００４】
例えば、システムの動作やデータフロー、データバス上のデータの授受をトランザクション精度又は同期クロック信号のクロックサイクル精度でシミュレーションすることによって、当該システムアーキテクチャの機能検証が行われており、更にこれとともに、目的のシステムアーキテクチャで実現し得る性能の見積もりや、性能律束点の解析も行なわれる。
【０００５】
このようにして得られた複数のアーキテクチャ案に基づいて適切な設計選択が行われ、選択されたアーキテクチャ案を仕様としたマニュアルに基づいて次のステップの詳細設計が行われる。詳細設計は、例えば、ＲＴＬ（Register Transfer Level）と呼ばれる回路のレジスタ構成をベ−スとした機能設計によって行われる。更に、クロックサイクル精度のシミュレーション、又はＲＴＬ記述に基づくＨＤＬ（Hardware Description Language）シミュレーションが実施され、詳細設計における検証が行われる。
【０００６】
このようなシミュレーションを行った後は、設計上位の抽象度の高い、即ち、精度的に粗いシミュレーションレベルの動作と、設計下位工程でのマニュアルで設計された詳細なＲＴＬ設計結果との整合性を検証する必要がある。この検証は、これまでは、シミュレーションでのＬＳＩ出力値の比較を行って一致を確認することによって、又は上位の設計仕様に基づいて、ＲＴＬ記述に対するアサーションチェックを設定し、仕様に違反する動作をしないかどうかをチェックすることによって行っている。
【０００７】
なお、アサーションチェックは、指定の条件・環境下における回路の許容できる動作を定義し、これに違反する場合に警告を発する仕組みである。アサーションチェックは、バスプロトコルや回路仕様に基づいて、専用のマニュアルで作成されており、一種の回路又は組み込みソフトウェアの一部として、ＲＴＬ設計やソフトウェア中に組み込まれる（例えば、特許文献１、非特許文献１および非特許文献２参照）。
【０００８】
また、アサーションチェックは、アサーションチェックツ−ルライブラリ（ＨＤＬシミュレ−タと結合してダイレクトにシミュレーション情報を観測及びチェックするソフトウェアモジュール群）として、既定のアサーションに対して提供される場合もある（非特許文献２）。
【特許文献１】特開平１０−３１２３１１号公報
【非特許文献１】原、植木、平山著「シミュレーションによる組み込みソフトウェアテスト方式とテスト環境の効率的な運用方式の提案」、情報処理学会、ソフトウェア工学研究会１２６回予稿集、ＰＰ．７３−８０（２０００年３月）
【非特許文献２】アール・ラメッシュ（R.Ramesh）、ティ・アンダーソン（Ｔ.Ａnderson）著、「アサーション・メソドロジー・フォー・ベリログデザイン（Ａssertion Methodology for Verilog Design）」、[online]、２００１年４月２７日、アイエスディ（Isd）、ザ・ジャーナル・オブ・ザ・デザイン・プロセス（Ｔhe Journal of Ｔhe Design Process）、[２００２年７月１日検索]、インタ−ネット<URL:http://www.eedesign.com/story/OEG20010427S0083>
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、シミュレーションでのＬＳＩ出力値の比較を行って一致を確認することによって、シミュレーションレベルの動作とＲＴＬ設計結果との整合性の検証を行う場合においては、動作の結果での一致及び不一致は確認できるが、シミュレーションの途中や回路内部で起きる動作の不一致、即ち、ＲＴＬ設計での仕様外の動作を検出することができないという問題がある。
【００１０】
また、従来のアサーションチェックを設定することによって検証を行う場合においては、設計者によって作成又選択されたアサーションを、設計者が意識して指定した箇所に設定するため、ＲＴＬ設計の検証における上位の動作シミュレーション、特にトランザクション精度の動作シミュレーションとアサーションチェックとの整合性を確認することができないという問題がある。
【００１１】
本発明の目的は、上記問題を解消し、設計上位の動作シミュレーションの結果と設計下位のＲＴＬシミュレーションの結果とが、ＲＴＬシミュレーションの途中の段階において、又は検証対象となるＬＳＩの回路内部において整合しているかどうかを検証し得るＬＳＩ設計検証装置及びＬＳＩ設計検証方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明にかかるＬＳＩ設計検証方法は、ＬＳＩの設計における前記ＬＳＩのシステムアーキテクチャ設計検証及び詳細設計検証を行うＬＳＩ設計検証方法であって、（ａ）予め作成された前記ＬＳＩのシステム動作モデルの動作シミュレーションを行うことによって、前記ＬＳＩのシステムアーキテクチャ設計検証を行う工程と、（ｂ）前記動作シミュレーションにおいてシミュレーションされた前記ＬＳＩの動作履歴を抽出する工程と、（ｃ）前記ＬＳＩの詳細設計検証のシミュレーションにおいてシミュレーションされる前記ＬＳＩの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成する工程と、（ｄ）前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う工程とを少なくとも有することを特徴とする。
【００１３】
次に、上記目的を達成するために本発明にかかるＬＳＩ設計検証装置は、ＬＳＩの設計における前記ＬＳＩのシステムアーキテクチャ設計検証及び詳細設計検証を行うＬＳＩ設計検証装置であって、予め作成された前記ＬＳＩのシステム動作モデルの動作シミュレーションを行うことによって、前記ＬＳＩのシステムアーキテクチャ設計検証を行う第１のシミュレーション部と、前記動作シミュレーションにおいてシミュレーションされた前記ＬＳＩの動作履歴を抽出する動作履歴抽出部と、前記ＬＳＩの詳細設計検証のシミュレーションにおいてシミュレーションされる前記ＬＳＩの動作が、抽出された前記動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成するアサーションチェック手段生成部と、前記アサーションチェック手段を用いたシミュレーションを行って、前記詳細設計検証を行う第２のシミュレーション部とを少なくとも有することを特徴とする特徴とする。
【００１４】
また、本発明は、上記の本発明におけるＬＳＩ設計検証方法を具現化するためのプログラムであっても良い。このプログラムをコンピュータにインストールして実行することにより、本発明におけるＬＳＩ設計検証方法を実行できる。
【発明の効果】
【００１５】
以上の特徴により、本発明にかかるＬＳＩ設計検証装置及びＬＳＩ設計検証方法によれば、設計上位の動作シミュレーションの結果と設計下位のＲＴＬシミュレーションの結果とが、ＲＴＬシミュレーションの途中の段階において、又は検証対象となるＬＳＩの回路内部において整合しているかどうか検証することができる。
【００１６】
このため、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計（ＲＴＬ設計）における完成度の向上を図ることができる。よって、詳細設計以降の設計工程（例えば、レイアウト設計等）やサンプルＬＳＩの評価においてバグが検出された場合の設計手戻りの開発ロスを大幅に改善でき、早期にＬＳＩ設計の完成度の向上を図り得ることができる。
【発明を実施するための最良の形態】
【００１７】
上記本発明におけるＬＳＩ設計検証方法においては、前記（ｂ）の工程において、前記動作履歴として、前記動作シミュレーションから得られる前記ＬＳＩ上の信号の出力履歴、及び前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域の更新履歴を抽出するのが好ましい。
【００１８】
また、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段が生成されるのも好ましい。この場合、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の信号の出力された時刻を基準とする時間帯の範囲で出力されたことをアサーションの条件とすることもできる。
【００１９】
更に、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成されるのも好ましい。この場合、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ更新の発生した時刻を基準とする時間帯の範囲で前記更新履歴の内容でデータ更新されたことをアサーションの条件とすることもできる。
【００２０】
また、上記本発明におけるＬＳＩ設計検証方法においては、前記（ａ）の工程における前記動作シミュレーションにおいて、前記記憶領域のデータ更新が前記信号の出力を起点として行われており、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ更新の起点となった前記信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されていることをアサーションとするアサーションチェック手段が生成される態様とするのも好ましい。
【００２１】
更に、  前記（ｃ）の工程において、前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、前記アサーションチェック手段は、前記動作シミュレーションから得られる前記ＬＳＩ上の記憶領域の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上の記憶領域が、前記更新履歴の内容で更新されていることをアサーションとする態様とするのも好ましい。
【００２２】
また、上記本発明におけるＬＳＩ設計検証方法においては、前記（ａ）の工程において、前記動作シミュレーションがバストランザクション単位で行われており、前記（ｂ）の工程において、バストランザクション単位で前記動作履歴が抽出される態様とすることができる。
【００２３】
この態様においては、前記（ｂ）の工程において、前記バストランザクション単位での前記動作履歴として、前記動作シミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号の出力履歴と、前記動作シミュレーションでアクセスされたアドレス空間の更新履歴とが抽出されるのが好ましい。
【００２４】
また、この態様においては、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段を生成するのも好ましい。この場合は、前記詳細設計検証のシミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号が、これに対応する前記動作シミュレーションから得られる前記ＬＳＩ上のバスリクエスト信号の出力された時刻を基準とする時間帯の範囲で出力されたことをアサーションの条件とすることができる。
【００２５】
更に、この態様においては、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成するのも好ましい。この場合は、前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間のデータ更新の発生した時刻を基準とする時間帯の範囲で、前記更新履歴の内容でデータ更新されたことをアサーションの条件とすることができる。
【００２６】
また、この態様においては、前記（ａ）の工程における前記動作シミュレーションにおいて、前記アドレス空間のデータ更新が前記バスリクエスト信号の出力を起点として行われており、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、これに対応する前記動作シミュレーションから抽出されたアドレス空間におけるデータ更新の起点となった前記バスリクエスト信号の出力された時刻の後であって、予め設定された時間が経過する前に、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段を生成するのも好ましい。
【００２７】
更に、この態様においては、前記（ｃ）の工程において、前記動作シミュレーションでアクセスされたアドレス空間におけるデータ変更の有無を示すイベント情報に基づいて、前記データ変更の有無を判定するアサーションチェック手段が生成され、前記アサーションチェック手段は、前記動作シミュレーションでアクセスされたアドレス空間の前記データ変更が行われていた場合に、これに対応する前記詳細設計検証のシミュレーションでアクセスされたアドレス空間が、前記更新履歴の内容で更新されていることをアサーションとするのも好ましい。
【００２８】
上記本発明におけるＬＳＩ設計検証方法においは、前記システム動作モデルがＣＰＵモデルを含んでおり、前記（ｂ）の工程において、前記動作履歴として、前記動作シミュレーションにおけるＣＰＵモデルの動作履歴を抽出する態様とすることもできる。
【００２９】
この態様においては、前記動作シミュレーションにおいて発生した前記ＣＰＵモデルのプログラムカウンタの変更に基づいて、前記ＣＰＵモデルの動作履歴が抽出されるのが好ましい。
【００３０】
更に、この態様においては、前記ＣＰＵモデルのプログラムカウンタが、前記ＣＰＵモデルにおいて実行されるプログラムをコンパイルしたときに抽出された命令のアドレス、前記命令のジャンプ先アドレス、サブルーチンの先頭アドレス、タスクの先頭アドレス、スレッドの先頭アドレス、及びプロセスの先頭アドレスのうち少なくとも一つを指していた場合に、前記ＣＰＵモデルの動作履歴が抽出されるのが好ましい。
【００３１】
また、この態様においては、前記ＣＰＵモデルの動作履歴が、前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って出力された信号の出力履歴であり、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの値になった後に、前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタが前記値の場合に出力された信号が、前記出力履歴の内容で出力されたことをアサーションとするアサーションチェック手段が生成されるのが好ましい。
【００３２】
更に、この態様においては、前記ＣＰＵモデルの動作履歴が、前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの変更履歴及び前記プログラムカウンタの変更に伴って使用された記憶領域の更新履歴であり、前記（ｃ）の工程において、前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタの値が前記動作シミュレーションにおける前記ＣＰＵモデルのプログラムカウンタの値になった後であって、予め設定された時間の経過時に、前記詳細設計検証のシミュレーションにおけるＣＰＵモデルのプログラムカウンタが前記値の場合に使用された記憶領域が、前記更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段が生成されるのも好ましい。
【００３３】
以下、本発明のＬＳＩ設計検証装置及びＬＳＩ設計検証方法について図面を用いて具体的に説明する。なお、本発明のＬＳＩ設計検証装置及びＬＳＩ設計検証方法は、以下の実施の形態に何等限定されるものではなく、要旨を逸脱しない範囲においては種々の態様で実施し得る。
【００３４】
（実施の形態１）
以下、本発明の実施の形態１におけるＬＳＩ設計検証装置及びＬＳＩ設計検証方法について、図１〜図１８を参照しながら説明する。本実施の形態１は、動作シミュレーションにおけるバスリクエストに基づいて、動作履歴としてバストランザクション情報が抽出され、更に、この抽出されたバストランザクション情報に基づいて４種類のアサーションチェック手段が生成される例について示している。
【００３５】
最初に、図１〜図８に基づいて本実施の形態１におけるＬＳＩ設計検証装置の構成について説明する。図１は、本発明の実施の形態１におけるＬＳＩ設計検証装置の概略構成を示す図である。
【００３６】
図１に示すように、ＬＳＩ設計検証装置１は、第１のシミュレーション部２と、動作履歴抽出部３と、アサーションチェック手段生成部４と、第２のシミュレーション部５とを有している。図１において、動作記述６は、Ｃ言語等によってシステムを機能的に記述することによって作成されており、設計上位のシステム動作モデルを記述している。また、ＲＴＬ記述７は、詳細設計においてＨＤＬによって作成されており、動作記述６におけるシステム動作モデルを更に具体的に記述している。
【００３７】
図１に示す第１のシミュレーション部２は、予め作成されたシステム動作モデルを動作記述６から読み出し、これを用いて動作シミュレーションを行うことによってＬＳＩのシステムアーキテクチャ設計検証を行う。本実施の形態１においては、第１のシミュレーション部２は、システムアーキテクチャ設計検証を行うシミュレーション装置（シミュレータ）である。
【００３８】
また、本実施の形態１においては、後述の図９に示すように、システム動作モデルは、ＬＳＩ上のデータバスを用いて、ＬＳＩを構成するＣＰＵ等のバスマスタからのバスリクエストに応じてデータの授受を行っている。このため、第１のシミュレーション部２は、この一連のデータ転送をトランザクション転送としてひとまとめにした抽象化された動作シミュレーション、つまり、バストランザクション単位での動作シミュレーションを実行する。また、第１のシミュレーション部２は、動作シミュレーションの際、各バスマスタのバスリクエスト及びバストランザクションを観測し、これを、第１のシミュレーション部２が内部に備えた記憶部（図示せず）に動作履歴として記憶している。
【００３９】
図１に示す動作履歴抽出部３は、第１のシミュレーション部２による動作シミュレーションにおいてシミュレーションされたＬＳＩの動作履歴を抽出する。抽出される動作履歴としては、動作シミュレーションから得られるＬＳＩ上の信号の出力履歴、及び動作シミュレーションから得られるＬＳＩ上の記憶領域の更新履歴が挙げられる。
【００４０】
本実施の形態１においては、上述のように動作シミュレーションがバストランザクション単位で実行される。このため、動作履歴抽出部３は、バストランザクション単位で動作履歴を抽出しており、動作シミュレーションから得られるＬＳＩ上のバスマスタから出力されたバスリクエスト信号の出力履歴と、動作シミュレーションでアクセスされたアドレス空間の更新履歴とを抽出している。具体的には、動作履歴として図２に示すバストランザクション情報を抽出している。図２は、実施の形態１において抽出されるバストランザクション情報の一例を示す図である。
【００４１】
図２に示すように、バストランザクション情報は、バスマスタＩＤ、バスリクエスト時刻、ターゲットアドレス、ターゲットアドレスが更新された時刻を示す更新時刻、及び更新された更新データ（記憶情報）といった情報によって構成されている。ターゲットアドレスは、トランザクションが完了したときに更新されるアドレス空間のアドレス情報を示している。
【００４２】
バスマスタＩＤはバスマスタが出力したバスリクエスト信号を識別する識別子である。本実施の形態１においては、このバスマスタＩＤが特定するバスリクエスト信号の出力が、トランザクションの起点となる。なお、本実施の形態１においては、バスマスタから出力されているバスリクエスト信号がアクティブになった場合に、バスリクエストが出力されたとみなされる。
【００４３】
図１に示すアサーションチェック手段生成部４は、ＬＳＩの詳細設計検証のシミュレーションにおいてシミュレーションされるＬＳＩの動作が、抽出された動作履歴の動作に対応しているかどうかを監視するアサーションチェック手段を生成する。本実施の形態１において、アサーションチェック手段は、Ｖｅｒｉｌｏｇ言語等のＨＤＬを利用して、一つの回路モジュールとして記述されたプログラムモジュールである。
【００４４】
また、本実施の形態１においては、上述したようにアサーションチェック手段は、４種類作成される（後述の図４〜図７参照）。更に、アサーションチェック手段生成部４は、ＲＴＬ記述７を読み出して、これに作成したアサーションチェック手段を組み込んでいる。なお、生成されたアサーションチェック手段の全てがＲＴＬ記述７に組み込まれる場合と、一部のみがＲＴＬ記述７に組み込まれる場合とがある。以下にアサーションチェック手段の構成について図３を用いて説明する。
【００４５】
図３は、実施の形態１におけるアサーションチェック手段の基本構成を概略的に示す図である。アサーションチェック手段は、アサーションの条件と動作結果を判定するために必要な信号とを入力とする回路モジュールであり、ＨＤＬによって記述されている。また、図３に示すアサーションチェック手段では、詳細設計のためのシミュレーションにおいて、バスリクエスト信号の出力時刻や、アドレス空間の更新時刻及び更新データ等に、不具合が生じていた場合のメッセージを出力する機能は、ＨＤＬ記述又は使用するＨＤＬシミュレ−タが提供する組み込み機能を使用することによって実現できる。更に、図３には図示していないが、アサーションチェック手段は、入力された信号の信号値を比較するための期待値を格納する記憶領域（レジスタ配列）を有している。
【００４６】
図１に示す第２のシミュレーション部５は、アサーションチェック手段を用いたシミュレーションを行って、詳細設計検証を行う。本実施の形態１においては、第２のシミュレーション部５は、アサーションチェック手段生成部４によってアサーションチェック手段が組み込まれたＲＴＬ記述７を読み出し、上位の動作シミュレーションと同一のパタ−ンを用いて、このＲＴＬ記述７についてのシミュレーション（ＲＴＬシミュレーション）を行っている。このＲＴＬシミュレーションの実行により詳細設計検証が行われる。
【００４７】
なお、「同一のパターン」とは、主にシミュレーション上でＬＳＩに入力される入力信号のパターン（いわゆるテストベクタ）や、メモリの初期値を意味している。本実施の形態１において、動作シミュレーションと詳細設計のＲＴＬシミュレーションとは、同一の入力条件で実行される。
【００４８】
このため、ＲＴＬ記述７に組み込まれたアサーションチェック手段によって、アサーション違反の有無が判断される。本実施の形態１においては、第２のシミュレーション部５は、詳細設計検証を行うシミュレーション装置である（ＨＤＬシミュレータ）である。
【００４９】
ここで、図４〜図８を用いて、本実施の形態１において生成されるアサーションチェック手段の具体例について説明する。図４〜図７は、実施の形態１におけるアサーションチェック手段の一例とバストランザクション情報の一例とを示す図である。なお、図４〜図７に示すアサーションチェック手段はＨＤＬによって記述されており、それぞれ種類が異なっている。
【００５０】
図４には、詳細設計検証のためのシミュレーション（ＲＴＬシミュレーション）で出力された信号が、これに対応する動作シミュレーションで出力された信号の出力された時刻に、出力されたことをアサーションとするアサーションチェック手段の一例が示されている。なお、本明細書でいう「信号の出力」には、非アクティブとなっていた信号をアクティブにすることも含む。この場合は、アクティブにした時刻が信号の出力された時刻となる。
【００５１】
図４の例では、アサーションチェック手段は、アサーションモジュールＡ１で構成されており、バストランザクション情報ＴＲ１に基づいて記述されている。また、アサーションモジュールＡ１は、構造体としてトランザクション情報ＴＲ１の情報を有しており、「バスマスタＩＤ」で示されるバスリクエスト信号を入力として参照している。
【００５２】
また、アサーションモジュールＡ１は、ＲＴＬシミュレーションのシミュレーション時刻がバストランザクション情報のバスリクエスト時刻に一致した場合に、ＲＴＬシミュレーションにおけるバスマスタＩＤで示されたバスマスタのバスリクエスト信号がアクティブ（図４の例では、アクティブ状態は「ｆｉｒｅ」で定義されている。）になっていなければ、アサーションエラーとするように記述されている。シミュレーション時刻の判定は、ＴＩＭＥ（）関数によって行われており、ＴＩＭＥ（）関数の値はＨＤＬシミュレータ（第２のシミュレーション部５）から取得される。
【００５３】
このように、図４に示すアサーションチェック手段は、ＲＴＬシミュレーションにおけるバスリクエストが、バストランザクション情報ＴＲ１に含まれたバスリクエストの出力された時刻に出力されたことをアサーションする。
【００５４】
図５には、詳細設計検証のためのシミュレーション（ＲＴＬシミュレーション）でアクセスされた記憶領域が、これに対応する動作シミュレーションでアクセスされた記憶領域のデータ更新の発生した時刻に、この動作シミュレーションで使用された記憶領域の更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段の一例が示されている。
【００５５】
図５の例では、アサーションチェック手段は、アサーションモジュールＡ２で構成されており、バストランザクション情報ＴＲ２に基づいて記述されている。また、アサーションモジュールＡ２は、構造体としてトランザクション情報ＴＲ２の情報を有しており、入力変数ｍｅｍ［］によって、ＲＴＬシミュレーションにおけるターゲットアドレスを参照している。
【００５６】
また、アサーションモジュールＡ２は、ＲＴＬシミュレーションが行われている間は常に（“Ａｌｗａｙｓ（）｛｝”で記述されている。）、バストランザクション情報ＴＲ２の更新時刻に到達したかどうかを判定し、トランザクション情報ＴＲ２のターゲットアドレスに対応するＲＴＬシミュレーションにおける全てのターゲットアドレスについて（“ｆｏｒ  ａｌｌ（）[]”で記述されている。）、アサーションチェックを行う。
【００５７】
具体的には、アサーションモジュールＡ２は、各更新時刻に到達した場合に、該当するアドレス空間、つまりＲＴＬシミュレーションにおけるターゲットアドレスの値が、トランザクション情報ＴＲ２の更新データの値と一致しなければ、アサーションエラーとするように記述されている。
【００５８】
このように、図５に示すアサーションチェック手段は、ＲＴＬシミュレーションで使用されたアドレス空間が、これに対応する動作シミュレーションで使用されたアドレス空間のデータ更新された時刻に、この動作シミュレーションで使用されたアドレス空間の更新履歴の内容でデータ更新されたことをアサーションとする。
【００５９】
なお、図５に示すアサーションモジュールＡ２では、ＲＴＬシミュレーションの毎時刻にターゲットアドレスの値をチェックする動作記述となっているが、図８に示すように、シミュレーション処理の効率化を図り得る態様とすることもできる。図８は、図５に示すアサーションチェック手段に対してシミュレーション処理の効率化が図られたアサーションチェック手段の具体例を示す図である。
【００６０】
図８に示すように、アサーションチェック手段としてのアサーションモジュールＡ８は、動作シミュレーションで使用されたＬＳＩのアドレス空間（メモリモジュール）におけるデータ変更（イベント）の有無を予めチェックするように記述されている。
【００６１】
アサーションモジュールＡ８は、動作シミュレーションでアクセスされたアドレス空間においてデータ変更が発生していた場合に初めて、該当するアドレス空間の値が、このデータ変更が発生していたアドレス空間の更新データの値と一致するかどうか判断するように記述されている。
【００６２】
このため、アサーションモジュールＡ８によれば、データ変更（イベント）が発生していない場合のデータ比較処理を削減することができる。
【００６３】
また、図８に示すアサーションモジュールＡ８は、動作シミュレーションを行う第１のシミュレーション部１が、イベント駆動方式のシミュレータであって、動作シミュレーションで使用されたアドレス空間におけるデータ変更の有無を示すイベント情報を作成する機能を有しており、この機能を利用することを前提に記述されている。
【００６４】
このため、図８に示すように、アサーションモジュールＡ８は、ターゲットアドレスにおけるイベントの有無をＥＶＥＮＴ（ｍｅｍ [ＴＲ２.ターゲットアドレス]）によって判定している。また、図８において、イベントが発生した際の状態は、「ｈａｐｐｅｎ」で定義されている。
【００６５】
なお、動作シミュレーションを行う第１のシミュレーション部１が、イベント駆動方式以外の処理方式を採用するシミュレ−タである場合は、アサーションモジュールＡ８は、メモリモジュールへのライトイネ−ブル信号の入力を観測し、これによってデータ変更の有無を判定する構成とすることができる。
【００６６】
また、この場合においては、アサーションモジュールＡ８は、アサーションモジュールＡ８のターゲットアドレスの更新時刻を、アサーションチェックを実行させるイベントとして登録する構成とすることもできる。
【００６７】
図６には、詳細設計検証のシミュレーションで使用された記憶領域が、これに対応する動作シミュレーションで使用された記憶領域におけるデータ更新の起点となった信号（バスリクエスト）の出力された時刻の後であって、予め設定された時間が経過する前に、この動作シミュレーションで使用された更新履歴の内容でデータ更新されていることをアサーションとするアサーションチェック手段の一例が示されている。
【００６８】
図６の例では、アサーションチェック手段は、アサーションモジュールＡ３で構成されており、トランザクション情報ＴＲ３に基づいて記述されている。また、アサーションモジュールＡ３は、構造体としてトランザクション情報ＴＲ３の情報を有しており、入力変数ｍｅｍ［］によって、ターゲットアドレスに対応するＲＴＬシミュレーションで使用されるアドレス空間を参照している。
【００６９】
また、アサーションモジュールＡ３は、ＲＴＬシミュレーションにおける時間の経過をカウントするため、静的変数ｔｉｍｅを使用している。更に、アサーションモジュールＡ３は、定数Ｄｅｌａｙによって、バスリクエストの出力された時刻からＲＴＬシミュレーションで使用されるアドレス空間のデータ更新がされるまでの間の時間が、予め設定された時間に到達したかどうかを判定している。なお、図６の例では、定数Ｄｅｌａｙは「Ｎ」に設定されている。「Ｎ」は、シミュレーション上の単位時間である。
【００７０】
具体的には、アサーションモジュールＡ３は、ＲＴＬシミュレーションにおいてバスリクエスト信号がアクティブにされると（「ｆｉｒｅ」で定義されている。）、静的変数ｔｉｍｅにおいて「Ｄｅｌａｙ＋１」を設定し、この値を時刻の経過に合わせてデクリメントするように記述されている。
【００７１】
また、アサーションモジュールＡ３は、単位時間Ｎの経過した時点、即ち、デクリメントされたｔｉｍｅ変数の値が１になった時点で、トランザクション情報ＴＲ３のターゲットアドレスに対応するＲＴＬシミュレーションにおける全てのターゲットアドレスの値が、トランザクション情報ＴＲ３の更新データの値と一致しなければ、アサーションエラーとするように記述されている。
【００７２】
このように、図６に示すアサーションチェック手段は、ＲＴＬシミュレーションで使用されたアドレス空間が、これに対応する動作シミュレーションで使用されたアドレス空間のデータ更新の起点となったバスリクエストの出力された時刻の後であって、予め設定された時間が経過する前に、この動作シミュレーションで使用されたアドレス空間の更新履歴の内容でデータ更新されたことをアサーションとする。
【００７３】
図７には、詳細設計検証のためのシミュレーション（ＲＴＬシミュレーション）で出力された信号が、これに対応する動作シミュレーションで出力された信号の出力された時刻を基準とする時間帯の範囲で出力されたことをアサーションとするアサーションチェック手段の一例が示されている。
【００７４】
図７に示すアサーションチェック手段は、図４に示すアサーションチェック手段におけるアソシエーション条件の判断時期を、信号の出力された時点を含む時間帯の範囲にまで広げたものである。
【００７５】
なお、図７に示すアサーションチェック手段は、詳細設計検証のシミュレーションで使用された記憶領域が、これに対応する動作シミュレーションで使用された記憶領域のデータ更新された時刻を基準とする時間帯の範囲で、更新履歴の内容でデータ更新されたことをアサーションとするアサーションチェック手段であっても良い。
【００７６】
つまり、図７に示すアサーションチェック手段は、図５に示すアサーションチェック手段におけるアソシエーション条件の判断時期を、信号の出力された時点を含む時間帯の範囲にまで広げたものであっても良い。
【００７７】
図７の例では、アサーションチェック手段は、アサーションモジュールＡ４で構成されており、バストランザクション情報ＴＲ４に基づいて記述されている。また、アサーションモジュールＡ４は、構造体としてバストランザクション情報ＴＲ４の情報を有しており、「バスマスタＩＤ」で示されるバスリクエスト信号を入力として参照している。
【００７８】
また、アサーションモジュールＡ４は、ＲＴＬシミュレーションにおける上述の時間帯の範囲内にあるかどうかを判定するため、静的変数ｆｌａｇを使用している。更に、アサーションモジュールＡ４は、定数ｒａｎｇｅによって、信号の出力された時点（バスリクエスト時刻の時点）を基準とした時間帯の範囲にあるかどうかを判定している。なお、図７の例では、定数ｒａｎｇｅは「Ｋ」に設定されている。
【００７９】
通常、上位の機能、動作、アーキテクチャ設計から詳細設計を行う際に、詳細設計の結果がその仕様となる上位の設計の動作と一定の範囲でずれることは許容されている。「Ｋ」は、このずれの範囲を示すシミュレーション上の単位時間である。本実施の形態１において、「Ｋ」の値は、設計者がその対象となる回路性質や設計目標に応じて適宜設定することができ、例えば、クロックサイクルや数サイクル等の値に設定される。
【００８０】
具体的には、アサーションモジュールＡ４は、ＴＩＭＥ（）関数で参照されるＲＴＬシミュレーションのシミュレーション時刻が、バストランザクション情報ＴＲ４におけるバスリクエスト時刻の単位時間Ｋ前になると、静的変数ｆｌａｇを１として、期間「バスリクエスト時刻−Ｋ＋１」〜「バスリクエスト時刻＋Ｋ−１」の間、バスマスタＩＤで特定されるバスリクエスト信号を監視するように記述されている。
【００８１】
また、アサーションモジュールＡ４は、バスマスタＩＤがｆｉｒｅの値をとるとｆｌａｇをリセットし、シミュレーション時刻が「バスリクエスト時刻＋Ｋ」のときにｆｌａｇがリセットされていなければ、アサーションエラーとするように記述されている。
【００８２】
なお、上述のように図４〜図８までアサーションチェック手段の例を記載したが、本実施の形態１においては、これらのアサーションチェック手段のうち一部のみを作成する態様とすることもできる。
【００８３】
また、例えば、図４に示すアサーションチェック手段（アサーションチェックモジュールＡ１）のみを生成する態様とするのであれば、トランザクション情報としてターゲットアドレス情報、更新時刻、及び更新データを抽出しない態様とすることもできる。本発明におけるアサーションチェック手段は、上述の図４〜図８に示したアサーションチェック手段に限定されるものではない。
【００８４】
次に、具体的な検証対象を挙げて、本実施の形態１におけるＬＳＩ設計検証方法について図９〜図１８を用いて説明する。但し、本実施の形態１にかかるＬＳＩ設計検証方法は、図１に示した本実施の形態１にかかるＬＳＩ設計検証装置を動作させることによって実施される。このため、適宜図１を参酌しながら、ＬＳＩ設計検証装置の動作を説明することによって、ＬＳＩ設計検証方法を説明する。
【００８５】
図９は、本実施の形態１において検証対象となるＬＳＩの構成を示すブロック図である。図１０は、図９に示すＬＳＩにおけるバスリクエスト及びトランザクションの発生を示すタイムチャートである。図１１は、図９に示すＬＳＩで発生したトランザクションの一覧を示す図である。
【００８６】
図９に示すように、本実施の形態１において検証対象となるＬＳＩは、ＣＰＵ１１、ＤＭＡコントロ−ラ（以下「ＤＭＡＣ」という。）１２、バスの割り当て制御を行うバスコントロ−ラ１３、データを一時記憶するバッファ（Ｂｕｆｆｅｒ）１４、大容量のメモリ（Ｍｅｍｏｒｙ）１５、及びシステムバス１７によって構成されている。なお、図９において「１６」はバスリクエスト信号の経路を示している。
【００８７】
図９に示すＬＳＩにおいて、バスマスタとなるＣＰＵ１１及びＤＭＡＣ１２それぞれは、バスリクエスト信号をアクティブにすることによってバスリクエストをバスコントロ−ラ１３に出力する。なお、ＣＰＵ１１が出力するバスリクエストのバスクリクエストＩＤが「１」、ＤＭＡＣ１２が出力するバスリクエストのバスリクエストＩＤが「２」に設定されている。
【００８８】
図９に示すＬＳＩの動作シミュレーションにおいては、先ず、ＣＰＵ１１からＢｕｆｆｅｒ１４へのデータ書き込みのバストランザクションＥＴＲ１が発生する。続いて、ＣＰＵ１１からＤＭＡＣ１２の設定レジスタへのＤＭＡ転送命令の書き込みのバストランザクションＥＴＲ２が発生する。
【００８９】
更に、このＤＭＡ転送命令によって、バストランザクションＥＴＲ１においてＢｕｆｆｅｒ１４に書き込まれたデータがＭｅｍｏｒｙ１５に書き込まれるトランザクションＥＴＲ３が発生する。
【００９０】
図１０に示すように、検証対象となるＬＳＩにおいては、バストランザクションＥＴＲ１、ＥＴＲ２、及びＥＴＲ３は、それぞれシミュレーション時刻がＴ１、Ｔ２、及びＴ３のときに発生する。図９及び図１０で説明した各バストランザクションを、バストランザクション名、送信、受信、アクセスアドレス領域（アドレス空間）、及びバスリクエストＩＤといった項目でまとめると、図１１に示す通りとなる。
【００９１】
このようなＬＳＩを検証対象とした本実施の形態１におけるＬＳＩ設計検証方法について、図１２を用いて説明する。図１２は、本発明の実施の形態１におけるＬＳＩ設計検証方法及び本実施の形態１におけるＬＳＩ設計検証装置の動作を示すフロー図である。
【００９２】
図１２に示すように、最初に、第１のシミュレーション部２によって、図９に示すＬＳＩの動作モデルを動作記述６から読み出して、動作シミュレーションが行なわれる（ステップＳ１）。これにより、図９の説明において述べたように、バストランザクションＥＴＲ１、ＥＴＲ２、及びＥＴＲ３が発生する。
【００９３】
また、第１のシミュレーション部２は、ＣＰＵ１１及びＤＭＡＣ１２から出力されたバスリクエストと、バストランザクションＥＴＲ１、ＥＴＲ２、及びＥＴＲ３とを観測し、これを動作履歴として記憶する。
【００９４】
次に、動作履歴抽出部３によって、動作履歴として、第１のシミュレーション部２に記憶されているバストランザクション情報が抽出される（ステップＳ２）。本実施の形態１においては、図１３に示すように、バストランザクション情報は、バストランザクション単位で抽出される。
【００９５】
図１３は、実施の形態１におけるＬＳＩ設計検証方法において抽出されるバストランザクション情報を示す図であり、図１３（ａ）〜（ｃ）それぞれには、バスリクエスト時刻の異なるバスリクエスト毎にバストランザクション情報が示されている。
【００９６】
図１３（ａ）〜（ｃ）に示すように、バストランザクション毎にレイテンシーが異なっている。また、各トランザクションにおいて、データ転送は３２ビット単位で実行されている。
【００９７】
次に、アサーションチェック手段生成部４によって、アサーションチェック手段の生成が行われる（ステップＳ３）。本実施の形態１におけるＬＳＩ設計検証方法においては、アサーションチェック手段生成部によって図１４に示すアサーションチェック手段が生成され、これがＲＴＬ記述７に組み込まれる。図１４は、実施の形態１におけるＬＳＩ設計検証方法において作成されるアサーションチェック手段の一例を示す図である。
【００９８】
図１４に示すアサーションチェック手段は、図４に示したアサーションチェック手段と同様のものであり、ＲＴＬシミュレーションで出力されたバスリクエスト信号が、バストランザクション情報におけるバスリクエスト時刻に出力されたこと（バスリクエスト信号がアクティブになっていること）をアサーションとするアサーションチェック手段である。
【００９９】
なお、図１４では、アサーションモジュールＡ１−ＥＴＲ１で構成され、構造体としてバストランザクション情報ＥＴＲ１の情報を有したアサーションチェック手段を示しているが、バストランザクション情報ＥＴＲ２及びＥＴＲ３を有するアサーションチェック手段も作成される。
【０１００】
本実施の形態１において、バストランザクション情報ＥＴＲ２を構造体として有するアサーションチェック手段はアサーションモジュールＡ１−ＥＴＲ２で構成されており、バストランザクション情報ＥＴＲ３を構造体として有するアサーションチェック手段はアサーションモジュールＡ１−ＥＴＲ３で構成されている。
【０１０１】
図１５は、アサーションチェック手段が組み込まれたＲＴＬ記述によって示されるＬＳＩを示すブロック図である。図１５に示すように、ＲＴＬ記述へのアサーションチェック手段の組み込みにより、検証対象となるＬＳＩのブロックに、バスリクエスト１を入力とするアサーションモジュールＡ１−ＥＴＲ１及びＡ１−ＥＴＲ２と、バスリクエスト２を入力とするアサーションンモジュールＡ１−ＥＴＲ３とが接続される。
【０１０２】
なお、図１５に示すＬＳＩは、アサーションモジュールＡ１−ＥＴＲ１〜Ａ１−ＥＴＲ３が接続されている以外は、図９に示したＬＳＩと同様に構成されている。
【０１０３】
次に、第２のシミュレーション部５によって、アサーションチェックモジュールＡ１−ＥＴＲ１、Ａ１−ＥＴＲ２及びＡ１−ＥＴＲ３が組み込まれたＲＴＬ記述が読み出され、これを用いてＲＴＬシミュレーションが実施される（ステップＳ４）。この結果、アサーション違反の有無が確認される。
【０１０４】
図１６は、図１５に示したＬＳＩのＲＴＬシミュレーションを実行した場合のタイムチャートを示す図である。図１６に示すように、このＲＴＬシミュレーションにおいては、バストランザクションＥＴＲ２の発生が、図１２に示すステップＳ１の動作シミュレーション時と異なっている。
【０１０５】
つまり、ステップＳ１の動作シミュレーションにおいては、バストランザクションＥＴＲ２は時刻［Ｔ２］で発生しているのに対し、ステップＳ４のＲＴＬシミュレーションにおいては時刻［Ｔ２＋３］で発生している。このため、アサーションモジュールＡ１−ＥＴＲ１及びＡ１−ＥＴＲ３はエラーメッセージを出力しないが、アサーションモジュールＡ１−ＥＴＲ２は、時刻［Ｔ２］においてバスリクエストが発生していないためエラーメッセージを出力する。
【０１０６】
このように、本実施の形態１におけるＬＳＩ設計検証装置及びＬＳＩ設計検証方法によれば、発生した時刻の異なるバストランザクション毎に、ＲＴＬシミュレーションの途中の段階において、又は検証対象となるＬＳＩの回路内部において、設計上位の動作シミュレーションの結果と設計下位のＲＴＬシミュレーションの結果とが整合しているかどうか検証することができる。
【０１０７】
このため、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計（ＲＴＬ設計）における完成度の向上を図ることができ、早期にＬＳＩ設計の完成度の向上を図り得る。
【０１０８】
次に、上記の図１２に示したＬＳＩ設計検証方法において、アサーション手段として、図６に示したアサーション手段と同様のものが使用される例について説明する。図１７は、本実施の形態１におけるＬＳＩ設計検証方法において作成されるアサーションチェック手段の他の例を示す図である。
【０１０９】
図１７に示すアサーションチェック手段は、図６に示すアサーションチェック手段と同様に、バスリクエスト発生後からの一定の時間の経過時に転送先のアドレス空間が更新されることをチェックする。図１７に示すアサーションチェック手段は、アサーションモジュールＡ３−ＥＴＲ２で構成されており、トランザクション情報ＥＴＲ２に基づいて記述された構造体ＥＴＲ２を有している。
【０１１０】
構造体ＥＴＲ２においては、バスリクエストＩＤ、バスリクエスト時刻、ターゲットアドレス、更新時刻及び更新データが設定されている。また、アサーションモジュールＡ３−ＥＴＲ２においても、図６に示したアサーションモジュールＡ３と同様に、定数Ｄｅｌａｙによって、バスリクエスト出力後の一定時間の経過を判定している。図１７の例では、定数Ｄｅｌａｙは単位時間１０に設定されている。
【０１１１】
アサーションチェックモジュールＡ３−ＥＴＲ２は、図１５に示したように、検証対象となるＬＳＩのブロックに組み込まれる。ＲＴＬシミュレーションの実行の結果得られるタイムチャートを図１８に示す。図１８は、図１７に示すアサーションチェック手段を組み込んでＲＴＬシミュレーションを実行した場合のタイムチャートを示す図である。
【０１１２】
図１８には、バスリクエスト１又は２によって発生したトランザクションＥＴＲ１、ＥＴＲ２及びＥＴＲ３と、アサーションモジュールＡ３−ＥＴＲ２の変数ｔｉｍｅの値と、エラーメッセージの発生の有無とが示されている。
【０１１３】
図１８に示すように、時刻Ｔ２＋３におけるバスリクエスト１の発生時点から、単位時間５が経過した時点でアドレス１０２４のデータが更新され、単位時間９が経過した時点でアドレス１０２８のデータが更新されている。このため、図１８の例では、変数ｔｉｍｅの値が１になる時刻Ｔ２+１０において、アサーションモジュールＡ３−ＥＴＲ２はエラーメッセージを出力しないことになる。
【０１１４】
このように、図１７及び図１８に示した例では、ＲＴＬシミュレーションの途中の段階において、トランザクションの実行と記憶領域の更新とが正しく行なわれているかどうかを確認できる。このため、図１７及び図１８に示した例においても、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計（ＲＴＬ設計）における完成度の向上を図ることができる。
【０１１５】
なお、本実施の形態１においては、図４及び図６に示したタイプのアサーションチェック手段をＲＴＬ記述に組み込んだ例について示しているが、例えば図５に示したタイプのアサーションチェック手段（図８に示したアサーションチェック手段も含む。）を用いた場合であっても、図１７及び図１８に示した例と同様に、ＲＴＬシミュレーションの途中の段階において、トランザクションの実行と記憶領域の更新とが正しく行なわれているかどうかを確認できる。
【０１１６】
また、図７に示したアサーションチェック手段を用いた場合は、バスリクエスト時刻を基準とする所定の範囲の時間帯での動作条件をアサーションに含むことができるため、許容可能な範囲でのタイミングのずれに対してエラーを出力しないようにできる。よって、この場合は、不要な擬似エラーの発生や、それに伴い増加する解析工数の無駄の発生を抑制することができる。
【０１１７】
本実施の形態１におけるＬＳＩ設計検証装置は、コンピュ−タに、図１２に示すステップＳ１〜Ｓ４を具現化させるプログラムをインスト−ルし、このプログラムを実行することによっても、実現することができる。
【０１１８】
この場合、コンピュ−タのＣＰＵ（central  processing  unit）は、第１のシミュレーション部２、動作履歴抽出部３、アサーションチェック手段生成部４及び第２のシミュレーション部５として機能し、処理を行う。なお、これら各部は別々のコンピュータによって実現されていても良い。
【０１１９】
（実施の形態２）
次に、本発明の実施の形態２におけるＬＳＩ設計検証装置及びＬＳＩ設計検証方法について、図１９〜図２１を参照しながら説明する。
【０１２０】
最初に、本実施の形態２におけるＬＳＩ設計検証装置の構成について説明する。本実施の形態２におけるＬＳＩ設計検証装置は、図１に示した実施の形態１におけるＬＳＩ設計検証装置と同様に構成されており、第１のシミュレーション部、動作履歴抽出部、アサーションチェック手段生成部、及び第２のシミュレーション部を有している（図１参照）。
【０１２１】
但し、本実施の形態２におけるＬＳＩ設計検証装置は、実施の形態１におけるＬＳＩ設計検証装置と異なり、動作シミュレーションにおけるＣＰＵモデルのプログラムカウンタの履歴に基づいて、アサーションチェック手段が生成される。
【０１２２】
このため、特に、本実施の形態２においては動作履歴抽出部の機能が実施の形態１と異なっている。本実施の形態２においては、動作履歴抽出部は、動作シミュレーションにおいて発生したＣＰＵモデルのプログラムカウンタの変更に基づいて、ＣＰＵモデルの動作履歴を抽出する。
【０１２３】
具体的には、本実施の形態２においては、動作履歴抽出部は、ＣＰＵモデルにおいて実行されるプログラムのソフトウェアコンパイル結果に基づいて、予め設定された命令のアドレス、命令のジャンプ先アドレス、サブルーチンの先頭アドレス、タスクの先頭アドレス、スレッドの先頭アドレス、及びプロセスの先頭アドレス等をプログラムアドレス情報として抽出する。
【０１２４】
更に、動作履歴抽出部は、第１のシミュレーション部による動作シミュレーションにおいて、ＣＰＵモデルのプログラムカウンタが上記の抽出したアドレスを指した場合に、ＣＰＵモデルの動作履歴（ＣＰＵ動作情報）を抽出する。
【０１２５】
ＣＰＵモデルの動作履歴（ＣＰＵ動作情報）としては、例えば、動作シミュレーションにおけるＣＰＵモデルのプログラムカウンタの変更履歴（プログラムカウンタ値、変更時刻等）、プログラムカウンタの変更に伴ってＣＰＵモデルから出力された信号の出力履歴、プログラムカウンタの変更に伴って使用された記憶領域（アドレス空間）の更新履歴（更新時刻、更新データ等）等が挙げられる。なお、ＣＰＵモデルの動作履歴（ＣＰＵ動作情報）の具体例については後述する。
【０１２６】
次に、本実施の形態２におけるＬＳＩ設計検証方法について図１９〜図２１を用いて説明する。但し、本実施の形態２にかかるＬＳＩ設計検証方法も、実施の形態１にかかるＬＳＩ設計検証方法と同様に、本実施の形態２にかかるＬＳＩ設計検証装置を動作させることによって実施される。このため、本実施の形態２においても、ＬＳＩ設計検証装置の動作を説明することによって、ＬＳＩ設計検証方法を説明する。
【０１２７】
図１９は、本発明の実施の形態２におけるＬＳＩ設計検証方法及び本実施の形態２におけるＬＳＩ設計検証装置の動作を示すフロー図である。図１９に示すように、最初に、動作履歴抽出部によって、ＣＰＵモデルにおいて実行されるプログラムのソフトウェアコンパイル結果に基づいて、プログラムアドレス情報が抽出される（ステップＳ１１）。
【０１２８】
次に、第１のシミュレーション部によって、ＣＰＵモデルを含むＬＳＩの動作モデルを動作記述から読み出して、動作シミュレーションが行なわれる（ステップＳ１２）。このとき、第１のシミュレーション部においては、ＣＰＵモデルのプログラムカウンタ、プログラムカウンタの変更に伴ってＣＰＵモデルから出力された信号、及びプログラムカウンタの変更に伴って使用された記憶領域（アドレス空間）の値が観測され、観測結果が記憶される。
【０１２９】
次に、動作履歴抽出部によって、第１のシミュレーション部による動作シミュレーションにおいて、ＣＰＵモデルのプログラムカウンタがステップＳ１１で抽出したアドレスを指していたかどうかの判定が行なわれ、抽出したアドレスを指していた場合は、ＣＰＵ動作情報を抽出する（ステップＳ１３）。
【０１３０】
図２０は、実施の形態２において抽出されるＣＰＵ動作情報の構成を示す図である。図２０に示すように、本実施の形態２においては、ＣＰＵ動作情報は、ＣＰＵモデルのプログラムカウンタ値、その変更時刻、観測期間、プログラムカウンタの変更に伴ってＣＰＵモデルから出力された信号の出力履歴としての信号名／アドレス、更に、プログラムカウンタの変更に伴って使用されたアドレス空間の更新履歴としての更新時刻及び更新値／更新データによって構成されている。観測期間は、上記の信号やアドレス空間の変更を観測する期間であり、予め設定されている。
【０１３１】
その後、アサーションチェック手段生成部によって、アサーションチェック手段の生成が行われる（ステップＳ１４）。本実施の形態２におけるアサーションチェック手段も、実施の形態１と同様に、アサーションチェック手段は、Ｖｅｒｉｌｏｇ言語等のＨＤＬを利用して、一つの回路モジュールとして記述されたプログラムモジュールである。
【０１３２】
また、本実施の形態２におけるアサーションチェック手段の基本構成も、実施の形態１において図３を用いて示したものと同様である。作成されたアサーションチェック手段は、アサーションチェック手段生成部によって、ＲＴＬ記述に組み込まれる。
【０１３３】
図２１は、実施の形態２におけるアサーションチェック手段の一例とＣＰＵ動作情報の一例とを示す図である。図２１には、ＲＴＬシミュレーションにおけるＣＰＵモデルのプログラムカウンタの値が動作シミュレーションにおけるＣＰＵモデルのプログラムカウンタの値になった後であって、予め設定された時間が経過した時に、ＲＴＬシミュレーションにおけるＣＰＵモデルのプログラムカウンタが上記の値の場合に使用されたアドレス空間が、ＣＰＵ動作情報の内容でデータ更新されたことをアサーションとするアサーションチェック手段の一例が示されている。
【０１３４】
図２１の例では、アサーションチェック手段は、アサーションモジュールＡＰで構成されており、ＣＰＵ動作情報に基づいて記述されている。また、アサーションモジュールＡＰは、構造体としてＣＰＵ動作情報を有しており、入力変数ＰＣ,ｓｉｇ［］,ｍｅｍ［］によって、ＲＴＬシミュレーションにおけるプログラムカウンタ値、プログラムカウンタの変更に伴ってＣＰＵモデルから出力された信号の信号名／アドレス、及びプログラムカウンタの変更に伴って使用されたアドレス空間の更新値／更新データを参照している。
【０１３５】
また、アサーションモジュールＡＰは、ＲＴＬシミュレーションにおける時間の経過をカウントするため、静的変数ｔｉｍｅを使用している。アサーションモジュールＡＰは、先ず、ＲＴＬシミュレーションのシミュレーション時刻（ＴIMＥ（）関数で返される）が、ＣＰＵ動作情報の変更時刻に一致すると、変数ＰＣの値とＣＰＵ動作情報のプログラムカウンタ値とを比較する。次いで、アサーションモジュールＡＰは、これらの値が一致しない場合は、エラーメッセージを出力する。
【０１３６】
一方、これらの値が一致している場合は、静的変数ｔｉｍｅにＣＰＵ動作情報の観測期間＋１を設定し、観測期間の経過後、即ち、シミュレーション時刻の経過に合わせてデクリメントしたｔｉｍｅ変数の値が１になった時点で、ＣＰＵ動作情報に含まれる全ての信号名／アドレスについて、更新値／更新データを探索する。探索の結果、探索した値と、動作シミュレーションにおける対応する更新データ値とが同一の値になっていない場合は、エラーメッセージを出力する。
【０１３７】
次に、第２のシミュレーション部によって、アサーションチェックモジュールＡＰが組み込まれたＲＴＬ記述が読み出され、これを用いてＲＴＬシミュレーションが実施される（ステップＳ１５）。この結果、アサーション違反の有無が確認される。なお、このＲＴＬシミュレーションは、実施の形態１の場合と同様に、上位の動作シミュレーションと同一のパタ−ンを用いて行なわれる。
【０１３８】
このように、本実施の形態２におけるＬＳＩ設計検証装置及びＬＳＩ設計検証方法においても、実施の形態１と同様に、ＲＴＬシミュレーションの途中の段階において、又は検証対象となるＬＳＩの回路内部において、設計上位の動作シミュレーションの結果と設計下位のＲＴＬシミュレーションの結果とが整合しているかどうか検証することができる。このため、従来であれば検出が困難であった設計不具合を検出できるので、詳細設計（ＲＴＬ設計）における完成度の向上を図ることができ、早期にＬＳＩ設計の完成度の向上を図り得る。
【０１３９】
また、本実施の形態２においては、マルチタスク動作するソフトウェアの各タスクの先頭アドレスをＣＰＵ動作情報として抽出し、このＣＰＵ動作情報に基づいてアサーションチェックを行う態様とすることができる。この場合、動作シミュレーション及びＲＴＬシミュレーションの両方において、タスクチェンジが発生したかどうかを検証できる。
【０１４０】
更に、本実施の形態２においては、ＣＰＵモデルで実行されるプログラムが外部にアクセスして割り込み待ちに入るプログラムである場合は、外部へのアクセス命令アドレスを指したときのプログラムカウンタ値とその実行時刻とをＣＰＵ動作情報として抽出する態様とすることができる。この態様においては、一定期間内に発生した割り込み信号の発生をアサーションチェックとしてＲＴＬシミュレーションの検証を行うことができるので、詳細設計における動作の正確性を容易に確認することができる。
【図面の簡単な説明】
【０１４１】
【図１】本発明の実施の形態１におけるＬＳＩ設計検証装置の概略構成を示す図である。
【図２】実施の形態１において抽出されるバストランザクション情報の一例を示す図である。
【図３】実施の形態１におけるアサーションチェック手段の基本構成を概略的に示す図である。
【図４】実施の形態１におけるアサーションチェック手段の一例とバストランザクション情報の一例とを示す図である。
【図５】実施の形態１におけるアサーションチェック手段の他の例とバストランザクション情報の他の例とを示す図である。
【図６】実施の形態１におけるアサーションチェック手段の他の例とバストランザクション情報の他の例とを示す図である。
【図７】実施の形態１におけるアサーションチェック手段の他の例とバストランザクション情報の他の例とを示す図である。
【図８】図５に示すアサーションチェック手段に対してシミュレーション処理の効率化が図られたアサーションチェック手段の具体例を示す図である。
【図９】本実施の形態１において検証対象となるＬＳＩの構成を示すブロック図である。
【図１０】図９に示すＬＳＩにおけるバスリクエスト及びトランザクションの発生を示すタイムチャートである。
【図１１】図９に示すＬＳＩで発生したトランザクションの一覧を示す図である。
【図１２】本発明の実施の形態１におけるＬＳＩ設計検証方法及び本実施の形態１におけるＬＳＩ設計検証装置の動作を示すフロー図である。
【図１３】実施の形態１におけるＬＳＩ設計検証方法において抽出されるバストランザクション情報を示す図であり、図１３（ａ）〜（ｃ）それぞれには、バスリクエスト時刻の異なるバスリクエスト毎にバストランザクション情報が示されている。
【図１４】実施の形態１におけるＬＳＩ設計検証方法において作成されるアサーションチェック手段の一例を示す図である。
【図１５】アサーションチェック手段が組み込まれたＲＴＬ記述によって示されるＬＳＩを示すブロック図である。
【図１６】図１５に示したＬＳＩのＲＴＬシミュレーションを実行した場合のタイムチャートを示す図である。
【図１７】本実施の形態１におけるＬＳＩ設計検証方法において作成されるアサーションチェック手段の他の例を示す図である。
【図１８】図１７に示すアサーションチェック手段を組み込んでＲＴＬシミュレーションを実行した場合のタイムチャートを示す図である。
【図１９】本発明の実施の形態２におけるＬＳＩ設計検証方法及び本実施の形態２におけるＬＳＩ設計検証装置の動作を示すフロー図である。
【図２０】実施の形態２において抽出されるＣＰＵ動作情報の構成を示す図である。
【図２１】実施の形態２におけるアサーションチェック手段の一例とＣＰＵ動作情報の一例とを示す図である。
【符号の説明】
【０１４２】
１  ＬＳＩ設計検証装置
２  第１のシミュレーション部
３  動作履歴抽出部
４  アサーションｃｈｅｃｋ手段生成部
５  第２のシミュレーション部
６  動作記述
７  ＲＴＬ記述
１１  ＣＰＵ
１２  ＤＭＡＣ
１３  バスコントローラ
１４  Ｂｕｆｆｅｒ
１５  Ｍｅｍｏｒｙ
１６  バスリクエスト信号の経路
１７  システムバス
【図１】
2005108007.tif 000003
【図２】
2005108007.tif 000004
【図３】
2005108007.tif 000005
【図４】
2005108007.tif 000006
【図５】
2005108007.tif 000007
【図６】
2005108007.tif 000008
【図７】
2005108007.tif 000009
【図８】
2005108007.tif 000010
【図９】
2005108007.tif 000011
【図１０】
2005108007.tif 000012
【図１１】
2005108007.tif 000013
【図１２】
2005108007.tif 000014
【図１３】
2005108007.tif 000015
【図１４】
2005108007.tif 000016
【図１５】
2005108007.tif 000017
【図１６】
2005108007.tif 000018
【図１７】
2005108007.tif 000019
【図１８】
2005108007.tif 000020
【図１９】
2005108007.tif 000021
【図２０】
2005108007.tif 000022
【図２１】
2005108007.tif 000023