キーサイト いまさら聞けないロジック・アナライザ入門

Similar documents
(Microsoft Word - DDR\203\215\203W\203A\203i\215\\\220\254-ver0619.doc)

U4611A/B USB 2.0/3.0プロトコル・アナライザ バージョン3.7.x(MegaZoomテクノロジー採用)

Keysight Technologies マルチ・プロトコル & ロジック・アナライザ

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

CodeRecorderでカバレッジ

アプリケーション ノート 波形サンプル解析 機能 性能が向上するにつれ エンジニアは回路内のアナログ信号 デジタル信号の両方に注意を払う必要があります テストは複雑なため DUT(Device Under Test 被測定デバイス) のさまざまなテスト ポイントで信号を観測できる特殊なツールが必要に

Microsoft Word - SPARQアプリケーションノートGating_3.docx

メモリ トレンド DDR4 と LPDDR4 の速度域が重なる V DDR4 1.8V 1.2V LPDDR4 1.1V DDR4 と LPDDR4 の速度域が重なる DDR2 DDR3 DDR4 LPDDR1/2/3/

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

Microsoft Word - 地デジTVをパソコンのモニタとして利用するには・・・.doc

問題 バイポーラ電源がないと 正と負の電圧や電流を瞬断なくテスト機器に供給することが困難になります 極性反転リレーやスイッチ マトリクスを持つ 1 象限または 2 象限電源では V またはその近傍に不連続が生じ これが問題になる場合があります ソリューション 2 象限電圧のペアを逆直列に接続すれば

ディエンベディングとは冶具やケーブルによる観測信号の劣化を S パラメータデータを利用して計算により補正する TX 冶具ケーブル 被測定物の出力 De-Embedding 冶具 ケーブル等の影響を受けた波形 冶具 ケーブル等の S パラメータデータ TX 被測定物の出力 冶具 ケーブル等の影響のない

Agilent Technologies N5413A DDR2 Infiniium 9000/90000 Data Sheet DDR2 デザインを迅速にテスト デバッグ 評価 Agilent N5413A DDR2 JEDEC 1 JESD79-2E DDR2 SDRAM Specificati

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

Keysight Technologies InfiniiumオシロスコープによるUSB 2.0コンプライアンス・テスト

Keysight Technologies N1055A リモート・ヘッド・モジュール 35/50 GHz 2/4ポートTDR/TDT

Keysight Technologies DDRメモリのより良いデザイン/テスト

最も柔軟なミックスド シグナル試験ソリューション HDA125 高速ミックスド シグナル オプションは 市場で最も強力で 自由度の高いミックスド シグナル試験システムの鍵となる製品です これは テレダイン レクロイのオシロスコープと組み合わせることで かつてないほど広範な種類の信号を全て観測すること

__________________

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

計算機アーキテクチャ

はじめに RS-232 などのシリアル バスのデバッグでは RS-232 プロトコルでトリガできる機能を持つオシロスコープを使わないと非常に面倒です RS-232 などのシリアル バスをデバッグする従来の手法として 手動でビットをカウントするやり方があります しかし 目視で "1" と "0" をカ

Windows10の標準機能だけでデータを完全バックアップする方法 | 【ぱそちき】パソコン初心者に教えたい仕事に役立つPC知識

Microsoft Word - XPC4ソフトマニュアル.doc

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

Microsoft Word - CygwinでPython.docx

Microsoft Word - 03_PCIe特集_PCIe実現方法.doc

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

Taro-82ADAカ.jtd

CommCheckerManual_Ver.1.0_.doc

PRONETA

教材ドットコムオリジナル教材 0から始めるiアプリ (3) 0 から始める i アプリ (3) i アプリを作れるようになったならば次は公開です i アプリでは前述したように たとえエミュレータで動作確認ができたからといって実機のテストを怠ってはいけません 実機での処理速度 発色 プログラム等の耐性

富士通セミコンダクタープレスリリース 2009/05/19

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

智美塾 ゆもつよメソッドのアーキテクチャ

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

RMS(Root Mean Square value 実効値 ) 実効値は AC の電圧と電流両方の値を規定する 最も一般的で便利な値です AC 波形の実効値はその波形から得られる パワーのレベルを示すものであり AC 信号の最も重要な属性となります 実効値の計算は AC の電流波形と それによって

Microsoft Word - Si Multi Digitalカード.docx

__________________

TopSE並行システム はじめに

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

Microsoft PowerPoint - FormsUpgrade_Tune.ppt

機能検証トレーニング コース一覧

モータ HILS の概要 1 はじめに モータ HILS の需要 自動車の電子化及び 電気自動車やハイブリッド車の実用化に伴い モータの使用数が増大しています 従来行われていた駆動用モータ単体のシミュレーション レシプロエンジンとモータの駆動力分配制御シミュレーションの利用に加え パワーウインドやサ

完成版_セミナー発表資料110928

測定器の持つ誤差 と 使い方による誤差

<4D F736F F F696E74202D2091E FCD91BD8F6489BB82C691BD8F E835A83582E >

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

スライド 1

ヤマハDante機器と他社AES67機器の接続ガイド

スライド 1

コンテンツ作成基本編

CMOS リニアイメージセンサ用駆動回路 C10808 シリーズ 蓄積時間の可変機能付き 高精度駆動回路 C10808 シリーズは 電流出力タイプ CMOS リニアイメージセンサ S10111~S10114 シリーズ S10121~S10124 シリーズ (-01) 用に設計された駆動回路です セン

TFTP serverの実装

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

Infiniiumオシロスコープ Webコントロール手順書

降圧コンバータIC のスナバ回路 : パワーマネジメント

部品ライブラリシステム

PNopenseminar_2011_開発stack

アプリケーション ノート DDR メモリの電気的検証 スマート フォンからサーバまで ほとんどすべての電子デバイスには なんらかの形式のRAMメモリが使用されています フラッシュ型 NANDはさまざまな民生家電で今も数多く使われていますが コンピュータやコンピュータベースの製品においては今なお SD

タッチパネル式表示ユニットの装着や システム組み込みにも対応した次世代データ収録器 誕生 各種ユニットを着脱可能 アンプユニットは最大10ユニットまで混在装着可能 1 最大で10台のアンプユニットが取付けでき 本体ユニット1台で最大112chの多チャネル測定が可能です 表示ユニットは本体ユニットへの

<4D F736F F F696E74202D D312E A90A78CE48AC28BAB93B193FC835C838A B E707074>

インテル(R) Visual Fortran コンパイラ 10.0

Microsoft PowerPoint - Windows10へのアップグレィド.pptx

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

USB 電気パラメータを簡単に検証 USB USB-IF USB OTG 図. Infiniium USB コンプライアンス テストは Analyze メニューのサブメニューからアクセスできます 図. Infiniium USB コンプライアンス テストの設定と起動が つのウィンドウから行えます

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門 作品のタイトル : Toppers_JSP と Scicos_lab / (Scilab でも可 ) による 組込みメカトロニクス制御シミュレーション 作成者 : 塩出武 ( シオデタ

Agilent U7238A MIPI D-PHY Infiniium Data Sheet エンベディッド D-PHY データ リンクの検証とデバッグ Agilent U7238A MIPI D-PHY Infiniium D-PHY CSI DSI D-PHY U7238A MIPI D-PHY

WLAR-L11G-L/WLS-L11GS-L/WLS-L11GSU-L セットアップガイド

040402.ユニットテスト

3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は

機能紹介:コンテキスト分析エンジン

Microsoft PowerPoint - interfax_jirei7.ppt [互換モード]

周波数特性解析

PowerPoint プレゼンテーション

Microsoft Word - RefApp7インストールガイド.doc

_mokuji_2nd.indd

スライド 1

起動時

出 アーキテクチャ 誰が 出 装置を制御するのか 1

どこでも写真管理 Plus (Android 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明であ

Microsoft Word - Ladder Tool 使çfl¨ã…žã…‰ã…¥ã‡¢ã…«ã…©ã…•ã…¼ã†ªã†Š_ docx

Microsoft Word - QEX_2014_feb.doc

EB-RL7023+SB/D2

Microsoft PowerPoint - 55Z _approved.ppt

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

これさえ知っていれば迷わない -PCI Expressエンドポイント特集- 2006/10 Vol.1

Microsoft Word - トレードステーションスターターキット(123用).docx

Microsoft Word - 02__⁄T_ŒÚ”�.doc

PixeBurn! for HD Instruction Guide JPN

生存確認調査ツール

IBIS

必要システム ( お客様ご用意 ) 形式 :MSRPAC-2010 MSRPAC 仕様書 NS-7404 Rev.2 Page 2/13

図 2.Cat2 ケーブルの減衰特性 通常伝送線路の減衰特性は 1-1) 式のように 3つのパラメータで近似されます DC 抵抗表皮効果誘電損失 A + f*b + f*c 1-1) ところが仕様書の特性を見ると0~825MHz までは-5dB でフラット 5.1GHz までは直線的な減衰になってい

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

RA-485実習キット

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

目次 ペトリネットの概要 適用事例

起動画面

Transcription:

いまさら聞けないロジック アナライザ入門 本冊子は 2010 年 5 月から 9 月まで 5 回に渡り @IT MONOist サイトで連載された記事をまとめたものです そのため 文中の アジレント アジレント テクノロジー は キーサイト キーサイト テクノロジー に置き換えてお読みいただきますよう お願いいたします http://monoist.atmarkit.co.jp/ 目次 (1) デジタルデバッグにはなぜロジアナ? 仕組みと歴史ロジック アナライザの基礎解説講座がスタート 連載 1 回目は ロジアナの基本的な仕組みを歴史とともに紹介する (2) ロジアナと MSO 違いと使い分けロジック アナライザをいつ使うべきか オシロや MSO とロジアナを比較しながらそれぞれの解析モードについて紹介 (3) 今どきのロジアナ機能と 避けては通れないプローブ使いこなせば便利な今どきのロジック アナライザ機能と ロジック アナライザを接続するためのプローブについて紹介 (4) それでもロジック アナライザは使いたくない!? オシロスコープはよく使うけどロジアナはできれば使いたくない という技術者をターゲットに使いこなしのポイントを紹介 (5) FPGA DDR も怖くない! ロジアナによる簡単デバッグ最終回は ロジック アナライザの用途として最近よく使用されている FPGA や DDR メモリのデバッグ解析例を紹介する

いまさら聞けないロジック アナライザ入門 (1) デジタルデバッグにはなぜロジアナ? 仕組みと歴史 アジレント テクノロジー佐貫聡信 実機の環境はシミュレーションのように理想的ではない 実機で発生しているイベントをリアルタイムに観測できるツールはロジック アナライザ ( ロジアナ ) だけだ 本稿では これからロジアナを使ってみようと考えている読者を対象に ロジアナの測定原理から 実機デバッグで役に立つテクニックまで順に解説していく ( 編集部 ) はじめに技術の進歩により 近年では高速で高機能なデジタル半導体が比較的容易に入手できるようになり 大規模で複雑なシステムが増えています また シミュレーション技術の発達により ハードウェアおよびソフトウェアのバグの多くは設計段階で修正できるようになっています ロジック信号は 0 または 1 の 2 つの値で表現されますが これをそのまま人間が見て意味を理解するのは困難です また 16 ビットや 32 ビットといった単位でデータを表現するため 信号線の数も 16 本や 32 本必要になります システム全体の動作を確認するためには 数十 ~ 数百の信号を同時に観測する必要があり 多数の入力チャネルを備えた測定器が必要になります ロジック アナライザを使用することで 多数の信号線に同時にプロービングし 0 と 1 のバイナリで表現されるデータを人間が理解しやすい形式に変換して表示することができます これにより システム上で発生しているさまざまなイベントを簡単に確認することができます ( 図 2) しかし 実機の環境はシミュレーションのように理想的ではありません 開発したハードウェアとソフトウェアを統合した際に シミュレーションでは見つからなかった不具合が発生することもしばしばあります 多くの場合 まずはハードウェアとソフトウェアのどちらに問題があるのか見分ける必要があります その際 CPU や FPGA の内部信号を観測するだけでなく 外付けのメモリや周辺回路の信号などとも相関を取って システム全体の動作を検証する必要があります このような実機デバッグの必要性から 近年ロジック アナライザが注目されています 実基板上の多数の信号をシステムに同期して取り込み 実機で発生しているイベントをリアルタイムに観測できるツールはロジック アナライザだけだからです 本連載では これからロジック アナライザを使ってみようとお考えの読者を対象に ロジック アナライザの測定原理から 実機デバッグで役に立つテクニックまで順番に解説していきたいと思います 連載 1 回目では ロジック アナライザの基本的な仕組みを歴史とともに解説します ロジック アナライザとはロジック アナライザ ( 図 1) は 多数のロジック信号を同時に取り込み 解析 / 表示する測定器です 図 2 ロジック アナライザを使用した DDR メモリバスのデバッグイメージ ロジック アナライザは 用途に応じて 2 種類の解析モードを切り替えて測定できます 1 つはステート解析モード ( 同期クロックでのサンプリング機能 ) で もう 1 つはタイミング解析モード ( 非同期クロックでのサンプリング機能 ) です これら 2 つの機能を持っている理由は ロジック アナライザの歴史と大きく関係があります まずはロジック アナライザの歴史を振り返ってみましょう ロジック アナライザの歴史 1970 年代初めまでは デジタル製品のデバッグ時にはオシロスコープが使われていました しかしながら CPU のアドレスやデータのビット幅が 8 16 32 と増えるにつれ 観測すべき信号数が増加し 2~4 チャネル入力のオシロスコープでは対応が困難になってきました ( 図 3) また ソフトウェアの開発時に プログラムが特定の処理を行ったところや 特定のアドレスにアクセスしたときの状態を確認したいというニーズも出てきました つまり 信号を単なる波形としてではなく 8 ビットや 16 ビット幅のバスのデータとして読み取り そのデータが示す意味を解釈して表示する必要性が高まりました ( 図 4) 図 1 ロジック アナライザ 図 3 ロジック回路の例 図 4 アドレスバス データバスの表示例 2

これらのニーズに応えて 現在のロジック アナライザの前身となるステートアナライザやタイミングアナライザが登場しました ステートアナライザは 外部クロック信号に同期して信号をサンプリングします 例えば CPU のアドレスバスやデータバス上の信号を システムクロックに同期してサンプリングすることで システムが処理している信号と同じものを観測することができます また アドレスバスやデータバスのイベントでトリガを掛け リスト表示でアドレスやデータを分かりやすく表示することができます ( 図 5) このため主にソフトウェアの解析に活用されました ロジック アナライザの仕組み図 7 にロジック アナライザのブロック図を示します 図 7 ロジック アナライザのブロック図 図 5 ステート解析の例 最初に ロジック アナライザは入力された信号が 1 か 0 かの判別を行います これにはコンパレータが使用されます コンパレータは入力信号の電圧とスレッショルド ( しきい値 ) 電圧を比較し 信号の電圧の方が高ければ 1 低ければ 0 と解釈します ( 図 8) スレッショルド ( しきい値 ) 電圧はユーザーが任意の値に設定可能で 各種信号規格のレベルに合わせた設定が可能です このようなシンプルな構成のため 多チャネル化が容易です ( 図 9) タイミングアナライザは システムクロックとは非同期に信号をサンプリングし 波形として表示します アナライザの内部クロックにより高速サンプリングを行うことで 多数の信号の細かなタイミングの違いを確認することができます ( 図 6) このため主にハードウェアの解析に活用されました 図 8 コンパレータの動作 図 9 ロジック アナライザの入力部 図 6 タイミング解析の例 ( 赤枠内 : 細かなタイミングの違い ) その後システムの複雑化が進むと 不具合の原因がハードウェアとソフトウェアのどちらにあるのかという切り分けが重要になりました そこで ステート解析とタイミング解析の両方の機能を持ったロジック アナライザが 1980 年代に登場しました 現在販売されている多くのロジック アナライザは ステート解析とタイミング解析の両方の機能を備えています コンパレータの出力は サンプリング クロックのタイミングでラッチされます サンプリング クロックとして外部クロックまたは内部クロックが選択でき これによりロジック アナライザの動作モードが決まります それぞれの動作モードの違いは表 1 のとおりです 詳細は次回以降でご紹介します 表 1 ステート解析モードとタイミング解析モードの比較 サンプリングされた信号はメモリに保存されます メモリがいっぱいになると古いデータから順番に破棄され新しいデータが上書きされます トリガ回路は ユーザーが指定したデータパターンなどのトリガイベントを検出し ロジック アナライザのサンプリング動作を停止します その後メモリ内のデータが処理され画面に表示されます 次回は ステートとタイミングそれぞれの解析モードについて オシロスコープやミックスドシグナルオシロスコープとの比較を交えながら もう少し詳しく説明します 3

いまさら聞けないロジック アナライザ入門 (2) ロジアナと MSO 違いと使い分け アジレント テクノロジー竹中慎吾 連載 1 回目は ロジック アナライザの成り立ちを通じて ステート ( 同期 ) 解析モードとタイミング ( 非同期 ) 解析モードについて説明しました ロジック アナライザは もともと 2 種類の異なる解析のニーズに対応できるような測定器として進化したため ( ステート解析機能とタイミング解析機能の両方の機能を備えているため ) ハードウェアからソフトウェアのテスト さらにはシステムを統合したときのテストに至るまで あらゆる局面において幅広く活用できる高い柔軟性を持っています しかしながらロジック アナライザをいつ使うべきか イメージがわかないという読者の方も多いかもしれません また デジタルシステムの開発 検証において どのような局面でロジック アナライザ オシロスコープやミックスド シグナル オシロスコープ (MSO) などを使い分ければよいか 困ることも少なくないのではないでしょうか 取りあえずオシロスコープ? MSO ですべて検証可能? 結局ロジック アナライザはいつ使うの? 信号品質チェックと高分解能タイミング解析 オシロスコープによる解析ボードが出来上がってきて まず何をするでしょうか おそらく オシロスコープを使って 信号がきちんと出ているか確認したうえで 立ち上がり リンギングといった波形品質をチェック ( 波形解析 ) し 次に各信号間のスキューやセットアップやホールド時間などをチェック ( タイミング解析 ) すると思います オシロスコープは 通常 2~4 チャネル程度のチャネル数ですが ロジック アナライザは数十 ~ 数百チャネルもの信号を同時に解析できます 従って 信号数の多いシステムを解析する場合には ロジック アナライザを使用します この場合ロジック アナライザのタイミング解析モードは 電圧分解能 1 ビット 多チャネルのオシロスコープ といってもよいかもしれません ただし ロジック アナライザの電圧分解能は 1 ビットですので 被試験信号の波形品質を観察できません 波形品質を観察するには オシロスコープを使用する必要があります ( 図 2) Scope アナログ信号 確度 / 精度 電圧 vs. 時間の相関データ パラメータ情報 (Vp-p Tr Tf,Freq ) Logic Analyzer デジタル信号 多くの信号 信号間のタイミングの相関 パターンでのイベント検出 ( トリガ ) 今後ますます複雑化するデジタルシステムの問題を迅速に解決するためには それぞれの測定器の特徴を知り 状況に応じて使い分けることが重要です 連載 2 回目となる今回は オシロスコープや MSO といった測定器とロジック アナライザを比較しながらそれぞれの解析モードについて もう少し詳しく説明していきます まずは それぞれの測定器とその解析機能を以下にまとめておきます ( 図 1) 測定器 ロジック アナライザ ミックスド シグナル オシロスコープ (MSO) ステート解析ターゲットの信号 ( 一般的にはシステム クシステムのイベントロック ) に同期して サンプリングするため 同期解析 と呼ばれます これによりシステムの動作と全く同じ1クロック1イベントのデータをモニタすることができます これは 通常ロジック アナライザにしかできない解析です タイミング解析 エッジの関係 波形解析 波形のパラメータ 解析機能 図 1 測定器と解析機能 複数の信号間のエッジの関係がどうなっているか スキューはどれくらいあるかといったタイミングを解析します この解析は オシロスコープでも MSO でもロジック アナライザでもできます システムの動きに関わらず 測定器内部のクロックによりサンプリングするため 非同期解析 と呼ばれます 立上り 立下り リンギングといった波形のパラメータを観測します 電圧軸の分解能を持つオシロスコープや MSO といった測定器による解析になります 図 2 オシロスコープとロジック アナライザの比較 タイミング解析において 重要なスペックとなるタイミング分解能は 測定器内部で生成されるサンプリング クロックの速度に依存します つまり サンプリング クロックが速ければ速いほどタイミング分解能が向上し デジタイジング誤差 ( 実際の信号の遷移点とサンプリングポイントとの誤差 最大で ±1 サンプリング周期 ) の影響が減少します また一般的にタイミング分解能は ロジック アナライザよりもオシロスコープの方が高い場合が多く 最近では 80G サンプル /sec のオシロスコープもリリースされています 最近のシステムでは パラレルバスから高速シリアルバスへの移行が進み 多チャネル解析の要求よりも波形品質も含めたタイミング解析の要求が高まってきたため タイミング解析の局面ではロジック アナライザよりもオシロスコープが使用されることが多くなってきています 1 台で波形もロジックも!? MSO による解析デバッグの最初の段階では オシロスコープを使用して確認することが多いと思いますが システム全体の動作を検証するフェイズでは オシロスコープだけでは厳しくなってきます 一般的なオシロスコープでは ロジックの動作やバスを流れるコマンドやコードの値などは分かりません 4

すでに使用されている読者の方も多いかもしれませんが 最近のオシロスコープの中でも ロジック アナライザ機能が付いた MSO が一般的に使われるようになってきました MSO は通常 1 台でアナログ 2 もしくは 4 チャネル デジタルが 16 チャネル程度の信号を同時にタイミング解析できるため非常に便利です ここでは MSO の便利な機能について 最近多くのシステムに採用されてきている DDR メモリの解析を例に説明します 例えば コントローラから発行される DDR メモリのコマンドは RAS CAS WE の組み合わせで定義されます その場合 シンボル表示を使えば 0 と 1 のロジック波形だけでなく Read や Write といったシンボルで解析を進めることができます さらに Read コマンドのパターンでトリガを掛けて そのときのデータやアドレスの波形も容易にチェック可能です ( 図 3) これとは逆に 異常な波形でトリガを掛けて その現象がどこの論理シーケンスで起こっているのかをチェックすることもできます ロジック READ コマンドでトリガ COMMAND というバスを定義し シンボル表示 一方 ステート解析に対して タイミング解析は 非同期解析 です 先ほど ロジック アナライザのタイミング解析モードが オシロスコープでの解析にイメージが近いと書いたのは 両方とも測定器内部のサンプリング クロックを使うためです MSO のロジック解析機能もロジック アナライザも 0 1 を見るという点で基本的に同じです しかし デコーダ プロトコル解析 逆アセンブル ソース相関 画像への変換 変調解析 パフォーマンス解析など ( 図 5) は 基本的にロジック アナライザのステート解析でなければできない機能です ( これらのロジック アナライザならではの豊富な解析の機能については 次回以降で説明します ) ソース相関 パフォーマンス解析 アナログ 図 3 Read コマンドでパターン トリガを掛けたときの例 また MSO がよく使われる例として リセット直後の波形を取る際に通常のオシロスコープではチャネルが足りない場合にも 余っているロジックチャネルをトリガ入力やタイミングの確認ができるため いざというときに大変重宝します 画像表示 プロトコル解析 以上のように MSO は アナログ解析に加えて デジタル信号のタイミング解析までできますので MSO1 台で十分なのでは? そう考えている読者の方も多いかもしれません システムの動きが手に取るように分かる! ロジック アナライザによる解析それでは ロジック アナライザを使用するメリット いい換えると MSO にできない部分はどこにあるのでしょうか ロジック アナライザが多チャネルであることは前述したので除くとして ここでは 大きく 3 つ挙げます 1. ステート解析ができる 2. 豊富なトリガが掛けられる 3. 長時間のトレースが取れる それではこれらの 3 つのポイントについて説明していきます 1. ロジック アナライザにしかできないステート解析勘のいい読者の方はすでにお分かりかもしれませんが 実は ロジック アナライザはステート解析モードで真の威力を発揮します ステート解析は 同期解析 です ターゲットとなるシステムは システム クロックなどの基準信号に従って動いていますので この基準信号に従ってサンプリングすることで システムの動きそのものが見えるわけです 図 4 ステート解析によって可能となる豊富な解析機能の例 ではなぜこれらの機能はタイミング解析モードではなくステート解析モードでなければならないのでしょうか? 非同期サンプリングでは図 5 に示すとおり有効なデータ以外に余計なデータをたくさんサンプリングしています ステート解析では ターゲットのクロックに同期して実際のシステムの動作と同じ 1 イベント /1 クロックのデータをモニタすることができます このためシステム クロックに同期してサンプリングしたデータは 実システムと同じようにデータ処理が可能になります 図 5 ステートとタイミングのサンプリング方式の違いによるトレースデータの違い 5

2. 難しいデバッグでも現象をとらえる 豊富なトリガ MSO のトリガ例では Read コマンドに対してパターン トリガを掛ける場合を紹介しました 一般的にロジック アナライザは MSO と比べて問題現象を補足するためのトリガ機能が豊富です 例えばトリガ シーケンスを組む際に タイマ カウンタ 条件分岐やループなどを使って 柔軟にトリガ条件を設定することができます さらに DDR メモリの物理アドレスを入力するだけで自動的にトリガ条件を作成するものもあります 例えばある特定の物理アドレスに書き込んだときだけ データが化けるといったトラブルが発生した場合 ( 図 6) には どのようにして現象をつかまえればよいでしょうか? たとえばこのアドレスでかけたい 1. アドレス入力 Row Colmn Bank アドレスもしくは物理アドレスを入力 アドレス構成を選択 2. コマンドを指定 Read/Write/Either を選択 3. Create Trigger をクリック 図 8 トリガツールによる物理アドレスへのトリガの自動生成 図 6 よくあるトラブル事例 特定の物理アドレスでデータが化ける 特定のアドレスへのデータの書き込み / 読み込み時には トリガ条件にアドレスを指定しなければなりません DDR メモリのアドレスは 実際にはバンク カラム ローなどのアドレスで構成されているため 単純なパターン トリガではなく 連続したいくつかのイベントを設定する必要があります ロジック アナライザはこのような場合でも 自由にトリガ シーケンスを設定することができます ( 図 7) Step1 Activate コマンド BA(Bank Address) を指定 RowAddr を指定 Step2 Read/Write コマンド BA(Bank Address) を指定 Colmn Addr を指定 補足 )DDR メモリの物理アドレス構造 Activate コマンド発行時に指定 Read/Write コマンド発行時に指定 図 7 物理アドレスでトリガを掛ける例 シーケンスを組む必要がある また 最近ではこのような複雑なトリガ設定も簡単に作成することができるトリガ作成のツール ( 図 8) なども一般的になってきています また余談ですが ロジック アナライザのスペックにおいて最大サンプリング速度は最も重要ですが トリガ検出可能なトリガ シーケンサの対応速度も非常に重要です 例えば DDR3 メモリは現在最速で 1867Mbps のデータレートで読み書きできますが 最大サンプリング速度がそれ以下であれば当然データをキャプチャすることはできません またトリガ シーケンサの対応速度が 1867Mbps 以上あれば 図 9 のような 64 ビットのデータ パターンが バースト長 8 で流れてくるといった特定のデータ パターンでも検出できますが それ以下の速度であればトリガ検出は不可能です トリガ! 1867MHz バースト1(64Bit) バースト2 バースト 8 1867MHz で流れる 64Bit のデータ パターンをバースト 1~8 まで すべて指定したトリガの例 図 9 DDR3 1867MHz のバースト データのトリガ例 データは取れても 取りたい現象が取れないのでは意味がありません システムがきちんと動いていて トリガのシーケンスもしっかり組めていると思うのに うまくデータが取れない そんなときは トリガ速度のスペックが足りないのかもしれません 今後 システムが複雑になり デバッグがますます困難になってきたときには 特定のイベントを検出できるトリガ機能が非常に重要になってきます 今後ロジック アナライザをトリガ検出器として使用して オシロスコープで特定のイベント発生時の波形を解析するようなケースも多々出てくるでしょう 3. 長時間トレースのための機能ロジック アナライザを用いたシステムの解析要求の中には 長時間のリアルタイム トレースを取りたいというものも少なくありません 例えば Read 時のデータが疑わしい場合 同じアドレスに対して Write したデータを確認する必要がありますが Write は Read の数 ms 以上前といった状況も往々にしてあります ロジック アナライザには ロング トレースを取るためのさまざまな工夫が盛り込まれています 6

例えば タイミング解析モード時には トランジショナル タイミング モードというものがあります ( 図 10) このモードは 通常のタイミング解析モードと異なり データの遷移点だけを記録します (1 クロックごとに保存 ) (a) コンベンショナル タイミング方式 図 12 ステート解析と高速タイミング解析を同時に行った例 さらに MSO のように同じ画面上で波形 ロジックの 2 つを解析するため オシロスコープと連携する機能があるロジック アナライザもあります これを用いることで タイミング ステート そしてアナログ解析が時間軸相関を取って行えます 詳細は次回以降に説明します (b) トランジショナル タイミング方式 図 10 トランジショナル タイミング方式 ステート解析モード時に使用可能なストア クオリフィケーション ( 図 11) は ある条件のときだけ記録するあるいは記録しないといった指定ができます 例えば NOP は必要ないといった場合に NOP を除いて記録したり あるコマンドだけを記録したりといった場合に有効です 後者の一例として Refresh コマンドだけを記録すれば Refresh がどんな間隔で発行されているかが容易に分かります 以上 普段の仕事の中でどれを使用すべきか迷いがちなオシロスコープや MSO といった測定器とロジック アナライザを比較しながら それぞれの解析モードについて説明しました 最後に各測定器の比較をまとめておきます ( 表 1) どのような局面でどのような測定器を使えばよいのか 参考にしていただければ幸いです メモリ 図 11 ストア クオリフィケーションの例 そのほか 使用可能なチャネル数を 2 分の 1 あるいは 4 分の 1 に減らすことで サンプリング速度を上げるとともに 使用できるトレース メモリを増やすハーフ / クオータ チャネルといったモードもあります これらの機能を駆使することで 場合によっては秒単位のデータを記録することも可能です また余談ですが いまのロジック アナライザの中にはステート解析とタイミング解析を同時に行えるものもあります 図 12 は システム内のカウンタのロジック シーケンスを追うと同時に トリガ周辺のエッジの関係を 250ps(4GHz) という高い時間の分解能で見ている例です 表 1 各測定器の比較 次回は デジタルデバッグの効率化に役立つ今どきの機能と ロジック アナライザを使用するうえで避けて通れないプローブについて説明します 7

いまさら聞けないロジック アナライザ入門 (3) 今どきのロジアナ機能と避けては通れないプローブの話 < たとえば どのアドレスにどんなデータが Write されたのか調べる手順 > アジレント テクノロジー里見尚志 前回は 状況に応じた測定器の選び方や使用方法について ロジック アナライザをオシロスコープや MSO と比較しながら説明しました また ロジック アナライザの特長であるステート解析 高機能なトリガ 長時間測定については DDR メモリ解析を例として解説しました ロジック アナライザ測定においては タイミング解析の場合は波形表示で測定データを見て ステート解析の場合はリスト表示で測定データを見る というのが定石ですが 最近のロジック アナライザにはさまざまな機能があり それらを活用することによりデバッグの効率を飛躍的に上げることが可能です 連載 3 回目の今回は 使いこなせば便利な今どきのロジック アナライザ機能と 測定するうえでは避けて通ることのできない ロジック アナライザを接続するためのプローブについて詳しく説明します デコーダによるデータ表示デコーダはデータの前後関係を見て 分かりやすく表示してくれる機能です マイコン開発におけるバス解析でも使用されているため 逆アセンブラと呼ばれることもあります ここでも DDR メモリを例にして説明します デコーダを使用することにより DDR メモリのどこのアドレスにどんなデータが書き込まれたか あるいは読み込まれたかが一目で分かります ( 図 1) 図 1 デコーダの表示例 : どこのアドレスにどんなデータが書き込まれたか一目で分かる デコーダを使用しない場合 コマンド アドレスおよびデータとそれらの関係を自分の手で調べる必要があります 特に物理アドレスの組み立ては大変です 概要は図 2 を参照してください 物理アドレスの構造は Row アドレスと Col アドレス Bank アドレスからなります Activate コマンドが発行されると同時に Row アドレスが指定され 一定クロックごに Write コマンドとともに Col アドレスが指定されます 実際のデータはまた一定クロック ( レーテンシ ) 後にバス上を流れます 図 2 デコーダがない場合 : どのアドレスにどんなデータが書き込まれたかは自分の手で調べる パケット表示によるプロトコル解析最近のバスは従来のようなハンドシェイクではなく 通信プロトコルのようなパケットのやりとりを行うものが多くなってきました パケットとパケットの間はアイドルデータが流れており リスト表示でそのまま表示するとパケットが不要なアイドルデータの中に埋もれてしまい 非常に分かりづらくなります フィルタを使用して不要なデータを表示しないようにする手もありますが そのような場合にはパケット表示を使用すると 専用機であるプロトコル アナライザのような表示で測定データを確認することができます ( 図 3) 図 3 パケット表示の例 : 双方向に流れるパケットとその中身を分かりやすく表示 パケ双ッ方ト向をに色送分受け信しさてれ表る示 パケット定義は XML などで記述されているため 標準プロトコルをカスタマイズしたり 独自プロトコルをパケット デコードしたりして表示することも可能です 仕様パ書ケのッフトォのー詳マ細ット情で報表を示 バストレースとソースコードを相関表示マイコンのバストレースでは 前述のデコーダ ( 逆アセンブラ ) によりアセンブラレベルでの表示が可能ですが さらにソースコードを相関させて表示することが可能です ( 図 4) 8

実行しているソースコードを表示 デジタル VSA(Vector Signal Analysis) 解析携帯電話のような無線機器では 従来は全体的な制御にマイコンが用いられてきた程度で 信号はアナログで処理されていました 最近はベースバンドをデジタル化して処理することが普通に行われています デジタル ベースバンドと IF 信号における時間 周波数 モジュレーションドメイン解析をロジック アナライザ上で実行するようなツールもあります ( 図 7) ロジアナで実測したバストレース 図 4 ソース相関表示 : リスト画面とソースコード画面が連動して表示される マイコンに実行させるバイナリコードをコンパイル リンクする際にデバッグオプションを付けることにより シンボル情報を生成します ロジック アナライザはそのシンボル情報を基にバストレースのアドレス情報からソースコードの当該部分を表示します さまざまなカスタム解析ツール最近のロジック アナライザは比較的容易にカスタマイズできるようになっており さまざまな解析ツールを作成することも可能になっています 例えば DDR メモリバスを測定する場合 読み書きするメモリ領域とその頻度を解析したり Activate や Refresh などのコマンド発行頻度を確認したりするパフォーマンス解析ツールがあります ( 図 5) 図 7 デジタル VSA 解析の例 ロジアナで多チャンネルの信号品質チェックステート解析を行ううえで重要なポイントの 1 つは 適切なサンプリング位置でデータをサンプリングすることです システムがきちんと動いているのに ロジック アナライザが間違ったデータを観測していたのでは何の意味もありません ( 図 8) 図 8 ロジック アナライザでは適切なサンプリング位置の設定が重要 図 5 DDR メモリのパフォーマンス解析 : 各コマンドの出現頻度が色別に表示される これを解決するために いまのロジック アナライザの中には つながっている信号すべてのアイパターンを一度に描画できるものがあります ( 図 9) 面白い例では バス上を流れる画像データをロジック アナライザ上で再生するツールがあります ( 図 6) 画像を送信側 受信側だけでなくバス上でも確認することにより 問題の原因切り分けが容易になります 図 6 画像表示ツール :MIPI 上を流れる画像データをロジック アナライザ上で再生 図 9 多チャンネルのアイパターン描画 : 適切なサンプリング位置の設定と信号品質のチェック 9

原理は ロジック アナライザのスレッショルドとディレイを少しずつ変えていき そのポイントでデータが遷移するかどうかでアイパターンを描いていきます 遷移があればドットを描きます ( 図 8 でオレンジ色の部分 ) もともと 正しいサンプリング位置を決めるための機能ですが 多チャンネルの信号品質を確認できますので 多チャンネルのオシロスコープとしても使えます ただし 原理を説明したとおり リアルタイム オシロスコープではなくサンプリング オシロスコープに近いです 信号のパラメトリックな評価にはリアルタイム オシロスコープを使用します DDR メモリの中でも PC やサーバで使用される DIMM では データが Read と Write で 64 ビットずつ アドレスが 16 ビット コマンドが 10 ビット と 100 を優に超す信号があります 一昔前のシステムなら 16 ビットあるうちの数ビットを見て OK であればほかのビットも OK とできたかもしれませんが 近年の高速 複雑化したシステムでは それだけで安心できないケースが増えています それでは 1 つ 1 つオシロスコープで見るのでしょうか ロジック アナライザを使えば 全信号を一度にチェックできます しかも 時間軸分解能 10ps 電圧軸分解能 10mV というかなり高い分解能でアイパターンを描けるものもあります 通常のタイミング解析は ターゲットではなく測定器のクロックに従って解析する非同期の解析です それに対して この機能は ターゲットの基準信号に同期した形で ほかの信号のタイミング解析を行います この考え方は シンクロナス ( 同期 ) タイミングと呼ばれ 今後より高速 複雑化していくシステムでは 非常に重要になる考え方になるでしょう 重要なプローブ選び非接触で信号を測定できればよいのですが そうなるにはまだまだ時間がかかりそうです ロジック アナライザを使用するうえでは 適切なプローブを選択することが重要です プローブ選択には 以下のようなポイントがあります 物理的形状 :DUT に接続しやすいか 物理的に干渉しないか 取り付け強度は大丈夫か電気的負荷 : 取り付けることによって DUT に電気的影響を与えないか伝送帯域 : 測定する信号の周波数やデータレートに対応できる帯域を持っているか プローブには大きく分けて以下の 3 種類があります フライングリード : プローブリードを信号個別に接続するコネクタ : あらかじめ DUT に搭載しておいたロジック アナライザ用コネクタに接続コネクタレス : あらかじめ DUT に搭載しておいた信号パッドにプローブピンを接触させる フライングリード プローブその名前のとおり 測定する信号ごとにリードを個別に接続するプローブです ( 図 11) 従来よく使われているプローブですが 最近の製品は 1.5Gb/s の帯域を持ったものや 差動入力のものもあります 専用ソフトウェアツールと測定用アダプタ規格やデバイスに特化したソフトウェアツールなども充実してきており それらの解析を行う専用機として使っても申し分ないくらいのものもあります また ロジック アナライザで直接測定が困難なシリアルバスや高速バスに対しては 測定用アダプタ ( 解析プローブ ) を使用することにより測定や解析を行うことが可能です ( 図 10) 図 11 フライングリード プローブの例 :1.5Gb/s 差動 16ch+ クロック入力 図 10 ロジック アナライザをベースにした専用ツールの例 :FPGA DDR MIPI アナライザ このようにオシロスコープや MSO にできない多彩な解析を行えるのが現在のロジック アナライザです いかがでしょうか ロジック アナライザ = タイミング チャートというイメージを持っていた読者の方は ロジック アナライザへの認識が大きく変わったはずです 今回はそれぞれの機能を簡単に紹介しましたが 次回以降でいくつかを詳細に解説します さて いくら解析機能が充実していても ロジック アナライザと被測定物 (DUT:Device Under Test) がうまく接続されていなければ 信頼性の高い測定や解析を行うことはできません 次にロジック アナライザを使用するうえでは避けて通れないプローブについて説明します あらかじめロジック アナライザを接続することを考慮していない場合でも使用でき 非常に柔軟性の高い接続方法ですが 多チャンネルを測定する場合は取り扱いが煩雑になるというデメリットがあります リードと DUT の接続には DUT 側のヘッダピンに直接接続 クリップ ( グラバ ) を使用する ダンピング抵抗内蔵リードをはんだ付けするなど いろいろな方法 ( プローブ アクセサリ ) がありますが アクセサリによりロジック アナライザ入力の伝送帯域が大きく変化する ( 制限される ) ことに注意が必要です コネクタ プローブあらかじめ DUT 側に搭載しておいたロジック アナライザ用コネクタに接続するプローブです シングルエンド入力のもの ( 例 :Mictor コネクタ ) 差動入力対応のもの ( 例 :Samtec コネクタ ) などがあります ( 図 12) 10

いまさら聞けないロジック アナライザ入門 (4) それでもロジック アナライザは使いたくない!? アジレント テクノロジー堀部勝義 図 12 コネクタ プローブの例 :Mictor コネクタ 34ch シングルエンド + クロック入力 DUT の設計段階でスペースを確保してコネクタを組み込む必要がありますが 多チャンネルの信号を簡単確実に測定できるので 最も多く使用されているプローブです Mictor コネクタの場合で 600Mb/s 程度まで Samtec コネクタだと 1.5Gb/s の入力データレートに対応可能です 最近のトレンドである数 100Mb/s を超えるような高速信号においては 装着するコネクタがスタブになってしまうので 後述のコネクタレス プローブが使用されることが多くなってきています 連載 1 から 3 回目まで いろいろな切り口でロジック アナライザについて語ってきました しかしながら やはりロジック アナライザを引っ張り出してくるのは面倒だし オシロスコープはよく使うけど ロジアナはできれば使いたくないというエンジニアは少なくないと思います 今回はこのような読者をターゲットにそのあたりのポイントを少し掘り下げてみたいと思います 面白いことに昔から日本では ロジアナ = タイミング チャートのイメージが強く ( 図 1) 海外ではロジアナ = リアルタイム デバッグツールとして広く認知されています コネクタレス プローブコネクタを使用せず DUT 上に設置した信号パッドに物理的接触を行うプローブです あらかじめ DUT 上にプローブ接続用の信号パッドを設けておく必要がありますが 物理的なコネクタを DUT 上に装着する必要がないため DUT 上の信号にもほとんど影響を与えず 多チャンネルの高速信号を確実に測定することが可能です ( 図 13) 図 13 コネクタレス プローブの例 :DUT 上の白い枠はプローブを物理的に固定するためのもので 信号はマイクロスプリングピンが信号パッドに接触することにより測定する 入力データレートとしては 現在のロジック アナライザの上限である 2Gb/s を超える速度まで対応可能です このコネクタレス プローブは 優れた電気的特性を持っていて扱いも簡単なため ロジック アナライザの汎用測定用途以外にも PCI Express や Serial Rapid IO などの汎用高速シリアルバスのプロトコル測定にも使用されています 今回は最近のロジック アナライザに搭載されているさまざまな解析機能と ロジック アナライザをどのように接続するのかというプローブについて説明しました これらはロジック アナライザを提供するメーカーごとに異なり カスタムツールを作成することも可能なので 分からないことがあればメーカーのエンジニアに相談されることをお勧めします 図 1 ロジック アナライザ = タイミング チャート? 確かにロジック アナライザの普及期には 多くのエンジニアがデバッグピンを立てて タイミング チャートでスキューやグリッチなどの問題現象を追いかけていました しかし今では FPGA や ASIC などロジック回路がチップ内部に集積され外部に信号が出なくなりました またこれらのチップには便利なシミュレータやデバッグツールもそろっており よほどのことがない限りこのようなデバッグを行う必要はありません このためオシロスコープでチップ間の伝送線路のシグナル インテグリティをチェックする方がより重要になってきました また昔は CPU 周りのバスをステートでサンプリングし 逆アセンブル表示とソースコードの相関を取りながらデバッグしていましたが CPU に大容量のキャッシュが標準的に搭載されるようになると JTAG デバッグが主流になりました またソフトウェアの開発ツールもシステムの肥大化 複雑化の流れとともに発展し非常に便利になってきています 以上のことからロジック アナライザなんて過去の遺物だ ロジック アナライザを持ち出すようじゃ終わりだねと思っている方も多いと思います しかしながら知らないうちにデバッグにはまっていたりしませんか? もしくはオシロスコープでロジック イベントを追いかけて苦労していませんか? 意外と知られていないロジック アナライザの進化ロジック アナライザは 近年ターゲット システムの実際の動作を可視化しデバッグするツールとして進化してきています まずはロジック アナライザのメリット デメリットを以下に簡単にまとめます 11

ロジック アナライザのメリット 1) 実際のシステムの動作がわかる 2) イベントの検出が容易である ロジック アナライザのデメリット 1) ロジック アナライザは使い始めるまでが大変!! チャンネル数が多いのでプロービングが大変 信号名の入力等のチャンネルセットアップが煩わしい 2) 使いこなすのが大変!! 表 1 ロジック アナライザのメリットとデメリット ロジック アナライザの最大のメリットは 実際のシステムの状況をリアルタイムにモニタできることです また あるアドレスに Write したとき をイベントとして検出し オシロスコープや ICE プロアナなどにトリガ連携することができます しかしシステムの挙動をリアルタイムにモニタしても 単に 0/1 のタイミングをチャートで見るだけでは システム設計に関係するほかのエンジニアにはよく分かりません しかしながらシステム上をやりとりしているメモリや画像などのデータをフォーマットに合わせてコマンドや画像にデコードすれば誰でも簡単に理解することができます しかもトリガイベントやプロービングの煩わしさの問題も 上位のコマンドや垂直同期イベント名でトリガリングすれば非常に簡単です ロジック アナライザは いろいろ応用が利く製品なので すべての機能を使いこなすのは少し大変かもしれません しかしながら用途を決めて最適化すれば手軽に使用することができます またプローブについては前回で説明したとおり最近では手軽に使えるコネクタレスのプローブやアプリケーションに特化した専用プローブがありますので プローブとアナライザをコネクタで接続してセットアップ ファイルを開けばすぐに使用できるようになっています 以上のことからロジック アナライザは アプリケーションに合わせてプローブとセットアップ 専用解析ソフトウェアアプリケーションを組み合わせれば 何でもアナライザ になる可能性を秘めています ( 図 2) 図 3 FPGA アナライザ 図 4 最近の System on FPGA の例 しかも FPGA は シミュレータやデバッグツールなど FPGA ベンダ純正の開発ツールが整備されており快適な開発環境が整っています しかしながら FPGA ベンダの標準ツールは FPGA 内部にロジック アナライザ回路を組み込むため FPGA 内部のブロック RAM などのリソースを消費せざるを得ない部分があります また DDR メモリや外部 I/O は FPGA のクロックとは非同期になるため 実システムになるとシミュレーションのようにはいかないということも多々あります そこで FPGA 内部の信号を未使用ピンに引き出せば ロジック アナライザで内部の信号の状況をリアルタイムでモニタできますが 従来のロジック アナライザの煩わしさが気になります しかも違うポイントを観測したい場合には再度 FPGA の配置配線をしなければなりません そこで登場してきたのがロジック アナライザベースの FPGA アナライザです ご参考までに FPGA の各種デバッグツールの比較データを以下に示します 図 2 ロジック アナライザから何でもアナライザへ それでは FPGA アナライザや DDR アナライザを例に どのようにロジック アナライザがデメリットを克服して進化してきたのか確認していきましょう FPGA アナライザ近年 FPGA は大規模 高集積 高速化が進み CPU や I/O コントローラなどの複雑な機能ブロックも IP 化され 非常に複雑なハードウェアを手軽に FPGA 内部で構成できるようになりました 表 2 FPGA の各種デバッグツールの比較データ FPGA アナライザは FPGA 内部のデバッグコア ( マルチプレクサ コア ) 経由で観測したい内部の実信号をまるでシミュレータのように信号名を選択するだけで FPGA 内部のノードの信号を JTAG 経由で切り替えて 簡単にモニタすることができます しかも観測したい信号やデバッグコアについては FPGA ベンダの環境からシームレスに構成することができます 12

ロジック アナライザのデメリット 1) ロジック アナライザは使い始めるまでが大変!! チャンネル数が多いのでプロービングが大変 信号名の入力等のチャンネルセットアップが煩わしい 2) 使いこなすのが大変!! 図 5 FPGA アナライザの概念図 FPGA アナライザは 以下のとおりロジック アナライザの従来のデメリットを克服して進化してきた製品だと考えることができます FPGA アナライザとしての進化のポイント FPGA のピンにロジック アナライザの入力チャンネルを接続すれば自動的にマッピングできるものもある FPGA ベンダの標準開発ツールから FPGA 内部のノード名を読み込むので 信号名の入力が不要 FPGA 開発ツールとシームレスにデバッグ用のマルチプレクサを生成できるので バンクごとにあらかじめ設定した FPGA 内部のノードを切り替えてモニタが可能である 表 3 FPGA アナライザとしての進化ポイント それからもう 1 つ ロジック アナライザは いまだに高級高額測定器だと思っている方も多いのではないでしょうか? 実は 現在のロジック アナライザの価格は 驚くほど安価になり 34 チャンネル程度の FPGA アナライザの構成であれば プローブ込みでも 175 万円程度で手に入ります 確かに同期 2GHz の高性能ロジック アナライザ モジュールなどは 400 万円以上しますが 普及型のロジック アナライザは オシロスコープの広帯域化のような果てしない技術革新を要求されるよりも デバッグの基本ツールとして使い勝手の向上を要求されてきたため 価格対性能比で見ると驚くほど低価格になってきています 通常のメモリ アクセスでは問題が発生しないのに 特定の状況のときにだけシステムがハングするような場合 どのようにトラブルを切り分けますか? このようなケースでは DDR アナライザが威力を発揮します DDR アナライザにおけるロジック アナライザの進化のポイントは以下のとおりです ロジック アナライザのデメリット 1) ロジック アナライザは使い始めるまでが大変!! チャンネル数が多いのでプロービングが大変 信号名の入力等のチャンネルセットアップが煩わしい 2) 使いこなすのが大変!! DDR アナライザとしての進化のポイント DIMM や SO-DIMM であればインタポーザプローブ DDR 直付けの場合は BGA プローブでプロービングが可能である 専用セットアップファイルを読み込むだけでセットアップが完了 DDR 解析ソフトウエアやトリガ生成ツールで DDR 用プロトコルアナライザとして簡単に使いこなすことができるだけでなく パフォーマンス検証 プロトコルレベルのコンプライアンス検証 デバッグも可能である 表 4 ロジック アナライザの進化ポイント 以上のとおり DDR アナライザは DDR 専用プロトコル アナライザのように簡単に接続して誰でも簡単に使用することができます プロービングについては 仕様で DIMM や SO-DIMM などの形状が規定されているので 以下のようなプローブをターゲットに接続し 付属のセットアップ ファイルを開けば準備完了です ( 図 7) DDR アナライザ DDR メモリは ここ数年で一般的に使用されるようになってきました DDR メモリは データバスにメモリ コントローラの信号と DDR メモリの信号が互いのクロックで行き来し しかも Read と Write ではデータの位相が 90 度ずれるため ロジック アナライザでメモリ トランザクションをモニタすることは至難の業でした さらに BGA が主流の現在ではプロービングすること自体非常に困難です 図 7 DDR 用各種プローブ また組み込みシステムの場合 DDR メモリを基板に直付けするケースも多いと思いますが その場合は上記のような BGA プローブを基板と DDR メモリの間に取り付けるだけです この場合もセットアップ ファイルが添付されていますのですぐに使用可能です DDR アナライザの機能については すでに第 2 回 第 3 回で触れましたので ここでは以下にパフォーマンス検証 プロトコルレベルのコンプライアンス検証 デバッグ画面の各画面を示します ( 図 8) 図 6 DDR アナライザ このため DDR メモリの実装上のトラブルに関しては 基板のシグナル インテグリティだけをチェックして 問題がなければ 後はメモリ ベンダ コントローラ ベンダにトラブルの切り分けを依頼するケースが多かったと思います ところが最近では FPGA への DDR メモリ コントローラ IP の実装 より高速な DDR メモリの採用 外部 I/O の増設によるメモリ トランザクションの増加などにより DDR 周辺のトラブルが後を絶ちません 図 8 DDR アナライザの解析例 13

例えば物理層 論理層 プロトコル層 アプリケーション層のエンジニアは それぞれの使用したシミュレータや開発ツールを前提に不具合解析を行います しかしながら互いに協力し相関を取らなければ不具合現象を特定することは困難です その際にロジック アナライザは オシロスコープ プロトコル アナライザ ICE などとの時間相関 トリガ連携が可能ですので 問題現象発生時のイベントを特定することでデバッグ効率は飛躍的に向上します 実際のシステムの動作を正しく把握し その情報を関係するエンジニアで共有し連携して解決していくことは非常に重要です ロジック アナライザは 基本的な性能よりも 使い勝手の点で進化し低価格になってきています シミュレーションのためのテストベンチの構築やシミュレーションの精度は極めて重要ですが 実機デバッグをスマートに行うためにロジック アナライザの活用を検討してみるのも悪くないと思います 図 8 DDR アナライザの解析例 ( 続き ) さて次回でこの連載も終了です FPGA アナライザや DDR アナライザなど実際のデバッグで役立つテクニックについて実例を交えて紹介していきます DDR メモリの場合 データバスの信号をモニタしないと割り切れば 64 チャンネル入力で足ります この場合 Read/Write したデータはモニタできないので分かりませんが 特定のアドレスに Read/Write したイベントを検出することが可能です また上記の DDR アナライザの解析機能も使用可能です さらにデータバスをモニタしない場合のメリットはもう 1 つあります アドレスやコマンド / コントロール バスはダブル データ レートではありません 例えば DDR2/400 の場合 データバスは 200MHz の両エッジでのサンプリングが必要ですが アドレスやコマンド / コントロール バスは 200MHz の片エッジでのサンプリングです このためアナライザ モジュールも安価なモジュール 1 枚で DDR アナライザとして使用することが可能です システム統合デバッグ時の盲点高速化 大規模化 複雑化したシステムの設計において システムの各ブロックや統合デバッグにおける評価検証作業は非常に複雑になり 効率的なデバッグが 開発期間を短縮し信頼性を維持するうえでの重要な課題になっています しかしながら システム統合デバッグを非常に複雑にしている要因の 1 つとして 物理層 論理層 トランザクション層 ソフトウェアなどの各レイヤで使用している測定器の連携の問題 ( 図 9) があることはあまり知られていません 図 9 各レイヤ間での測定器の連携の概念 いまさら聞けないロジック アナライザ入門 (5) FPGA DDR も怖くない! ロジアナによる簡単デバッグ アジレント テクノロジー菊地秀 いままでロジック アナライザについて タイミング解析とステート解析の違い MSO との違い プロービングの選択などのそれぞれの観点から解説してきました 大規模で多機能化するシステムに対して 仕様どおり動作していることをスマートに実機検証し どのようにして早く不具合を発見していくのか? 最終回となる今回は 最近ロジック アナライザの用途としてよく使用されている FPGA DDR メモリのデバッグ解析例を紹介します FPGA アナライザを使用した実機デバッグ例前回 FPGA アナライザは FPGA 内部にデバッグコアを入れてロジック アナライザで FPGA 内部を簡単にモニタできるツール と紹介しました 図 1 は実際に FPGA 内部のそれぞれのモジュールを観測した例を表します この例では FPGA 内部から PCI Express やシリアル ATA などの外部 I/O へのデータを送るために Linear Feedback Shift Register でスクランブルを掛けて 8B10B 回路にデコードするところまでを FPGA 内部で行い 外部のユーザー回路の PHY にデータを送ることを想定しています なおこの例では分かりやすいように 実際に送るデータの代わりに Increment Counter を使用しています 14

counter Linear Feedback Shift Register 8B/10B Encoder ユーザー回路 IP などを使用して複雑な回路を組み込んだ場合 システムに不具合があったときにどこに問題があるのか切り分けることが重要になります FPGA アナライザを使用すると FPGA を停止することなく出力する信号を変更することが可能なので システムを動作させながらどの機能ブロックで不具合が起きているか簡単に確認することができます さらにロジック アナライザの豊富なトリガ機能が使用できることと メモリ長も数メガサンプルから数百メガサンプルまであるので 実システムで長時間の動作を確認することが可能です いかにシミュレーションが便利になっていても 実機で起きている問題は実機で観測した方が早いケースがあります FPGA アナライザを使用した FPGA 外部信号との相関また FPGA アナライザはロジック アナライザをベースにしていますので FPGA 内部だけではなくボード上のほかの信号と併せて測定することも可能です 図 2 は FPGA 内部の信号とボード上の DDR メモリの信号を同時に測定している例です 例えば FPGA と DDR 間のメモリ アクセスに問題があった場合 FPGA の中だけ もしくはボード上だけを個別に観測していても なかなか解決はできません このような問題は時間相関を取って いつどこで障害が発生しているのか把握することが重要かつ必要です メモリ アクセス動作は次の 4 つに分けられます 1. FPGA 内部のメモリ コントローラからの書き込みの信号 2. ボード上の DDR メモリへの書き込みの信号 3. ボード上の DDR メモリからの読み出しの信号 4. FPGA 内部のメモリ コントローラへの読み出しの信号 MUX FPGA FPGA アナライザから JTAG ケーブル経由で FPGA 内部のマルチプレクサ (MUX) を切り替えて出力信号が変更可能 WRITE READ メモリー コントローラ FPGAアナライザ図 1 FPGAアナライザ使用例 ( 内部観測 ) 100101 1 4 101101 MUX FPGA 2 3 DDRmemory 図 2 FPGA アナライザ使用例 ( 外部相関 ) FPGA アナライザ ロジック アナライザの FPGA アナライザ機能と DDR アナライザ機能を併用すると簡単に FPGA 内部の信号とボード上の DDR の信号と併せて測定することができます 例えば FPGA アナライザで 1 と 4 のメモリ コントローラの書き込み / 読み出しアクセスをしながら DDR アナライザで 2 と 3 の DDR メモリの書き込み / 読み出しアクセスをデコードしてモニタすることが可能です さらに最近のロジック アナライザには 1 台でタイミング解析とステート解析を同時に行えるものもあり FPGA で問題となりやすい外部からの非同期信号入力の動作確認を行うことも可能です 例えば 3 と 4 の読み出し動作の確認時に 4 の確認は FPGA 内部のクロック信号に同期したステート測定を行い 3 の部分はタイミング測定を使用してクロックとデータのタイミングの確認を同時に行うことも可能です 実際に FPGA アナライザを使用した測定例を図 3 に表します FPGA アナライザ用プローブ フライングリード プローブ使用 FPGA-DDR 間プロービング コネクタレス プローブ使用 図 3 FPGA アナライザ使用例 (DDR メモリとの外部相関 ) このボードでは FPGA の内部信号用のプローブはフライングリード プローブを使用して FPGA と DDR メモリ間にはコネクタレス プローブを使用しています ちなみに この FPGA アナライザのように FPGA の内部観測を行う機能は 5 年以上前からあったのですが 最近の高性能 FPGA や既存の IP の使用比率の高まりとともにニーズが急増しています 特に既存の IP を使用した場合 サポートを受けるためには IP に問題があることをユーザーが切り分けなければなりません 複雑な IP を開発するより既存の IP を利用することで開発工数を劇的に削減することができますが その半面 デバッグの難易度も劇的に増加します DDR アナライザ使用例 (DDR メモリの初期化の確認 ) DDR1 までは IC のパッケージによっては 何とかクリップでアドレス コマンド各信号をプロービングしてロジック アナライザで観測することが可能でしたが DDR2 からパッケージが BGA になったため DDR メモリの動作確認を行ううえでプロービングをどうするかを検討しなければならず 以前はそれが最初のハードルになっていました 現在では第 4 回で紹介した BGA プローブがあるので ロジック アナライザで簡単に DDR メモリの動作検証ができます 実際に DDR メモリを使用するうえで最初に必要な動作検証として コントローラからメモリの初期化 があります 実際の測定例を図 4 に表します 15

1.15V 1. ターゲットの電源は切っておく 2. トリガ設定を読み出す (Recall MRS) 3. ロジアナを Run 4. ターゲットに電源を投入 初期化シーケンス後の最初の Write コマンドでトリガ Write 時の DQ の High が VIH(AC)=1.15V を下回っている事が判明 Write 波形 コントローラは意図した通りにきちんと設定をしているでしょうか? 図 4 DDR アナライザによる初期化動作の確認 DDR アナライザで初期化するレジスタアクセスをトリガにセットするだけで測定が行えます デコード結果を仕様と比較すればよいので簡単に確認できます 見落としがちなところでもありますので 思い込みで こうなっているはずだ ではなく 実システムでも きちんと仕様どおり設定されていることを確認することをお勧めします DDR アナライザ使用例 ( アクセスの確認例 ) 実際に書き込んだデータが読み出したデータと一致しないトラブル事例を図 5 図 6 に表します Read 波形 図 6 DDR アナライザとオシロスコープの連動 このように実システムでのトラブルは物理層からソフトウェアまでさまざまなところに問題が潜んでいます そのようなときでもロジック アナライザはイベント検出器としてほかの測定器と連動させ 単体では難しい現象をスマートに確認することができます さらに CPU や FPGA の内部信号を観測するだけでなく 外付けのメモリや周辺回路の信号などとも相関を取って システム全体の動作を検証することが可能です 最後にロジック アナライザはその成り立ちからいまに至るまで デジタル デバッグのためのツールとして進化してきています システムが日々複雑化しているにもかかわらず オシロスコープとシミュレータだけでデバッグをしていないでしょうか? またコストや工数を極限まで効率化しなければならない状況では できるだけ既存の IP やリファレンスを採用することが求められています しかしながらこのような IP やリファレンスデザインは ますますブラックボックス化してしまい 最終的な実機デバッグにおいて より高度な検証が必要になってきています 問題は切り分けてしまえば単純な原因で発生していることがほとんどです 実機デバッグにおいても同時性のある多面的なデバッグをすることにより スマートにコストと工数を削減する方法を考えてもよいのではないでしょうか? 図 5 DDR アナライザによる同一アドレスの確認例 FPGA アナライザでも紹介しましたが まずは各動作を 1 つずつ確認することが重要になります 書き込んだデータ値と読み出したデータ値が異なる場合 読み出したアドレスに書き込んだときのデータが正しいかどうか確認する必要があります ロジック アナライザのメモリとストア条件を使用して Read と Write イベント以外をフィルタ アウトすることで これらの間隔の空いたメモリ アクセスも長時間のレコーディングが可能です その結果 図 5 のとおり書き込んだデータは 0x8000 0x0008 の連続ですが 読み出したデータは 0x0000 0x0008 となっていることが分かります ( 図 5) 図 6 では オシロスコープとロジック アナライザの連携機能を利用して 実際にオシロスコープにて電圧を確認したところ 書き込み時の振幅が小さかったため データを正しく書き込めていなかったことが確認できました キーサイト テクノロジー合同会社本社 192-8550 東京都八王子市高倉町 9-1 計測お客様窓口受付時間 9:00-18:00( 土 日 祭日を除く ) TEL 0120-421-345(042-656-7832) FAX 0120-421-678(042-656-7840) Email contact_japan@keysight.com ホームページ www.keysight.co.jp 記載事項は変更になる場合があります ご発注の際にご確認ください Keysight Technologies. 2015 Published in Japan, January 6, 2015 5990-6945JAJP 0000-08A