JP6115042B2 - 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム - Google Patents

情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム Download PDF

Info

Publication number
JP6115042B2
JP6115042B2 JP2012187057A JP2012187057A JP6115042B2 JP 6115042 B2 JP6115042 B2 JP 6115042B2 JP 2012187057 A JP2012187057 A JP 2012187057A JP 2012187057 A JP2012187057 A JP 2012187057A JP 6115042 B2 JP6115042 B2 JP 6115042B2
Authority
JP
Japan
Prior art keywords
circuit component
pin
data
test
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012187057A
Other languages
English (en)
Other versions
JP2014044597A (ja
Inventor
岡本 博
博 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012187057A priority Critical patent/JP6115042B2/ja
Priority to US13/959,771 priority patent/US20140058699A1/en
Publication of JP2014044597A publication Critical patent/JP2014044597A/ja
Application granted granted Critical
Publication of JP6115042B2 publication Critical patent/JP6115042B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、集積回路間の接続試験に関する。
従来からプリント基板に搭載される集積回路は、例えば、JATG(Joint Test Action Group)と呼ばれるテストインターフェースを搭載している。そして、プリント基板の
テストでは、このインターフェースの方式にしたがって、信号の入出力が行われ、試験が実行されている。この場合、プリント基板の試験では、例えば、プリント基板上の集積回路間の接続関係を基にテストプログラムを作成し、試験機からテストプログラムを翻訳しプリント基板にテストパターンを入力し応答を確認する事で、試験が実行される。
特開2000−242573号公報 特開平9−218248号公報
しかしながら、プリント基板上に、異なるインターフェースをそれぞれ有する異なる集積回路が搭載された場合、試験の実行が困難となる。そこで、開示の実施形態の一側面は、所定仕様のインターフェースを含む集積回路と、所定の仕様とは異なるインターフェースを有する集積回路とを搭載した電子装置に対して、集積回路間の試験を容易に行うことを課題とする。
開示の実施形態の一側面は、第1の集積回路と第2の集積回路とを含む電子装置のテストデータを作成するテストデータ作成装置によって例示される。第2の集積回路は、少なくとも1つの通信ピンを有している。テストデータ作成装置は、第1の集積回路と第2の集積回路とを含む、電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部と、第1の集積回路外へデータを出力する出力ピンの指定および第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル格納部と、第2の集積回路外へデータを出力する出力ピンの指定および第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含み、通信ピンを通じて第2の集積回路の入力ピンと出力ピンとにデータを入出力するためのインターフェース仕様が定義される第2の動作モデル格納部とを備える。さらに、本テストデータ作成装置は、所定の仕様にしたがって第1の集積回路との間でデータを授受するための制御情報を生成するとともに、出力ピンへのデータの書き出しおよび入力ピンからのデータの読み込みの少なくとも一方を、通信ピンを通じて行うための、インターフェース仕様にしたがった制御情報を生成する生成部と、を備える。
本テストデータ作成装置は、所定の仕様のインターフェースを含む集積回路と、所定の仕様とは異なるインターフェースを有する集積回路とを搭載した電子装置に対して、集積回路間の試験を容易に行うことができる。
比較例1に係るJTAG回路を搭載したLSIを有するプリント基板の回路の一例である。 JTAG部品とJTAG回路を搭載しない部品とを混在させたプリント基板の回路の一例である。 図2のJTAG回路を搭載した部品とJTAG回路を搭載しない部品の接続部を拡大した回路を例示する図である。 比較例2に係るシミュレーションによる試験プログラム生成を例示する図である。 JTAGテストジェネレータの処理を例示する図である。 試験対象のプリント基板に含まれるI2C部品を例示する図である。 I2C部品の接続例である。 I2C部品を制御する制御シーケンスで指定されるデータ例を示す図である。 実施例1に係る、I2C部品を含むプリント基板の試験プログラム作成処理を例示する図である。 I2C部品の動作モデル23の構造を例示する図である。 I2C部品間の接続を例示する図である。 I2Cツリー25の出力イメージを例示する図である。 I2Cツリー作成処理フローを例示する図である。 テストアクセス情報の記憶イメージを例示する図である。 並列テストパターンが生成される回路を例示する図である。 並列テストパターンを例示する図である。 テストデータベースを例示する図である。 最終テストパターンの生成処理におけるデータの流れを例示する図である。 最終テストパターン生成処理フローを例示する図である。 最終I2Cファンクションテスト生成フローを例示する図である。 I2C最終テストパターン出力処理(図18のS33)の詳細を例示する図である。 JTAG部品のピンを結ぶネットのショートを例示する図である。
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本装置は実施形態の構成には限定されない。
<比較例1>
図1から図4の図面を参照して、比較例に係る情報処理装置について説明する。比較例では、JTAG(Joint Test Action Group)の規格に準拠したテスト回路(JTAG回
路)を有する部品を含むプリント基板のテストについて説明する。図1は、JTAG回路を搭載したLSI(Large Scale Integration)を有するプリント基板309の回路の一
試験例である。図1の回路は、試験対象のプリント基板309と、試験プログラムを生成し、試験を管理する情報処理装置301と、情報処理装置301で作成された試験プログラムにしたがってプリント基板309の試験を実行する試験機302とが例示されている。この例では、試験機302は、プリント基板309のコネクタ311を接続し、信号の入出力を行い、試験を実行する。試験プログラムとは、例えば、プリント基板309の試験時に、試験機302に入力され、試験を制御するコマンド列等をいう。試験機302は、試験プログラムにしたがって、コネクタ311を介してプリント基板309にビット列を入力し、コネクタ311を介してプリント基板309からビット列を取得する。また、試験プログラムは、取得したビット列を確認するための期待値等の試験データも含む。
プリント基板309は、例えば、JTAG試験回路を搭載した2つの部品、JTAG−
LSI1、JTAG−LSI2を有する。JTAG−LSI1、JTAG−LSI2の各端子は、それぞれ内部のバウンダリセルと接続されている。以下、JTAG試験回路を搭載した部品をJTAG部品と呼ぶことにする。端子をピンともいう。JTAG−LSI1、JTAG−LSI2が第1の集積回路の一例である。
JTAG部品は、バウンダリスキャンという手順を実行する構成を有する。バウンダリスキャンが所定の仕様の一例である。JTAG部品は、部品のピンと、内部のコアロジックとの間にバウンダリセルを有している。JTAG部品のピン上のデータはバウンダリセルに読み込み可能である。また、バウンダリセルに設定した値はピン上に書き出し可能である。それぞれのピンに接続されるバウンダリセルは、シーケンシャルに値をシフト可能なレジスタ群となっている。この意味で、バウンダリセルはバウンダリ・スキャン・レジスタとも呼ばれる。
また、データがシフトされるバウンダリセルの並びの一方にTDI(Test Data Input
)ピンが接続され、他方にTDO(Test Data Output)ピンが接続される。JTAG部品にEXTEST命令を設定しTAPステート(以降ステートと記す)をキャプチャDRに遷移させ、試験機302は、次にTCKを送信する事により、ピンのデータをバウンダリセルに取り込むことができる。JTAG部品のステートをシフトDRに遷移させ、試験機302は、次にTCKを送信する毎に、TDIを通じて、新たなデータをバウンダリセルに送り込むことができる。また、同時にキャプチャしたデータをシフトしTDOに出力する事が出来る。上記でTDIから所定のデータをバウンダリセルに並べ段階でJTAG部品のステートをアップデートDRに遷移させ、試験機302は、次にTCKを送信する事によって、バウンダリセルのデータをピンに出力することができる。
以下、TDIピン、およびTDOピンを単にTDI、TDOと呼ぶ。
試験機302から出力されたTDI信号は、コネクタ311から基板内TDIを介してJTAG−LSI1内部のバウンダリセルに設定される。さらに、信号は、JTAG−LSI1内部のバウンダリセル間でシフトされ、JTAG−LSI2に読み取られる。さらに、信号は、JTAG−LSI2内部のバウンダリセル間でシフトされ、TDOより観測される。また、JTAG−LSI1、JTAG−LSI2間の信号は、TDIからシフトインされ、JTAG−LSI1の出力信号として、セットされる。そして、JTAG−LSI1の出力信号は、ピンP1−P5からJTAG−LSI2のピンP6−P10に引き渡される。JTAG−LSI2のピンP6−P10に引き渡された信号は、JTAG−LSI2内のバウンダリセルに受け付けられる。JTAG−LSI2内のバウンダリセルに受け付けられた信号は、JTAG−LSI2内のバウンダリセル間をシフトされ、TDOで観測される。またコネクタ311とJTAG−LSI1間の信号は、試験機302から出力した信号をJTAG−LSI1のバウンダリセルで受け取りシフトし、JTAG−LSI2のバウンダリセルを経由し、TDOで観測される。なお、JTAG−LSI2とコネクタ312間の信号は、折り返し基板を通じて試験される。
上記の試験により、途中経路のショートやオープン(断線)等の障害が検出される。以上のような試験プログラムを生成するための入力情報として、BSDL(Boundary-Scan Description Language)ファイルと、ネットリストが用いられる。BSDLファイルには、JTAG部品の内部情報としてピンとバウンダリセルの対応関係、およびピンの入出力の指定が記載されている。また、ネットリストは、プリント基板309に搭載された部品のピン間の接続関係、プリント基板309上の部品名と型格番号の対応関係が記載されている。以下、型格番号を単に、型格、型番等ともいう。ネットリストも1つのファイルに格納されることが多い。JTAG部品の試験プログラムの生成には、JTAGテストジェネレータが用いられる。情報処理装置1は、JTAGテストジェネレータとして機能するため、主記憶上に実行可能に展開されてコンピュータプログラムを実行する。
JTAGテストジェネレータは、BSDLファイルとネットリストという2つのファイルを解析することにより、信号ごとにどのピンを駆動し、どのピンで信号を受け取るか、という試験パターンを決定することができる。決定された試験パターンを基にJTAGのあるピンから信号を出力するには、TDIから入力されたデータをバウンダリセル間で、何回(例えば、N1回)シフトすればよいかをJTAGテストジェネレータが自動で決定できる。次に、信号が出力されるピンに繋がる相手ピンに入力される値をコネクタ311のピンTDOで観測するためには、信号をコネクタ311の相手ピンに接続されるバウンダリセルでキャプチャし、何回(例えば、N2回)シフトすればよいかということも、JTAGテストジェネレータが自動的に決定できる。このような方法で、JTAGテストジェネレータは、JTAG部品を搭載したプリント基板309の試験パターンを決定し、試験プログラムを自動生成可能である。
図2は、JTAG部品とJTAG試験回路を搭載しない部品とを混在させたプリント基板9の試験回路の一例である。図2では、試験対象のプリント基板9と、試験プログラムを生成し、試験を管理する情報処理装置1と、情報処理装置1で作成された試験プログラムにしたがってプリント基板9の試験を実行する試験機2とが例示されている。
情報処理装置1は、CPU(Central Processing Unit)、主記憶装置等、外部記憶装置
、表示装置、入力装置、通信インターフェース等を有するコンピュータである。また、情報処理装置1は、着脱可能な記憶媒体のアクセス装置等を有してもよい。
また、試験機2は、情報処理装置1との通信インターフェース、プリント基板9への接続インターフェース等を有する電子回路である。試験機2は、I2Cコントローラ、信号ドライバレシーバ、TAP(Test Access Port)制御を有する。I2Cコントローラは、プリント基板9上のI2C部品と通信する通信部である。I2Cコントローラは、I2Cに規定された制御シーケンスにしたがって、I2インターフェースを介して、I2C部品と通信する。
信号ドライバは、PIO等を通じて、試験パターン以外の通常のデータを各部品と授受するデータ送受信部である。
TAP制御部は、TAPと呼ばれるJTAG部品のピンとのデータの授受を制御する。TAPとしては、JTAG部品のTDI(Test Data Input)、TDO(Test Data Output)、TMS(Test Mode Select )、TCK(Test Clock)、TRST(Test Reset)の各ピンが含まれる。
図2の例では、JTAG部品以外に、I2Cインターフェースを備えた部品が搭載されている。I2Cインターフェースを備えた部品を以下、I2C部品と呼ぶ。図2では、2個のJTAG部品(JTAG1、JTAG2)が例示されている。2個のJTAG部品の下の方から伸びる点線は、JTAG部品の制御信号(TDI/TDO等)である。また、JTAG部品に接続される実線は、バウンダリセルに接続されたピンからの配線である。
また、図2の例では、5個のI2C部品として、I2C−PIO1(Programmable Input-Output 1)、I2C−PIO2、I2C−MPX(Multiplexer)、I2C−ROM(Read Only Memory)、I2C−ADC(Analog Digital Converter)が例示されている。ここで、I2C−PIO1、I2C−PIO2は、プログラム入出力チップ、プログラム入出力部品、プログラム入出力モジュール、プログラムロジックなどと呼ばれる。I2C−PIO1等は、I2Cインターフェースからの制御シーケンスにしたがって、制御信号の入力を受け付け、入出力ポートからデジタル・データの入出力を行う。I2C−MPX
は、I2Cインターフェースからの制御シーケンスにしたがって、複数のチャネルの1つを選択する。試験機2等の上位装置は、I2Cインターフェースを通じて、I2C−PIOと通信し、入出力ポートからデジタル・データの入出力を行う。また、試験機2等の上位装置は、I2C−MPXで選択したチャネル上のI2C−PIOと通信し、入出力ポートからデジタル・データの入出力を行う。I2C−ROMは、I2Cインターフェースからの制御シーケンスにしたがって、制御信号の入力を受け付け、ROMからデータを読み出し、I2Cインターフェースに出力する。I2C−ADCは、I2Cインターフェースからの制御シーケンスにしたがって、制御信号の入力を受け付け、アナログ入力信号をデジタル・データに変換し、I2Cインターフェースに出力する。
各I2C部品に接続される点線はI2C制御信号である。また、各I2C部品に接続される実線は、各部品の制御下にあるPIO(プログラマブル入出力)のピンからの配線である。
ところで、JTAGテストジェネレータがプリント基板9の試験パターンを自動生成可能な部分は、下記の通りである。第1は、コネクタ−JTAG部品間の接続部分であり、図2の配線L1A、L1Bで接続された箇所が該当する。第2は、JTAG部品−JTAG部品接続部分であり、図2の配線L2で接続された箇所が該当する。第3は、コネクタ−コネクタ接続部分であり、図2の配線L3で接続された箇所が該当する。
一方、I2C部品等、JTAG部品以外の部品は、JTAG規格に準拠しないため、JTAGテストジェネレータからは未知な部品である。したがって、JTAGテストジェネレータは、JTAG部品以外の部品を含んだ回路の試験プログラムを自動生成できない。JTAGテストジェネレータが試験プログラムを自動生成できない箇所として、以下を例示できる。
第1は、コネクタ―I2C部品接続部分であり、図2の配線L4で接続された箇所が該当する。第2は、I2C部品―I2C部品接続部分であり、図2の配線L5で接続された箇所が該当する。第3は、I2C部品―JTAG部品接続部分であり、図2の配線L6で接続された箇所が該当する。第3は、ROM(Read Only Memory)のI2Cインターフェースのピン7である。第4は、ADC(Analog Digital Converter)I2Cインターフェースのピン8とADC入力ピンである。
以下、比較例として、JTAG試験回路とは異なる部品の一例として、I2C部品のテスト方法を説明する。
I2Cインターフェースの制御は、試験機2側にI2Cコントローラ素子を搭載した専用のコントローラを用いて制御するか、試験機2のテスタピンを用いてI2Cの一連のシーケンスを実行することで可能となる。
また、試験機2側に搭載されたI2Cコントローラ素子、あるいは、テスタピンの駆動信号を制御することために、I2Cインターフェースを制御するコマンドをマクロ化したマクロ言語が利用可能である。試験機2は、例えば、I2C制御に対応するマクロ言語の試験プログラムにしたがい、I2C部品の試験を実行する。例えば、試験機2は、I2C−MPX(マルチプレクサ)を設定し、I2C−MPXに接続される目標のI2C部品を制御することで、I2C部品の試験を実行する。
図2では、I2Cインターフェースの回路は、IC2−MPXに接続される破線の配線で例示できる。I2Cインターフェースの回路情報は、例えば、ネットリストの情報として存在している。しかしながら、I2C部品の動作は個々のデータシートの情報でしかな
く、JTAGテストジェネレータには全くの未知な部品である。そのため、JTAGテストジェネレータは、I2C部品を含む回路の試験プログラムを自動生成できない。そこで、本比較例では、I2C部品等、JTAG部品以外の部品を含むプリント基板9の試験プログラム開発者が回路図を調査し、図2のような接続関係を読み取り、I2C部品等JTAG部品以外の部品のデータシートを熟読してテスト計画を立案する。この手順は、以下の通りである。
プリント基板9の試験プログラム開発者は、以下のような試験プログラムをマニュアルで、つまり手作業で作成する。試験プログラムは、例えば、試験のシーケンスを実行する試験機2上のマクロ命令を用いたプログラムをいう。そして、プリント基板9の試験プログラム開発者は、作成した試験プログラムを試験機2で実行することで、以下の試験を実行する。
(1)図2の配線L4について:試験機2に接続されたコネクタ11から信号を出力し、これに繋がるI2C部品から信号を読み取るための試験。(2)図2の配線L5:I2C−MPXを制御し、目標のI2C部品の目標ピンから信号を駆動し、目標ピンに繋がるI2C部品から信号を読み取る試験。
(3)図2の配線L7:I2C−MPXを制御し、対象のI2C−ROMを読み出し、所定のデータが書かれているかを確認する試験。
(4)図2の配線L8:I2C−ADC(電圧測定部品)に印加される電圧を解析し、I2C−MPXを制御する試験。この試験では、例えば、試験プログラム開発者は、対象のI2C−ADCから読み出したデータ(分圧された電圧)が部品の許容された電圧内に入っているか試験する。
(5)図2の配線L6:図3に、図2の配線L6部分を拡大した回路を例示する。図3では、I2C−MPXのチャネルの1つを通じてI2C−PIOが制御される。I2C−PIOの入出力ポートは、JTAG部品と接続されている。
JTAG部品の試験プログラムの生成は、通常、JTAGテストジェネレータが使用される。図3のような構成に対して、試験プログラム開発者は、例えば、JTAGテストジェネレータのクラスタテストの機能を利用する。クラスタテストの機能を提供するJTAGテストジェネレータをクラスタテストジェネレータと呼ぶ。
クラスタテストとは、例えば、未知の部品をブラックボックス化し、JTAG部品を含む回路で試験を実行する機能である。クラスタテストでは、未知の部品は、入力ピンに入力されるビット列と、出力ピンから出力されるビット列の指定によって、ブラックボックス化される。JTAGテストジェネレータは、JTAG部品に繋がる未知の部品をブラックボックス化された部品として受け付ける。そして、JTAGテストジェネレータは、JATG部品と、JTAG部品以外のブラックボックス化された部品が混在した回路に対する試験プログラムを生成する。
例えば、図3の例では、試験プログラム開発者は、回路図を読み、信号A、BがI2C部品とJTAG部品との配線であり、テスト可能な部分であると認識する。次に、信号A、BでJTAG部品のピンが受け取るJTAG信号パターンを定義する。JTAG信号パターンは、例えば、図3のI2C−PIOとJTAGとの間の配線のオープン故障、配線間の短絡等を考慮した、JTAG部品における入出力ビット列である。次に、試験プログラム開発者は、それぞれのJTAG信号パターンに対して、I2C−MPXを介して該当I2C−PIOを制御して、プログラムマブル出力ポートから上記定義したJTAG信号パターンをJTAG部品に出力するためのI2C−MPX制御命令列およびI2C−PIOの制御命令列を定義する。
上記で定義したJTAG信号パターンとこれを出力する為のI2C−MPXの制御命令
列およびI2C−PIO制御命令列をJTAGのクラスタテストジェネレータに与える。クラスタテストジェネレータは、与えられたJTAG信号パターンをJTAGの制御シーケンスに変換する。そして、クラスタテストジェネレータは、図2のI2C−PIOから出力した信号を、JTAG部品を介して受け取り、受け取った信号を確認する試験機2の試験プログラムを作成する。
しかしながら、以上のような比較例1の手順には、次の問題点がある。
(1)試験プログラムの自動生成が十分でない:図2で配線L4から配線L8の部分の試験プログラムは試験プログラム開発者によるマニュアル作成であり、自動生成を行うことができない。比較例1の作成方法を要約すると、試験プログラム開発者は、回路図を解析しI2C部品を認識し、認識したI2C部品がどの部品に接続されているかを把握する。さらに、試験プログラム開発者は、I2C制御信号の経路を調べるために外部コネクタからI2C−MPXを通り目標のI2C部品までの接続ツリーを認識する。次に、試験プログラム開発者は、注目したI2Cを動作させるために、マクロ言語を利用し、該当するI2C−MPXを制御し、該当のI2C部品を動かす試験プログラムを作成する。そのためには、試験プログラム開発者は、各I2C部品の動かし方をデータシートで調べて理解する必要がある。以上のように、試験プログラムの自動生成が十分でないと、開発時間が増加する。また、開発効率、および試験プログラムの良否は、開発者のスキルに依存する。(2)障害位置指摘が困難:比較例1の手順で作成された試験プログラムは良否判定用である。したがって、試験プログラムの実行によって良否判定は可能であるが、障害診断、例えば、障害箇所の特定は困難である。つまり、比較例1の試験プログラムでは、例えば、試験パターンの第Nステップ目において、I2C部品の読取で期待値と読取値が異なるというメッセージが出力される。そのような試験プログラムのメッセージを基に、修理担当者が試験パターンを解析する。すなわち、修理担当者は、試験プログラムと回路図とを基に、部品間の信号を解析し、ピン間のオープン故障、ショート故障を論理的に見出すという作業を行う。したがって、比較例1では、修理担当者の手間と負担を改善するという課題が残される。
<比較例2>
図4は、比較例2に係るシミュレーションによる試験プログラム生成を例示する図である。図4は、IC1、IC2、IC3という3個の部品が接続されたプリント基板を例示する。図4では、入力信号として、IC1への入力IN0−IN3と、IC2への入力信号IN4−IN7とが、例示されている。また、図4では、出力信号として、IC3からの出力信号OUT0−OUT2が例示されている。
シミュレーションによる試験パターンの生成は以下の通りである。まず、シミュレーションで利用されるデータは以下の通りである。
第1のデータは、プリント基板のネットリストである。
第2のデータは、搭載部品のすべての動作モデルである。搭載部品の動作モデルは、通常、搭載部品の入出力の関係の動作を示す、VHDL(VHSIC(Very High Speed Integrated Circuits) Hardware Description Language)またはVerlog等のハードウェア仕様記述言語で記述されたデータである。
A.試験プログラム生成の手順は以下の通りである。ここでは、例えば、シミュレーションを実行する情報処理装置1が試験プログラム生成を行う。
(A1)情報処理装置1は、プリント基板の入力ピンにランダムパターンを印可する試験パターンを生成する。
(A2)情報処理装置1は、試験パターンの各ステップに於いて、各部品の入力ピンのレベルから、動作モデルの式を計算し出力ピンのレベルを計算する。
(A3)上記の結果、次段IC、例えば、図4のIC3の入力ピンのレベルが決まる。そこで、情報処理装置1は、次段の部品の動作モデルの式を計算し出力ピンのレベルを求める。こうして、情報処理装置1は、順次すべてのピンの出力ピンのレベルを求める。
(A4)情報処理装置1は、上記A2−A3をランダムパターンの全ステップで実行する。
B.故障シミュレーションによるテストと評価の仕方は以下の通りである。
(B1)故障を模擬するために、各ノード1つずつをGND(接地電位)に落としたネットリストを作る。情報処理装置1は、上記のシミュレーションを行う。情報処理装置1は、シミュレーションにより、プリント基板の出力、例えば、図4の場合はOUT0−2の結果が良品時と異なることを確認する。故障を模擬したネットでOUT0−2の結果が良品時と異なると、情報処理装置1は、ランダムパターンが故障検出可能であると判定する。
(B2)故障を検出しない場合は、情報処理装置1は、ランダムパターンを変更し再度(B1)を実行する。
(B3)情報処理装置1は、なるべく多くのノードの故障を検出するランダムパターンを選ぶ。
C.以上のようなシュミュレーションによるテスト生成の問題点は以下の通りである。(C1)非現実的な膨大なテストパターンを発生する傾向がある。
(C2)プリント基板のすべての部品の動作モデルを準備するため、動作モデル準備の手間が大きい。
(C3)障害解析が容易にできない。
<比較例3>
比較例3では、JTAGインターフェースによるプリント基板の試験手順を例示する。図5は、JTAGテストジェネレータの処理を例示する図である。図5で、ネットリスト21、BSDLファイル22、テストアクセス情報326、並列オープンショート327等は、例えば、情報処理装置1の主記憶装置や外部記憶装置に格納される。また、例えば、テストデータベース328、オープンショートテスト330等は、例えば、試験機302の外部記憶装置に格納される。
まず、JTAGテストジェネレータは、ネットリスト21と、BSDLファイル22から、テストアクセス情報326を生成する(J1)。ネットリスト21は、プリント基板上のピン間の接続関係を示す情報と、プリント基板上の部品名と型格番号の対応を示す情報を含む。ネットリスト21が接続情報の格納部の一例である。BSDLファイル22が第1の動作モデル格納部の一例である。接続関係を示す情報が接続情報の一例である。
接続関係を示す情報は、例えば、(ネット識別情報、ピン1、ピン2)で例示される。(ネット識別情報、ピン1、ピン2)は、ピン1とピン2とが、ネット識別情報で示されるネットで接続されることを例示する。ここで、ピン1、ピン2等はピンを識別する情報である。ピンを識別する情報の形式は、例えば、部品名−ピン番号で例示される。また、部品名と型格番号の対応を示す情報は、(部品名、型格番号)で例示される。ここで、部品名は、プリント基板上の回路図上の部品名である。一方、型格番号は、部品の型番である。
BDSLファイル22は、JTAG部品のピンに接続される内部のバウンダリセルとの対等関係、ピンの入出力を定義する。JTAG部品のバウンダリセルは、JTAG部品のピンと内部コアロジックの間に配置されるレジスタ群ということができる。バウンダリセルは、シリアルに結合されシフトレジスタとして機能する。それぞれのバウンダリセルに
は、TDI、TDO等のテストアクセスポート(TAPとも呼ばれる)から試験パターンを入力し、シフトすることができる。したがって、バウンダリセルが結合されたシフトレジスタは、試験パターンの設定と読み出しが可能である。言い換えると、バウンダリセルは、各ピンと内部コアロジックの間に挿入されるプローブとして機能する。
JTAGテストジェネレータは、BDSLファイル22によって、ピンごとに、シフトレジスタの関係を認識する。したがって、JTAGテストジェネレータは、TDIから設定された試験パターンがピンごとにシフトする順を認識する。
テストアクセス情報326は、試験対象のプリント基板上のネットのうち、信号を送信するドライブピンと、信号を受信するレシーブピンを含むネットの集合として例示される。ドライブピンとレシーブピンを含むネットは、試験可能なネットということができる。従ってJTAGテストジェネレータは、ネットリストを読み1ネット毎接続されたピンをBSDLから調べこれがドライブピンかレシーブピンかを特定し、1ネットの接続ピン全てを読み終わった段階で、ドライブピンとレシーブピンが存在した場合、これを試験可能ネットとして1ネット分のテストアクセス情報を記録する。これを全ネット対して行いテストアクセス情報を生成する。
次に、JTAGテストジェネレータは、並列テストパターン327を生成する(J2)。並列テストパターン327は、テストアクセス情報326として取得されたネット間でユニークな試験パターンである。つまり、並列テストパターン327は、ネットごとに異なるビット列として決定される。そして、並列テストパターン327は、ドライブピンとレシーブピンに割り当てた情報として定義される。ドライブピンには、ドライブレベルが指定される。また、レシーブピンには、ドライブピンに対応する期待データが指定される。期待データは、例えば、ドライブピンに試験パターンの信号を出力したときにレシーブピンで観測することが期待できるデータという意味である。
ネットごとにユニークな試験パターンを決定するのは、配線短絡時の干渉を検出可能とするためである。例えば、短絡した2つのネットのレシーブピンの読み取り値は、期待パターンが同じ箇所ではエラーが発生せず、期待パターン異なる箇所でエラーが発生するだろうと予測されます。従って試験に於いてエラーが発生した段階で、上記に該当するネット間を短絡と特定します。JTAGテストジェネレータは、並列テストパターン327の作成では、実際の制御手順に無関係に、ピンごとの目標の制御値を設定する。並列テストパターン327は、並列オープンショートテストパターンとも呼ばれる。
次に、JTAGテストジェネレータは、テストデータベース328に、ネットごとの試験パターン、当該ネット内のピンの情報、ドライブピン、レシーブピンの区別等を記録する。テストデータベース328は、ネットごとに試験パターン全体が認識できる情報を保持する。テストデータベース328は、例えば、障害解析等に使用される。
次に、JTAGテストジェネレータは、最終テストパターンを生成する(J3)。最終テストパターンが制御情報の一例である。JTAGテストジェネレータは、BDSLを基に、並列テストパターンで設定されたドライブピンのドライブレベル(ビット値、1/0)、およびレシーブピンの期待値(ビット値、H/L)をバウンダリセルイメージの配列の該当ビット位置に埋め込む。この配列はバウンダリセルの連結順になっており、更にJTAG部品の連結したものになっている。図5の例では、JTAG1、JTAG2の2つのLSIのバウンダリセルを格納する配列が例示されている。この配列の中の0からnは、各JTAG部品のバウンダリセルに対応するエントリが例示されている。この配列をシフトし先頭から溢れたもののドライブレベルをTDIへの書き込みパターンとし、期待値をTDOからの読み出す期待パターンとして作成する。JTAGテストジェネレータは、
上記で作成した最終テストパターンをオープンショートテストファイル330に出力する。
試験機302は、オープンショートテストファイル330を読み出し、試験を実行する。具体的には、試験機302は、JTAGインターフェースのTDIからビット列を入力し、結合されたバウンダリセル間をシフトし、TDOから観測する。そして、試験機302は、レシーブピンで期待値と一致する信号が受信できたか否かを判定する。そして、試験機302は、判定の結果、エラーが発生した場合には、テストデータベース328を参照し、障害位置を指摘する。
図6から図9の図面を参照し、実施例に係る情報処理装置1を説明する。本実施例では、I2C部品と、JTAG部品を含むプリント基板9の試験プログラムを生成する情報処理装置1について説明する。
比較例3で述べたように、JTAGテストジェネレータではI2C部品が未知のため、JTAGに関する部分だけのテストが生成されている。そこで、本実施例では、I2C部品がテストジェネレータで認識可能な形式で表現される。そして、テストジェネレータは、I2C部品のピンを含むネットをテストアクセス情報に組み込む。すなわち、実施例の情報処理装置1は、I2C部品を含む回路のオープンショートテストを作成し、テストデータベースを作成する。
一方、実施例の試験機2は、試験を実行し、さらに、障害位置を指摘可能となる。I2Cインターフェースは、JTAGと異なり部品の制御やツリー構造の接続に対応する。このようなI2Cインターフェースの特徴のため、実施例では、I2C部品を含むプリント基板9の内部構造の表現の仕方、ピン間のツリー構造の表現、およびこれらの表現を処理する手順が提案される。なお、プリント基板9、試験機2、および情報処理装置1を含むシステムの構成は、図2と同様である。
<試験対象部品の例>
図6は、試験対象のプリント基板9に含まれるI2C部品の1つであるI2C−PIOを例示する図である。I2C−PIOが第2の集積回路の一例である。プリント基板9が電子装置の一例である。図6は、一般的な8ビットPIO(プログラムIO)の入出力ピンを例示する。SDA(シリアルデータ)、SCL(シリアルクロック)はそれぞれI2C制御信号のピンであり、データピンとクロックピンである。SDA/SCLが通信ピンの一例である。
また、P0−7はプログラマブルな入出力信号のピンである。P0−7の各ピンは、入力ピン、出力ピンの一例である。A0−2はスレーブアドレスのオプションピンである。I2C部品は内部にICのスレーブアドレスを持っている。I2C部品はA0−2の値を内部に保持するスレーブアドレスに加算し、回路としてのスレーブアドレスを算出する。
図7は、I2C部品の接続例である。I2C−PIO部品のI2Cバス(SDA/SCL)は、通常、I2C−MPX(マルチプレクサ)または外部の装置に接続される。1つのバスに複数のI2C部品を接続できる。1つのバスに接続された複数のI2C部品は、スレーブアドレスで選択される。I2C−MPXが第3の集積回路の一例である。
I2C−MPXは、I2Cバスを拡大する。I2C−MPXでは、SDA/SCLがチャネルと呼ばれる複数の経路に分岐する。図7では4チャネルのものが示されている。I2C−MPXもスレーブアドレスを有している。また、I2C−MPXは、スレーブアド
レスを変更するためのアドレスピンを有する。図7で、MDAn,MCLn(ここで、n=0,1,2,3)はマルチプレックスされたクロックとデータのピンを示している。
I2C部品は、通常、制御レジスタを持っている。I2C−PIOの例ではP0−7の各ピンの入出力を決める方向レジスタ(CONF)、各ピンの出力レベルを設定する出力レジスタ(OUT)、各ピンのレベル、例えば、0/1を取り込む入力レジスタ(IN)がある。さらに、I2C−MPXは、制御レジスタとして、I2CバスSDA/SCLをどのMDAn/MCLnに繋ぐかを設定するためのチャネル選択レジスタを有している。MDAn/MCLnがチャネル通信ピンの一例である。
図8に、I2C部品を制御する制御シーケンスで指定されるデータ例を示す。
図8は、I2C部品を制御する制御装置とI2C部品との間で、授受されるバイト列を例示する。I2C部品の制御シーケンスでは、SDAとSCLを用いてデータ転送が行われる。ここでは、I2Cを制御する制御装置がSDAを通じて送受信するバイト列によって、I2Cにアクセスする制御シーケンスを例示する。この制御シーケンスは、I2C部品の内部のレジスタへの設定を行うシーケンスであるので、設定シーケンスとも呼ばれる。設定シーケンスでは、例えば、3バイトの設定バイト列がSDAを通じて送信される。
1バイト目:スレーブアドレス+R/Wビット;
2バイト目:レジスタアドレス;
3バイト目:レジスタへの設定値;
制御装置は、1バイト目で、対象となる部品を選択するためのスレーブアドレスとR/Wビットを送信する。1バイト目を受信したI2C部品は、自己のスレーブアドレス+アドレスピンの値が受信したスレーブアドレスと一致した場合に、自身が選択されたと認識する。また最後のR/Wビット(0ビット目)で以後の転送がリードアクセスかライトアクセスかが示される。例えば、R/Wビット=0は、ライト操作を記載している。制御装置は、2バイト目にレジスタアドレスを送信する。レジスタアドレスは、データの授受を行う対象のレジスタを指定する情報である。さらに、制御装置は、3バイト目で、2バイト目に指定したレジスタへの設定値を送信する。以上が、I2C制御シーケンスの一般的な例である。
例えば、図7の構成で、I2C−MPXのチャネル選択レジスタが設定されると、制御装置は、I2C−MPXを介して、選択されたチャネルのIC2−PIOと通信可能となる。したがって、制御装置は、選択されたチャネルのIC2−PIOの方向レジスタ、出力レジスタに値を設定でき、入力レジスタから値を取得できる。
図9に、本実施例に係る、I2C部品を含むプリント基板9の試験プログラム作成処理を例示する。比較例3で説明したJTAGテストジェネレータに対して、図9の機能を提供するシステムは、汎用のテストジェネレータと呼ぶことができる。情報処理装置1は主記憶装置に実行可能に展開されたコンピュータプログラムを実行することによって、本実施例のテストジェネレータとして機能する。図9で、ネットリスト21、BSDLファイル22、I2C部品の動作モデル23、I2C部品表24、I2Cツリー25、テストアクセス情報26、並列オープンショート27、並列I2Cファンクション29等は、例えば、情報処理装置1の外部記憶装置または主記憶装置に格納される。また、例えば、テストデータベース28、オープンショートテスト30、I2Cファンクション31等は、例えば、試験機2の外部記憶装置に格納される。
本実施例では、テストジェネレータによる処理前に、ユーザが、I2C部品の動作モデル23を作成することが前提となる。I2C部品の動作モデル23は、I2C部品の型格番号、ピンの仕様、スレーブアドレス、レジスタの定義等を含む。I2C部品の動作モデ
ル23は、所定の書式で記述されたテキストファイルとして定義できる。I2C部品の動作モデル23は、第2の動作モデル格納部の一例である。
そして、テストジェネレータは、ネットリスト21と、I2C部品の動作モデル23と、BSDL22とから、テストアクセス情報を生成する(S1)。テストアクセス情報の生成手順は、I2Cの部品表作成(SS1)、I2Cツリー作成(SS2)、テストアクセス情報の出力(SS33)というステップを含む。情報処理装置1のCPUは、テストアクセス情報抽出部の一例として、S1の処理を実行する。
すなわち、テストジェネレータは、ネットリスト21と、I2C部品の動作モデル23とから、I2C部品表24を作成する(SS1)。ネットリスト21は、図5で説明したものと同様、プリント基板9上のピン間の接続関係を示す情報と、プリント基板9上の部品名と型格番号の対応を示す情報を含む。
I2C部品表24は、プリント基板9上の部品名と、部品名に対応するI2C部品の動作モデル23へのポインタを含む。ネットリスト21のネット(ネットの識別情報、ピンの識別情報1、ピンの識別情報2)において、ピンの識別情報は、例えば、部品名−ピン番号で定義される。したがって、テストジェネレータは、プリント基板9上の部品名をネットリスト21から取得できる。テストジェネレータは、ネットリスト21によって、プリント基板9上の部品名を認識するとともに、型格番号を基に、I2C部品の動作モデル23を検索する。そして、テストジェネレータは、部品名に対応する型格番号のI2C部品の動作モデル23内の情報への格納先情報を取得する。そして、テストジェネレータは、部品名に対応させたポインタとして、取得した格納先情報を設定する。I2C部品表24の作成により、テストジェネレータは、プリント基板9上のI2C部品と、I2C部品の内部構造の認識が可能となる。したがって、テストジェネレータは、ネットリスト21中のネットの部品名に対応する部品のインターフェース仕様を取得できる。
また、テストジェネレータは、I2Cツリー25を作成する(SS2)。I2Cツリー25は、プリント基板9上のI2C部品のピンとピンとの接続関係を木構造で記述した情報である。
I2Cツリー25の作成では、テストジェネレータは、ネットリスト21とI2C部品の動作モデル23から、SDA/SCL、MDA/MCLピンの接続を調べる。そして、テストジェネレータは、接続関係の階層の最上位であるTOP層(SDA/SCLだけが存在する所)を確定する。そして、テストジェネレータは、TOP層から、下位の層に接続されるピンを探索する。そして、探索されたピンにAcsn(アクセス番号)を付与する。Acsnは、I2Cバスの接続関係を示す情報である。Acsnは、例えば、1つのネットにおいて、上位の部品のチャネル番号とそのチャネル番号のチャネルに接続される下位の部品のワイアード接続の接続先を示す識別情報とをペアにして、列記したものである。Acsnは、上位の部品のチャネルと直下の部品のワイアード接続先を順に列挙したものとなり、ツリー構造の基礎情報となる。
さらに、テストジェネレータは、I2Cツリー25の作成とともに、スレーブアドレスを確定するためのアドレスピンの信号レベル(1/0)を調査する。そして、テストジェネレータは、I2C部品内部のスレーブアドレスと、アドレスピンの信号レベルから、I2C部品のプリント基板9上のスレーブアドレスを算出し、ツリー解析データとしてI2Cツリー25に書き込む。ただし、I2C部品のスレーブアドレスの格納先が、I2Cツリー25に限定される訳ではない。ようするに、I2C部品の部品名と対応づけてスレーブアドレスが格納されればよい。したがって、例えば、テストジェネレータは、スレーブアドレスをI2C部品表24に格納してもよい。
また、テストジェネレータは、ネットリスト21とI2C部品の動作モデル23からテストアクセス情報26を作成する(SS3)。テストジェネレータである情報処理装置1は、テストパターン発生部として、S3の処理を実行する。テストジェネレータは、テストアクセス情報26の作成では、I2C部品をJTAG部品と同様に表現する。さらに、テストジェネレータは、I2C−ADCのネットを解析し測定ピンと電圧値をテストアクセス情報26に出力する。さらに、テストジェネレータは、I2C−ROMの部品名等をテストアクセス情報26に出力する。
次に、テストジェネレータは、並列テストパターン27を生成する(S2)。並列テストパターン27は、JTAG部品に対するテストパターンの他にI2C部品に対するものを含むこと以外は、図5の場合と同様である。すなわち、テストジェネレータは、テストアクセス情報26として取得されたネットごとにユニークな試験パターンを決定し、ドライブピンとレシーブピンに割り当てる。
また、テストジェネレータは、テストデータベース28に、ネットごとの試験パターン、当該ネット内のピンの情報、ドライブピン、レシーブピンの区別等を記録する。
また、テストジェネレータは、テストアクセス情報26のI2C−ADC、I2C−ROMの情報から、I2C−ADC、I2C−ROMの機能を確認するための並列I2Cファンクション29を作成する。並列I2Cファンクション29は、I2C−ADC、I2C−ROM等の部品特性、電圧測定ピンの期待値等を含む。
次に、テストジェネレータは、最終テストパターンを生成する(S3)。最終テストパターンは、オープンショートテストと、I2Cファンクションテストのパターンを含む。最終テストパターンがインターフェース仕様にしたがった制御情報の一例である。テストジェネレータである情報処理装置1は、生成部の一例として、S3の処理を実行する。
すなわち、並列テストパターンは、ピン毎のテストパターンであるが、I2C部品のPIOはポート毎にドライブまたはレシーブを行う。なおポートとは、I2C−PIOの複数の入出力ピンの集合で一回の操作で入出力できる単位である。例えば、8ビットのピンが1まとまりとして、1つのポートとして制御される。テストジェネレータは、まず、並列テストパターンの各ピン情報をI2C部品のPIOポートに相当するポートデータ変数の該当ビット位置に埋め込み、これを1パターン分実施しポートごとの入出力データを作成する(SS6)。以下、ポートごとの入出力データをポートデータという。そして、テストジェネレータは、試験対象部品のポートデータのAcsnを基に、プリント基板9のエッジのプリント基板9外への接続点に繋がる0段目から、試験対象部品の前段目までのI2C−MPXを試験対象部品への接続に設定する。プリント基板9外への接続点は、外部接続点の一例である。
すなわち、テストジェネレータは、I2C部品の動作モデル23で規定される制御シーケンスにしたがったデータ(以下、制御情報)を設定する。この制御情報の設定によって、MPXのチャネルが設定される。そして、プリント基板9のエッジのテスタピンから試験対象のポートの試験、つまりドライブピンの駆動と、レシーブピンでの観測が可能となる。
また、テストジェネレータは、I2C部品の動作モデル23より方向レジスタの情報を取得し、方向レジスタへの入出力を設定する。さらに、テストジェネレータは、例えば、出力レジスタの出力値を設定し、入力レジスタの読取を設定する。以上を試験パターンの全ビット について実施する。以上の処理によって、オープンショートテストファイル3
0が作成される。例えば、図2の配線L4−L6の最終テストパターンが設定される。
さらに、テストジェネレータは、I2C−ADC、I2C−ROMのファンクションテストファイル31を作成する(SS7)。例えば、図2の配線L7のI2C−ADC、あるいは配線L8のI2C−ROM等を試験するための情報が設定される。オープンショートファイル30、およびI2Cファンクションテストファイル31は、コマンド列を含むテキストファイルあるいは処理の高速化のためにバイナリファイルでもよい、例えば、スクリプトファイルである。
試験機2は、オープンショートテストファイル30およびI2Cファンクションテストファイル31を読み出し、ビット列に翻訳し、試験を実行する。具体的には、試験機2は、JTAGインターフェースのTDIからテストパターンを供給し、TDOから出力されるパターンを期待値比較する。また、I2C部品の設定は専用命令で生成されており試験機2は、これを翻訳しI2Cのコントローラを制御することで、I2C−MPXの設定、I2C−PIO等に、ドライブパターンを出力し、レシーブピンで受信された信号を期待値と比較する。そして、試験機2は、判定の結果、エラーが発生した場合には、テストデータベース28を参照し、障害位置を指摘する。
本実施例の情報処理装置1は、I2C部品の動作モデル23が設定されることを前提に、本実施例の処理を実行する。すなわち、情報処理装置1のCPUは、テストジェネレータとして、主記憶上のコンピュータプログラムを実行し、I2C部品を含んだ試験プログラムを自動生成する。I2C部品の動作がテストデータベース28として作成されているため、JTAG部品の回路と同様、試験機2は、エラーメッセージに、例えば、短絡ネット又は断線ピンを明示してオープンショートの箇所を指摘できる。
<テストジェネレータの具体例>
以下、テストジェネレータの処理を具体的に説明する。
<<テストジェネレータのI2C部品の動作モデルに対する処理>>
図10は、I2C部品の動作モデル23の構造を例示する図である。テストジェネレータは、I2C部品の動作モデル23の情報によって、I2C部品を認識するとともに、I2C部品の制御方法とインターフェース仕様を取得する。テストジェネレータは、例えば、ネットリスト21から、プリント基板9の部品名に対応する型格番号を取得する。そして、テストジェネレータは、取得した型格番号に合致するI2C部品の動作モデル23を複数のモデルから特定する。すなわち、テストジェネレータは、取得した型格番号と、I2C部品の動作モデル23のTYPE行とを比較する。そして、比較結果が一致であった場合、テストジェネレータは、一致したI2C部品の動作モデル23を主記憶装置の構造体に読み取る。
さらに、テストジェネレータは、部品名とI2C部品の動作モデル23へのポインタを格納したI2C部品表24を生成する。次に、テストジェネレータは、ネットリスト21の部品ピンの接続関係の部分を読取り、読み取った部品名が先のI2C部品表24にあれば、I2C部品となる。さらに、テストジェネレータは、ネットリスト21から読み取ったピンをI2C部品の動作モデル23のピン部分から探索する。そして、ネットリスト21に定義されたピンがI2C部品の動作モデル23で定義されるどの機能のピンかを特定する。
このため、ネットリスト21で定義されるピンの識別情報は、I2C部品の動作モデル23に設定されるピン部分のピンの識別情報と共通化しておけばよい。ただし、ネットリスト21で定義されるピンの識別情報と、I2C部品の動作モデル23に設定されるピン部分のピンの識別情報との対応関係が定義されていてもよい。なお、以下の実施例では、ピンの識別情報として部品名−ピン番号が用いられる。ただし、部品名−ピン番号を省略
して単にピン番号ともいう。また、ピンの識別情報の形式が部品名−ピン番号に限定される訳ではない。
また、テストジェネレータは、I2C部品の動作モデル23中で制御部の情報を取得する。I2C部品の動作モデル23の制御部には、I2C部品の制御方法が記述されている。テストジェネレータは、I2C部品の動作モデル23の制御部の情報にしたがって、最終テストパターンを生成する。
<<I2C部品の動作モデルの定義>>
以下、図10にしたがって、I2C部品の動作モデル23を説明する。図10では、I2C部品の動作モデル23をコマンドとパラメータとによって定義する。コマンドは、例えば、TYPE,SCL,SDA,MCL,MDA,SLVA,ADDRESS,PIO,VMeas,ROM,REGISTER等である。なお、REGISTERのコマンド中に、MPX,CONF,OUT,IN,VmStart等のサブコマンドが定義される。また、図10のように、I2C部品の動作モデル23は、素子識別部、ピン部、および制御部の3つの部分に分けて定義される。I2C部品の動作モデル23に定義される定義内容は、インターフェース仕様の一例である。
素子識別部は、TYPEコマンドによる定義を含む。TYPEコマンドのパラメータとして、機能名と、機能名に対する型格等が互換品分コンマ等で繋げて記述される。
ピン部は、ピン名称のコマンドによる定義を含み、パラメータで該当するピンの識別情報、例えば、番号を指定する。例えば、SCLコマンドとSDAコマンドは、I2Cバスのクロックのピン番号とデータのピン番の定義を行う。また、MCLコマンドとMDAコマンドは、マルチプレックスされたデータのピン番号とクロックのピン番号を指定する。より具体的には、チャネル順に、チャネル数分ピン番号がコンマ等で繋げて列記される。なお、チャネル選択レジスタの指定にしたがって、チャネル、すなわち、ピンが選択される。チャネル選択レジスタの指定が、選択指定の一例である。MCLコマンドとMDAコマンドは、選択指定情報の一例である。
SLVAコマンドは、I2C部品が内部に有するスレーブアドレスを指定する。
ADDRESSコマンドは、スレーブアドレスの算出に用いるアドレスピンを定義する。ADDRESSコマンドのパラメータは、例えば、上位からピン数、該当するピン番号を指定する。SLVAコマンドおよびADDRESSコマンドによる文が、アドレスの算出情報の一例である。
PIOコマンドは、PIOのピンを定義する。ただし、PIOのピンには、所定数ごとにポートが定義される。そこで、図10の例では、ポート名と、ポート名で指定されるポートに所属するピン番号の列が指定される。ピン番号の列は、具体的には、"方向=ピン
番号"の列である。方向では、入力、出力、双方向を表す識別子を記述し=の後にそのピ
ン番を記述する。これをピン数分コンマで繋げて記述する。
Vmeasコマンドは、電圧測定ピンを定義する。ポート名を記述し、ピン番に対する電圧読取レジスタアドレスとビットウェイトを記述する。これをピン数分記述する。
ROMコマンドは、ROMのタイプを記述する。タイプは、例えば、ROMデータのアドレス指定が1バイトか2バイトか等である。
REGISTERコマンドは、レジスタの構造の記述開始を宣言する。
MPXサブコマンドは、I2Cインターフェースのマルチプレックサピンの定義を行う。Offで全チャネルオフの設定値が記述される。また、"sel="でチャネル上位からの
それぞれのチャネルの選択値が記述される。"sel="によって指定されるチャネルの選択値が選択指定情報の一例である。
CONFサブコマンドは、PIOの信号方向の設定レジスタを定義する。ポート名が記述され、次に、そのレジスタアドレスが記述される。R/W=の後にリード/ライトの設定値が定義される。例えば、R/W=1/0である。bitp=で各ピンのレジスタ内ビット位置が定義される。図10の例では、bitp=76543210とあり、PIOのピンP7が最上位ビットに対応し、P0が最下位ビットに対応することが定義されている。
OUTサブコマンドは、PIOの出力レジスタを定義する。ポート名が記述され、次に、そのレジスタアドレスが記述される。bitp=で各ピンのレジスタ内ビット位置が定義される。出力レジスタは、各ピンP7−P0の出力レベル(1/0)を設定するレジスタである。
INサブコマンドは、PIOの入力レジスタを定義する。ポート名が記述され、次に、そのレジスタアドレスが記述される。bitp=で各ピンのレジスタ内ビット位置が定義される。入力レジスタは、各ピンのレベル(1/0)を取り込むレジスタである。I2C部品は、例えば、方向レジスタでRの設定とされたピンからデータを読み取り、入力レジスタに格納する。また、I2C部品は、Wの設定とされたピンへ出力レジスタのデータを出力する。
VmStartサブコマンドは、電圧測定開始手順を定義する。設定レジスタのレジスタアドレスが記述される。次に、設定値が記述される。なお、複数の設定値を含む設定シーケンスを定義する場合は、設定値がコンマで繋げて記述される。次に測定待ち時間が記述される。電圧測定開始は、通常全電圧測定ピンに共通であるので、ポート名は、省略される。
VmConfサブコマンドは、VMeasコマンドで指定する電圧測定ピンの指定がなされる部品のうち、特に、電圧測定のレンジ指定が可能な部品に対する指定を定義する。例えば、レンジのデータを設定するレジスタアドレス、定義するレンジ、レンジに対応するビットウェイト等が記述される。
以上のように、I2C部品の動作モデル23のピン部には、ピン番号と方向、部品のスレーブアドレス値、アドレスピンが定義される。部品のスレーブアドレス値、アドレスピンが定義されるので、テストジェネレータは、スレーブアドレスの算出情報をI2C部品の動作モデル23から取得できる。部品のスレーブアドレス値とアドレスピンの定義がアドレスの算出情報の一例である。また、制御部には、レジスタの仕様、レジスタアドレス、レジスタとピンとの対応関係、入出力の方向、出力レベル、入力の読取り方法が示される。したがって、I2C部品の動作モデル23は、I2C部品のインターフェース仕様の一例を含むということができる。
<<I2Cツリーの作成処理例>>
図11にI2C部品間の接続を例示する。I2C部品は、図11のようにツリー構造で繋がっている。図9のI2Cツリー25は、図11のようなI2C部品の接続関係を定義する情報である。以下、図11にしたがって、IC2ツリー25の作成手順を例示する。本実施例では、ツリーを表現する簡単な方法として、Acsn(アクセスNo.)と呼ぶ表記方法が提案される。
Acsn=nwnwnwnwnw
n:チャネル番号、ただしチャネル番号に代えてチャネルを識別する
情報としてもよい。チャネル番号は、0段目については試験機2のチャネル、つまりテスタチャネルを示し、1段目以降はMPXのチャネルを示す。
w:ワイアード接続を識別する情報、本実施例では、wには、A,B,Cの順に、文字が割り付けられる。
Acsnの定義では、nとwがペアとして記述され、左から2文字が0段目の状態、つまり最上位の部品のコネクタ31への接続状態を表す。また、次の2文字が1段目の状態、つまり最上位の部品の次の部品との接続状態を表す。ここで、次の部品との接続状態は、例えば、下位に位置する部品への接続チャネルとワイアード接続番号とによって表される。さらに次の2文字が次の部品からさらに下位に位置する部品との接続チャネルとワイアード接続番号を表す。以上の規則によって、着目している部品の接続チャネルや前段の部品の特定は容易になる。例えば、着目している部品の前段の部品のAcsnは、着目している部品から下位に位置する部品との接続状態を表す2文字を削除すれば求めることができる。I2Cツリーの作成処理では、各部品のAcsnを生成すると共に、I2Cバス上の部品へのアクセスに用いるスレーブアドレスの算出と、デバックに有効な可視化したI2Cツリー構造の生成とが実行される。
以下、図11の回路図を例に、Acsn算出処理を説明する。テストジェネレータは、ネットリスト21の部品名と型格の対応部分から、プリント基板9上の部品の型格を取得する。そして、テストジェネレータは、I2C部品の動作モデル23の素子認識部から、取得した型格に対応するI2C部品の動作モデル23の情報を特定する。そして、テストジェネレータは、部品名と特定したI2C部品の動作モデル23の情報へのポインタを設定し、I2C部品表24を生成する。
次に、テストジェネレータは、ネットリスト21で定義された部品のピンの接続関係からピンのピン番号を読み取る。また、テストジェネレータは、そのピンを有する部品の部品名がI2C部品表24にあれば、部品がI2C部品であると認識する。そして、テストジェネレータは、型格で関連付けされたI2C部品の動作モデル23のピン部からその部品ピンのピン番号を探索する。そして、テストジェネレータは、探索しているピン番号がSCL/SDAおよびMCLn/MDAnのピン番号と一致した場合、ネットリスト21に記載されたその部品ピンのネット名を主記憶装置に記録する。
すべてのネットを読み終わった段階で、I2C部品が接続されているSCL/SDAおよびMCLn/MDAnピンのネット名が記録される。この記録において、同じネット名が記載されているピンが接続されているので、テストジェネレータは、I2Cバスのピン間の接続関係が分かる。この記録の中で、SCL/SDAピンにMCLn/MDAnのピンが接続されていない箇所が最上段(0段目)、すなわち、TOPの階層となる。図11の例ではMPX1およびMPX3のSCL/SDAが0段目である。そこで、テストジェネレータは、まずTOPの階層にAcsn(アクセスNo.)をつける。図7では、0A,1Aとなる。最初のAcsnの1桁目は、プリント基板9のインターフェースとなるコネクタ、例えば、試験機2のコネクタのチャネル(以下、テスタチャネル)を識別する番号である。また、2桁目のアルファベットは、そのテスタチャネルに接続されるラインへのワイアード接続の番号となり、A、B、Cの順で付加する。
テストジェネレータは、続いて、TOPの部品の1つ目のチャネル(MCLn/MDAn)から順に下方へ探索を続け、すべてのAcsnを作成することにより、I2Cツリー25を作成できる。このAcsnにより、テストジェネレータは、注目するI2C部品の前段に接続されるMPXと接続チャネルが分かる。例えば、Acsn=0A1Bは、「TOPの階層(0段目)の部品の接続は、0番目のテスタチャネルのワイアード接続はA番目、1段目の部品の接続は、0段目の部品のMPXの1チャネル目に接続し、ワイアード
接続は、B番目であること」を意味する。テストジェネレータは、以上のようなAcsnから前段のMPX設定方法を認識できる。
また、テストジェネレータは、ネットリスト21を読む段階で、I2C部品の動作モデル23のアドレスピン(A0−2)のネットの情報を探索する。そして、テストジェネレータは、GNDに接続されているか、抵抗を介して電源に接続されているかの接続関係からアドレスピンのレベル(1/0)を解析する。そして、テストジェネレータは、認識したアドレスピンへの設定値と、I2C部品の動作モデル23から得たI2C部品内部のスレーブアドレスを加算し、I2C回路部品のプリント基板9でのスレーブアドレスを算出する。
図12にI2Cツリー25の出力イメージを例示する。図12のように、I2Cツリー25の最上位(0段目)から、部品の種類、部品名、型格、Acsn、およびスレーブアドレス(SLVA)を列記した形式である。また、上位の部品の定義の次に、中括弧"{
}"で閉じた内部に、次段の部品の定義が列記される。図8の例では、最上位の部品名M
PX1の接続関係が記録されている。すなわち、部品名MPX1の次の行に、次段の部品名MPX2のピンとの接続関係が定義され、さらに次の行に、次段の部品名PIO1の部品のピンの接続関係が定義されている。そして、最上位の部品名MPX1に関連するツリーが終了すると、さらに、最上位の部品名MPX3の接続関係が記録されている。
<<I2Cツリーの作成処理フロー>>
図13に、I2Cツリー作成処理フローを例示する。この処理では、テストジェネレータは、定義済みのIC2部品の動作モデル23を読み込み、対応する主記憶装置上の構造体に格納する(S10)。
次に、テストジェネレータは、I2C部品表24を作成する(S11)。すなわち、テストジェネレータは、ネットリスト21を読み、部品名と型格との対応部を基に部品名に対応する型格を取得する。そして、テストジェネレータは、型格がI2Cモデルにあれば、I2C部品表24を作成する。すなわち部品名と該当するI2Cモデルへのポインターを記録する。そしてテストジェネレータは、以上のような処理をネットリスト21に定義されたすべての部品名に対して実行する。
次に、テストジェネレータは、I2Cバス接続の状況、およびアドレスピンのレベルを調査する(S12)。すなわち、テストジェネレータは、ネットリスト21を読み、接続関係の部分からI2C部品のSCL/SDA/MCLn/MDAn(nはチャネルの番号)の接続を調べる。つまり接続されたI2C部品のピンが、SCL/SDA/MCLn/MDAnであれば、そのピンのネットをメモし、1ネット読取りが終わったらSCL/SDAピンにMCLn/MDAnのピンが接続されていたらソースありをメモする。また、テストジェネレータは、接続を調べる段階で、I2C部品のアドレスピンのレベルを調査する。すなわちI2C部品のアドレスピンに一致した場合、このネットが電源又はGNDのネットであればそのレベル(論理値)を、それ以外で抵抗に繋がっていれば、その反対側のピンのネットを調べ電源又はGNDかによって、そのピンのレベルをメモする。
次に、テストジェネレータは、I2C部品のスレーブアドレスを算出する。すなわち、テストジェネレータは、I2C部品表24が示すI2C部品の動作モデル23のスレーブアドレスと、各アドレスピンのレベルとビットウェイトの積をそれぞれ加算し、プリント基板9におけるI2C部品のスレーブアドレスを作成する(S13)。テストジェネレータである情報処理装置1は、アドレス算出部の一例として、S13の処理を実行する。そして、テストジェネレータは、算出したスレーブアドレスを、例えば、I2C部品表24に格納する。
次に、テストジェネレータは、テスタチャネルを割り付ける(S14)。テストジェネレータは、S12によるI2C部品のSCL/SDA/MCLn/MDAnの接続を基に、各SCL/SDAに、MCLn/MDAnの接続関係を判定する。そして、テストジェネレータは、SCL/SDAにソースがない、MCLn/MDAnが接続されていないものが、0段目(TOP)であると判定する。そして、0段目(TOP)であると判定された部品に対して、0から順にテスタチャネルを割り付ける。
次に、テストジェネレータは、I2Cツリーを調査する(S15)。すなわち、テストジェネレータは、テスタチャネルを割り付けたI2C部品のチャネルに繋がるI2C部品を調査する。そして、テストジェネレータは、接続位置、つまり、接続元のI2C部品のチャネル番号と、それに繋がるワイアード接続番号にしたがって、Ascnを作成する。例えば、テストジェネレータは、第1番目のワイアード接続から順に、A、B、Cのようなアルファベットを各ワイアード接続に設定し、各ワイアード接続先のI2C部品に付与する。テストジェネレータは、テスタチャネルを割り付けたI2C部品以下に接続される最終段のI2C部品まで、以上の処理を実行することで、接続された全てのI2C部品のAcsnを生成し例えばI2C部品表に格納する。
そして、テストジェネレータは、Ascnを基に、TOPから最終段までのツリー構造を認識でき、これを元に確認用のファイルI2Cツリー25を作成する(S16)。
<<テストアクセス情報生成処理>>
図14に、テストアクセス情報の出力イメージを例示する。テストアセス情報は、通常1ネット内に信号をドライブするドライブピン、信号をレシーブするレシーブピン、(テスタピンを含め)があるテスト可能なネットを列挙した情報である。図14の例では、各行に、試験の識別子、ネット名、部品−ピン番号、部品−ピン番号が例示されている。試験の識別子は、例えば、TEST、Vmese、I2C−ROM等を例示できる。TESTは、通常のピン間の接続試験の指定である。TESTが指定された行には、ネット名と、そのネットで試験される部品−ピン番号がペアで指定される。図14のように、テストジェネレータは、例えば、JTAG部品であるJTAG2のピン12と、I2C部品であるI2C−PIO2のピン1とをテストアクセス情報として取得する。
また、Vmeasは、I2C−ADCに対する電圧測定試験の指定である。図14の例では、NET5において、I2C部品であるI2C−ADCのピン10から電圧値を読み取ることが指定される。なお、Vmeasの括弧内の値は、試験対象のピンに加えられる電圧値の指定である。したがって、試験機2は、該当するネット、例えば、図14のNET5のI2C−ADC−10というピンから、データを読み出し、ビットウェイトにしたがって、電圧値を算出する。そして、試験機2は、算出した電圧値が、Vmeseの括弧内の値と一致するか否かを判定する。
また、I2C−ROMは、ROMに対する読み出し試験の指定である。ROMに対する読み出し試験では、アドレスのタイプが指定される。
JTAGテストジェネレータは、部品ピンとしては、JTAGピンを抽出していた。本実施例のテストジェネレータは、I2C部品の動作モデル23とI2C部品表(以下I2C動作モデルと含めて単にI2Cモデルとする)を利用することにより、I2C部品のドライブピン、レシーブピンもJTAG部品のピンと同様に抽出可能である。したがって、テストジェネレータは、以降の試験プログラムの生成がI2C部品を含むプリント基板9で可能である。また、本テストジェネレータは、JTAGテストジェネレータではなかった、電圧測定部品やROMの試験プログラムも生成する。
本テストジェネレータは、ネットリスト21のピンの接続関係を読み取り、1ネットごとに、そのピンの部品名からJTAG部品表を参照し、存在するか否かを判定する。ここで、JTAG部品の部品表は、部品名とBSDLデータへのポインタを格納した情報である。判定対象の部品名がJTAG部品表に存在すれば、テストジェネレータは、そのピンと入出力情報を配列に記録する。JTAG部品のピンの入出力情報は、BSDL22に定義されている。また、ピンが試験機2の接続コネクタのピンであれば、そのピンと入出力情報を配列に記録する。
一方、判定対象の部品名がJTAG部品表に存在しない場合、テストジェネレータは、判定対象(部品名−ピン番号)の部品名がI2C部品表24に存在するか否かを判定する。そして、部品名がI2C部品表24に存在し、ピン番号がI2C部品の動作モデル23のピン部のPIOピンのピン番号と一致すれば、そのピンと入出力情報を配列に記録する。I2C部品のピンの入出力情報は、I2C部品の動作モデル23に定義されている。
テストジェネレータは、1ネットの読み込みが終わった段階で、ドライブピンとレシーブピンがあれば、このネットはテストできると判定できる。そこで、テストジェネレータは、配列に記録された情報から図14に例示するようなイメージでテストアクセス情報26を主記憶装置に格納する。なお、図14は、テストアクセス情報26をテキストで例示するが、テストアクセス情報26の形式がテキストに限定される訳ではない。
また、ここで読み取ったピンがI2C部品表24からI2C部品の動作モデル23のピン部のVMeas文のピンと一致した場合は、当該部品ピンは、電圧測定ピン(I2C−ADC)である。そこで、テストジェネレータは、コマンドとして電圧測定を表すようにすると共に、測定箇所に印加される電圧をネットリスト21から読み取り、そのネットの電圧値を算出し、識別子の後方に電圧値を付加する。
さらに、そのピンの部品名がI2C部品表24で指定されるI2C動作モデル23にROMがであった場合には、テストジェネレータは、I2C−ROM部品を認識する。I2C−ROM部品はネット単位ではない。しかし、本実施例では、テストジェネレータは、I2Cツリーよりその部品名と回路のスレーブアドレスをリストアップする。
<<並列テストパターンの生成>>
図15に、並列テストパターンが生成される回路を例示する。並列テストパターンは、試験機2の制御手順を考慮しない、ドライブピンへの目標値およびレシーブピンでの期待値を設定した情報である。本実施例では、並列テストパターンとして、オープンショートテストと、I2Cファンクションテストを例示する。
テストジェネレータは、図14のように、テストアクセス情報26にテスト可能なネットを出力する。さらに、テストジェネレータは、テストアクセス情報26内のテスト可能なネットに対するテストパターンを決定する。
テストジェネレータは、ショート試験では、図15の様に対象ネットのそれぞれに、ユニークな試験パターンを割り当てる。試験パターンとして、例えば、符号Aのネットでは、"00001"が割り当てられ、符号Bのネットでは、"00010"が割り当てられている。割り当ての結果、例えば、ショート時に何処かのステップで、複数のレシーブピン間で干渉が起こった場合に、試験機2が障害を検出できる。
またオープン試験は、ネットに複数のドライバがあるとき、ドライバを切り替え、0/1をドライブするパターンを生成する。ドライバからドライブされる0/1のデータをネットのレシーブピンで観測できない場合に、断線が検出される。ここで、ドライバとは、
ネットにデータを送出するピンをいう。
例えば、JTAG1−1=1は、部品:JTAG1のピン:1のレベルが1であることを示している。また、JTAG2−10=Lは、部品:JTAG2のピン:10のレシーブピンとしての期待データがLであることを例示している。本実施例では、レシーブピンとしての期待データは、H(高電位)とL(低電位)で示す。
なお、図16の試験パターンは、JTAGやI2Cの制御シーケンスを考慮していないため、並列テストパターンと呼んでいる。また、試験パターンの1パターンとは、各ネット1ビット分、例えば、図15の枠で囲まれた縦に並んだビット群である。
また、並列テストパターンの設定過程で図17の様に、ネットごとのテストパターンやピンごとのドライブレシーブパターンをテストデータベース28として生成する。図17の例では、NET=Aの試験パターンが00001であり、ドライブピンがI2CPIO−5、レシーブピンがJTAG2−1であることを例示している。
これらは後の障害解析のために使うものである。
以上の処理で、テストジェネレータは、I2C部品については、I2C部品の動作モデル23のピン部のピン入出力情報を参照して処理する。そして、テストジェネレータは、並列テストパターンやテストデータベース28をJTAGピンと同様に表記する。
なお、I2C−ADC(電圧測定部品)やI2C−ROMは、その部品単体、あるいは該当ピンのテストであり、オープンショートテストではない。しかしながら、テストジェネレータは、I2C−ADC(電圧測定部品)やI2C−ROMについても、テストアクセス情報26とI2C部品の動作モデル23を基に、オープンショートテストとは別の並列I2Cファンクションテスト情報として試験パターン(コマンド列)を生成する。
<<処理の例>>
図14において、テストアクセス情報26の試験の識別子がTESTであるネットがオープンショート可能なネットである。テストジェネレータは、試験の識別子がTESTであるネットに試験パターンを生成する。図15では、ネットA〜Eの横方向パターンが、一連の試験パターンを示している。図15ではJTAG−JTAG間、JTAG−I2Cしか記載していないが、実際には、図2の配線L1−L6の箇所について、試験パターンが生成される。プリント基板9の試験では、各ネットを並列に試験を実施するため、縦方向の1列が1ステップでの試験パターン(1パターンという)となる。
次に、テストジェネレータは、この1パターンごとに各部品ピンのドライブ・レシーブ情報を生成する。1パターンとは、図15のそれぞれのネットに設定される試験パターンを、各ネットについて1ビットずつ取り出したビットパターンである(図15の枠部分参照)。
図16は、ネットに、ショートテストのための試験パターンを割り付ける処理を例示する図である。ショートテストでは、テストジェネレータは、ネットごとにドライブピンを決定し、ドライブピンとして決定されたピンと決定されたドライブレベルを図16のように生成する。図16では、また、テストジェネレータは、ドライブピンからの信号をレシーブ可能な他のレシーブピンにおいて、ドライブピンの信号レベルを読み取るよう、レシーブピンと期待値データ(レベル)を図16のように出力する。図16では、オープンテストは、ネットに複数のドライバが存在するものについてドライバを順に換えて1/0をドライブするとともに、他の部品ピンでドライブされた信号をレシーブするようテストパターンが生成されている。
以上の手順により、テストジェネレータは、1パターンごとに、ドライブピンとドライブレベル、またはレシーブピンとレシーブレベルを図16のように生成する。すなわち、ドライブピンに対する試験パターンの値(1または0)と、そのドライブピンから信号を受けるレシーブピンでの期待値(HまたはL)とが、ドライブピン、レシーブピンとともに列記される。
以上の過程で、テストジェネレータは、I2C部品についてはI2Cモデルからその入出力情報を取得し、JTAGと同様に処理する。また、テストジェネレータは、このピンレベルのドライブ・レシーブ情報を生成する前に、I2C−PIOの各ポートについて、各ビットのピンのネット名の情報もポートの接続情報として生成する。これは障害検出時に、JTAGと同様にエラーネットを特定するためである。また、テストジェネレータは、オープンショートテストの障害解析のために、各ネットに対する一連のテストパターンやピンに対する一連のテストパターン(オープンの場合)を記憶したテストデータベース28を生成する。テストデータベース28により、試験機2は、全体の動きが分かるようになり、後の障害解析で利用する。
図17に、テストデータベース28の構成を例示する。図17のように、テストデータベース28には、ネットごとに、試験パターンと、その試験パターンが設定されるドライブピン(STATE=D)と、そのドライブピンからの信号をレシーブするレシーブピン(STATE=R)とが列記される。
<<最終テストパターンの生成>>
並列テストパターンは、ピン単位でのドライブとレシーブの目標値といえるビット列の情報である。したがって、並列テストパターンは、JTAG部品あるいはI2C部品の動作仕様にしたがった制御情報とはなっていない。そこで、テストジェネレータは、並列テストパターンを実現するために、JTAGインターフェースに対する制御情報と、I2Cインターフェースに対する制御情報を作成する。各ネットに対して並列テストパターンを実現するための制御情報を最終テストパターンと呼ぶ。最終テストパターンは、例えば、試験機2に入力されるマクロコマンド等を含むスクリプトの形式で作成できる。
テストジェネレータは、JTAG部品のピンに設定された並列テストパターンをバウンダリセルに割り当て、例えば、TDIにシフトするための情報を作成し、これを元に最終テストパターンを作成する。また、テストジェネレータは、I2C部品のピンに設定された並列テストパターンを最終テストパターンに変換する。テストジェネレータは、PIOのポート単位のポートデータを作成する。そして、テストジェネレータは、I2C部品の動作モデル23とI2Cツリー25を用いて、試験機2あるいはI2Cのコントローラ等から試験を制御するためのスクリプトとして、最終テストパターンを生成する。
(1)オープンショートテスト
(1.1)JTAG部品の処理
テストジェネレータは、JTAG部品のピンごとのドライブ・レシーブ情報を先頭から1ビットずつ取得する。そして、テストジェネレータは、取得した部品ピンごとのドライブ・レシーブ情報をJTAGについては、BSDLの情報から各ピンのセル順の情報よりTDI/TDO配列の該当位置に設定する。ここで、TDI/TDO配列は、バウンダリセル連結イメージの配列である。例えば、TDI/TDO配列は、出力ピンをアップデートする為のデータと入力ピンからキャプチャしたデータの期待値を記憶できる。
テストジェネレータは、1つの並列テストパターンの変換が終わるとJTAGのステートコントロールあるいはTDI/TDO配列のビット列を出力することにより、JTAG
インターフェースに対する最終テストパターンを生成する。JTAGのステートコントロールは、JTAG部品を制御するためのコマンドであり、例えば、データのアップデート、データのシフト、データのキャプチャ等を含む。JTAG部品を制御するシーケンスは、JTAGで規定されているので、その詳細は省略する。
(1.2)I2C部品の処理
I2C部品の信号の入出力はPIOのポート単位で行われる。
従ってテストジェネレータは、ピンに設定された並列テストパターンから、部品ごとのPIOポートの試験パターンを生成する。詳細には並列テストパターンの一ピン毎の情報から、部品名とピンを元にI2Cモデルを参照しどの部品のどのポートでどのビット位置かを特定し該当するポートデータに挿入する。以下、PIOの試験パターンをポートデータともいう。
そして、テストジェネレータは、例えば、マルチプレクサに接続されるPIOの試験パターンを変換する場合、処理中のI2C−PIOの前段のI2C−MPXに対する制御情報を設定する。例えば、テストジェネレータは、処理中のI2C−PIOのAcsnの最初の2文字(ポート番号)に一致するAcsnを持つI2C−MPX(0段目のMPX)を選択する。そして、テストジェネレータは、処理中のI2C−PIOのAcsnの次に続くAcsnの文字により接続チャネル得る。次にテストジェネレータは、I2C部品の動作モデル23のMPX情報にしたがい、接続チャネルを選択する制御情報を設定する。同様の手順を繰り返し、処理中のI2C−PIOの直前のI2C−MPXまでチャネルを設定する。取得したチャネルにデータを出力するための制御情報を選択指定と呼ぶ。
この時点で、処理中のI2C−PIOの部品のPIOポートのデータが決定している。すなわち、PIOポートのビット(ピン)単位で、入出力方向及び出力値及び入力の期待値が決定している。そこで、テストジェネレータは、I2C部品の動作モデルのCONFサブコマンドの情報を基に、処理中のI2C−PIOの方向レジスタへ入出力の設定を行う。
次に、テストジェネレータは、ピンをドライブする並列テストパターン(ポートデータ)から、I2C部品の動作モデル23のOUTサブコマンドの情報を基に、出力レジスタへの出力レベル(1/0)を設定する。同様にして、テストジェネレータは、すべての部品のPIOの並列テストパターン(ポートデータ)に対する制御情報を設定する。
テストジェネレータは、部品のピンからレシーブする並列テストパターンも同様に設定する。すなわち、テストジェネレータは、並列テストパターンをレシーブするPIOに対して、上位のI2C−MPXに対する制御情報を設定する。そして、テストジェネレータは、処理中のI2C−PIOの部品のPIO(ピン)の並列テストパターン(ポートデータ)を基に、I2CモデルのCONFサブコマンドの情報を基に、方向レジスタを設定する。次にI2Cモデルの情報とポートデータから、該当する入力レジスタからの読み取りを指定する制御情報、期待データ、および入力以外のビットを無視するためのマスクデータを出力する。マスクデータは、読み取り指定のピンと読み取り指定以外のピンとを区別するために、ピンごとに指定されるビット列である。
テストジェネレータは、以上の処理を並列テストパターンに設定されたすべての部品のPIOについて行う。さらに、テストジェネレータは、以上の処理を全試験パターンについて行うことによりオープンショートテストの最終テストパターンが生成される。
(2)I2Cファンクションテスト
テストジェネレータは、並列I2CファンクションテストからI2C電圧測定部品のテ
ストとして、その部品の前段I2C−MPXをPIOの場合と同じように設定する。そして、テストジェネレータは、電圧測定開始やレンジ設定を実際の命令(I2Cwrite)に変換し、電圧の読み出しを実際の命令(I2Cread)に変換する。I2C−ROMに関しては、テストジェネレータは、ROMタイプで指定されたアドレス設定を行い(I2Cwrite)、データを読み出す(I2Cread)命令を生成する。データの確認については、テストジェネレータは、予め指定しておいたデータと比較しテストを行うように試験機2への命令を生成する。
<<最終テストパターン生成処理例>>
図18に、最終テストパターンの生成処理におけるデータの流れを例示する。ここでは、並列テストパターンとして、以下が設定される場合を例にして、最終テストパターンの生成処理を例示する。また、プリント基板9上の部品としては、図2に示したように、マルチプレクサである部品I2C−MPXにI2C−PIO2という部品が接続されると仮定する。
#I2CPIO2−1=0;
これは、部品I2C−PIO2のピンP1にレベル0を書き込むという並列テストパターンである。
#I2CPIO2−2=1;
これは、部品I2C−PIO2のピンP2にレベル1を書き込むという並列テストパターンである。
#I2CPIO2−3=L;
これは、部品I2C−PIO2のピンP3からの読み出しの指定と、読み出し値の期待値がL(低電位、接地電位)であるという並列テストパターンである。これらの並列テストパターンに対して、テストジェネレータは、I2C部品の動作モデル23のPIO情報から、該当するポートとビット位置を取得し、各ビット位置に対応するピンに対応づけてポートデータを作成し、記録する。例えば、上記3つの並列テストパターンは、次のようなポートデータとなる。
I2CPIO2 Acsn=0A3A PORT1 ZZZZZL10 SLVA=42;
ここで、PORT1はポート名である。通常I2C部品のPIOが例えば8ビットを超えるビット数を有する場合には、PIOを複数のポートに分けてビット配置させるため、ポート名を定義し、ポート名によって分かれたビットを特定する。そこで、ポートデータは、各部品のポートごとに定義される。
また、ZZZZL10は、それぞれピンP7−P0に設定された並列テストパターンである。また、例えば、Zは、並列テストパターンが設定されていないことを示す文字である。この並列テストパターンでは、ピンP2は、読み取りの期待データがL(低電位、接地電位)、ピンP1からの書き込みのレベルが1、ピンP0からの書き込みのレベルが0であることが例示される。
テストジェネレータは、Acsn=0A3Aの上位の2文字"0A"から、0段目のMPXとテスタチャネル"0"を選択する。なお、本実施例では、テストジェネレータは、I2Cツリー25の作成時に、各I2C部品のスレーブアドレスを算出し、例えば、I2C部品表24(あるいはI2Cツリー25)に設定している。そこで、テストジェネレータは、I2C部品表24に設定されている0段目のMPXのスレーブアドレス、例えば、"E
0"を取得する。 また、テストジェネレータは、Acsn=0A3Aの3番目の文字"3"
から、0段目のMPXのチャネル3に接続されることを認識する。そして、テストジェネレータは、I2C部品の動作モデル23のMPXサブコマンドのsel=の設定値から、チャネル3を選択するためのチャネル選択レジスタへの設定値(例えば、"04")を取得する。そして、テストジェネレータは、制御情報として、以下を生成する。制御情報は、試験機2がプリント基板9上のI2C−MPXを制御するためのマクロ命令である。
I2CWrite 0 E0 04;
次に、テストジェネレータは、部品I2C−PIO2の方向レジスタ(CONF)を設定する。今、部品I2C−PIO2のスレーブアドレスが"42"、方向レジスタ(CONF)のアドレスが"04"であるとする。また、下位2ビットに相当するピンP1、P0が書き込みであり、下から3ビット目に相当するピンP2が読み出しである。また、ピンP7−P3は、並列テストパターンの指定がない(ポートデータ"Z")。そこで、方向レジスタへの設定値は、下位2ビットに、書き込みを示すビット1を設定するので、03となる。従って、テストジェネレータは、以下の制御情報を最終パターンとして生成する。
I2CWrite 0 42 04 03;
同様に、出力レジスタ(OUT)のアドレスが"06"、出力レジスタ(OUT)に書き込む値が下位2ビット"1"と"0"であるので、値は16進数で"02"となる。そこで、テストジェネレータは、以下の制御情報を最終パターンとして生成する。
I2CWrite 0 42 06 02;
同様に、入力レジスタ(IN)のアドレスが"00"、入力レジスタ(IN)からの期待データは、ピンP2(下から3ビット目)がLであり、他のビットは未設定であるので、00(全ビット0)であり、マスクは、下から3ビット目が1であるので、04である。そこで、テストジェネレータは、以下の制御情報を最終パターンに設定する。
I2Cread 0 42 00 00 04;
なお、期待データとマスクデータは、試験対象のI2C部品の入力レジスタから読み出されたデータを検証するために、用いられる。すなわち、試験機2は、試験対象のI2C部品の入力レジスタからポートのデータを取得する。そして、試験機2は、取得したポートのデータからマスクを用いて、入力ピンのデータを選択し、期待データと比較することで、試験を実行する。
テストジェネレータは、以上の手順で生成された制御情報は、最終テストパターンとして出力する(図9のオープンショート30参照)。
<<最終テストパターン生成処理フロー>>
(1)最終オープンショートテストパターン
図19Aは、最終テストパターン生成処理フローを例示する。この処理では、テストジェネレータは、まず、並列テストパターンを読み込む(S30)。そして、テストジェネレータは、並列テストパターン中のピンを部品の種類ごとに分類し、I2C部品は各ポートデータにJTAG部品はTDI/TDO配列に記録する。(S31)。S31の処理によって、ポートデータが作成される。
一パターン分の並列テストパターンの読込が終ったら、テストジェネレータは、JTAG部品ピンに設定された試験パターンつまり、TDI/TDO配列に記録されたデータを元に最終テストパターンを出力する(S32)。この処理は、例えば、JTAG部品ピンに対応するバウンダリセルに設定する情報や読取り情報に対する期待値情報がTDI/TDOの配列に試験パターン1ステップ分記録されており、これを元にTDIからシフトインし出力ピンを設定する試験パターンを生成する処理である。また、入力ピン取り込まれ
TDOで観測されるビット列を検査データを生成する処理である。JTAG最終テストパターン出力処理の詳細は省略する。
次に、テストジェネレータは、I2C部品ピンに設定された試験パターンに対する最終テストパターンを出力する。ただし、本実施例では、テストジェネレータは、出力レジスタ、すなわち、I2C書き込みパターンと、入力レジスタ、すなわち、I2C読み取りパターンに分けて最終テストパターンを出力する。例えば、テストジェネレータは、I2C部品の出力レジスタに対する最終テストパターンを出力する(S33)。さらに、テストジェネレータは、I2C部品の入力レジスタに対する最終テストパターンを出力する(S34)。これを全パターン繰り返し実行する(S35)。
図20に、I2C最終テストパターン出力処理(図18のS33)の詳細を例示する。ここでは、出力レジスタに対するI2C最終テストパターン出力処理を例示する。例えば、テストジェネレータは、S33の処理でI2C最終テストパターン出力処理を起動するとき、起動時のパラメータとして、出力レジスタに対する処理の指定を受ける。そして、テストジェネレータは、S31の処理で記録されたI2C部品のPIOポートすべてに対して、以下の処理を実行する。
この処理では、テストジェネレータは、S31の処理で記録されたI2C部品の1つを次の目標部品に設定する(S331)。そして、テストジェネレータは、目標部品のPIOごとに前段のI2C−MPXを設定する(S332)。具体的には、テストジェネレータは、目標部品で現在処理中のPIOの自Acsnの最初の2文字に一致するAcsnを持つI2C−MPX(0段目のMPX)を取得する。さらに、テストジェネレータは、目標部品のAcsnの最初の2文字に次に続くAcsnの文字(接続チャネル)を読み取り、I2C−MPXのチャネルを取得する。そして、テストジェネレータは、I2C部品の動作モデル23のMPXサブコマンドの情報にしたがい、取得したチャネルを選択するための制御情報を設定する。同様にして、テストジェネレータは、順次、0段目の次の階層のI2C−MPXを設定する。そして、テストジェネレータは、目標部品直前のI2C−MPXまでチャネルを設定する。
以上の処理で、テストジェネレータは、0段目のMPXから目標部品の直前までのMPXのチャネルを設定する。また、図19AのS31の処理で、部品ごとのポートデータが決定している。そこで、テストジェネレータは、目標部品のポートデータにしたがって入出力を設定する(S333)。より具体的には、テストジェネレータは、I2C部品の動作モデルのCONFサブコマンドの情報を基に、方向レジスタへの設定を行う制御情報を生成する。また、テストジェネレータは、I2C部品の動作モデルのOUTサブコマンドの情報を基に出力レジスタのアドレスを取得する。そして、テストジェネレータは、目標部品のポートのポートデータにしたがい、出力レジスタへ出力レベルを設定するための制御情報を生成する。
次に、テストジェネレータは、並列テストパターンを設定したすべてのI2C部品のポートデータを最終テスト出力が終了したか否かを判定する(S334)。そして、S334の判定で、すべてが終了していない場合、テストジェネレータは、制御をS331に戻す。一方、すべてが終了した場合、テストジェネレータは、処理を終了する。
なお、図20では、出力レジスタに対するI2C最終テストパターン出力処理を例示するが、入力レジスタに対するI2C最終テストパターン出力処理(図18のS34)も同様である。例えば、テストジェネレータは、各部品のPIOについて、S332と同様にI2C−MPXを設定し、該当ポートデータから、I2C部品の動作モデルのINサブコマンドの情報を基に、入力レジスタの読み取りを設定するための制御情報を生成する。さ
らに、テストジェネレータは、目標部品のポートのポートデータにしたがい、INレジスタでの読み取りのための制御情報を生成する。さらに、テストジェネレータは、INレジスタから読み出されるデータに対する期待データと入力以外のビットを無視するためのマスクデータを出力すればよい。
(2)最終I2Cファンクションテストパターン
図19Bに最終I2Cファンクションテスト生成フローを例示する。テストジェネレータはまず並列I2Cファンクションパターンからコマンドを一つ読み取る(S36)。そしてそのコマンドがI2C制御コマンドの場合、その部品の前段のI2C−MPXを設定する(S37)。それはコマンドの部品名が記載された部分からオープンショートテストで行った設定と同様に行う。次にI2C制御コマンドを最終命令に変換する(S38)。I2Cコマンドは、電圧測定開始や電圧読取りとその期待値及びレンジ設定、更にはI2C−ROM読出し等である。つまり、I2Cコマンドには、部品ピンや設定ためのパラメータ(期待値やレンジ)が書かれているのみと考えてよい。そこで、部品名からI2C部品表をアクセスし、テスタチャネルやスレーブアドレスまた設定レジスタのアドレス、更にはパラメータから実際の設定値を計算し最終命令を生成する。このような手順で全パターン(コマンド)を処理する(S39)。
<テストの実行と障害解析>
試験機2は、生成された最終テストパターンをビット列に翻訳し、例えば、テスタピンを通じてJTAGやI2Cインターフェースを駆動する。そして、試験機2は、JTAGやI2Cインターフェースから出力される値を読み取ることにより、プリント基板9をテストする。JTAG部品でエラーが発生すると、試験機2は、以下の情報を出力する。
(1)テストパターンの何ステップ目でエラーが発生したか。
(2)エラーを検出した部品ピン、ネット名、読み取ったレベル、期待値
I2C部品の試験で検出したエラーでは、テストパターンの番号と該当部品名とPIO名と読み取った1バイトの内容、部品ごとの期待のバイト値、マスク値が表示される。しかしながら、本実施例では、さらに、テストジェネレータが生成したポートとネットの対応から、エラーとなったビットを基に、ネット名、部品ピンと読取ビット値、期待ビット値が表示可能となる。
図21は、JTAG部品のピンを結ぶネットのショートを例示する図である。JTAGテストでは、テストプログラムが自動生成されている。このため、情報処理装置1あるいは試験機2は、各部品ピンに対するテストパターンを図17のようなテストデータベース28として有している。したがって、情報処理装置1あるいは試験機2は、テストデータベース28を使った障害解析機能により、ネット間のショートやネットのオープンを指摘できる。
例えば、図21では、試験パターンの5番目で、JTAG2の5ピンで0を読みエラーを検出した場合が仮定されている。今、レシーバピンからの入力値と、期待データとの比較から、ネットCのテストパターンの5番目でドライブ値が異なり、試験機2がエラーを検出されたとする。さらに、試験機2は、試験パターンの5番目のビットの値がネットCの試験パターンとは異なり、他のビットは、ネットCの試験パターンと同一の試験パターンのネットを調べる。すると、ネットBが検出されたと仮定する。このような場合、情報処理装置1あるいは試験機2は、ネットC、Bがショートであることを指摘できる。
以上のように、本実施例では、JTAG部品と同様、I2C部品について、エラー情報から、ネット名、部品ピン、読取値、期待値を取得しており、テストデータベース28もI2C部品ピンもJTAG同様に作成されている。このため、I2C回路、あるいはJTAGとI2Cとの混在回路でも、情報処理装置1あるいは試験機2は、障害解析を実現で
きる。
<効果>
本実施例のテストジェネレータは、下記の様に主に6つの処理を含み、I2C部品モデル化によるI2C回路の試験プログラムを自動生成することを特徴とする。本実施例のテストジェネレータは、従来のテストジェネレータでは実現できないI2C部品のプリント基板9、あるいはJTAGとI2C部品を混載したプリント基板9の試験プログラムの生成を可能とする。
(1)I2C部品の動作モデル
本実施例のテストジェネレータは、I2C部品の動作モデル23の設定を前提とする。すなわち、テストジェネレータは、I2C部品の動作モデル23の設定を対応する主記憶上の構造体に読み出し、I2C部品表24の作成、I2Cツリー25の作成等を実行する。すなわち、I2C部品の動作モデル23により、I2C部品の動作表現が可能となり、またI2Cを制御するためI2C接続ツリーを生成し、I2C部品を含むプリント基板9の試験プログラムの生成が可能となる。
(2)テストアクセス情報の生成
テストジェネレータは、ネットリスト21からI2C部品の動作モデル23を参照し、I2C部品表24を作成する。I2C部品表24は、部品名、I2Cモデルへのポインタを含む。I2C部品表24により、テストジェネレータは、未知の部品であるI2C部品を認識できる。また、テストジェネレータは、ネットリスト21とI2C部品の動作モデル23により、I2Cツリー25を自動認識する。そして、テストジェネレータは、I2CツリーまたはI2C部品表24に、スレーブアドレスを格納し、I2C 制御のための
情報を作成することができる。
また、本実施例のテストジェネレータは、ネットリスト21とI2C部品の動作モデル23のピン部より、入力ピンと出力ピンを抽出することができる。したがって、本実施例のテストジェネレータは、JTAG部品と同様に、I2C部品のPIOピンをテストアクセス情報26に含めることができ、I2C部品を含む回路をテスト対象とすることができる。
(3)並列テストパターンの生成
本実施例のテストジェネレータは、テストアクセス情報26に対して、JTAGテストジェネレータと同様に、並列テストパターンを作成する。また、本実施例のテストジェネレータは、並列テストパターンの作成において、テストデータベース28も作成する。並列テストパターンは、最終テストパターンの生成に用いられ、テストデータベース28は、障害の解析に用いられる。例えば、テストアクセス情報26として抽出された各ネットに対して、相互にユニークなビットパターンを割り当てることで、ショートテストによる故障箇所の特定が可能となる。
(4)最終テストパターンの生成
本実施例のテストジェネレータは、並列テストパターンを基に、I2C部品表24と、I2C部品の動作モデル23とから、並列テストパターンを基に、最終テストパターンを生成できる。
すなわち、I2C部品の動作モデル23に、ポートに属するピン、入出力の方向、レジスタアドレスを定義しておくことで、テストジェネレータは、並列テストパターンを実現するための試験機2によるI2C部品に対する制御シーケンスとして、最終テストパターンを生成できる。
また、プリント基板9上にI2C−MPXが含まれる場合も、I2C部品の動作モデル23に、チャネル選択レジスタの選択値を設定しておくことで、テストジェネレータは、対象とするI2C部品までのチャネルを設定する最終テストパターンを生成できる。その結果、テストジェネレータは、I2C−MPXを通じて、対象とするI2C部品を試験する最終テストパターンを生成できる。
(5)本実施例のテストジェネレータは、I2Cファンクションテスト、例えば、I2C−ADC、I2C−ROM等の試験プログラムを作成することができる。
(6)障害解析
プリント板試験においては、エラー発生時は、I2C部品込のテストデータベース28が作成されているので、情報処理装置1あるいは試験機2は、I2C部品込のテストデータベース28を基に障害解析が可能となる。
<変形例>
上記実施例では、JTAG部品とI2C部品が搭載されたプリント基板9において、I2C部品の動作モデル23を用意することで、プリント基板9を試験する試験プログラムをテストジェネレータによって自動生成する処理例が説明された。しかし、上記実施例の処理が、JTAG部品とI2C部品が搭載されたプリント基板9に限定される訳ではない。
例えば、JTAG部品が搭載されず、I2C部品が搭載されたプリント基板についても、実施例1と同様の手順で、プリント基板を試験する試験プログラムがテストジェネレータによって自動生成される。また、I2C部品以外の部品、例えば、SPI(Serial Peripheral Interface)部品等を搭載したプリント基板についても、同様の手順で、試験プ
ログラムの生成が可能となる。つまり、SPIのインターフェース仕様をI2C部品の動作モデル23と同様の形式のファイルに格納しておき、テストジェネレータにSPIの動作モデルを解析し、SPIの制御を取り扱うルーチンを設け、制御情報を生成すればよい。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
<その他>
本実施の形態は、以下の態様(付記と呼ぶ)を含む。各付記のそれぞれの構成は、他の付記の構成を組み合わせることができる。
(付記1)
第1の集積回路と第2の集積回路とを含む電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部と、
前記第1の集積回路外へデータを出力する出力ピンの指定および前記第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル格納部と、
前記第2の集積回路外へデータを出力する出力ピンの指定および前記第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第2の動作モデル格納部と、
前記接続情報の格納部から、前記第1の集積回路と第2の集積回路とを含む前記電子装置内のピン間の接続関係のうち、前記出力ピンと前記入力ピンの両方を含む接続関係をテストが可能なネットとテスト可能なピンの情報であるテストアクセス情報として抽出するテストアクセス情報抽出部と、を備える情報処理装置。
(付記2)
前記テストアクセス情報として抽出された複数の接続関係に対して、それぞれ異なるビット列を割り付けるテストパターン発生部をさらに備える付記1に記載の情報処理装置。
(付記3)
前記第2の集積回路は、少なくとも1対の通信ピンを有し、
前記第2の動作モデル格納部は、前記通信ピンを通じて前記第2の集積回路の前記入力ピンと出力ピンとにデータを入出力するためのインターフェース仕様を含み、
前記情報処理装置は、所定の仕様にしたがって前記第1の集積回路との間でデータを授受するための制御情報を生成するとともに、
前記出力ピンへのデータの書き出しおよび前記入力ピンからのデータの読み込みの少なくとも一方を、前記通信ピンを通じて行うための、前記インターフェース仕様にしたがった制御情報を生成する生成部をさらに備える付記1または2に記載の情報処理装置。
(付記4)
前記電子装置は、複数の第2の集積回路の通信ピンを切り替えて接続可能な複数チャネルのチャネル通信ピンを有する第3の集積回路を備えており、
前記接続情報の格納部は、前記チャネル通信ピンを含むピン間の接続関係を示す接続情報を格納し、
前記第2の動作モデル格納部は、前記複数チャネルの中から1つのチャネル通信ピンを選択するための選択指定情報を含み、
前記生成部は、前記電子装置上で、電子装置外へ接続するための外部接続点から前記第2の集積回路の通信ピンに至るまでの途中に介在する前記第3の集積回路のチャネル通信ピンを選択する選択指定を前記選択指定情報にしたがって生成する付記3に記載の情報処理装置。
(付記5)
前記複数チャネルのチャネル通信ピンのそれぞれは、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれの通信ピンに分岐して接続可能であり、
前記第2の動作モデル格納部は、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれを識別するアドレスの算出情報を格納し、
前記情報処理装置は、前記アドレスの算出情報にしたがって、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれのアドレスを算出するアドレス算出部をさらに、有し、
前記生成部は、前記インターフェース仕様にしたがった制御情報に前記第2の集積回路の前記算出されたアドレスを指定し、前記第3の集積回路のチャネル通信ピンを選択する選択指定に前記第3の集積回路の算出されたアドレスを設定する付記3または4に記載の
情報処理装置。
(付記6)
前記電子装置は、前記通信ピンを有する第4の集積回路をさらに含み、
前記第2の動作モデル格納部は、前記通信ピンを通じて前記第4の集積回路の内部回路からデータを取得するための制御仕様をさらに含み、
前記生成部は、前記通信ピンを通じて前記内部回路から前記データを取得するための制御情報を前記制御仕様にしたがって生成する付記1から5のいずれか1項に記載の情報処理装置。
(付記7)
前記第1の集積回路は、
前記第1の集積回路に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタ列と、
前記レジスタ列にシーケンシャルにデータを書き込むための第1制御入力ピンと、
前記レジスタ列からシーケンシャルにデータを読み取るための第1制御出力ピンと、を有する付記1から6のいずれか1項に記載の情報処理装置。
(付記8)
第1の集積回路と第2の集積回路とを含む電子装置のテストデータを作成するテストデータ作成装置であって、
前記第2の集積回路は、少なくとも1対の通信ピンを有しており、
前記テストデータ作成装置は、
前記第1の集積回路と第2の集積回路とを含む、前記電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部と、
前記第1の集積回路外へデータを出力する出力ピンの指定および前記第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル格納部と、
前記第2の集積回路外へデータを出力する出力ピンの指定および前記第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含み、前記通信ピンを通じて前記第2の集積回路の前記入力ピンと出力ピンとにデータを入出力するためのインターフェース仕様が定義される第2の動作モデル格納部と、
所定の仕様にしたがって前記第1の集積回路との間でデータを授受するための制御情報を生成するとともに、
前記出力ピンへのデータの書き出しおよび前記入力ピンからのデータの読み込みの少なくとも一方を、前記通信ピンを通じて行うための、前記インターフェース仕様にしたがった制御情報を生成する生成部と、を備えるテストデータ作成装置。
(付記9)
コンピュータが、
第1の集積回路と第2の集積回路とを含む電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部から接続情報を取得するステップと、
前記第1の集積回路外へデータを出力する出力ピンの指定および前記第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル情報の格納部から第1の動作モデル情報を取得するステップと、
前記第2の集積回路外へデータを出力する出力ピンの指定および前記第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第2の動作モデル情報の格納部から第2の動作モデル情報を取得するステップと、
前記取得した接続関係のうち、前記出力ピンと前記入力ピンの両方を含む接続関係をテストが可能なネットとテスト可能なピンの情報であるテストアクセス情報として抽出する
ステップと、を実行する電子装置のテストデータ作成方法。
(付記10)
前記テストアクセス情報として抽出された複数の接続関係に対して、それぞれ異なるビット列を割り付けるテストパターン発生ステップをさらに実行する付記9に記載の電子装置のテストデータを作成方法。
(付記11)
前記第2の集積回路は、少なくとも1対の通信ピンを有し、
前記第2の動作モデル情報は、前記通信ピンを通じて前記第2の集積回路の前記入力ピンと出力ピンとにデータを入出力するためのインターフェース仕様を含み、
前記コンピュータは、所定の仕様にしたがって前記第1の集積回路との間でデータを授受するための制御情報を生成する第1生成ステップと、
前記出力ピンへのデータの書き出しおよび前記入力ピンからのデータの読み込みの少なくとも1つを、前記通信ピンを通じて行うための、前記インターフェース仕様にしたがった制御情報を生成する第2生成ステップと、をさらに実行する付記9または10に記載の電子装置のテストデータ作成方法。
(付記12)
前記電子装置は、複数の第2の集積回路の通信ピンを切り替えて接続可能な複数チャネルのチャネル通信ピンを有する第3の集積回路を備えており、
前記接続情報の格納部は、前記チャネル通信ピンを含むピン間の接続関係を示す接続情報を格納しており、
前記第2の動作モデル情報は、前記複数チャネルの中から1つのチャネル通信ピンを選択するための選択指定情報を含み、
前記第2生成ステップは、前記電子装置内で、電子装置外へ接続するための外部接続点から前記第2の集積回路の通信ピンに至るまでの途中に介在する前記第3の集積回路のチャネル通信ピンを選択する選択指定を生成するステップを含む、付記11に記載の電子装置のテストデータ作成方法。
(付記13)
前記複数チャネルのチャネル通信ピンのそれぞれは、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれの通信ピンに分岐して接続可能であり、
前記第2の動作モデル情報は、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれを識別するアドレスの算出情報を有し、
前記コンピュータは、前記アドレスの算出情報にしたがって、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれのアドレスを算出するアドレス算出ステップをさらに実行し、
前記第2生成ステップは、前記インターフェース仕様にしたがった制御情報に前記第2の集積回路の前記算出されたアドレスを設定するステップと、
前記第3の集積回路のチャネル通信ピンを選択する選択指定に前記第3の集積回路の前記算出されたアドレスを設定するステップと、を含む付記11または12に記載の電子装置のテストデータ作成方法。
(付記14)
前記電子装置は、前記通信ピンを有する第4の集積回路をさらに含み、
前記第2の動作モデル格納部は、前記通信ピンを通じて前記第4の集積回路の内部回路からデータを取得するための制御仕様をさらに含み、
前記第2生成ステップは、前記通信ピンを通じて前記内部回路から前記データを取得するための制御情報を前記制御仕様にしたがって生成するステップを含む付記9から13の
いずれか1項に記載のテストデータ作成方法。
(付記15)
第1の集積回路と第2の集積回路とを含む電子装置のテストデータをコンピュータが作成するテストデータ作成方法であって、
前記第2の集積回路は、少なくとも1対の通信ピンを有しており、
前記コンピュータが、
前記第1の集積回路と第2の集積回路とを含む前記電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部から接続情報を取得するステップと、
前記第1の集積回路外へデータを出力する出力ピンの指定および前記第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル情報の格納部から第1の動作モデル情報を取得するステップと、
前記第2の集積回路外へデータを出力する出力ピンの指定および前記第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含み、前記通信ピンを通じて前記第2の集積回路の前記入力ピンと出力ピンとにデータを入出力するためのインターフェース仕様が定義される第2の動作モデル情報の格納部から第2の動作モデル情報を取得するステップと、
所定の仕様にしたがって前記第1の集積回路との間でデータを授受するための制御情報を生成する第1生成ステップと、
前記出力ピンへのデータの書き出しおよび前記入力ピンからのデータの読み込みの少なくとも1つを、前記通信ピンを通じて行うための、前記インターフェース仕様にしたがった制御情報を生成する第2生成ステップと、を実行するテストデータ作成方法。
(付記16)
コンピュータに、
第1の集積回路と第2の集積回路とを含む電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部から接続情報を取得するステップと、
前記第1の集積回路外へデータを出力する出力ピンの指定および前記第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル情報の格納部から第1の動作モデル情報を取得するステップと、
前記第2の集積回路外へデータを出力する出力ピンの指定および前記第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第2の動作モデル情報の格納部から第2の動作モデル情報を取得するステップと、
前記取得した接続関係のうち、前記出力ピンと前記入力ピンの両方を含む接続関係をテストが可能なネットとテスト可能なピンの情報であるテストアクセス情報として抽出するステップと、を実行させるためのプログラム。
(付記17)
前記テストアクセス情報として抽出された複数の接続関係に対して、それぞれ異なるビット列を割り付けるテストパターン発生ステップをさらに実行させるための付記16に記載のプログラム。
(付記18)
前記第2の集積回路は、少なくとも1対の通信ピンを有し、
前記第2の動作モデル情報は、前記通信ピンを通じて前記第2の集積回路の前記入力ピンと出力ピンとにデータを入出力するためのインターフェース仕様を含み、
前記コンピュータに、所定の仕様にしたがって前記第1の集積回路との間でデータを授受するための制御情報を生成する第1生成ステップと、
前記出力ピンへのデータの書き出しおよび前記入力ピンからのデータの読み込みの少なくとも1つを、前記通信ピンを通じて行うための、前記インターフェース仕様にしたがっ
た制御情報を生成する第2生成ステップと、をさらに実行させるための付記16または17に記載のプログラム。
(付記19)
前記電子装置は、複数の第2の集積回路の通信ピンを切り替えて接続可能な複数チャネルのチャネル通信ピンを有する第3の集積回路を備えており、
前記接続情報の格納部は、前記チャネル通信ピンを含むピン間の接続関係を示す接続情報を格納しており、
前記第2の動作モデル情報は、前記複数チャネルの中から1つのチャネル通信ピンを選択するための選択指定情報を含み、
前記第2生成ステップは、前記電子装置内で、電子装置外へ接続するための外部接続点から前記第2の集積回路の通信ピンに至るまでの途中に介在する前記第3の集積回路のチャネル通信ピンを選択する選択指定を生成するステップを含む、付記18に記載のプログラム。
(付記20)
前記複数チャネルのチャネル通信ピンのそれぞれは、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれの通信ピンに分岐して接続可能であり、
前記第2の動作モデル情報は、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれを識別するアドレスの算出情報を有し、
前記コンピュータに、前記アドレスの算出情報にしたがって、前記第2の集積回路または前記第3の集積回路を含む複数の集積回路のそれぞれのアドレスを算出するアドレス算出ステップをさらに実行させ、
前記第2生成ステップは、前記インターフェース仕様にしたがった制御情報に前記第2の集積回路の前記算出されたアドレスを設定するステップと、
前記第3の集積回路のチャネル通信ピンを選択する選択指定に前記第3の集積回路の前記算出されたアドレスを設定するステップと、を含む付記18または19に記載のプログラム。
(付記21)
前記電子装置は、前記通信ピンを有する第4の集積回路をさらに含み、
前記第2の動作モデル格納部は、前記通信ピンを通じて前記第4の集積回路の内部回路からデータを取得するための制御仕様をさらに含み、
前記第2生成ステップは、前記通信ピンを通じて前記内部回路から前記データを取得するための制御情報を前記制御仕様にしたがって生成するステップを含む付記16から20のいずれか1項に記載のプログラム。
(付記22)
第1の集積回路と第2の集積回路とを含む電子装置のテストデータをコンピュータに作成させるプログラムであって、
前記第2の集積回路は、少なくとも1対の通信ピンを有しており、
前記コンピュータに、
前記第1の集積回路と第2の集積回路とを含む前記電子装置内の集積回路のピン間の接続関係を示す接続情報の格納部から接続情報を取得するステップと、
前記第1の集積回路外へデータを出力する出力ピンの指定および前記第1の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含む第1の動作モデル情報の格納部から第1の動作モデル情報を取得するステップと、
前記第2の集積回路外へデータを出力する出力ピンの指定および前記第2の集積回路外からデータを入力する入力ピンの指定の少なくとも1つを含み、前記通信ピンを通じて前記第2の集積回路の前記入力ピンと出力ピンとにデータを入出力するためのインターフ
ェース仕様が定義される第2の動作モデル情報の格納部から第2の動作モデル情報を取得するステップと、
所定の仕様にしたがって前記第1の集積回路との間でデータを授受するための制御情報を生成する第1生成ステップと、
前記出力ピンへのデータの書き出しおよび前記入力ピンからのデータの読み込みの少なくとも1つを、前記通信ピンを通じて行うための、前記インターフェース仕様にしたがった制御情報を生成する第2生成ステップと、を実行させるためのプログラム。
1 情報処理装置
2 試験機
9 プリント基板
11、12 コネクタ
21 ネットリスト
22 BSDL
23 I2C動作モデル
24 I2C部品表
25 I2Cツリー
26 テストアクセス情報
27 並列オープンショート
28 テストデータベース
29 並列I2Cファンクション
30 オープンショートテスト
31 I2Cファンクションテスト
L1A、L1B、L2、L3、L4、L5、L6、L7、L8 配線

Claims (11)

  1. 第1の回路部品と第2の回路部品とを含む複数の回路部品を有する電子装置を試験する情報処理装置であって、
    前記第1の回路部品は、
    前記第1の回路部品に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタの列と、
    前記第1の回路部品外の通信先によって前記レジスタの列にシーケンシャルにデータを書き込むための制御入力ピンと、
    前記第1の回路部品外の通信先によって前記レジスタの列からシーケンシャルにデータを読み取るための制御出力ピンと、を有し、
    前記第2の回路部品は、
    前記第2の回路部品に含まれるピンとの間で授受したデータを保持するレジスタと、
    前記第2の回路部品外の通信先と前記第2の回路部品内のレジスタアドレスで指定される前記第2の回路部品のレジスタとの間でデータを転送するための通信ピンと、を有し、
    前記情報処理装置は、
    前記複数の回路部品のピン間の接続関係を示す接続情報の格納部と、
    前記第1の回路部品が有するピンについて、当該ピンが前記第1の回路部品内のデータを前記第1の回路部品外に出力する出力ピンであること又は当該ピンが前記第1の回路部品外から前記第1の回路部品内へデータを入力する入力ピンであることの指定、および、当該ピンにデータを入出力する前記第1の回路部品のレジスタを対応付ける情報を含む第1の動作モデル情報の格納部と、
    前記第2の回路部品が有するピンについて、当該ピンが前記第2の回路部品内のデータを前記第2の回路部品外に出力する出力ピンであること又は当該ピンが前記第2の回路部品外から前記第2の回路部品内へデータを入力する入力ピンであることの指定、当該ピンにデータを入出力する前記第2の回路部品のレジスタを対応付ける情報、および、前記レジスタアドレスにしたがって前記通信ピンを通じて前記第2の回路部品のレジスタにデータを入出力するためのインターフェース仕様を含む第2の動作モデル情報の格納部と、
    前記接続情報の格納部から、前記第1の回路部品と第2の回路部品とを含む前記複数の回路部品のピン間の接続関係を示す接続情報のうち、前記第1の回路部品または前記第
    2の回路部品の出力ピンを含むとともに前記第1の回路部品または前記第2の回路部品の入力ピンを含むピン間の接続関係を示す接続情報を、前記第1の回路部品および前記第2の回路部品のそれぞれの前記レジスタを介してテストが可能なネットの情報として抽出する抽出部と、を備える情報処理装置。
  2. 第1の回路部品と第2の回路部品とを含む複数の回路部品を有する電子装置を試験する情報処理装置であって、
    前記第1の回路部品は、
    前記第1の回路部品に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタの列と、
    前記第1の回路部品外の通信先によって前記レジスタの列にシーケンシャルにデータを書き込むための制御入力ピンと、
    前記第1の回路部品外の通信先によって前記レジスタの列からシーケンシャルにデータを読み取るための制御出力ピンと、を有し、
    前記第2の回路部品は、
    前記第2の回路部品に含まれるピンとの間で授受したデータを保持するレジスタと、
    前記第2の回路部品外の通信先と前記第2の回路部品内のレジスタアドレスで指定される前記第2の回路部品のレジスタとの間でデータを転送するための通信ピンと、を有し、
    前記情報処理装置は、
    前記第1の回路部品が有するピンについて、当該ピンが前記第1の回路部品内のデータを前記第1の回路部品外に出力する出力ピンであること又は当該ピンが前記第1の回路部品外から前記第1の回路部品内へデータを入力する入力ピンであることの指定、および、当該ピンにデータを入出力する前記第1の回路部品のレジスタを対応付ける情報を含む第1の動作モデル情報の格納部と、
    前記第2の回路部品が有するピンについて、当該ピンが前記第2の回路部品内のデータを前記第2の回路部品外に出力する出力ピンであること又は当該ピンが前記第2の回路部品外から前記第2の回路部品内へデータを入力する入力ピンであることの指定、当該ピンにデータを入出力する前記第2の回路部品のレジスタを対応付ける情報、および、前記レジスタアドレスにしたがって前記通信ピンを通じて前記第2の回路部品のレジスタにデータを入出力するためのインターフェース仕様を含む第2の動作モデル情報の格納部と、
    前記第1の動作モデル情報にしたがって、前記制御入力ピンを介して前記第1の回路部品のピンに対応するレジスタの列にデータを設定する第1の制御情報とともに、前記第2の動作モデル情報にしたがって、前記通信ピンを介して前記第2の回路部品のレジスタにデータを設定する第2の制御情報を生成する生成部と、を備える情報処理装置。
  3. コンピュータが、第1の回路部品と第2の回路部品とを含む複数の回路部品を有する電子装置を試験するためのテストデータ作成方法であって、
    前記第1の回路部品は、
    前記第1の回路部品に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタの列と、
    前記第1の回路部品外の通信先によって前記レジスタの列にシーケンシャルにデータを書き込むための制御入力ピンと、
    前記第1の回路部品外の通信先によって前記レジスタの列からシーケンシャルにデータを読み取るための制御出力ピンと、を有し、
    前記第2の回路部品は、
    前記第2の回路部品に含まれるピンとの間で授受したデータを保持するレジスタと、
    前記第2の回路部品外の通信先と前記第2の回路部品内のレジスタアドレスで指定される前記第2の回路部品のレジスタとの間でデータを転送するための通信ピンと、を有し、
    前記コンピュータが、
    前記複数の回路部品のピン間の接続関係を示す接続情報を取得するステップと、
    前記第1の回路部品が有するピンについて、当該ピンが前記第1の回路部品内のデータを前記第1の回路部品外に出力する出力ピンであること又は当該ピンが前記第1の回路部品外から前記第1の回路部品内へデータを入力する入力ピンであることの指定、および、当該ピンにデータを入出力する前記第1の回路部品のレジスタを対応付ける情報を含む第1の動作モデル情報を取得するステップと、
    前記第2の回路部品が有するピンについて、当該ピンが前記第2の回路部品内のデータを前記第2の回路部品外に出力する出力ピンであること又は当該ピンが前記第2の回路部品外から前記第2の回路部品内へデータを入力する入力ピンであることの指定、当該ピンにデータを入出力する前記第2の回路部品のレジスタを対応付ける情報、および、前記レジスタアドレスにしたがって前記通信ピンを通じて前記第2の回路部品のレジスタにデータを入出力するためのインターフェース仕様を含む第2の動作モデル情報を取得するステップと、
    前記第1の回路部品と第2の回路部品とを含む前記複数の回路部品のピン間の接続関係を示す接続情報のうち、前記第1の回路部品または前記第2の回路部品の出力ピンを含むとともに前記第1の回路部品または前記第2の回路部品の入力ピンを含むピン間の接続関係を示す接続情報を、前記第1の回路部品および前記第2の回路部品のそれぞれの前記レジスタを介してテストが可能なネットの情報として抽出するステップと、を実行するテストデータ作成方法。
  4. コンピュータが、第1の回路部品と第2の回路部品とを含む複数の回路部品を有する電子装置を試験するためのテストデータ作成方法であって、
    前記第1の回路部品は、
    前記第1の回路部品に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタの列と、
    前記第1の回路部品外の通信先によって前記レジスタの列にシーケンシャルにデータを書き込むための制御入力ピンと、
    前記第1の回路部品外の通信先によって前記レジスタの列からシーケンシャルにデータを読み取るための制御出力ピンと、を有し、
    前記第2の回路部品は、
    前記第2の回路部品に含まれるピンとの間で授受したデータを保持するレジスタと、
    前記第2の回路部品外の通信先と前記第2の回路部品内のレジスタアドレスで指定される前記第2の回路部品のレジスタとの間でデータを転送するための通信ピンと、を有し、
    前記コンピュータが、
    前記第1の回路部品が有するピンについて、当該ピンが前記第1の回路部品内のデータを前記第1の回路部品外に出力する出力ピンであること又は当該ピンが前記第1の回路部品外から前記第1の回路部品内へデータを入力する入力ピンであることの指定、および、当該ピンにデータを入出力する前記第1の回路部品のレジスタを対応付ける情報を含む第1の動作モデル情報を取得するステップと、
    前記第2の回路部品が有するピンについて、当該ピンが前記第2の回路部品内のデータを前記第2の回路部品外に出力する出力ピンであること又は当該ピンが前記第2の回路部品外から前記第2の回路部品内へデータを入力する入力ピンであることの指定、当該ピンにデータを入出力する前記第2の回路部品のレジスタを対応付ける情報、および、前記レジスタアドレスにしたがって前記通信ピンを通じて前記第2の回路部品のレジスタにデータを入出力するためのインターフェース仕様を含む第2の動作モデル情報を取得するステップと、
    前記第1の動作モデル情報にしたがって、前記制御入力ピンを介して前記第1の回路部品のピンに対応するレジスタの列にシーケンシャルにデータを設定する第1の制御情報
    を生成するステップと、
    前記第2の動作モデル情報にしたがって、前記通信ピンを介して前記第2の回路部品のレジスタにデータを設定する第2の制御情報を生成するステップと、を実行するテストデータ作成方法。
  5. コンピュータに、第1の回路部品と第2の回路部品とを含む複数の回路部品を有する電子装置を試験するためのテストデータを作成させるプログラムであって、
    前記第1の回路部品は、
    前記第1の回路部品に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタの列と、
    前記第1の回路部品外の通信先によって前記レジスタの列にシーケンシャルにデータを書き込むための制御入力ピンと、
    前記第1の回路部品外の通信先によって前記レジスタの列からシーケンシャルにデータを読み取るための制御出力ピンと、を有し、
    前記第2の回路部品は、
    前記第2の回路部品に含まれるピンとの間で授受したデータを保持するレジスタと、
    前記第2の回路部品外の通信先と前記第2の回路部品内のレジスタアドレスで指定される前記第2の回路部品のレジスタとの間でデータを転送するための通信ピンと、を有し、
    前記コンピュータに、
    前記複数の回路部品のピン間の接続関係を示す接続情報を取得するステップと、
    前記第1の回路部品が有するピンについて、当該ピンが前記第1の回路部品内のデータを前記第1の回路部品外に出力する出力ピンであること又は当該ピンが前記第1の回路部品外から前記第1の回路部品内へデータを入力する入力ピンであることの指定、および、当該ピンにデータを入出力する前記第1の回路部品のレジスタを対応付ける情報を含む第1の動作モデル情報を取得するステップと、
    前記第2の回路部品が有するピンについて、当該ピンが前記第2の回路部品内のデータを前記第2の回路部品外に出力する出力ピンであること又は当該ピンが前記第2の回路部品外から前記第2の回路部品内へデータを入力する入力ピンであることの指定、当該ピンにデータを入出力する前記第2の回路部品のレジスタを対応付ける情報、および、前記レジスタアドレスにしたがって前記通信ピンを通じて前記第2の回路部品のレジスタにデータを入出力するためのインターフェース仕様を含む第2の動作モデル情報を取得するステップと、
    前記第1の回路部品と第2の回路部品とを含む前記複数の回路部品のピン間の接続関係を示す接続情報のうち、前記第1の回路部品または前記第2の回路部品の出力ピンを含むとともに前記第1の回路部品または前記第2の回路部品の入力ピンを含むピン間の接続関係を示す接続情報を、前記第1の回路部品および前記第2の回路部品のそれぞれの前記レジスタを介してテストが可能なネットの情報として抽出するステップと、を実行させるためのプログラム。
  6. 前記第1の回路部品および前記第2の回路部品から抽出された複数の接続関係に対して、それぞれ異なるビット列を割り付けるテストパターン発生ステップをさらに実行させるための請求項5に記載のプログラム。
  7. 前記制御入力ピンを介して前記第1の回路部品のレジスタ列にシーケンシャルにデータを設定する第1の制御情報を生成する第1生成ステップと、
    前記通信ピンを介して前記第2の回路部品のレジスタにデータを設定する第2の制御情報を生成する第2生成ステップと、をさらに実行させるための請求項5または6に記載のプログラム。
  8. 前記電子装置は、第3の回路部品を備え、前記第3の回路部品は、第1の通信ピンと前記第1の通信ピンからマルチプレックスで接続される複数のチャネル通信ピンと前記第1の通信ピンに対して前記複数のチャネル通信ピンのいずれかを選択して接続することを指定する選択レジスタとを有しており、前記複数のチャネル通信ピンにそれぞれ接続される複数の第2の回路部品のそれぞれの通信ピンとの間で切り替え可能な複数チャネルを形成し、
    前記接続情報は、前記第1の通信ピン及びチャネル通信ピンを含むピン間の接続関係を示す情報を含み、
    前記第2の動作モデル情報は、前記第3の回路部品における前記選択レジスタを特定する情報を含み、
    前記第2生成ステップは、前記電子装置内で、電子装置外へ接続するための外部接続点から前記第2の回路部品の通信ピンに至るまでの途中に介在する前記第3の回路部品のチャネル通信ピンを選択するための選択レジスタに対する選択指定を生成するステップを含む、請求項7に記載のプログラム。
  9. 前記第2の動作モデル情報は、前記第2の回路部品または前記第3の回路部品を含む複数の回路部品のそれぞれを識別するアドレスの算出情報を有し、
    前記コンピュータに、前記アドレスの算出情報にしたがって、前記第2の回路部品または前記第3の回路部品を含む複数の回路部品のそれぞれのアドレスを算出するアドレス算出ステップをさらに実行させ、
    前記第2生成ステップは、前記第2の制御情報に前記第2の回路部品の前記算出されたアドレスを設定するステップと、
    前記第3の回路部品のチャネル通信ピンを選択する選択指定に前記第3の回路部品の前記算出されたアドレスを設定するステップと、を含む請求項8に記載のプログラム。
  10. 前記電子装置は、前記通信ピンを有する第4の回路部品をさらに含み、
    前記第2の動作モデル情報は、前記通信ピンを通じて前記第4の回路部品の内部回路からデータを取得するための制御仕様をさらに含み、
    前記第2生成ステップは、前記通信ピンを通じて前記内部回路から前記データを取得するための制御情報を前記制御仕様にしたがって生成するステップを含む請求項7から9のいずれか1項に記載のプログラム。
  11. コンピュータに、第1の回路部品と第2の回路部品とを含む複数の回路部品を有する電子装置を試験するためのテストデータを作成させるプログラムであって、
    前記第1の回路部品は、
    前記第1の回路部品に含まれるピンとの間で授受したデータを保持するとともに、保持したデータをシーケンシャルにシフト可能なレジスタの列と、
    前記第1の回路部品外の通信先によって前記レジスタの列にシーケンシャルにデータを書き込むための制御入力ピンと、
    前記第1の回路部品外の通信先によって前記レジスタの列からシーケンシャルにデータを読み取るための制御出力ピンと、を有し、
    前記第2の回路部品は、
    前記第2の回路部品に含まれるピンとの間で授受したデータを保持するレジスタと、
    前記第2の回路部品外の通信先と前記第2の回路部品内のレジスタアドレスで指定される前記第2の回路部品のレジスタとの間でデータを転送するための通信ピンと、を有し、
    前記コンピュータに、
    前記第1の回路部品が有するピンについて、当該ピンが前記第1の回路部品内のデータを前記第1の回路部品外に出力する出力ピンであること又は当該ピンが前記第1の回路部品外から前記第1の回路部品内へデータを入力する入力ピンであることの指定、および
    、当該ピンにデータを入出力する前記第1の回路部品のレジスタを対応付ける情報を含む第1の動作モデル情報を取得するステップと、
    前記第2の回路部品が有するピンについて、当該ピンが前記第2の回路部品内のデータを前記第2の回路部品外に出力する出力ピンであること又は当該ピンが前記第2の回路部品外から前記第2の回路部品内へデータを入力する入力ピンであることの指定、当該ピンにデータを入出力する前記第2の回路部品のレジスタを対応付ける情報、および、前記レジスタアドレスにしたがって前記通信ピンを通じて前記第2の回路部品のレジスタにデータを入出力するためのインターフェース仕様を含む第2の動作モデル情報を取得するステップと、
    前記第1の動作モデル情報にしたがって、前記制御入力ピンを介して前記第1の回路部品のピンに対応するレジスタの列にシーケンシャルにデータを設定する第1の制御情報を生成するステップと、
    前記第2の動作モデル情報にしたがって、前記通信ピンを介して前記第2の回路部品のレジスタにデータを設定する第2の制御情報を生成するステップと、を実行させるためのプログラム。
JP2012187057A 2012-08-27 2012-08-27 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム Active JP6115042B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012187057A JP6115042B2 (ja) 2012-08-27 2012-08-27 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム
US13/959,771 US20140058699A1 (en) 2012-08-27 2013-08-06 Information processing apparatus, test data generating apparatus, and test data generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012187057A JP6115042B2 (ja) 2012-08-27 2012-08-27 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014044597A JP2014044597A (ja) 2014-03-13
JP6115042B2 true JP6115042B2 (ja) 2017-04-19

Family

ID=50148776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012187057A Active JP6115042B2 (ja) 2012-08-27 2012-08-27 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム

Country Status (2)

Country Link
US (1) US20140058699A1 (ja)
JP (1) JP6115042B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150117775A (ko) * 2014-04-10 2015-10-21 에스케이하이닉스 주식회사 테스트 장치 및 그의 동작 방법
TWI606394B (zh) * 2016-05-26 2017-11-21 鴻海精密工業股份有限公司 燒錄系統及燒錄方法
CN109901958B (zh) * 2017-12-09 2024-02-20 英业达科技有限公司 快捷外设互联标准插槽的检测系统及其方法
CN108519937A (zh) * 2018-04-04 2018-09-11 奇酷互联网络科技(深圳)有限公司 接口电路测试方法、系统、可读存储介质及主板
DE112020007801T5 (de) * 2020-11-27 2023-09-28 Advantest Corporation Testunterstützungsmodul und Verfahren zum Betreiben einer automatischen Testausrüstung
CN113064771B (zh) * 2021-03-04 2023-02-28 山东英信计算机技术有限公司 一种i2c链路检查方法、系统、终端及存储介质
CN112804128B (zh) * 2021-03-25 2021-07-16 广州智慧城市发展研究院 一种支持多协议的总线控制系统及方法
CN115480153A (zh) * 2021-06-15 2022-12-16 英业达科技有限公司 提高待测试电路板中脚位测试涵盖率系统及其方法
CN116794493A (zh) * 2022-03-18 2023-09-22 英业达科技有限公司 以电路板电路传送指令测试连接接口的装置、系统及方法
CN117352034A (zh) * 2022-06-29 2024-01-05 长鑫存储技术有限公司 数据输入校验方法及数据输入校验结构
CN115994110A (zh) * 2023-01-05 2023-04-21 苏州浪潮智能科技有限公司 一种i2c总线信号测试系统、方法、装置及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097416A1 (en) * 2003-10-31 2005-05-05 Dominic Plunkett Testing of integrated circuits using boundary scan
JP4805134B2 (ja) * 2006-12-28 2011-11-02 富士通株式会社 集積回路の内部ラッチをスキャンする方法及び装置並びに集積回路
JP4992791B2 (ja) * 2008-03-28 2012-08-08 富士通株式会社 スキャン制御方法及び装置
US9110142B2 (en) * 2011-09-30 2015-08-18 Freescale Semiconductor, Inc. Methods and apparatus for testing multiple-IC devices

Also Published As

Publication number Publication date
US20140058699A1 (en) 2014-02-27
JP2014044597A (ja) 2014-03-13

Similar Documents

Publication Publication Date Title
JP6115042B2 (ja) 情報処理装置、テストデータ作成装置、テストデータ作成方法、およびプログラム
US6961871B2 (en) Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data
US6449755B1 (en) Instruction signature and primary input and primary output extraction within an IEEE 1149.1 compliance checker
CN104569794B (zh) 一种基于边界扫描结构的fpga在线测试仪及测试方法
US7386775B2 (en) Scan verification for a scan-chain device under test
JP7672897B2 (ja) 試験測定システム及び被試験デバイス分析方法
JPH0618635A (ja) モデルのパターンマッチングに基づくプリント回路基板のための機能テストの生成方法
JPH02171668A (ja) 電子素子のテスト方法
US6721923B2 (en) System and method for generating integrated circuit boundary register description data
CN116224042B (zh) 生成测试待测器件的测试向量的方法、系统、设备和介质
CN114266210B (zh) 芯片ate测试中的wgl文件处理方法及应用
CN105334452A (zh) 一种边界扫描测试系统
CN119473253B (zh) 生成可测性设计脚本的方法、装置、电子设备及存储介质
US6941243B1 (en) Using conversion of high level descriptive hardware language into low level testing language format for building and testing complex computer products with contract manufacturers without proprietary information
US12025651B2 (en) Method, arrangement and computer program product for debugging a printed circuit board
CN105334451A (zh) 边界扫描测试系统
JP2006113696A (ja) 観測装置、観測方法、及びプログラム
CN107340467A (zh) 测试系统
CN106546910A (zh) 基于位流回读的fpga测试平台
US6760904B1 (en) Apparatus and methods for translating test vectors
JP2000088925A (ja) 半導体デバイスの故障箇所特定方法及びその装置
US6243853B1 (en) Development of automated digital libraries for in-circuit testing of printed curcuit boards
US7188043B1 (en) Boundary scan analysis
CN100589082C (zh) 检查装置调试系统
JP2015087902A (ja) 回路基板試作前検証システム、回路基板試作前検証装置および回路基板試作前検証プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115042

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150