【0001】
【発明の属する技術分野】
本発明は、複数の半導体集積装置から構成される半導体集積装置システムの評価装置および評価方法に関する。
【0002】
【従来の技術】
複数または単体の半導体集積装置をプリント基板上に実装してシステムを実現する場合や、複数の半導体集積装置の機能を一つの半導体集積装置に実装する場合には、評価基盤(ブレッドボード)を用いてシステムのプロトタイプを開発し、事前に機能・性能の評価を行う。これによって、大量生産前に半導体集積装置の性能や不具合を見極めることができ、またソフトウエアの開発も事前に行える。その半導体集積装置の評価基盤を、図11を用いて説明する。
【0003】
図11において、11は複数の半導体集積装置を実装した評価基盤であり、半導体集積装置は実チップやプログラマブルなデバイス(PLD/FPGA)などで実装されている(PLD:Programmable Logic Device/FPGA:Field Programmable Gate Array)。12はシステムの構成要素の一つであるCPU(中央演算処理装置)、13はシステムの構成要素の一つであるメモリ、14はシステムの構成要素の一つである周辺回路であり、それぞれバスに接続されている。15はPC(パーソナルコンピュータ)などを利用してCPU12を外部から制御する外部制御装置である。
【0004】
以上のように構成された従来の半導体集積装置の評価基盤11において、外部制御装置15から制御命令を与えることにより、CPU12からバスに対してアドレス信号、制御信号、データ信号を出力し、メモリ13や周辺回路14に対してデータの書き込みや読み込みを行う。このようにして、評価基盤11上の半導体集積装置を動作させ、システム全体の機能・性能の評価を行う(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平5−108395号公報(第3頁、図1)
【特許文献2】
特開平6−213973号公報(第2−3頁、図1)
【特許文献3】
特開平8−221164号公報(第7頁、図3)
【0006】
【発明が解決しようとする課題】
しかし、上記従来の構成では、システム構成が変わると評価基盤を再開発する必要がある。また、評価したい評価基盤上の構成要素を複数の候補から選択する場合には、それぞれの組み合わせごとに評価基盤を作製するか、または机上で機能・性能を評価して選択するしか方法がない。これらは、評価基盤がシステム構成ごとに専用に開発されているためである。このような事情のため、従来技術の場合には、開発期間が長期化するという課題があった。
【0007】
本発明は、このような事情を鑑みて創作されたものであり、システム構成に変更・修正がある場合でも、評価基盤の作り直しをせずに、フレキシブルに構成することができる半導体集積装置システムの評価方法・装置を提供することを目的としている。
【0008】
【課題を解決するための手段】
上記の課題を解決するために、本発明は次のような手段を講じる。すなわち、本発明による評価装置は、半導体集積装置システムにおいて、その構成要素が機能的なまとまりとなるように複数の半導体集積装置に分割され、前記機能的に分割された複数の半導体集積装置ごとに評価基盤を備えたことを特徴とする。評価基盤の分割については、バスに接続されるブロック単位に分割するのを原則とする。
【0009】
これによれば、機能的なまとまりの半導体集積装置ごとに評価基盤が構成されている。換言すれば、評価基盤のモデルを複数種類用意しておき、システム構成に従ったフレキシブルな組み合わせによって多種多様な評価基盤が簡易に構成される。これによって、半導体集積回路または評価基盤に不具合がある場合に、その修正は必要最小限に抑えることができ、デバイスの追加・変更においても必要な基盤を追加・変更するだけでよく、基盤開発を効率良く進めることができる。また、システム構成に変更・修正がある場合でも、評価基盤の作り直しをせずに、フレキシブルに構成することができる。他方、評価基盤のモデルについては、再利用性向上の効果を奏する。
【0010】
上記において好ましい態様としては、次のような構成がある。
【0011】
すなわち、前記評価基盤の各々がネットワークインターフェースカードを備え、前記各ネットワークインターフェースカードがネットワークを介して共通のネットワークプロトコルに従ってデータ送受信を行う状態に相互に接続されていることが好ましい。
【0012】
また、前記評価基盤の各々において、バスプロトコルとネットワークプロトコルとを相互に変換するプロトコル変換装置を備えていることが好ましい。
【0013】
また、前記バスプロトコルにおけるアドレス信号と前記ネットワークを一意に特定する識別情報とを対応させるアドレス変換テーブルを備えていることが好ましい。
【0014】
また、前記評価基盤の各々において、外部からのアクセス情報を格納する性能評価データメモリを備え、さらに、前記評価基盤それぞれの前記性能評価データメモリからネットワークを介して前記アクセス情報を収集し前記評価基盤全体の性能を評価する性能評価装置を備えていることが好ましい。
【0015】
本発明はまた半導体集積装置システムの評価方法に関するものであり、次のような解決手段をとる。半導体集積装置システムにおいて、その構成要素が機能的なまとまりとなるように複数の半導体集積装置に分割するステップと、前記機能的に分割された複数の半導体集積装置ごとに評価基盤を作製するステップとを含む。
【0016】
上記において好ましい態様は、前記複数の評価基盤は、前記半導体集積装置システムごとに、そのシステム構成に応じてフレキシブルに組み合わせることである。
【0017】
評価基盤のモデルを複数種類用意しておき、システム構成に従ったフレキシブルな組み合わせによって多種多様な評価基盤が構成される。これによって、半導体集積回路または評価基盤に不具合がある場合に、その修正は必要最小限に抑えることができ、デバイスの追加・変更においても必要な基盤を追加・変更するだけでよく、基盤開発を効率良く進めることができる。また、システム構成に変更・修正がある場合でも、評価基盤の作り直しをせずに、フレキシブルに構成することができる。他方、評価基盤のモデルについては、再利用性向上の効果を奏する。
【0018】
上記において好ましい態様としては、次のような構成がある。
【0019】
前記複数の評価基盤をネットワークを介して相互に接続するステップと、前記ネットワークを介して前記評価基盤相互間で送受信を行うステップとを含むことである。
【0020】
また、上記において好ましい態様は、バスプロトコルとネットワークプロトコルとを相互に変換するステップを含むことである。
【0021】
さらに、前記バスプロトコルにおけるアドレス信号と前記ネットワークを一意に特定する識別情報とを対応させるステップを含むことである。
【0022】
また、外部からのアクセス情報を収集して格納するステップと、前記評価基盤それぞれからネットワークを介して前記アクセス情報を収集するステップと、前記収集したアクセス情報に基づいて評価基盤全体の性能を評価するステップとを含むことである。
【0023】
上記構成による作用は次のとおりである。すなわち、ネットワークプロトコルを共通化することで各評価基盤間の接続インターフェースを共通化できる。接続インターフェースとしてシステムごとのバスプロトコルではなく、計算機ネットワークに広く使われているネットワークプロトコル(例えばTCP/IP及びEthernet(登録商標)など)を利用することが可能である。ネットワーク上に評価基盤が接続されているので、距離的に離れた場所に評価基盤が存在していても相互に通信することが可能になり、評価基盤のフレキシビリティ向上の効果を奏する。また、各評価基盤間の接続インターフェースを共通化することによって、再利用性向上の効果をさらに高めることができる。そして、ネットワークプロトコルとバスプロトコルを変換するプロトコル変換装置からの情報を随時記憶しておく性能評価データメモリを備えることにより、ネットワークプロトコルとバスプロトコルの違いを考慮したより精度の高い性能評価が可能になる。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態の半導体集積装置システムの評価方法および装置について、図1から図10を用いて説明する。なお、本発明はこの実施の形態に何等限定されるものではなく、要旨を逸脱しない範囲においては種々なる態様で実施し得る。
【0025】
図1は本発明の実施の形態における半導体集積装置システムの評価装置の一例を示すブロック図である。101はCPUを評価するためのCPU評価基盤(マスター)、102はバスマスターとなってシステム全体を制御するCPU、103は外部からPC(パーソナルコンピュータ)などを利用してCPU102を制御する外部制御装置、104はバスプロトコルとネットワークプロトコルを相互に変換するプロトコル変換装置、105はネットワークに接続するためのインターフェースを行うネットワークインターフェースカード、106は評価基盤間の同期を取るための同期コントロール、107は同期コントロール106に供給するクロックを生成するクロック生成装置、108はプロトコル変換装置104からの性能評価に必要なパケット送受信情報を抽出して格納する性能評価データメモリ、109は各評価基盤間を相互に接続するための集線装置(HUB)である。
【0026】
110はメモリを評価するためのメモリ評価基盤(スレーブ)、111はバススレーブになるメモリ、112はバスプロトコルとネットワークプロトコルを相互に変換するプロトコル変換装置、113はネットワークに接続するためのインターフェースを行うネットワークインターフェースカード、114は外部からの同期クロックをトリガとしてメモリ評価基盤110の同期を取り、クロックを供給するクロックコントロール、115はプロトコル変換装置112からの性能評価に必要なパケット送受信情報を抽出して格納する性能評価データメモリである。
【0027】
116は周辺回路を評価するための周辺回路評価基盤(スレーブ)、117はバススレーブになる周辺回路、118はバスプロトコルとネットワークプロトコルを相互に変換するプロトコル変換装置、119はネットワークに接続するためのインターフェースを行うネットワークインターフェースカード、120は外部からの同期クロックをトリガとして周辺回路評価基盤116の同期を取り、クロックを供給するクロックコントロール、121はプロトコル変換装置118からの性能評価に必要なパケット送受信情報を抽出して格納する性能評価データメモリである。
【0028】
122は各評価基盤101,110,116の性能評価データメモリ108,115,121からの性能評価データとネットワークを流れるパケットからの性能評価データを収集して性能評価を行う性能評価装置である。
【0029】
図2は、図1のプロトコル変換装置104,112及びネットワークインターフェースカード105,113の構成の一例を示すブロック図である。図示しないが、プロトコル変換装置118も同様な構成である。
【0030】
CPU評価基盤101において、プロトコル変換装置104は、CPU102より受け取った信号(アドレス信号、制御信号、データ信号)から、ネットワークプロトコルを介してデータをやり取りするためのパケットを生成する一方、ネットワークより受け取ったパケットからCPU102への信号(アドレス信号、制御信号、データ信号)を生成する。
【0031】
201はCPU102より受け取った信号(アドレス信号、制御信号、データ信号)から必要な信号をTCPパケットのデータ部として出力する一方、ネットワークより受け取ったTCPパケットのデータ部からCPU102への信号(アドレス信号、制御信号、データ信号)を出力するためのアプリケーション層である。
【0032】
202は出力要素としてアプリケーション層201のTCPデータ部にTCPヘッダを付加してTCPパケットを生成する一方、入力要素としてTCPパケットからアプリケーション層201へTCPデータ部を出力するためのトランスポート層である。
【0033】
203は出力要素としてTCPパケットにIPヘッダを付加してIPパケットを送信する一方、入力要素としてIPヘッダを解析してIPデータ部を出力するためのネットワーク層である。
【0034】
ネットワークインターフェースカード105において、204は出力要素としてIPパケットからEthernetヘッダ及びフレーム誤り検出用データFCSを付加してEthernetパケットを生成する一方、入力要素としてEthernetパケットからEthernetデータ部を出力するためのデータリンク層である。205は物理的にネットワークに接続するための物理層(Ethernetケーブル)である。
【0035】
集線装置(HUB)109において、206はCPU評価基盤101と接続するポート、207はメモリ評価基盤110と接続するポートである。
【0036】
メモリ評価基盤110において、プロトコル変換装置112は、メモリ111より受け取った信号(アドレス信号、制御信号、データ信号)から、ネットワークプロトコルを介してデータをやり取りするためのパケットを生成する一方、ネットワークより受け取ったパケットからメモリ111への信号(アドレス信号、制御信号、データ信号)を生成する。
【0037】
208はメモリ111より受け取った信号(アドレス信号、制御信号、データ信号)から必要な信号をTCPパケットのデータ部として出力する一方、ネットワークより受け取ったTCPパケットのデータ部からメモリ111への信号(アドレス信号、制御信号、データ信号)を出力するためのアプリケーション層である。
【0038】
209は出力要素としてアプリケーション層208のTCPデータ部にTCPヘッダを付加してTCPパケットを生成する一方、入力要素としてTCPパケットからアプリケーション層208へTCPデータ部を出力するためのトランスポート層である。
【0039】
210は出力要素としてTCPパケットにIPヘッダを付加してIPパケットを送信する一方、入力要素としてIPヘッダを解析してIPデータ部を出力するためのネットワーク層である。
【0040】
ネットワークインターフェースカード113において、211は出力要素としてIPパケットからEthernetヘッダ及びフレーム誤り検出用データFCSを付加してEthernetパケットを生成する一方、入力要素としてEthernetパケットからEthernetデータ部を出力するためのデータリンク層である。212は物理的にネットワークに接続するための物理層(Ethernetケーブル)である。
【0041】
以上のように構成された半導体集積装置システムの評価装置について、その動作の一例を図3から図10を用いて説明する。
【0042】
図3はバスマスターであるCPU102からバススレーブであるメモリ111へのアクセス(読み込み)を、ネットワークを介して行う場合の動作の一例を示すフローチャートである。
【0043】
まず、ステップ301において、外部制御装置103は、CPU102がメモリ111に対して読み込み命令を与えるように制御し、CPU102はアドレス信号、制御信号を出力する。
【0044】
ステップ302において、プロトコル変換装置104は、CPU102からの信号に基づいてTCPパケット及びIPパケットを生成する。
【0045】
ステップ303において、ネットワークインターフェースカード105は、IPパケットからEthernetパケットを生成し、Ethernetプロトコルに従ってパケット送信を行う。
【0046】
ステップ304において、集線装置(HUB)109は、到着したEthernetパケットをネットワーク上に送信する。
【0047】
ステップ305において、メモリ評価基盤110のネットワークインターフェースカード113は、到着したEthernetパケットのうち、自分宛のEthernetパケットのみ受信する。
【0048】
ステップ306において、メモリ評価基盤110のプロトコル変換装置112は、EthernetパケットからIPヘッダを解析し、自分宛のIPアドレスパケットのみ受信し、TCPヘッダを解析し、必要に応じて再送要求及び受信パケットの並び替えを行い、TCPパケットを抽出する。
【0049】
ステップ307において、プロトコル変換装置112は、TCPパケットからメモリ111に出力する信号(アドレス信号、制御信号)を抽出してメモリ111に出力する。
【0050】
ステップ308において、メモリ111は、アドレス信号及び制御信号に従ってメモリデータをデータ信号に出力する。
【0051】
ステップ309において、プロトコル変換装置112は、メモリ111からの信号(データ信号)からTCPパケット及びIPパケットを生成する。
【0052】
ステップ310において、ネットワークインターフェースカード113は、IPパケットからEthernetパケットを生成し、Ethernetプロトコルに従ってパケット送信を行う。
【0053】
ステップ311において、集線装置(HUB)109は、到着したEthernetパケットをネットワーク上に送信する。
【0054】
ステップ312において、CPU評価基盤101のネットワークインターフェースカード105は、到着したEthernetパケットのうち、自分宛のEthernetパケットのみ受信する。
【0055】
ステップ313において、CPU評価基盤101のプロトコル変換装置104は、EthernetパケットからIPヘッダを解析し、自分宛のIPアドレスパケットのみ受信し、TCPヘッダを解析し、必要に応じて再送要求及び受信パケットの並び替えを行い、TCPパケットを抽出する。
【0056】
ステップ314において、プロトコル変換装置104は、TCPパケットからCPU102に出力する信号を抽出し、データ信号に出力する。
【0057】
ステップ315において、CPU102はデータを読み込む。
【0058】
図4は、CPU102より受け取った信号データからTCPパケット、IPパケット及びEthernetパケットを生成する動作の一例を示すフローチャートである。
【0059】
まず、ステップ401において、CPU102からアドレス信号、制御信号、データ信号を出力する。
【0060】
ステップ402において、プロトコル変換装置104のアプリケーション層201は、制御信号が読み込みと書き込みのいずれを示しているかを調べる。
【0061】
読み込み(YES)であれば、ステップ403に進んで、アドレス信号と制御信号をTCPデータ部にセットする。
【0062】
書き込み(NO)であれば、ステップ404に進んで、アドレス信号、制御信号及びデータ信号をTCPデータ部にセットする。
【0063】
ステップ405において、トランスポート層202は、TCPデータ部にTCPヘッダを付加してTCPパケットを生成する。
【0064】
ステップ406において、ネットワーク層203は、アドレス信号/IPアドレス変換テーブルを参照して、CPU102のアドレス信号から対応するIPアドレスへ変換する。
【0065】
ステップ407において、IPヘッダの送信先IPアドレスに、ステップ406で変換したIPアドレスを指定する。
【0066】
ステップ408において、IPヘッダの送信元アドレスにCPU評価基盤101のIPアドレスを指定する。
【0067】
ステップ409において、送信先IPアドレスおよび送信元IPアドレスを含んだIPヘッダをTCPパケットに付加してIPパケットを生成する。
【0068】
ステップ410において、IPパケットにEthernetヘッダとフレーム誤り検出用データFCSを付加してEthernetパケットを生成する。
【0069】
図5は、図4のフローチャートに示す処理によって生成されるパケット構造の一例を示す図である。
【0070】
マスター評価基盤(CPU評価基盤101)とスレーブ評価基盤(メモリ評価基盤110、周辺回路評価基盤116)でデータ部の構造は異なり、また読み込み時及び書き込み時によっても構造が異なる。マスター評価基盤のマスターからの読み込み時にはアドレス信号及び制御信号が格納される。マスターからの書き込み時にはアドレス信号、制御信号及びデータ信号が格納される。スレーブ評価基盤では、マスターからの読み込み時にはデータ信号のみ格納され、マスターからの書き込み時にはデータ部はなく、ヘッダ情報のみとなる。
【0071】
図6は、図4に示すフローチャートのステップ406おけるアドレス信号/IPアドレス変換テーブルの一例を示す図である。
【0072】
図7は、各評価基盤間の同期方法及びクロック供給方法の動作の一例を示すフローチャートである。
【0073】
まず、ステップ701において、同期コントロール106からCPU102へクロックを供給する。
【0074】
ステップ702において、CPU102が信号を出力し、プロトコル変換装置104及びネットワークインターフェースカード105によってパケットを生成する。
【0075】
ステップ703において、プロトコル変換装置104がパケット生成完了を同期コントロール106に通知し、CPU102へのクロック供給を停止する。
【0076】
ステップ704において、ネットワークを介してパケットの送受信を行う。
【0077】
ステップ705において、プロトコル変換装置104にてパケットの送受信が正常に完了したか否かを確認し、パケットの送受信が正常に完了していなければ(NO)、再度確認する。
【0078】
パケットの送受信が正常に完了すると、ステップ706において、同期コントロール106から同期クロックを出力する。
【0079】
ステップ707において、スレーブ評価基盤であるメモリ評価基盤110または周辺回路評価基盤116に実装されているクロックコントロール114,120において同期クロックをトリガとして、1同期クロック分に相当する評価基盤ごとのクロック数分だけクロックを供給する。
【0080】
ステップ708において、CPU102のすべての命令の実行が完了するまでステップ701に戻り、処理を繰り返す。
【0081】
同期クロックの供給方法として、図1に示した構成以外にも、Ethernetパケットのデータ部にクロック情報を付加する構成や、Ethernetケーブルに未使用の高周波帯域に変調して伝送する構成でも実現可能である。これによって、別途物理的に同期クロック線を配線する必要がなくなり、評価基盤構成のフレキシビリティが向上する。
【0082】
図8は、性能評価方法の動作の一例を示すフローチャートである。
【0083】
ステップ801において、各プロトコル変換装置104,112,118のそれぞれは、パケット情報及びCPU102からのアクセス情報を受け取り、それぞれ対応する性能評価データメモリ108,115,121に格納する。
【0084】
ステップ802において、性能評価装置122は、ネットワーク上の全パケットを監視し、パケット情報を格納する。
【0085】
ステップ803において、各評価基盤上の性能評価データメモリ108,115,121にネットワークを介してアクセスし、データをパケットとして受信、収集する。
【0086】
ステップ804において、IPアドレスごとのパケット情報から各評価基盤に関係するパケットのみを取り出し、バスの利用率及びデータ転送速度などを動的及び静的に解析する。
【0087】
ステップ805において、評価結果を表示する。
【0088】
図9は性能評価データメモリ108,115,121に格納されるプロトコル変換装置104,112,118から得られる情報の一例を示す図である。各評価基盤にパケット再送回数、パケット衝突回数、有効パケット送信回数、有効パケット受信回数、有効パケット送信サイズ合計、有効パケット受信サイズ合計などの情報を格納する。
【0089】
図10は性能評価装置122によって評価可能な評価結果の一例を示す図である。各評価基盤の時間軸におけるアクセス状態、バス占有率などが評価可能である。
【0090】
【発明の効果】
以上のように本発明によれば、次のような効果を奏する。
【0091】
機能的なまとまりごとに評価基盤を作製することによって、評価基盤の再利用性向上の効果を奏する。
【0092】
さらに、これら評価基盤をシステム構成に従ってフレキシブルに構成することによって、評価基盤や半導体集積回路の不具合による評価基盤の修正を最小限に抑えることができ、デバイスの追加・変更についても、必要な基盤を追加・変更するだけでよく、基盤開発の効率化の効果を奏する。また、システム構成に変更・修正がある場合でも、評価基盤の作り直しをせずに、フレキシブルに構成することができる。
【0093】
評価基盤の分割方法としては、バスに接続されるブロック単位に行い、各評価基盤間の接続インターフェースを共通化することによって、さらに再利用性向上の効果を奏する。
【0094】
また、評価基盤間の接続インターフェースとして、システムごとのバスプロトコルではなく、計算機ネットワークに広く使われているネットワークプロトコル(TCP/IP及びEthernetなど)を利用することによって、ネットワーク上に評価基盤が接続されていれば、距離的に離れた場所に評価基盤が存在していても相互に通信することが可能になり、評価基盤のフレキシビリティ向上の効果を奏する。
【0095】
また、ネットワーク上に性能評価装置を備え、ネットワークプロトコルとバスプロトコルを変換するプロトコル変換装置からの情報を随時記憶しておく性能評価データメモリを備えることにより、ネットワークプロトコルとバスプロトコルの違いを考慮した、より精度の高い性能評価が可能になるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態における半導体集積装置システムの評価装置の一例を示すブロック図
【図2】実施の形態におけるプロトコル変換装置及びネットワークインターフェースカードの構成の一例を示すブロック図
【図3】実施の形態における半導体集積装置システムの評価方法の動作の一例を示すフローチャート
【図4】実施の形態におけるパケット生成の動作の一例を示すフローチャート
【図5】実施の形態におけるパケット構造の一例を示す図
【図6】実施の形態におけるアドレス信号/IPアドレス変換テーブルの一例を示す図
【図7】実施の形態における同期方法及びクロック供給方法の動作の一例を示すフローチャート
【図8】実施の形態における性能評価方法の動作の一例を示すフローチャート
【図9】実施の形態における性能評価データメモリが格納する情報の一例を示す図
【図10】実施の形態における性能評価装置の評価結果の一例を示す図
【図11】従来の半導体集積装置システムの評価装置を示すブロック図
【符号の説明】
101 CPU評価基盤
102 CPU
103 外部制御装置
104,112,118 プロトコル変換装置
105,113,119 ネットワークインターフェースカード
106 同期コントロール
107 クロック生成装置
108,115,121 性能評価データメモリ
109 集線装置(HUB)
110 メモリ評価基盤
111 メモリ
114,120 クロックコントロール
116 周辺回路評価基盤
117 周辺回路
122 性能評価装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an evaluation device and an evaluation method for a semiconductor integrated device system including a plurality of semiconductor integrated devices.
[0002]
[Prior art]
When a system is implemented by mounting a plurality of or single semiconductor integrated devices on a printed circuit board, or when the functions of a plurality of semiconductor integrated devices are mounted on a single semiconductor integrated device, an evaluation board (breadboard) is used. To develop system prototypes and evaluate functions and performance in advance. Thus, the performance and defects of the semiconductor integrated device can be determined before mass production, and software can be developed in advance. The evaluation base of the semiconductor integrated device will be described with reference to FIG.
[0003]
In FIG. 11, reference numeral 11 denotes an evaluation base on which a plurality of semiconductor integrated devices are mounted. The semiconductor integrated devices are mounted on an actual chip, a programmable device (PLD / FPGA), or the like (PLD: Programmable Logic Device / FPGA: Field). Programmable Gate Array). 12 is a CPU (Central Processing Unit) which is one of the components of the system, 13 is a memory which is one of the components of the system, and 14 is a peripheral circuit which is one of the components of the system. It is connected to the. Reference numeral 15 denotes an external control device that controls the CPU 12 from outside using a PC (personal computer) or the like.
[0004]
In the evaluation board 11 of the conventional semiconductor integrated device configured as described above, an address signal, a control signal, and a data signal are output from the CPU 12 to the bus by giving a control command from the external control device 15 to the memory 13. And reads and writes data to and from the peripheral circuit 14. In this way, the semiconductor integrated device on the evaluation board 11 is operated to evaluate the function and performance of the entire system (for example, see Patent Document 1).
[0005]
[Patent Document 1]
JP-A-5-108395 (page 3, FIG. 1)
[Patent Document 2]
JP-A-6-213973 (page 2-3, FIG. 1)
[Patent Document 3]
JP-A-8-221164 (page 7, FIG. 3)
[0006]
[Problems to be solved by the invention]
However, in the above-described conventional configuration, it is necessary to redevelop the evaluation base when the system configuration changes. In addition, when selecting a component on the evaluation base to be evaluated from a plurality of candidates, there is no other way than to create an evaluation base for each combination or to evaluate and select a function / performance on a desk. These are because the evaluation base is developed exclusively for each system configuration. Due to such circumstances, in the case of the conventional technology, there is a problem that the development period is lengthened.
[0007]
The present invention has been made in view of such circumstances, and even when there is a change or correction in the system configuration, a semiconductor integrated device system that can be flexibly configured without recreating an evaluation base. It is intended to provide an evaluation method and apparatus.
[0008]
[Means for Solving the Problems]
In order to solve the above problems, the present invention takes the following measures. That is, in the semiconductor integrated device system, the evaluation device according to the present invention is divided into a plurality of semiconductor integrated devices so that its components are functionally united, and for each of the plurality of functionally divided semiconductor integrated devices, It is characterized by having an evaluation base. In principle, the evaluation base is divided into blocks connected to the bus.
[0009]
According to this, an evaluation base is configured for each functionally integrated semiconductor integrated device. In other words, a plurality of types of evaluation base models are prepared, and various evaluation bases can be easily configured by flexible combinations according to the system configuration. As a result, if there is a defect in the semiconductor integrated circuit or the evaluation board, the correction can be minimized, and when adding or changing devices, it is only necessary to add or change the necessary board. It can proceed efficiently. Further, even when there is a change or correction in the system configuration, the system can be flexibly configured without rebuilding the evaluation base. On the other hand, the evaluation-based model has an effect of improving reusability.
[0010]
As a preferred embodiment in the above, there is the following configuration.
[0011]
That is, it is preferable that each of the evaluation boards includes a network interface card, and the respective network interface cards are mutually connected in a state of transmitting and receiving data according to a common network protocol via a network.
[0012]
Further, it is preferable that each of the evaluation bases includes a protocol conversion device that converts a bus protocol and a network protocol into and out of each other.
[0013]
Preferably, an address conversion table is provided for associating an address signal in the bus protocol with identification information for uniquely specifying the network.
[0014]
In each of the evaluation bases, a performance evaluation data memory for storing access information from the outside is provided, and further, the access information is collected from the performance evaluation data memory of each of the evaluation bases via a network, and the evaluation base is collected. It is preferable to have a performance evaluation device for evaluating the overall performance.
[0015]
The present invention also relates to a method for evaluating a semiconductor integrated device system, and adopts the following solution. In the semiconductor integrated device system, a step of dividing the components into a plurality of semiconductor integrated devices so that the components are functionally united, and a step of forming an evaluation base for each of the plurality of functionally divided semiconductor integrated devices. including.
[0016]
In a preferred aspect of the above, the plurality of evaluation boards are flexibly combined for each of the semiconductor integrated device systems according to the system configuration.
[0017]
A plurality of types of evaluation base models are prepared, and various evaluation bases are configured by flexible combinations according to the system configuration. As a result, if there is a defect in the semiconductor integrated circuit or the evaluation board, the correction can be minimized, and when adding or changing devices, it is only necessary to add or change the necessary board. It can proceed efficiently. Further, even when there is a change or correction in the system configuration, the system can be flexibly configured without rebuilding the evaluation base. On the other hand, the evaluation-based model has an effect of improving reusability.
[0018]
As a preferred embodiment in the above, there is the following configuration.
[0019]
The method includes a step of connecting the plurality of evaluation boards to each other via a network, and a step of transmitting and receiving between the evaluation boards via the network.
[0020]
Further, a preferable mode in the above description includes a step of mutually converting a bus protocol and a network protocol.
[0021]
Further, the method includes a step of associating an address signal in the bus protocol with identification information for uniquely specifying the network.
[0022]
Collecting and storing external access information; collecting the access information from each of the evaluation bases via a network; and evaluating the performance of the entire evaluation base based on the collected access information. Steps.
[0023]
The operation of the above configuration is as follows. In other words, by sharing the network protocol, the connection interface between the evaluation boards can be shared. Instead of a bus protocol for each system, a network protocol (for example, TCP / IP and Ethernet (registered trademark)) widely used in a computer network can be used as the connection interface. Since the evaluation base is connected to the network, it is possible to communicate with each other even if the evaluation base exists in a place distant from each other, thereby achieving an effect of improving the flexibility of the evaluation base. In addition, by using a common connection interface between the evaluation boards, the effect of improving reusability can be further enhanced. In addition, by providing a performance evaluation data memory that stores information from the protocol converter that converts the network protocol and the bus protocol as needed, more accurate performance evaluation that takes into account the differences between the network protocol and the bus protocol becomes possible. Become.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a method and an apparatus for evaluating a semiconductor integrated device system according to an embodiment of the present invention will be described with reference to FIGS. It should be noted that the present invention is not limited to this embodiment at all, and can be implemented in various modes without departing from the gist.
[0025]
FIG. 1 is a block diagram showing an example of an evaluation device for a semiconductor integrated device system according to an embodiment of the present invention. 101 is a CPU evaluation base (master) for evaluating the CPU, 102 is a CPU that serves as a bus master and controls the entire system, and 103 is an external control device that controls the CPU 102 using a PC (personal computer) from the outside. , 104 is a protocol conversion device for converting between a bus protocol and a network protocol, 105 is a network interface card that performs an interface for connecting to a network, 106 is a synchronization control for synchronizing between evaluation boards, and 107 is a synchronization control A clock generation device for generating a clock to be supplied to 106, a performance evaluation data memory 108 for extracting and storing packet transmission / reception information necessary for performance evaluation from the protocol conversion device 104, and a 109 for interconnecting the respective evaluation boards It is an eye of the concentrator (HUB).
[0026]
Reference numeral 110 denotes a memory evaluation base (slave) for evaluating a memory, 111 denotes a memory to be a bus slave, 112 denotes a protocol conversion device that converts a bus protocol and a network protocol between each other, and 113 denotes an interface for connecting to a network. A network interface card 114 is used to synchronize the memory evaluation board 110 with an external synchronization clock as a trigger, and clock control for supplying a clock. 115 is used to extract packet transmission / reception information necessary for performance evaluation from the protocol converter 112. This is a performance evaluation data memory for storing.
[0027]
116 is a peripheral circuit evaluation base (slave) for evaluating peripheral circuits, 117 is a peripheral circuit that becomes a bus slave, 118 is a protocol converter that converts between a bus protocol and a network protocol, and 119 is a device that connects to a network. A network interface card for performing an interface; 120, a clock control for synchronizing the peripheral circuit evaluation board 116 with an external synchronization clock as a trigger and supplying a clock; 121, packet transmission / reception information necessary for performance evaluation from the protocol converter 118 Is a performance evaluation data memory for extracting and storing.
[0028]
Reference numeral 122 denotes a performance evaluation device that collects performance evaluation data from the performance evaluation data memories 108, 115, and 121 of the evaluation boards 101, 110, and 116 and performance evaluation data from packets flowing through the network, and performs a performance evaluation.
[0029]
FIG. 2 is a block diagram showing an example of the configuration of the protocol converters 104 and 112 and the network interface cards 105 and 113 of FIG. Although not shown, the protocol converter 118 has the same configuration.
[0030]
In the CPU evaluation board 101, the protocol conversion device 104 generates a packet for exchanging data via a network protocol from a signal (address signal, control signal, data signal) received from the CPU 102, and receives a packet from the network. A signal (address signal, control signal, data signal) to the CPU 102 is generated from the packet.
[0031]
Reference numeral 201 denotes a signal output from a signal (address signal, control signal, data signal) received from the CPU 102 as a data portion of a TCP packet, while a signal (address signal, An application layer for outputting control signals and data signals.
[0032]
Reference numeral 202 denotes a transport layer for generating a TCP packet by adding a TCP header to the TCP data part of the application layer 201 as an output element, and outputting the TCP data part from the TCP packet to the application layer 201 as an input element.
[0033]
Reference numeral 203 denotes a network layer for transmitting an IP packet by adding an IP header to a TCP packet as an output element and analyzing the IP header as an input element and outputting an IP data part.
[0034]
In the network interface card 105, a data link 204 for generating an Ethernet packet by adding an Ethernet header and frame error detection data FCS from an IP packet as an output element, and outputting an Ethernet data portion from the Ethernet packet as an input element Layer. Reference numeral 205 denotes a physical layer (Ethernet cable) for physically connecting to a network.
[0035]
In the hub unit (HUB) 109, 206 is a port connected to the CPU evaluation board 101, and 207 is a port connected to the memory evaluation board 110.
[0036]
In the memory evaluation board 110, the protocol conversion device 112 generates a packet for exchanging data via a network protocol from a signal (address signal, control signal, data signal) received from the memory 111, and receives a packet from the network. A signal (address signal, control signal, data signal) to the memory 111 is generated from the received packet.
[0037]
A signal 208 outputs a necessary signal from a signal (address signal, control signal, data signal) received from the memory 111 as a data part of the TCP packet, and a signal (address) from the data part of the TCP packet received from the network to the memory 111. Signal, control signal, and data signal).
[0038]
Reference numeral 209 denotes a transport layer for generating a TCP packet by adding a TCP header to the TCP data part of the application layer 208 as an output element, and outputting the TCP data part from the TCP packet to the application layer 208 as an input element.
[0039]
Reference numeral 210 denotes a network layer for transmitting an IP packet by adding an IP header to a TCP packet as an output element and analyzing the IP header as an input element and outputting an IP data portion.
[0040]
In the network interface card 113, a data link 211 for outputting an Ethernet data portion from an Ethernet packet as an input element while generating an Ethernet packet by adding an Ethernet header and frame error detection data FCS from an IP packet as an output element. Layer. Reference numeral 212 denotes a physical layer (Ethernet cable) for physically connecting to a network.
[0041]
An example of the operation of the evaluation apparatus for a semiconductor integrated device system configured as described above will be described with reference to FIGS.
[0042]
FIG. 3 is a flowchart showing an example of an operation when the CPU 102 as a bus master accesses (reads) the memory 111 as a bus slave via a network.
[0043]
First, in step 301, the external control device 103 controls the CPU 102 to give a read command to the memory 111, and the CPU 102 outputs an address signal and a control signal.
[0044]
In step 302, the protocol conversion device 104 generates a TCP packet and an IP packet based on a signal from the CPU 102.
[0045]
In step 303, the network interface card 105 generates an Ethernet packet from the IP packet, and performs packet transmission according to the Ethernet protocol.
[0046]
In step 304, the hub (HUB) 109 transmits the arrived Ethernet packet to the network.
[0047]
In step 305, the network interface card 113 of the memory evaluation board 110 receives only the Ethernet packet addressed to itself from the arrived Ethernet packets.
[0048]
In step 306, the protocol conversion device 112 of the memory evaluation base 110 analyzes the IP header from the Ethernet packet, receives only the IP address packet addressed to itself, analyzes the TCP header, and if necessary, determines the retransmission request and the received packet. The packets are rearranged and TCP packets are extracted.
[0049]
In step 307, the protocol conversion device 112 extracts signals (address signals and control signals) to be output to the memory 111 from the TCP packet, and outputs the signals to the memory 111.
[0050]
In step 308, the memory 111 outputs memory data to a data signal according to the address signal and the control signal.
[0051]
In step 309, the protocol conversion device 112 generates a TCP packet and an IP packet from the signal (data signal) from the memory 111.
[0052]
In step 310, the network interface card 113 generates an Ethernet packet from the IP packet, and performs packet transmission according to the Ethernet protocol.
[0053]
In step 311, the concentrator (HUB) 109 transmits the arrived Ethernet packet to the network.
[0054]
In step 312, the network interface card 105 of the CPU evaluation board 101 receives only the Ethernet packet addressed to itself among the arrived Ethernet packets.
[0055]
In step 313, the protocol conversion device 104 of the CPU evaluation base 101 analyzes the IP header from the Ethernet packet, receives only the IP address packet addressed to itself, analyzes the TCP header, and performs a retransmission request and a received packet The packets are rearranged and TCP packets are extracted.
[0056]
In step 314, the protocol conversion device 104 extracts a signal to be output to the CPU 102 from the TCP packet, and outputs the extracted signal as a data signal.
[0057]
At step 315, the CPU 102 reads the data.
[0058]
FIG. 4 is a flowchart illustrating an example of an operation of generating a TCP packet, an IP packet, and an Ethernet packet from the signal data received from the CPU 102.
[0059]
First, in step 401, the CPU 102 outputs an address signal, a control signal, and a data signal.
[0060]
In step 402, the application layer 201 of the protocol converter 104 checks whether the control signal indicates reading or writing.
[0061]
If it is read (YES), the flow advances to step 403 to set an address signal and a control signal in the TCP data portion.
[0062]
If writing (NO), the process proceeds to step 404, where an address signal, a control signal, and a data signal are set in the TCP data section.
[0063]
In step 405, the transport layer 202 adds a TCP header to the TCP data part to generate a TCP packet.
[0064]
In step 406, the network layer 203 converts the address signal of the CPU 102 to a corresponding IP address with reference to the address signal / IP address conversion table.
[0065]
In step 407, the IP address converted in step 406 is specified as the destination IP address in the IP header.
[0066]
In step 408, the IP address of the CPU evaluation board 101 is designated as the source address of the IP header.
[0067]
In step 409, an IP packet including a destination IP address and a source IP address is added to the TCP packet to generate an IP packet.
[0068]
In step 410, an Ethernet packet is generated by adding an Ethernet header and frame error detection data FCS to the IP packet.
[0069]
FIG. 5 is a diagram showing an example of a packet structure generated by the processing shown in the flowchart of FIG.
[0070]
The structure of the data part differs between the master evaluation base (CPU evaluation base 101) and the slave evaluation base (memory evaluation base 110, peripheral circuit evaluation base 116), and also differs depending on the time of reading and writing. At the time of reading from the master of the master evaluation base, the address signal and the control signal are stored. At the time of writing from the master, an address signal, a control signal, and a data signal are stored. In the slave evaluation board, only the data signal is stored at the time of reading from the master, and there is no data portion at the time of writing from the master, and only the header information.
[0071]
FIG. 6 is a diagram showing an example of the address signal / IP address conversion table in step 406 of the flowchart shown in FIG.
[0072]
FIG. 7 is a flowchart illustrating an example of the operation of the synchronization method and the clock supply method between the evaluation boards.
[0073]
First, in step 701, a clock is supplied from the synchronization control 106 to the CPU 102.
[0074]
In step 702, the CPU 102 outputs a signal, and the protocol converter 104 and the network interface card 105 generate a packet.
[0075]
In step 703, the protocol conversion device 104 notifies the synchronization control 106 of the completion of the packet generation, and stops the clock supply to the CPU 102.
[0076]
In step 704, packets are transmitted and received via the network.
[0077]
In step 705, it is confirmed whether or not the packet transmission / reception has been normally completed by the protocol conversion device 104. If the packet transmission / reception has not been normally completed (NO), the confirmation is made again.
[0078]
When the transmission and reception of the packet are completed normally, a synchronization clock is output from the synchronization control 106 in step 706.
[0079]
In step 707, the clock control 114 or 120 mounted on the memory evaluation board 110 or the peripheral circuit evaluation board 116, which is the slave evaluation board, uses the synchronous clock as a trigger and sets the number of clocks for each evaluation board equivalent to one synchronous clock. Only supply the clock.
[0080]
In step 708, the process returns to step 701 until the execution of all instructions of the CPU 102 is completed, and the process is repeated.
[0081]
As a method of supplying the synchronous clock, in addition to the configuration shown in FIG. 1, a configuration in which clock information is added to a data portion of an Ethernet packet, or a configuration in which modulation is performed on a high-frequency band not used for an Ethernet cable and transmitted. is there. This eliminates the need for physically arranging a synchronous clock line separately, and improves the flexibility of the evaluation base configuration.
[0082]
FIG. 8 is a flowchart illustrating an example of the operation of the performance evaluation method.
[0083]
In step 801, each of the protocol converters 104, 112, and 118 receives the packet information and the access information from the CPU 102, and stores them in the corresponding performance evaluation data memories 108, 115, and 121, respectively.
[0084]
In step 802, the performance evaluation device 122 monitors all packets on the network and stores the packet information.
[0085]
In step 803, the performance evaluation data memories 108, 115, and 121 on each evaluation base are accessed via a network, and data is received and collected as packets.
[0086]
In step 804, only packets related to each evaluation base are extracted from the packet information for each IP address, and the bus utilization and the data transfer speed are dynamically and statically analyzed.
[0087]
In step 805, the evaluation result is displayed.
[0088]
FIG. 9 is a diagram showing an example of information obtained from the protocol converters 104, 112, and 118 stored in the performance evaluation data memories 108, 115, and 121. Information such as the number of packet retransmissions, the number of packet collisions, the number of valid packet transmissions, the number of valid packet receptions, the total valid packet transmission size, and the total valid packet reception size are stored in each evaluation base.
[0089]
FIG. 10 is a diagram illustrating an example of an evaluation result that can be evaluated by the performance evaluation device 122. The access state, bus occupancy, and the like on the time axis of each evaluation base can be evaluated.
[0090]
【The invention's effect】
As described above, the present invention has the following effects.
[0091]
By creating an evaluation base for each functional unit, the reusability of the evaluation base is improved.
[0092]
Furthermore, by flexibly configuring these evaluation boards in accordance with the system configuration, it is possible to minimize the modification of the evaluation board due to failures in the evaluation board and semiconductor integrated circuits. It only needs to be added or changed, which has the effect of improving the efficiency of infrastructure development. Further, even when there is a change or correction in the system configuration, the system can be flexibly configured without rebuilding the evaluation base.
[0093]
The method of dividing the evaluation board is performed in units of blocks connected to the bus, and by sharing the connection interface between the evaluation boards, the effect of further improving the reusability is exhibited.
[0094]
In addition, as a connection interface between the evaluation boards, a network protocol (such as TCP / IP and Ethernet) widely used in a computer network is used instead of a bus protocol for each system, so that the evaluation board is connected to the network. Therefore, even if the evaluation base exists in a place distant from each other, it is possible to communicate with each other, and the flexibility of the evaluation base is improved.
[0095]
In addition, a performance evaluation device is provided on the network, and a performance evaluation data memory for storing information from the protocol conversion device that converts the network protocol and the bus protocol at any time is provided. This has the effect of enabling more accurate performance evaluation.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of an evaluation device for a semiconductor integrated device system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a configuration of a protocol conversion device and a network interface card according to the embodiment;
FIG. 3 is a flowchart showing an example of the operation of the evaluation method of the semiconductor integrated device system according to the embodiment;
FIG. 4 is a flowchart illustrating an example of a packet generation operation according to the embodiment;
FIG. 5 is a diagram illustrating an example of a packet structure according to the embodiment;
FIG. 6 is a diagram showing an example of an address signal / IP address conversion table according to the embodiment;
FIG. 7 is a flowchart illustrating an example of an operation of a synchronization method and a clock supply method according to the embodiment;
FIG. 8 is a flowchart illustrating an example of the operation of the performance evaluation method according to the embodiment;
FIG. 9 illustrates an example of information stored in a performance evaluation data memory according to the embodiment.
FIG. 10 is a diagram showing an example of an evaluation result of the performance evaluation device in the embodiment.
FIG. 11 is a block diagram showing a conventional evaluation device for a semiconductor integrated device system.
[Explanation of symbols]
101 CPU evaluation base
102 CPU
103 External control device
104, 112, 118 protocol converter
105, 113, 119 Network interface card
106 Sync Control
107 Clock generator
108, 115, 121 Performance evaluation data memory
109 Concentrator (HUB)
110 Memory Evaluation Platform
111 memory
114,120 clock control
116 Peripheral Circuit Evaluation Platform
117 Peripheral circuit
122 Performance evaluation device