(57)【要約】【課題】システムＬＳＩの設計作業を効率的に行うと共に信頼性を向上させること。【解決手段】ＪＴＡＧ対応のシステムＬＳＩの設計を支援するシステムＬＳＩ設計支援装置であって、試験対象のシステムＬＳＩ１３０に対する試験内容を記述した試験ソースプログラムから前記試験対象のシステムＬＳＩ１３０で実行可能な試験機械語プログラムを生成するコード生成部１０１と、システムＬＳＩのＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すＣＰＵアーキテクチャＤＢ１１４と、コード生成部１０１によって生成された試験プログラム機械語ファイル１１２と、ＣＰＵアーキテクチャＤＢ１１４のＣＰＵアーキテクチャデータとを合成して、ＪＴＡＧコードで記述された試験項目データファイル１１４を生成する合成部１０２とを備えた。【選択図】      図１
2004280588.tif 000002
【特許請求の範囲】
【請求項１】
バウンダリ・スキャン対応のシステムＬＳＩの設計を支援するシステムＬＳＩ設計支援装置であって、
試験対象の前記システムＬＳＩに対する試験内容を記述した試験ソースプログラムから前記試験対象のシステムＬＳＩで実行可能な試験機械語プログラムを生成するコード生成手段と、
システムＬＳＩのＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すアーキテクチャ情報を記憶するアーキテクチャ情報記憶手段と、
前記コード生成手段によって生成された試験機械語プログラムと、前記アーキテクチャ情報とを合成して、バウンダリ・スキャン試験用のコードで記述された試験項目情報を生成する合成手段と、
を備えたことを特徴とするシステムＬＳＩ設計支援装置。
【請求項２】
前記合成手段によって生成された試験項目情報を、前記システムＬＳＩの回路動作をシミュレートするシミュレータで解釈可能なシミュレーション情報に変換する変換手段をさらに備えたことを特徴とする請求項１に記載のシステムＬＳＩ設計支援装置。
【請求項３】
前記アーキテクチャ情報記憶手段は、前記ＣＰＵに対する操作ごとに信号情報を記述したデバッグ要素と、前記システムＬＳＩに内蔵される信号制御部の前記信号情報に対する状態遷移を示す状態遷移情報とを、ＣＰＵごとに有するアーキテクチャ情報を記憶するものであり、
前記合成手段は、前記コード生成手段によって生成された試験機械語プログラムを、前記デバッグ要素に対応する一または複数の要素情報に分割し、分割された要素情報のそれぞれを前記状態遷移情報に基づいて実行することによる出力を前記試験項目情報として生成することを特徴とする請求項１または２に記載のシステムＬＳＩ設計支援装置。
【請求項４】
バウンダリ・スキャン対応のシステムＬＳＩの設計を支援するシステムＬＳＩ設計支援方法をコンピュータに実行させるＬＳＩ設計支援プログラムであって、
試験対象の前記システムＬＳＩに対する試験内容を記述した試験ソースプログラムから前記試験対象のシステムＬＳＩで実行可能な試験機械語プログラムを生成するコード生成ステップと、
前記コード生成ステップによって生成された試験機械語プログラムと、システムＬＳＩのＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すアーキテクチャ情報とを合成して、バウンダリ・スキャン試験用のコードで記述された試験項目情報を生成する合成ステップと、
をコンピュータに実行させることを特徴とするシステムＬＳＩ設計支援プログラム。
【請求項５】
前記合成ステップによって生成された試験項目情報を、前記システムＬＳＩの動作をシミュレートするシミュレータで解釈可能なシミュレーション情報に変換する変換ステップをさらにコンピュータに実行させることを特徴とする請求項４に記載のシステムＬＳＩ設計支援プログラム。
【請求項６】
前記アーキテクチャ情報は、前記ＣＰＵに対する操作ごとに信号情報を記述したデバッグ要素と、前記システムＬＳＩに内蔵される信号制御部の前記信号情報に対する状態遷移を示す状態遷移情報とを、ＣＰＵごとに有するものであり、
前記合成ステップは、前記コード生成手段によって生成された試験機械語プログラムを、前記デバッグ要素に対応する一または複数の要素情報に分割し、分割された要素情報のそれぞれを前記状態遷移情報に基づいて実行することによる出力を前記試験項目情報として生成することを特徴とする請求項４または５に記載のシステムＬＳＩ設計支援プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バウンダリ・スキャン試験が可能な試験対象のシステムＬＳＩの設計を支援するシステムＬＳＩ設計支援装置およびシステムＬＳＩ設計支援プログラムに関する。
【０００２】
【従来の技術】
携帯電話やＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）等に使用されるＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのシステムＬＳＩは、近年、高密度化、パッケージ化、多ピン化が進み、端子にプローブを当てる検査（プローブテスト）が困難なほどに端子が小さく、端子間距離を短くしたものが主流となっている。
【０００３】
このため、システムＬＳＩ等の集積回路のデバッグ方式の一つとして、チップ内部にプローブテストと同様の挙動を行なう  「バウンダリスキャンポート」（あるいは「ＪＴＡＧポート」）と呼ばれる端子およびレジスタを構成し、外部からテストコードを入力、それに対する集積回路の挙動を調査するテストが広く行われている。このような試験を、バウンダリスキャン試験（ＢＳＴ：Ｂｏｕｎｄａｒｙ  Ｓｃａｎ  Ｔｅｓｔ：境界走査試験）といい、その標準を定めたものをＪＴＡＧという（非特許文献１参照）。
【０００４】
このバウンダリ・スキャン試験であるＪＴＡＧに対応した集積回路には、本来の機能を果たす回路（コアロジック）の他に、バウンダリスキャン試験機能を実現するためのレジスタと、そのレジスタを制御するためのＴＡＰコントローラが内蔵されている。レジスタへのデータ設定やＴＡＰコントローラの制御のためにＴＣＫ，ＴＭＳ，ＴＤＩ，ＴＤＯ，ＴＲＳＴの５本の信号が必要となり、この信号の入出力ための５本の汎用ポートをＴＡＰ（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ）という。
【０００５】
ＪＴＡＧにおけるバウンダリスキャンテストはテスト用ボード上でＴＡＰコントローラによってＴＡＰに信号を供給することによって行われる。かかるボード上では検査する集積回路のＴＡＰ端子をデイジーチェーン接続し、複数の集積回路を同時に検査することができる。システムＬＳＩ設計において、このバウンダリ・スキャン試験を利用して検査またはデバッグ作業を行うことにより、設計作業を効率化を大幅に行うことが可能となっている。
【０００６】
【非特許文献１】
ＪＴＡＧテストの基礎と応用（ＣＱ出版社）
【０００７】
【発明が解決しようとする課題】
しかしながら、バウンダリ・スキャン試験を行うためには、ＴＡＰの端子から入力するテストコードをＪＴＡＧの規格に適合したコードで作成さなければならず、テストコードの作成作業に労力を要する。しかも、ＣＰＵが異なれば、ＣＰＵに対するアクセス手順も異なるため、ＪＴＡＧの規格に適合させたテストコードをＣＰＵごとに作成する必要があり、開発対象となるシステムＬＳＩに搭載されたＣＰＵが異なるたびに、初めからテストコードの作成作業が必要となる。このように、システムＬＳＩ設計においてバウンダリ・スキャン試験を利用した場合においても、ＬＳＩ設計作業の労力が増大するという問題がある。
【０００８】
また、システムＬＳＩの回路動作をＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等でシミュレーションするシミュレータを利用したデバッグ方式もシステムＬＳＩ設計に利用されている。このシミュレータを利用するデバッグ方式では、ＨＤＬやＶｅｒｉｌｏｇ等のハードウェア記述言語でテストコードを記述して、シミュレータに入力させる必要がある。このため、ＪＴＡＧの規格に沿ったテストコードでバウンダリ・スキャン試験を行った場合はＣＰＵを介して試験を行い、テスト専用回路を経由した試験はＣＰＵを介さずに試験を行うため、同一内容のテストを行った場合でも、テスト結果が異なってくる場合も考えられる。このようにバウンダリ・スキャン試験によるテスト結果と、シミュレータによるテスト結果が異なってきた場合、いずれのデバッグ方式によるテスト結果が正確であるかを判断することは困難であり、システムＬＳＩ設計の信頼性が低くなるという問題がある。
【０００９】
この発明は上記に鑑みてなされたもので、システムＬＳＩの設計作業を効率的に行うと共に信頼性を向上させることができるシステムＬＳＩ設計支援装置およびシステムＬＳＩ設計支援プログラムを得ることを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、バウンダリ・スキャン対応のシステムＬＳＩの設計を支援するシステムＬＳＩ設計支援装置であって、試験対象の前記システムＬＳＩに対する試験内容を記述した試験ソースプログラムから前記試験対象のシステムＬＳＩで実行可能な試験機械語プログラムを生成するコード生成手段と、システムＬＳＩのＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すアーキテクチャ情報を記憶するアーキテクチャ情報記憶手段と、前記コード生成手段によって生成された試験機械語プログラムと、前記アーキテクチャ情報とを合成して、バウンダリ・スキャン試験用のコードで記述された試験項目情報を生成する合成手段とを備えたことを特徴とする。
【００１１】
この請求項１の発明によれば、コード生成手段によって、試験対象のシステムＬＳＩに対する試験内容を記述した試験ソースプログラムから試験機械語プログラムを生成し、合成手段によって、この試験機械語プログラムと、システムＬＳＩのＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すアーキテクチャ情報とを合成して、バウンダリ・スキャン試験用のコードで記述された試験項目情報を生成することで、試験対象のシステムＬＳＩの試験ソースプログラムから試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードを作成する必要がなくなり、システムＬＳＩ設計の労力を軽減することができる。
【００１２】
また、この請求項１にかかる発明によれば、ＣＰＵに固有でＣＰＵに対する信号情報を示すアーキテクチャ情報がシステムＬＳＩのＣＰＵごとに記憶されているので、異なる種類のＣＰＵを搭載し、同一の機能を有するシステムＬＳＩを設計する場合にも、対象のシステムＬＳＩに搭載されたＣＰＵを指定するだけで、自動的にバウンダリ・スキャン試験用のコードである試験項目情報が生成されるので、ＣＰＵごとに試験項目情報を新たに作成し直す手間が省け、システムＬＳＩ設計の労力を軽減することができる。
【００１３】
また、請求項２にかかる発明は、請求項１に記載のシステムＬＳＩ設計支援装置において、前記合成手段によって生成された試験項目情報を、前記システムＬＳＩの回路動作をシミュレートするシミュレータで解釈可能なシミュレーション情報に変換する変換手段をさらに備えたことを特徴とする。
【００１４】
この請求項２の発明によれば、変換手段によって、生成された試験項目情報を、シミュレータで解釈可能なシミュレーション情報に変換することで、バウンダリ・スキャン試験用のテストコードである試験項目情報と同一機能を有するシミュレーション情報を自動的に生成することができ、シミュレータによる試験とバウンダリ・スキャン試験のテストコードが別個に生成される従来のシステムＬＳＩ設計支援装置と異なり、両試験のテスト結果を一致させることができ、システムＬＳＩ設計の信頼性を向上させることができる。
【００１５】
また、請求項３にかかる発明は、請求項１または２に記載のシステムＬＳＩ設計支援装置において、前記アーキテクチャ情報記憶手段は、前記ＣＰＵに対する操作ごとに信号情報を記述したデバッグ要素と、ＣＰＵに対する操作に伴う状態遷移を示す状態遷移情報とを、ＣＰＵごとに有するアーキテクチャ情報を記憶するものであり、前記合成手段は、前記コード生成手段によって生成された試験機械語プログラムを、前記デバッグ要素に対応する一または複数の要素情報に分割し、分割された要素情報のそれぞれを前記状態遷移情報に基づいて実行することによる出力を前記試験項目情報として生成することを特徴とする。
【００１６】
この請求項３の発明によれば、合成手段によって、試験機械語プログラムを、ＣＰＵに対する操作ごとに信号情報を記述したデバッグ要素に対応する一または複数の要素情報に分割し、分割された要素情報のそれぞれをＣＰＵに対する操作に伴う状態遷移情報に基づいて実行することによる出力を試験項目情報として生成することで、ＣＰＵに対する操作に対応して状態遷移の実行結果の試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードをＣＰＵに対する操作ごとに作成する必要がなくなり、システムＬＳＩ設計の労力をさらに軽減することができる。
【００１７】
また、請求項４にかかる発明は、バウンダリ・スキャン対応のシステムＬＳＩの設計を支援するシステムＬＳＩ設計支援方法をコンピュータに実行させるＬＳＩ設計支援プログラムであって、試験対象の前記システムＬＳＩに対する試験内容を記述した試験ソースプログラムから前記試験対象のシステムＬＳＩで実行可能な試験機械語プログラムを生成するコード生成ステップと、前記コード生成ステップによって生成された試験機械語プログラムと、システムＬＳＩのＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すアーキテクチャ情報とを合成して、バウンダリ・スキャン試験用のコードで記述された試験項目情報を生成する合成ステップと、をコンピュータに実行させることを特徴とする。
【００１８】
この請求項４の発明によれば、請求項１にかかる発明と同様に、試験対象のシステムＬＳＩの試験ソースプログラムから試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードを作成する必要がなくなり、システムＬＳＩ設計の労力を軽減することができる。
【００１９】
また、この請求項４にかかる発明によれば、請求項１にかかる発明と同様に、異なる種類のＣＰＵを搭載し、同一の機能を有するシステムＬＳＩを設計する場合にも、対象のシステムＬＳＩに搭載されたＣＰＵを指定するだけで、自動的にバウンダリ・スキャン試験用のコードである試験項目情報が生成されるので、ＣＰＵごとに試験項目情報を新たに作成し直す手間が省け、システムＬＳＩ設計の労力を軽減することができる。
【００２０】
また、請求項５にかかる発明は、請求項４に記載のシステムＬＳＩ設計支援プログラムにおいて、前記合成ステップによって生成された試験項目情報を、前記システムＬＳＩの動作をシミュレートするシミュレータで解釈可能なシミュレーション情報に変換する変換ステップをさらにコンピュータに実行させることを特徴とする。
【００２１】
この請求項５の発明によれば、請求項２にかかる発明と同様に、バウンダリ・スキャン試験用のテストコードである試験項目情報と同一機能を有するシミュレーション情報を自動的に生成することができ、シミュレータによる試験とバウンダリ・スキャン試験のテストコードが別個に生成される従来のシステムＬＳＩ設計支援プログラムと異なり、両試験のテスト結果を一致させることができ、システムＬＳＩ設計の信頼性を向上させることができる。
【００２２】
また、請求項６にかかる発明は、請求項４または５に記載のシステムＬＳＩ設計支援プログラムにおいて、前記アーキテクチャ情報は、前記ＣＰＵに対する操作ごとに信号情報を記述したデバッグ要素と、ＣＰＵに対する操作に伴う状態遷移を示す状態遷移情報とを、ＣＰＵごとに有するものであり、前記合成ステップは、前記コード生成手段によって生成された試験機械語プログラムを、前記デバッグ要素に対応する一または複数の要素情報に分割し、分割された要素情報のそれぞれを前記状態遷移情報に基づいて実行することによる出力を前記試験項目情報として生成することを特徴とする。
【００２３】
この請求項６の発明によれば、請求項３にかかる発明と同様に、ＣＰＵに対する操作に対応して状態遷移の実行結果の試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードをＣＰＵに対する操作ごとに作成する必要がなくなり、システムＬＳＩ設計の労力をさらに軽減することができる。
【００２４】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるシステムＬＳＩ設計支援装置およびシステムＬＳＩ設計支援プログラムの好適な実施の形態を詳細に説明する。本実施の形態にかかるＬＳＩ設計支援装置およびシステムＬＳＩ設計支援プログラムは、試験対象のＪＴＡＧ対応のシステムＬＳＩに対する試験内容を記述した試験ソースプログラムファイルから機械語プログラムファイルを生成し、この機械語プログラムファイルとＣＰＵアーキテクチャデータからシステムＬＳＩ上でばうんだり・スキャン試験を実施可能なＪＴＡＧの試験項目データを生成し、さらにシミュレータで実行可能なシミュレーションデータファイルを生成するものである。
【００２５】
図１は、この発明の実施の形態であるシステムＬＳＩ設計支援装置１００の機能的構成を示すブロック図である。本実施の形態のシステムＬＳＩ設計支援装置１００は、コード生成部１０１と、合成部１０２と、入力制御部１０３と、シミュレーションデータ変換部１０４と、送受信処理部１０５とから構成される。
【００２６】
本実施の形態のシステムＬＳＩ設計支援装置１００は、ＣＰＵ等の制御装置（図示せず）と、ＲＡＭやＲＯＭなどの記憶装置（図示せず）と、ディスプレイ装置等の出力装置（図示せず）と、キーボードやマウス等の入力装置（図示せず）と、外部記憶装置としてハードディスク装置（ＨＤ）１１０とから構成される通常のコンピュータの構成である。ここで、ＨＤ１１０は、本発明におけるアーキテクチャ情報記憶手段を構成する。
【００２７】
図１に示すように、本実施の形態のシステムＬＳＩ設計支援装置は、エミュレータであるＩＣＥ（Ｉｎ−Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒ）１２０によって試験対象のシステムＬＳＩ１３０とＲＳ２３２Ｃやパラレルポート等で接続されている。また、本実施の形態のシステムＬＳＩ設計支援装置は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）で動作するシミュレータ１４０とＬＡＮ等のネットワークで接続されている。ここで、試験対象であるシステムＬＳＩ１３０は、ＪＴＡＧ対応となっており、ＴＡＰとＴＡＰコントローラ（信号制御部）とを備えた公知の構成となっているため、詳細については省略する。
【００２８】
ここで、ＩＣＥ１２０とは、ＣＰＵを搭載したシステムＬＳＩを開発する際に、システムＬＳＩのＣＰＵやプログラム・メモリの動作を代行し、プログラムや周辺ハードウェアを効率的にデバッグするエミュレータである。また、シミュレータとは、システムＬＳＩの回路動作を擬似的に実現するソフトウェアである。
【００２９】
コード生成部１０１は、Ｃ言語やアセンブラ言語などのプログラミング言語で記述された試験プログラムソースファイル１１１をコンパイルしてシステムＬＳＩ１３０で実行可能な機械語形式の試験プログラム機械語ファイル１１２を生成するものである。
【００３０】
合成部１０２は、試験プログラム機械語ファイル１１２と、ＣＰＵアーキテクチャＤＢ１１４のＣＰＵアーキテクチャデータとを合成してＪＴＡＧ形式の試験項目データファイル１１３を生成するものである。
【００３１】
シミュレーションデータ変換部１０４は、合成部１０２によって生成されたＪＴＡＧ形式の試験項目データファイル１１３をシミュレータ１４０で実行可能なシミュレーションデータファイル１１５に変換するものである。
【００３２】
入力制御部１０３は、キーボードやマウス等の入力装置からの入力を制御するものである。送受信処理部１０５は、ＩＣＥ１２０への試験項目データファイル１１３の送信や試験結果ファイルの受信を制御し、またシミュレータ１４０へのシミュレーションデータファイル１１５の送信や試験結果ファイルの受信を制御するものである。
【００３３】
尚、本実施形態のシステムＬＳＩ設計支援装置１００で実行されるシステムＬＳＩ設計支援プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記憶媒体に記録されて提供される。また、本実施形態のシステムＬＳＩ設計支援プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のシステムＬＳＩ設計支援プログラムは、インターネット等のネットワーク経由で提供することが可能である。
【００３４】
本実施形態にかかるシステムＬＳＩ設計支援プログラムは、システムＬＳＩ設計支援装置で上記記憶媒体から読み出して実行することによりＲＡＭ等の記憶装置上にロードされ、図１の機能的構成で説明した各部が記憶装置上に生成されるようになっている。
【００３５】
ＨＤ１１０には、ＣＰＵアーキテクチャＤＢ１１４が予め記憶されており、また試験プログラムソースファイル１１１と、試験プログラム機械語ファイル１１２と、試験項目データファイル１１３と、とシミュレーションデータファイル１１５と、試験結果ファイル１１６，１１７が格納されるようになっている。
【００３６】
試験プログラムソースファイル１１１は、メモリに対するＷｒｉｔｅ，Ｒｅａｄ等の命令をＣ言語、アセンブラ言語などのプログラミング言語で記述したものであり、試験プログラム機械語ファイル１１２は、この試験プログラムソースファイル１１１をコード生成部１０１によってコンパイルすることによって生成された機械語形式のファイルである。
【００３７】
試験項目データファイル１１３は、ＪＴＡＧ形式で記述された試験項目データであり、合成部によって試験対象のシステムＬＳＩ１３０のＣＰＵのアーキテクチャに応じた形式で生成される。
【００３８】
シミュレーションデータファイル１１５は、シミュレータ１４０で実行可能な試験項目データであり、試験項目データファイル１１３の試験内容と同一の試験内容をＨＤＬやＶｅｒｉｌｏｇ等のハードウェア記述言語で記述したものである。シミュレーションデータファイル１１５は、シミュレーションデータ変換部１０４によって、ＪＴＡＧ形式の試験項目データファイル１１３から変換されて生成される。
【００３９】
試験結果ファイル１１６は、ＪＴＡＧ形式の試験項目データファイル１１３によってシステムＬＳＩ１３０で試験実行した場合の試験結果の出力である。試験結果ファイル１１７は、シミュレーションデータファイル１１５によってシミュレータ１４０でシミュレーションを実行した場合の試験結果の出力である。
【００４０】
ＣＰＵアーキテクチャＤＢ１１４は、ＣＰＵごとにＣＰＵに対する信号情報とＴＡＰ状態遷移データとを登録したデータベースファイルであり、一または複数のＣＰＵアーキテクチャデータを登録したものである。
【００４１】
図２は、ＣＰＵアーキテクチャデータ２００のデータ構造を模式的に示す説明図である。ＣＰＵアーキテクチャデータ２００は、図２に示すように、一または複数のデバッグ要素２０１と、ＴＡＰコントローラ状態遷移データ２０２とから構成される。
【００４２】
デバッグ要素２０１は、ＣＰＵに対する操作ごとに信号情報を記述したものであり、図２の例では、デバッグ状態に移行する操作を示すデバッグ状態、メモリからの読み込み動作を示すメモリリード、メモリに対する書き込み動作を示すメモリライト、ブレイクポイントの設定動作を示すブレイクポイント等をデバッグ要素２０１として有している。
【００４３】
図３は、デバッグ要素の一例を示す説明図である。図３では、各デバッグ要素を実現するための手順およびその内容について示してある。なお、図３では、デバッグ要素として、デバッグ状態、ブレークポイント、メモリリードおよびメモリライトのみをあげているが、この他のデバッグ要素を設けることも可能である。
【００４４】
ＴＡＰコントローラ状態遷移データ２０２は、ＣＰＵに対する上記信号情報に伴う状態遷移を示すデータである。図４は、ＴＡＰコントローラ状態遷移データ２０２の一例を示す状態遷移図である。システムＬＳＩ１３０への信号はＪＴＡＧ対応のシステムＬＳＩ１３０に搭載されているＴＡＰコントローラが、このＴＡＰコントローラ状態遷移データ２０２に従って、信号を供給するようになっている。図３において、ｔｍｓは、システムＬＳＩ１３０の論理回路に対し制御する信号である。
【００４５】
次に、以上のように構成された本実施の形態のシステムＬＳＩ設計支援装置１００による試験項目データの生成処理について説明する。図６は、本実施の形態のシステムＬＳＩ設計支援装置１００による試験項目データの生成処理の手順を示すフローチャートである。
【００４６】
まず、システムＬＳＩ設計支援装置１００のユーザがシステムＬＳＩ設計支援プログラムを起動すると、入力制御部１０３は設定画面をディスプレイ装置の画面に表示する（ステップＳ６０１）。図５は、設定画面の内容を示す説明図である。
【００４７】
図５に示すとおり、設定画面には、システムＬＳＩのＣＰＵを選択するＣＰＵリストボックス５０１と、試験プログラムソースファイル１１１を指定するフィールド５０２と、試験プログラムソースファイル１１１の内容を表示するプログラムフィールド５０３と、生成される試験項目データファイルの名称を指定するフィールド５０４と、試験項目データファイルの作成を指示する試験項目データ作成ボタン５０５と、シミュレーションデータのヘッダファイルを指定するフィールド５０６と、シミュレーションデータのフッタファイルを指定するフィールド５０７と、生成されるシミュレーションデータファイルの名称を指定するフィールド５０８と、シミュレーションデータファイルへの変換を指示するシミュレーションデータ作成ボタン５０９と、シミュレーションによる試験結果ファイルの名称を指定するフィールド５１０が表示される。
【００４８】
次に、ユーザによって設定画面で指定された試験プログラムソースファイル１１１を、コード生成部１０１によってコンパイルし（ステップＳ６０２）、機械語形式の試験プログラム機械語ファイル１１２を生成してＨＤ１１０に保存する。
【００４９】
次に、合成部１０２によって、この試験プログラム機械語ファイル１１２をＨＤ１１０から読み込む（ステップＳ６０３）。そして、合成部１０２は、読み込んだ試験プログラム機械語ファイル１１２を解析して、ＣＰＵに対する操作ごとに要素データに分割する（ステップＳ６０４）。次に、合成部１０２は、ＣＰＵアーキテクチャＤＢ１１４から設定画面で指定されたＣＰＵに対応したＣＰＵアーキテクチャデータ２００を読み込む（ステップＳ６０５）。
【００５０】
次に、合成部１０２は、分割された要素データをそのＣＰＵに対する操作内容と同一の操作内容に対応するＣＰＵアーキテクチャデータ２００のデバッグ要素に対応付ける（ステップＳ６０６）。
【００５１】
図７は、試験プログラム機械語ファイル１１２の要素データへの分割、要素データとデバッグ要素への対応付けの状態の一例を示す説明図である。図７では、要素データ１がメモリリードのデバッグ要素に対応付けられ、要素データ２がデバッグ状態のデバッグ要素に対応付けられ、要素データ３がメモリライトのデバッグ要素に対応付けられ、要素データｎがブレイクポイントのデバッグ要素に対応付けられた例を示している。
【００５２】
次に、合成部１０２によって、分割した要素データをデバッグ要素に読み込ませる（ステップＳ６０７）。かかる処理は具体的には次のようなな処理である。要素データは、試験を行うためのデータの集合であり、例えばメモリライトの場合にはライトするアドレスとデータ、メモリリードの場合にはリードするアドレスを示す。これらの要素データをデバッグ要素に対して代入する。例えば、メモリライトの場合には、図３の手順４−３の項目にはアドレス値、手順４−４の項目にはデータ値を代入する。
【００５３】
次に、ＣＰＵアーキテクチャデータのＴＡＰコントローラ状態遷移の実行を行う（ステップＳ６０８）。具体的には、次のような処理を行う。各デバッグ要素を実行するためには、手順に従ってＴＡＰコントローラを遷移させる必要がある。このため、ＴＡＰコントローラ状態遷移データより状態遷移の情報を取り出して組み合わせる。例えば、デバッグ状態にする場合の手順１−１の動作を例にあげると、手順１−１に従いスキャンチェイン２を選択する。
【００５４】
Ｓｅｌｅｃｔ＿ＤＲ＿ＳＣＡＮ−＞ｓｅｌｅｃｔ＿ＩＲ＿ＳＣＡＮ−＞Ｃａｐｔｕｒｅ＿ＩＲ＿ＳＣＡＮ−＞ＳＩＦＴ＿ＩＲによってＴＡＰ命令を押し込む−＞ＥＸＩＴ１＿ＩＲ−＞Ｕｐｄａｔｅ＿ＩＲ−＞Ｓｅｌｅｃｔ＿ＤＲ＿ＳＣＡＮ−＞Ｃａｐｔｕｒｅ＿ＩＲ＿ＳＣＡＮ−＞ＳＩＦＴ＿ＩＲによってスキャンチェイン番号の２を押し込む−＞ＥＸＩＴ１＿ＤＲ−＞Ｕｐｄａｔｅ＿ＤＲ−＞Ｓｅｌｅｃｔ＿ＤＲ＿ＳＣＡＮ。ＴＡＰコントローラ状態遷移データには、これらの状態遷移情報が集められている。
【００５５】
このようなステップＳ６０７およびＳ６０８の処理を全ての要素データに対して実行する（ステップＳ６０９）。
【００５６】
次に、合成部１０２は、上記実行結果をＪＴＡＧ形式の試験項目データファイル１１３としてＨＤ１１０に生成する（ステップＳ６１０）。
【００５７】
さらに、合成部１０２は、生成されたＪＴＡＧ形式の試験項目データファイル１１３を、設定画面で指定されたシミュレーションデータファイル１１５に変換してＨＤ１１０に出力する（ステップＳ６１１）。このシミュレーションデータファイル１１５への変換は、設定画面で設定されたヘッダを試験項目データファイル１１３のデータの先頭に付加し、設定画面で設定されたフッタを試験項目データファイル１１３のデータの最後に付加し、さらにヘッダとフッタが付加された試験項目データファイル１１３を公知の手法でＶｅｒｉｌｏｇ等のハードウェア記述言語に変換することによって行われる。
【００５８】
合成部１０２によって生成されたＪＴＡＧ形式の試験項目データファイル１１３は、送受信処理部１０５によって、ＩＣＥ１２０に送信され、合成部１０２によって生成されたシミュレーションデータファイル１１５は、送受信処理部１０５によってネットワーク上のシミュレータ１４０に送信される（ステップＳ６１２）。
【００５９】
そして、ＩＣＥ１２０によって試験項目データファイル１１３の内容に従ったシステムＬＳＩ１３０のバウンダリスキャン試験が行われる。試験結果はＩＣＥ１２０によって採取され、ＨＤ１１０に試験結果ファイル１１６として保存される。
【００６０】
また、シミュレータ１４０によってシミュレーションデータファイル１１５の内容に従って試験が行われる。試験結果はシミュレータ１４０から送受信処理部１０５に送信され、送受信処理部１０５は受信した試験結果をＨＤ１１０に試験結果ファイル１１７として保存される。シミュレーションデータファイル１１５がＪＴＡＧ形式の試験項目データファイル１１３から変換されたものであるため、二つの試験結果ファイル１１６，１１７の内容は、同一のものとなる。
【００６１】
このように本実施の形態のシステムＬＳＩ設計支援装置１００では、コード生成部１０１によってシステムＬＳＩ１３０に対する試験内容を記述した試験プログラムソースファイル１１１をコンパイルした試験プログラム機械語ファイル１１２を生成し、合成部１０２によって、この試験プログラム機械語ファイル１１２と、システムＬＳＩ１３０のＣＰＵごとに、ＣＰＵに固有でＣＰＵに対する信号情報を示すＣＰＵアーキテクチャデータ２００とを合成して、バウンダリ・スキャン試験用のＪＴＡＧコードで記述された試験項目データファイル１１３を生成すしているので、試験対象のシステムＬＳＩ１３０の試験プログラムソースファイル１１１から試験項目データファイル１１３を自動的に生成することができ、デバッグ作業者が手作業でＪＴＡＧコードを作成する必要がなくなり、システムＬＳＩ設計の労力を軽減することができる。
【００６２】
また、本実施の形態のシステムＬＳＩ設計支援装置１００では、ＣＰＵに固有でＣＰＵに対する信号情報を示すＣＰＵアーキテクチャデータ２００がシステムＬＳＩのＣＰＵごとに記憶されているので、異なる種類のＣＰＵを搭載し、同一の機能を有するシステムＬＳＩを設計する場合にも、対象のシステムＬＳＩに搭載されたＣＰＵを指定するだけで、自動的にＪＴＡＧコードである試験項目データファイル１１３が生成されるので、ＣＰＵごとに試験項目データファイル１１３を新たに作成し直す手間が省け、システムＬＳＩ設計の労力を軽減することができる。
【００６３】
また、本実施の形態のシステムＬＳＩ設計支援装置１００では、シミュレーションデータ変換部１０４によって、ＪＴＡＧ形式の試験項目データファイル１１３を、シミュレータ１４０で解釈可能なシミュレーションデータファイル１１５に変換しているので、ＪＴＡＧ形式のテストコードである試験項目データファイル１１３と同一機能を有するシミュレーションデータファイル１１５を自動的に生成することができ、シミュレータ１４０によるテスト結果とバウンダリ・スキャン試験によるテスト結果を一致させることができ、システムＬＳＩ設計の信頼性を向上させることができる。
【００６４】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、試験対象のシステムＬＳＩの試験ソースプログラムから試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードを作成する必要がなくなり、システムＬＳＩ設計の労力を軽減することができるという効果を奏する。また、この請求項１にかかる発明によれば、ＣＰＵごとに試験項目情報を新たに作成し直す手間が省け、システムＬＳＩ設計の労力を軽減することができるという効果を奏する。
【００６５】
また、請求項２にかかる発明によれば、バウンダリ・スキャン試験用のテストコードである試験項目情報と同一機能を有するシミュレーション情報を自動的に生成することができ、シミュレータによる試験のテスト結果とバウンダリ・スキャン試験のテスト結果を一致させることができ、システムＬＳＩ設計の信頼性を向上させることができるという効果を奏する。
【００６６】
また、請求項３にかかる発明によれば、ＣＰＵに対する操作に対応して状態遷移の実行結果の試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードをＣＰＵに対する操作ごとに作成する必要がなくなり、システムＬＳＩ設計の労力をさらに軽減することができるという効果を奏する。
【００６７】
また、請求項４にかかる発明によれば、試験対象のシステムＬＳＩの試験ソースプログラムから試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードを作成する必要がなくなり、システムＬＳＩ設計の労力を軽減することができるという効果を奏する。また、請求項４にかかる発明によれば、異なる種類のＣＰＵを搭載し、同一の機能を有するシステムＬＳＩを設計する場合にも、対象のシステムＬＳＩに搭載されたＣＰＵを指定するだけで、自動的にバウンダリ・スキャン試験用のコードである試験項目情報が生成されるので、ＣＰＵごとに試験項目情報を新たに作成し直す手間が省け、システムＬＳＩ設計の労力を軽減することができるという効果を奏する。
【００６８】
また、請求項５にかかる発明によれば、バウンダリ・スキャン試験用のテストコードである試験項目情報と同一機能を有するシミュレーション情報を自動的に生成することができ、シミュレータによる試験のテスト結果とバウンダリ・スキャン試験のテスト結果を一致させることができ、システムＬＳＩ設計の信頼性を向上させることができるという効果を奏する。
【００６９】
また、請求項６にかかる発明によれば、ＣＰＵに対する操作に対応して状態遷移の実行結果の試験項目情報を自動的に生成することができ、デバッグ作業者が手作業でバウンダリ・スキャン試験用のコードをＣＰＵに対する操作ごとに作成する必要がなくなり、システムＬＳＩ設計の労力をさらに軽減することができるという効果を奏する。
【図面の簡単な説明】
【図１】本実施の形態のシステムＬＳＩ設計支援装置の機能的構成を示すブロック図である。
【図２】ＣＰＵアーキテクチャデータのデータ構造を模式的に示す説明図である。
【図３】デバッグ要素の一例を示す説明図である。
【図４】ＴＡＰコントローラ状態遷移データの一例を示す状態遷移図である。
【図５】設定画面の内容を示す説明図である。
【図６】本実施の形態のシステムＬＳＩ設計支援装置による試験項目データの生成処理の手順を示すフローチャートである。
【図７】試験プログラム機械語ファイルの要素データへの分割、要素データとデバッグ要素への対応付けの状態の一例を示す説明図である。
【符号の説明】
１０１  コード生成部
１０２  合成部
１０３  入力制御部
１０４  シミュレーションデータ変換部
１０５  送受信処理部
１１１  試験プログラムソースファイル
１１２  試験プログラム機械語ファイル
１１３  試験項目データファイル
１１４  ＣＰＵアーキテクチャＤＢ
１１５  シミュレーションデータファイル
１１６，１１７  試験結果ファイル
１４０  シミュレータ
２００  ＣＰＵアーキテクチャデータ
２０１  デバッグ要素
２０２  ＴＡＰコントローラ状態遷移データ
【図１】
2004280588.tif 000003
【図２】
2004280588.tif 000004
【図３】
2004280588.tif 000005
【図４】
2004280588.tif 000006
【図５】
2004280588.tif 000007
【図６】
2004280588.tif 000008
【図７】
2004280588.tif 000009