(57)【要約】【課題】外部装置を含むシステム全体の半導体集積回路機能シミュレーションにおいて、モデル間のデータ送受信を高速に実施することを可能にし、さらに外部装置モデルのユーザインターフェース環境開発工数を削減する。【解決手段】半導体集積回路全体モデル１０１とその外部に接続される外部装置モデル１１１とから構成される半導体集積回路機能シミュレーション装置において、半導体集積回路全体モデル１０１は内部に外部装置モデル１１１と通信を行う通信機能モデル１０４を実装し、通信機能モデル１０４は外部装置モデル１１１と通信する通信用プロトコルサーバ機能１０７を有し、外部装置モデル１１１と通信機能モデル１０４は半導体集積回路全体モデル１０１に実装された制御モデル１０２、機能モデル１０３、ＣＰＵモデル１０４等とは独立して動作する。【選択図】図１
2007249393.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路モデルと前記半導体集積回路モデルの外部に接続される外部装置モデルとから構成される半導体集積回路機能シミュレーション装置であって、前記半導体集積回路モデルは内部に前記外部装置モデルと通信を行う通信機能モデルを実装し、前記外部装置モデルと前記通信機能モデルは前記半導体集積回路に実装された他の機能モデルと独立して動作する半導体集積回路機能シミュレーション装置。
【請求項２】
前記通信機能モデルは前記外部装置モデルと通信する通信用プロトコルサーバ機能を有する請求項１記載の半導体集積回路機能シミュレーション装置。
【請求項３】
前記通信機能モデルと前記外部装置モデルはシリアル転送を行う際に、シリアル転送に代えてデータをパケット化する請求項２記載の半導体集積回路機能シミュレーション装置。
【請求項４】
前記外部装置モデルはクライアント機能を具備し、前記通信機能モデルは前記通信用プロトコルサーバ機能により前記クライアント機能から遠隔制御可能である請求項２記載の半導体集積回路機能シミュレーション装置。
【請求項５】
半導体集積回路のシミュレーション工程と前記半導体集積回路の外部に接続される外部装置シミュレーション工程とを備えた半導体集積回路機能シミュレーション方法であって、前記半導体集積回路のシミュレーション工程は前記外部装置シミュレーション工程と通信を行う通信機能シミュレーション工程を含み、前記外部装置シミュレーション工程と前記通信機能シミュレーション工程は前記半導体集積回路のシミュレーション工程に含まれる他の機能シミュレーション工程と独立して動作する半導体集積回路機能シミュレーション方法。
【請求項６】
前記通信機能シミュレーション工程は前記外部装置シミュレーション工程と通信する通信用プロトコルサーバシミュレーション工程を含む請求項５記載の半導体集積回路機能シミュレーション方法。
【請求項７】
前記通信機能シミュレーション工程と前記外部装置シミュレーション工程はシリアル転送を行う際に、シリアル転送に代えてデータをパケット化する請求項６記載の半導体集積回路機能シミュレーション方法。
【請求項８】
前記外部装置シミュレーション工程はクライアント機能をシミュレーションし、前記通信機能シミュレーション工程は前記通信用プロトコルサーバシミュレーション工程により前記クライアント機能を用いて遠隔制御可能である請求項６記載の半導体集積回路機能シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の機能検証及び性能解析や半導体集積回路の制御用ソフトウェア開発などを行うための半導体集積回路の機能シミュレーション手法に関する。
【背景技術】
【０００２】
従来の半導体集積回路の設計においては、図７のブロック図に示すように、半導体集積回路に実装しようとする機能モデル７０１〜７０４と配線経路モデル７０５を接続するために、配線経路モデル７０５を介して情報をやり取りするためのプロトコルに従って、各機能モデル７０１〜７０４にインターフェース部７１１〜７１４をそれぞれ実装するようにしている。そして、時間信号発生部７０６により全体を一つの動作モデル（全体動作モデル）７１０として動作させている。
【０００３】
この方法によれば、時間信号発生部７０６が動作信号７０７を出力することで全体動作を制御し、配線経路モデル７０５を介して各機能モデル７０１〜７０４が情報を送受信し合うことで、半導体集積回路全体７１０の機能をシミュレーションすることができるという利点がある。
【０００４】
さらに、このようなシミュレーションモデルにおいて、各機能モデルに夫々独立したシミュレーションプロセッサを割付けて並列に動作させ、各機能モデルはネットワークを介して情報を送受信し合う半導体集積回路機能シミュレーション装置が特許文献１に開示されている。
【特許文献１】特開２００４−２６５０５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、半導体集積回路機能シミュレーション装置において外部入出力装置が必要なシステム構成の場合には、外部モデルを別途開発し、シミュレーションにおいてはモデル間でデータ送受信を行っている。その際に、半導体集積回路モデルと外部モデル間のデータ転送プロトコルは、実物がシリアル転送ならシミュレーションにおいてもシリアル転送でというように、実物の半導体集積回路の仕様に合わせてデータ送受信を行っている。
【０００６】
しかし、半導体集積回路の仕様を忠実にモデリングした場合は、半導体集積回路機能シミュレーション装置の実行時に、例えば毎サイクルデータ転送を実行させなければならないというオーバーヘッドが発生し、機能モデルのシミュレーションの実効速度が低下し、全体の半導体集積回路機能シミュレーションの実行速度が低下する恐れがある。
【０００７】
また、外部入出力装置モデルを使用して送受信するデータを半導体集積回路シミュレーション装置で扱うには、外部入出力装置モデル用のユーザインターフェース環境を開発する必要があるため、シミュレーション装置開発工数が余分に必要となる。
【０００８】
本発明は係る点に鑑みてなされたものであり、半導体集積回路及びその外部入出力装置を含むシステム全体の機能シミュレーションを実施する際に、シミュレーション装置のモデル間のデータ送受信を高速に実施することができ、さらに外部装置モデルのユーザインターフェース環境開発工数を削減することができる半導体集積回路機能シミュレーション装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に係る半導体集積回路機能シミュレーション装置は、半導体集積回路に実装される機能の検証、設計される半導体集積回路の処理性能などの特徴の解析、半導体集積回路を制御するためのソフトウェア開発を実施するための半導体集積回路機能シミュレーション装置であって、半導体集積回路の外部に接続される外部装置モデルと、前記外部装置モデルと通信を行う通信機能モデルを内部に実装する半導体集積回路モデルとを具備し、前記外部装置モデルと前記通信機能モデルは前記半導体集積回路モデルに実装されている他の機能モデルと独立して動作するものである。
【００１０】
上記構成によれば、外部装置モデルと外部装置とのデータ送受信を行う通信機能モデルとが半導体集積回路モデルに実装されている他の機能モデルと独立して動作するため、通信機能モデルを高速化させることで半導体集積回路機能シミュレーション装置を高速に動作させることができる。
【００１１】
請求項２に係る半導体集積回路機能シミュレーション装置は、請求項１に係る半導体集積回路機能シミュレーション装置において、前記通信機能モデルに前記外部装置モデルと通信する通信用プロトコルサーバ機能を備えるものである。
【００１２】
上記構成によれば、外部入出力装置には通信用プロトコルに準じたモデルを用意すればよいため、開発工数の削減が可能となる。
【００１３】
請求項３に係る半導体集積回路機能シミュレーション装置は、請求項２に係る半導体集積回路機能シミュレーション装置において、前記通信機能モデルと前記外部装置モデルとの通信に使用するデータをシリアル転送に代えてパケット化するものである。
【００１４】
上記構成によれば、通信機能モデルと外部入出力装置がデータ通信を行う際にシリアル転送に代えてパケット化して通信するため、通信機能モデルの動作を高速化することができ、また外部入出力装置は簡略化することができるため、開発工数を削減することができる。
【００１５】
請求項４に係る半導体集積回路機能シミュレーション装置は、請求項２に係る半導体集積回路機能シミュレーション装置において、前記外部装置モデルはクライアント機能を具備し、前記通信機能モデルは前記通信用プロトコルサーバ機能により前記クライアント機能から遠隔制御可能なものである。
【００１６】
上記構成によれば、外部装置モデルとして汎用の外部入出力装置を使用することができ、また、遠隔より汎用ネットワーク回線を介して半導体集積回路機能シミュレーション装置を制御することができるため、開発工数を削減することができる。
【００１７】
請求項５に係る半導体集積回路機能シミュレーション方法は、半導体集積回路に実装される機能の検証、設計される半導体集積回路の処理性能などの特徴の解析、半導体集積回路を制御するためのソフトウェア開発を実施するための半導体集積回路機能シミュレーション方法であって、半導体集積回路の外部に接続される外部装置をシミュレーションする外部装置シミュレーション工程と、前記外部装置シミュレーション工程と通信を行う通信機能シミュレーションする工程を含む半導体集積回路のシミュレーション工程とを備え、前記外部装置シミュレーション工程と前記通信機能シミュレーション工程は、前記半導体集積回路のシミュレーション工程に含まれる他の機能シミュレーション工程と独立して動作するものである。
【００１８】
上記工程によれば、外部装置シミュレーション工程と通信機能シミュレーション工程とが半導体集積回路シミュレーション工程に含まれる他の機能シミュレーション工程と独立して動作するため、通信機能シミュレーション工程を高速化することで半導体集積回路機能シミュレーションを高速化することができる。
【００１９】
請求項６に係る半導体集積回路機能シミュレーション方法は、請求項５に係る半導体集積回路機能シミュレーション方法において、前記通信機能シミュレーション工程は前記外部装置シミュレーション工程と通信する通信用プロトコルサーバシミュレーション工程を含むものである。
【００２０】
上記工程によれば、通信用プロトコルの採用により外部入出力シミュレーション工程を簡略化することができ、開発工数の削減をすることができる。
【００２１】
請求項７に係る半導体集積回路機能シミュレーション方法は、請求項６に係る半導体集積回路機能シミュレーション方法において、前記通信機能シミュレーション工程と前記外部装置シミュレーション工程との通信に使用するデータをシリアル転送に代えてパケット化するものである。
【００２２】
上記工程によれば、データ通信を行う際にシリアル転送に代えてパケット化して通信するため、通信機能シミュレーション工程を高速化することができ、また、外部装置シミュレーション工程を簡略化することができるため、開発工数を削減することができる。
【００２３】
請求項８に係る半導体集積回路機能シミュレーション方法は、請求項６に係る半導体集積回路機能シミュレーション方法において、前記外部装置シミュレーション工程はクライアント機能をシミュレーションし、前記通信機能シミュレーション工程は前記通信用プロトコルサーバ機能により前記クライアント機能を用いて遠隔制御可能なものである。
【００２４】
上記構成によれば、汎用の通信ソフトを使用することができ、また、遠隔より汎用ネットワーク回線を介して半導体集積回路機能シミュレーションの制御ができるため、開発工数を削減することができる。
【発明の効果】
【００２５】
本発明によれば、半導体集積回路とその外部入出力装置との通信を高速に実施でき、システムの機能シミュレーションを高速に実現することができる。また、半導体集積回路に実装される機能の検証、設計される半導体集積回路の処理性能などの特徴の解析、半導体集積回路を制御するためのソフトウェアを少ない工数で開発することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態について図面を参照しながら説明する。図１は本発明の一実施の形態に係る半導体集積回路機能シミュレーション装置の構成を示すブロック図である。図１において、１０１は半導体集積回路全体モデル、１１１は外部装置モデル、１２１はシリアルデータである。
【００２７】
さらに、半導体集積回路全体モデル１０１において、１０２は制御モデル、１０３は機能モデル、１０４は通信機能モデル、１０５はＣＰＵモデルであり、通信機能モデル１０４において、１０６はイベント制御部、１０７は通信用プロトコルサーバ機能であり、１０８はそれぞれのモデルを接続するバスである。また、外部装置モデル１１１において、１１２はクライアント機能、１１３はユーザインターフェース機能である。
【００２８】
半導体集積回路全体モデル１０１はＣＰＵモデル１０５および制御モデル１０２により制御されるが、通信機能モデル１０４内の通信プロトコルサーバ機能１０７は他の機能モデルとは独立して動作させることができる。この構成により、外部装置モデル１１１を独立して動作させることができ、高速にシミュレーションを実施することが可能となる。
【００２９】
図２は本実施形態における半導体集積回路全体モデル１０１と外部装置モデル１１１の通信動作を説明する図である。図２において、２０１はパケットデータ、２０２はシリアルデータ、２０３、２０４はシリアルパラレル変換回路である。
【００３０】
半導体集積回路全体モデル１０１が外部装置モデル１１１に送信する場合は、通信機能モデル１０４内の通信プロトコルサーバ機能モデル１０７はパケットデータ２０１を出力し、シリアルパラレル変換回路２０４はパケットデータ２０１をシリアルデータ２０２に変換する。シリアルパラレル変換回路２０３はシリアルデータをパケットデータ２０１に変換する。クライアント機能モデル１１２はパケットデータ２０１を受信し所望の動作を行う。外部装置モデル１１１が半導体集積回路全体モデル１０１に送信する場合は、これと逆の動作を行う。
【００３１】
ここで、通信用プロトコルサーバー機能モデル１０７が出力するパケットデータ２０１をクライアント機能モデル１１２が直接受信する構成とすることで、モデルを評価するサイクルを限定することができ、シミュレーションを高速化することができる。
【００３２】
また、図３は上記通信動作を説明するタイミングチャートであり、シリアル転送を行う場合とパケットデータを転送する場合の比較を示している。図３において、３０１はパケットデータ、３０２はシリアルデータ、３０３はパケットデータの評価タイミング、３０４はシリアルデータの評価タイミングをそれぞれ示すタイミングチャートである。
【００３３】
パケットデータ３０１ひとつ分をシリアルデータ３０２に変換するには８サイクルを必要とする。すなわち、パケットデータ３０１ひとつ分を評価するのにシリアルデータに変換した場合はシリアルデータの評価タイミング３０４が示すとおり８サイクル必要であるが、通信用プロトコルサーバー機能モデル１０７が出力するパケットデータ２０１をクライアント機能モデル１１２が直接受信する構成とすることで、パケットデータの評価タイミング３０３が示すとおり１サイクルで完了させることができる。その結果、８倍のシミュレーションの高速化が期待できる。
【００３４】
次に通信機能モデルの処理フローの一例を説明する。図４はシミュレーション装置の動作中のある時間における通信機能モデルの機能コア部の処理を示すフローチャートである。
【００３５】
図４において、起動シーケンス４０１によって処理を開始し、４０２にて現時点のシミュレーション時間の取得し、４０３にて通信速度の設定を行なう。動作開始タイミング確認４０４において、初期化したネットワークインターフェイスを用いてネットワーク経由通信機能モデルが動作タイミングに到ったかを確認する。動作タイミングに到っていない場合は、通信機能モデルの処理をスキップして終了する。動作タイミングに到達した場合は通信機能モデル基本動作４０５へ移行する。
【００３６】
さらに、図５のフローチャートを用いて通信機能モデル基本動作４０５の詳細な動作を説明する。まず、ソケットの初期設定５００を行ない、ソケットが接続されているかの確認５０１を行なう。接続されていない場合は接続の受付５０２を行い、接続されるのを待つ。
【００３７】
接続が確認された場合は、５０３にて送信状態であるかの確認を行なう。通信機能モデルが送信状態でなく、さらに５０４の判定の結果としてソケットが接続状態である場合は、通信機能モデルは５０５でターミナルからのデータの受信を待つ。ターミナルからの受信データがある場合は５０７で受信データサイズの算出を行なう。
【００３８】
また５０８で送信要求を確認し、送信要求がある場合は５０９で送信データの出力処理を行なう。５１０ではモデル内部の送信レジスタが空かを確認し、空の場合は５１１で送信の許可を終了させ、空でない場合は５１３で送信データのターミナルへの出力を行なう。
【００３９】
５１４ではターミナルからの受信データがあるかを確認し、受信データがある場合は５１５で入力データサイズが受信処理できているかの確認を行なう。処理が完了していれば５１６で受信制御で用いた内部パラメータを初期化する。完了していない場合は受信データの入力処理５１７を行なう。
【００４０】
図４のフローチャートに戻り、通信機能モデル基本動作４０５の実行後、モデル内部の割込み発生の確認４０６を行なう。モデル内部にて割込み要因が確認された場合は割り込みを発生させる。また、割込み発生や送信実行、受信実行に伴い通信機能モデルの内部状態およびそれに関連するフラグ等を更新する。また、割込み発生や送信実行、受信実行に伴いレジスタの値が変化するならば、それも更新する。
【００４１】
従来は、４０２、４０３で設定された現在のサイクルと通信速度によって定められるサイクル毎に通信機能モデルが動作し、データを１ビットずつ転送する機構であった。しかし、本実施形態においては、４０４にて実行サイクルを判定する機構により実行サイクル時以外は４０５以降をスキップするため、高速に動作することができる。例えば、通信機能モデルに実装されたＴＣＰ／ＩＰのプロトコルに従ってデータが８ビット単位で転送される場合に、４０５以降の処理が実行されるのは８サイクルに１回となる。
【００４２】
その結果、図６のようにＣＰＵモデル１０５と２つ以上の機能モデル１０３と通信機能モデル１０４を有する半導体集積回路全体モデル１０１において、通信機能モデル１０４に例えばＴＣＰ／ＩＰなどの通信プロトコルサーバ機能を有する通信プロトコルサーバモデル１０７を持つことにより、半導体集積回路全体モデル１０１と外部入出力装置として使用するパソコンをはじめとするＴＣＰクライアント６０１との間をＴＣＰ／ＩＰプロトコルを用いたネットワーク６１１経由でのアクセスを行うことができ、ｔｅｌｎｅｔなどによりネットワーク接続が可能であれば遠隔地からのリモートアクセスが可能となる。
【００４３】
また、ＴＣＰ／ＩＰという標準的なインターフェースを持つことにより、ＴｅｒａＴｅｒｍ６０２やＣｙｇｗｉｎ６０３、あるいは独自に開発した同様の機能を持つ独自開発ユーザインタフェース６０４などの多種の汎用的なターミナルを使った半導体集積回路機能シミュレーションが可能となる。さらに、従来は接続対象ごとに外部入出力装置モデルのユーザインターフェース環境の開発を行っていたものに対して、本実施形態の構成を取ることにより開発工数を削減することができる。
【産業上の利用可能性】
【００４４】
本発明に係る半導体集積回路機能シミュレーション装置は、半導体集積回路の機能検証及び性能解析や半導体集積回路の制御用ソフトウェア開発などを行うためのシミュレーション装置として有用である。また、半導体集積回路用に限らず、多種の汎用的なターミナルを使って使用者がシミュレーション装置を制御したい場合に使用することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施の形態に係る半導体集積回路機能シミュレーション装置の構成を示すブロック図。
【図２】本発明の半導体集積回路機能シミュレーション装置における半導体集積回路全体モデルと外部装置モデルの通信動作を説明する図。
【図３】本発明の半導体集積回路機能シミュレーション装置における半導体集積回路全体モデルと外部装置モデルの通信動作を説明するタイミングチャート。
【図４】本発明の半導体集積回路機能シミュレーション装置における通信機能モデルの機能コア部の処理を示すフローチャート。
【図５】本発明の半導体集積回路機能シミュレーション装置における通信機能モデルの通信機能モデル基本動作の詳細な動作を説明するフローチャート。
【図６】本発明の一実施の形態に係る半導体集積回路機能シミュレーション装置の具体例を示すブロック図。
【図７】従来の半導体集積回路機能シミュレーション装置の構成例を示すブロック図。
【符号の説明】
【００４６】
１０１  半導体集積回路全体モデル
１０２  制御モデル
１０３  機能モデル
１０４  通信機能モデル
１０５  ＣＰＵモデル
１０６  イベント制御部
１０７  通信プロトコルサーバ機能
１０８  バス
１１１  外部装置モデル
１１２  クライアント機能
１１３  ユーザインターフェース機能
１２１、２０２  シリアルデータ
２０１  パケットデータ
２０３、２０４  シリアルパラレル変換回路
３０１  パケットデータのタイミングチャート
３０２  シリアルデータのタイミングチャート
３０３  パケットデータの評価タイミングを示すタイミングチャート
３０４  シリアルデータの評価タイミングを示すタイミングチャート
４０１〜４０８、５００〜５１７  動作フローのステップ
６０１  ＴＣＰクライアント
６０２  ＴｅｒａＴｅｒｍ
６０３  Ｃｙｇｗｉｎ
６０４  独自開発ユーザインタフェース
６１１  ＴＣＰ／ＩＰ
７０１〜７０４  機能モデル
７０５  配線経路モデル
７０６  時間信号発生部
７０７  時間信号
７１０  全体動作モデル
７１１〜７１４  機能モデルのインターフェース部
【図１】
2007249393.tif 000003
【図２】
2007249393.tif 000004
【図３】
2007249393.tif 000005
【図４】
2007249393.tif 000006
【図５】
2007249393.tif 000007
【図６】
2007249393.tif 000008
【図７】
2007249393.tif 000009