HOME > ソフテックだより > 第4号(2005年10月19日発行) 現場の声編「機能評価作業の紹介 〜JTAG評価〜」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第4号(2005年10月19日発行)
現場の声編

「機能評価作業の紹介 〜JTAG評価〜」

今月は、現在進行中であるLSI内蔵モジュールの機能評価作業を紹介します。
機能評価作業はソフテックが14年前から経験を積み重ねている分野です。「経験を積む」と言っても、評価対象次第では、様々な知識が必要となるため、評価作業の度に新たな技術的知識を習得しなくてはならない場合が多くあります。アプリケーションソフトウェア開発などと比べると一見地味と思われがちですが、実は常に新たな知識を必要とされる刺激的な分野と捉えることもできます。
私が現在、評価を行っているのはLSI内蔵のJTAG(Jointt Test Action Group)インターフェースです。私にとっては初めての機能評価作業になります。
今回は機能評価作業についてご紹介する意味で、作業着手から完了までの流れを簡単にお話したいと思います。


«準備段階»

上司から「次の仕事は、JTAGインターフェースの評価作業だから」と告げられたのは、別件の作業が終盤に差し掛かったころでした。1ヶ月後には、お客様との正式な打ち合わせが行われるとのこと。お客様には申し訳ないですが、その時の私はJTAGについて、オンチップエミュレータに関係がある技術、というくらいの知識しか持ち合わせていませんでした。この程度の知識では、打ち合わせに参加しても意味がないことは明らかです。早速、自主的に勉強を開始しました。まずは、バウンダリスキャン、JTAGで参考書をあたってみましたが、めぼしい本は1冊だけ。選択の余地がないので、仕方なくこれを購入しました。念のため、社内の図書もチェックしてみます。すると、雑誌「インターフェース」でJTAGが特集されているではないですか。どうやら、隔月連載記事のようです。「いざ、勉強」と行きたいところですが、ここからが問題です。一般的にソフト屋さんは良くも悪くも勉強の時間がなかなか取れない傾向にあります。私の場合、最もまとまった時間が取れるのは通勤電車の中です。中央線に揺られながら、1週間かけて何とか読破しました。
JTAGの全貌が、ようやく見えてきました。これで、お客様との打ち合わせに安心して臨めそうです。

«JTAGとは?»

ここで、簡単にJTAGについてご説明します。
JTAGは、バウンダリスキャンによるプリント基板のボードテスト(配線ミスなどをチェックするテスト)方法の規格です。(正式な規格名称はIEEE1149.1) ICのピン間隔が狭まるにつれ、従来のテストプローブを押し当てて行うボードテストが物理的な限界に達したため、新たにバウンダリスキャンによるテスト方法が考案され、1990年に規格化されました。JTAG対応デバイスの特徴は、入出力ピンとICコアロジックの境界にバウンダリスキャンセルと呼ばれるピン状態を反映するセルが内蔵されている点にあります。IC内部で直列に繋がれたセルのデータをシフトしてJTAG端子から取り出すことにより、物理的に端子に触れることなく入出力ピンの状態を知ることできます。(SAMPLE命令動作) また逆に、JTAG端子からシリアルデータをセルへ入力し、ICコアの動作とは無関係に任意のレベルを端子から出力させることも可能です。(EXTEST命令動作) この他にもいくつかの命令動作があり、これらを組み合わせることで基板配線の確認が可能になります

図:IC
IC
JTAGテストに使用する入出力端子は以下の5本のみです。
  • TCK : TAPコントローラにクロックを供給する入力端子
  • TMS : TAPコントローラの状態制御(命令の設定)をする入力端子
  • TDI : バウンダリスキャンセルへセットするデータを入力する端子
  • TDO : 端子状態を出力する端子
  • TRST : TAPコントローラのリセット入力端子(オプション)
SAMPLE命令
EXTEST命令

«評価項目の決定»

今回の評価作業は、市販のJTAGツールソフトを使って評価を行うことが決まっていました。ソフテックへご依頼いただく案件としてはソフト作成がメインではないという点でイレギュラーですが、ソフト作成以外での力を発揮できるチャンスと言えます。
いただいた資料をもとに、評価項目を検討します。JTAG機能を実際に利用するユーザーの立場にたって、考えられる様々な場合・条件を想定し、評価項目を挙げていきます。お客様から、「こういう場合について動作を確認してほしい」というご要望があれば、当然それも追加していきます。
機能評価作業において評価項目の決定は最も重要なプロセスであり、多くの時間を費やします。今回も例外ではなく、数回の打ち合わせを経てやっと納得のいく評価項目が決まりました。

«評価環境立ち上げ»

本件では、お客様より機能評価用基板などすべての環境をお借りして評価作業を行いました。
環境の立ち上げはそれほど面倒ではなく、評価用パソコンにJTAGツールソフトをインストールして、評価用基板とパソコンを専用のJTAGケーブルで接続すればOKです。
JTAGソフトを起動し、早速、動かしてみます。今後の作業が円滑に進むか否かを占う上で、重要な局面です。「どうかきちんと動きますように」と思いを込めて、パソコン画面上の命令実行ボタンをクリックします。すると・・・、出てしまいました。大量のエラー表示が。表示はバウンダリスキャンが正常に行われていないことを知らせています。
数日を要してしまいましたが、ロジアナを駆使して問題の切り分けを行い、異常個所を特定しました。原因は、JTAG入力端子に乗った数nsのノイズでした。ノイズは同じ個所に決まって現れており、他のJTAG端子の入力信号につられて出ているようでした。
原因をお客様にご報告し、評価用基板にノイズ対策を施していただきました。

«評価作業»

エラー表示が出なくなったことを確認し、いよいよ評価作業に入ります。作成した評価項目にのっとって、1件ずつ丁寧に確認を行っていきます。再現性の確認のため、同一操作を何度か繰り返しながら、坦々とこなしていきます。作業が軌道に乗ってくるとあとは単純作業のため気を緩めてしまいそうになりますが、そこは気を引き締め直し、1件の異常も見逃すまいという気持ちで作業に望みます。

«報告書作成»

と、ここまでで話は終わりです。(現在も評価作業継続中のため)
本来のプロセスであれば、この後に評価結果の報告書を作成し、報告書の納品をもって作業完了となります。


駆け足でのご説明となりましたが、機能評価作業について大まかな流れをイメージしていただけたでしょうか?
今までにソフテックで評価作業を担当させていただいたLSIの多くは、量産化され、様々な分野で活用されています。そのようなLSIの開発の一端を担わせていただけることに誇りと責任を感じながら、日々作業に取り組んでいます。

(T.S.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ