利用者:のこもち/バウンダリスキャンテスト
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/59/JTAG_Register.svg/220px-JTAG_Register.svg.png)
バウンダリスキャンテスト は、プリント回路基板 の相互接続(ワイヤ線)あるいは、集積回路内のサブブロックをテストする手法である。バウンダリスキャンテストは、集積回路のピンの状態の監視、電圧の測定、集積回路内のサブブロック分析をするデバッグ手法として広く用いられている。
JTAG(Joint Test Action Group、ジョイントテストアクショングループ)は、標準化されたバウンダリスキャンテストの仕様をIEEE Std. 1149.1-1990として開発した。1994年にIEEE Std 1149.1準拠デバイスのバウンダリスキャンロジックの内容が記述したBSDL(バウンダリスキャン記述言語、Boundary Scan Description Language)の記述を含む補足が追加されている。 以来この規格は、世界中の電子デバイス企業によって採用されている。 現在では、バウンダリスキャンテストはJTAGとほとんど同義語として用いられる。[1][2]
テスト
[編集]バウンダリスキャンアーキテクチャは、物理的なテストプローブを使用せずに相互接続(論理回路、メモリなどのクラスタを含む)をテスト手法を備えている。このバウンダリスキャンアーキテクチャには、デバイスの各ピンに接続されそのピンの機能性を選択的に無効にすることができるような少なくとも1つのテストセルが含まれている。各テストセルはJTAGスキャンチェーンを介してプログラムされ、信号をピンに、したがってボード上の個々の信号トレースにまたがって動作する。そのボードの信号トレース先にあるセルを読み取り、ピンが正しく接続していることを検証することができる。信号トレースが他の信号と短絡している場合、あるいはトレースが開いている場合は、宛先ピンに正しい信号値が表示されず、失敗したことがわかる。
オンチップ基盤
[編集]バウンダリスキャン機能を提供するためICベンダは、各デバイスに外部トレースのためのスキャンセルを含めたロジックを追加する。これらのセルは、BSR(バウンダリスキャンシフトレジスタ、Boundary scan Shift Register)を形成するために一緒に接続され、4つ(または時にはそれ以上)の追加ピンと制御回路を含むJTAG TAP(テスト・アクセス・ポート)These cells are then connected together to form the external boundary scan shift register (BSR), and combined with JTAG TAP (Test Access Port) controller support comprising four (or sometimes more) additional pins plus control circuitry.
Some TAP controllers support scan chains between on-chip logical design blocks, with JTAG instructions which operate on those internal scan chains instead of the BSR. This can allow those integrated components to be tested as if they were separate chips on a board. On-chip debugging solutions are heavy users of such internal scan chains.
These designs are part of most Verilog or VHDL libraries. Overhead for this additional logic is minimal, and generally is well worth the price to enable efficient testing at the board level.
For normal operation, the added boundary scan latch cells are set so that they have no effect on the circuit, and are therefore effectively invisible. However, when the circuit is set into a test mode, the latches enable a data stream to be shifted from one latch into the next. Once a complete data word has been shifted into the circuit under test, it can be latched into place so it drives external signals. Shifting the word also generally returns the input values from the signals configured as inputs.
Test mechanism
[編集]As the cells can be used to force data into the board, they can set up test conditions. The relevant states can then be fed back into the test system by clocking the data word back so that it can be analyzed.
By adopting this technique, it is possible for a test system to gain test access to a board. As most of today’s boards are very densely populated with components and tracks, it is very difficult for test systems to physically access the relevant areas of the board to enable them to test the board. Boundary scan makes access possible without always needing physical probes.
In modern chip and board design, Design For Test is a significant issue, and one common design artifact is a set of boundary scan test vectors, possibly delivered in Serial Vector Format (SVF) or a similar interchange format.
JTAG test operations
[編集]Devices communicate to the world via a set of input and output pins. By themselves, these pins provide limited visibility into the workings of the device. However, devices that support boundary scan contain a shift-register cell for each signal pin of the device. These registers are connected in a dedicated path around the device's boundary (hence the name). The path creates a virtual access capability that circumvents the normal inputs and provides direct control of the device and detailed visibility at its outputs.[3] The contents of the boundary scan are usually described by the manufacturer using a part-specific BSDL file.
Among other things, a BSDL file will describe each digital signal exposed through pin or ball (depending on the chip packaging) exposed in the boundary scan, as part of its definition of the Boundary Scan Register (BSR). A description for two balls might look like this:
"541 (bc_1, *, control, 1)," &
"542 (bc_1, GPIO51_ATACS1, output3, X, 541, 1, Z)," &
"543 (bc_1, GPIO51_ATACS1, input, X)," &
"544 (bc_1, *, control, 1)," &
"545 (bc_1, GPIO50_ATACS0, output3, X, 544, 1, Z)," &
"546 (bc_1, GPIO50_ATACS0, input, X)," &
That shows two balls on a mid-size chip (the boundary scan includes about 620 such lines, in a 361-ball BGA package), each of which has three components in the BSR: a control configuring the ball (as input, output, what drive level, pullups, pulldowns, and so on); one type of output signal; and one type of input signal.
There are JTAG instructions to SAMPLE the data in that boundary scan register, or PRELOAD it with values.
During testing, I/O signals enter and leave the chip through the boundary-scan cells. Testing involves a number of test vectors, each of which drives some signals and then verifies that the responses are as expected. The boundary-scan cells can be configured to support external testing for interconnection between chips (EXTEST instruction) or internal testing for logic within the chip (INTEST instruction).
Board test infrastructure
[編集]Typically high-end commercial JTAG testing systems allow the import of design 'netlists' from CAD/EDA systems plus the BSDL models of boundary scan/JTAG compliant devices to automatically generate test applications. Common types of test include
- Scan-path 'infrastructure' or integrity
- Boundary-scan device pin to boundary-scan device pin 'interconnect'
- Boundary-scan pin to memory device or device cluster (SRAM, DRAM, DDR etc.)
- Arbitrary logic cluster testing
When used during manufacturing, such systems also support non-test but affiliated applications such as in-system programming of various types of flash memory: NOR, NAND, and serial (I2C or SPI).
Such commercial systems are used by board test professionals and will often cost several thousand dollars for a fully-fledged system. They can include diagnostic options to accurately pin-point faults such as open circuits and shorts and may also offer schematic or layout viewers to depict the fault in a graphical manner. Tests developed with such tools are frequently combined with other test systems such as in-circuit testers (ICTs) or functional board test systems.
デバッグ
[編集]The boundary scan architecture also provides functionality which helps developers and engineers during development stages of an embedded system. A JTAG Test Access Port (TAP) can be turned into a low-speed logic analyzer.
歴史
[編集]スタンフォード大学のジェームズBエンゲルがシリアルテスト手法を提案した。[4]
IBMがLSSD(レベル感応走査設計、Level-Sensitive Scan Design)を開発した。[5][6]
関連項目
[編集]出典
[編集]- ^ IEEE Std 1149.1 (JTAG) Testability Primer Chapter 3 covers boundary scan with JTAG, and other chapters are also informative.
- ^ The Embedded Plan For JTAG Boundary Scan presents an overview, circa 2008.
- ^ Oshana, Rob (October 29, 2002). “Introduction to JTAG”. Embedded Systems Design 2007年4月5日閲覧。
- ^ Williams, M. J. Y.; Angel, J. B. (January 1973), “Enhancing Testability of Large Scale Integrated Circuits via Test Points and Additional Logic”, IEEE Transactions on Computers C-22 (1): 46–60, doi:10.1109/T-C.1973.223600
- ^ Method of Level Sensitive Testing a Functional Logic System
- ^ Level sensitive scan design (LSSD) system
External links
[編集]- Official IEEE 1149.1 Standards Development Group Website(英語)
- IEEE 1149.1 JTAG and Boundary Scan Tutorial - e-Book Boundary scan JTAG (TAP) architecture and the problems it solves to create high test coverage