平成 30 年度 第 9 回 電気学会東京支部栃木・群馬支所 合同研究発表会

ETG-19-26, ETT-19-26

小山高専 2019 年 3 月 4 日(月),5 日(火)於ADC ヒストグラムテスト時間短縮法の検討
趙 宇杰＊杜 遠洋

桑名 杏奈

小林 春夫

佐藤 賢央

石田 嵩

小澤 祐喜
中谷 隆之

岡本 智之

佐々木 優斗畠山 一実(群馬大学）

市川 保（ローム株式会社）Examination of ADC histogram test time reduction method
Yujie Zhao＊, Yuanyang Du, Yuki Ozawa, Yuto Sasaki,
Anna Kuwana, Haruo Kobayashi, Takayuki Nakatani, Kazumi Hatayama (Gunma University)
Keno Sato, Takashi Ishida, Toshiyuki Okamoto, Tamotsu Ichikawa (ROHM Co., Ltd.)キーワード：ADC，ヒストグラム法，半導体試験(Analog-to-Digital Converter, Histogram, Semiconductor Test)

1.

はじめにチップの量産出荷時，1 ドルのチップのテスト時間の上限は，1 秒程度までが妥当とされている。しかしながら，高分がかかるというデメリットがある。第 1 節で述べたように，
AD 変換器の構成に応じた非線形性が生じやすい特定のコード近辺にヒストグラムを集中することができれば，このデメリットを解消することができる。

解能低速 ADC の線形性の試験には，(a)低速サンプリング，(b)高分解能という理由から，長時間を要する[１]。本研究では，テストにかかる時間を短縮することを目指す。
ADC 線形性テストでは，ヒストグラム法がよく用いられる。高分解能低速 ADC では，すべてのデジタル出力コードに対して充分な数のサンプリングを行うには，きわめて長い時間がかかる。そこで，必要な範囲（特定のコード）にのみヒストグラムを集中することでテスト時間を短縮できる。これまでに，以下二つのアプローチを提案してきた。それぞれ第 3 節で簡単に説明する。
(1) サンプリングクロックの周波数と，入力信号の初期位相を調整する方法[2]図 1 ヒストグラムの作成方法
Fig. 1.

Creation of histogram.

(2) 複数の正弦波を合成する方法[3]
本論文では(2)のアプローチに対して，より汎用的なアルゴリズムの作成を目指す。

2.

正弦波ヒストグラム法

正弦波ヒストグラム法では，図 1 のように入力正弦波のサンプルを取り，出力値に対応するデジタルコードを記憶する。そして，図 2 のように各コードの発生度数を，コードの関数としてプロットする。低歪の純粋な正弦波はアナログフィルタを用いると比較的容易に作成できるのがメリットである[4]。しかし，図 2 のようにコードの両端にヒストグラムが集中するため，コード中央のテストを行うのに時間

図 2 正弦波ヒストグラムの例
Fig. 2.

Sine wave histogram example.

(a)

3.

特定コードにヒストグラムを集中させる

200〈3･1〉 サンプリングクロックの周波数と，入力信号の初150「黄金比」を利用

期位相を調整する方法
ランダムサンプリングは，入力信号と非同期なサンプリングロックを使用する。入力信号が周期的で，位相ゼロから10050の各サンプリング時間が既知である場合，充分なサンプル
0165129193257321385449513577641705769833897961を取得すると 1 周期の波形を再構築することができる。入力信号が正弦波の場合の例を，図 3 に示す。𝑓𝐶𝐿𝐾 と𝑓𝑠𝑖𝑔 の関係によって，入力信号波形の収集効率に差がでる。佐々木らは，高効率に波形を収集できる𝑓𝐶𝐿𝐾 と𝑓𝑠𝑖𝑔 の周波数値の「黄(b) 𝑓𝐶LK = 𝑓𝑠𝑖𝑔 ×2×(1+100000)
100000𝜃=0金比」の関係を明らかにした[5]。
逆に，入力信号波形の収集効率が悪い𝑓𝐶𝐿𝐾 と𝑓𝑠𝑖𝑔 の関係を利用すれば，特定コードにヒストグラムを集中させることができる。図 4 にいくつかの例を示し，𝑓𝐶𝐿𝐾 ・𝑓𝑠𝑖𝑔 ・𝜃 の関

200150係を考える。縦軸はサンプリングされたデータの数を表し，横軸はデジタル出力コードを表す。サンプル点の数はすべ100ての図において 10,000 である。

50コードに平均的にヒストグラムが分布する。図 4(b)(c)(d)は，0165129193257321385449513577641705769833897961

図 4(a)は「黄金比」を用いたサンプリング例で，すべての特定の二箇所にヒストグラムが集中する例である。𝜃 を変更することで，集中させる位置を制御することができる。図4(e)(f)(g)は，特定の一箇所にヒストグラムが集中する例であ(c) 𝑓𝐶LK = 𝑓𝑠𝑖𝑔 ×2×(1+100000)
100000𝜃 = 𝜋⁄2 × 0.5

る。
以上のように，本手法では入力正弦波の周波数（𝑓𝑠𝑖𝑔 ）に対するサンプリング周波数（𝑓𝐶𝐿𝐾 ）を調整することでヒストグラムの集中度を，入力正弦波の初期位相𝜃 を制御するこ

200150とでヒストグラムを集中させる位置を調整する。しかし，実装にあたって，初期位相𝜃を自由に制御することが難しいという問題がある。

10050

165
129
193257321
385
449
513
577
641705
769
833
897
961

0(d) 𝑓𝐶LK = 𝑓𝑠𝑖𝑔 ×

図 3 ランダムサンプリング
Fig. 3.

Random sampling.

2×(1+100000)
100000𝜃 = 𝜋⁄2 × 0.9

200
15010015050

1000165
129
193257
321
385
449
513
577
641
705
769
833
897
961

200

500165129
193257
321
385
449
513
577
641
705
769
833
897
961(e)

𝑓𝐶LK = 𝑓𝑠𝑖𝑔 ×

1+100000
100000𝜃=0200
150
10050165129193257321385
449
513
577641705769833
897
9610(f) 𝑓𝐶LK = 𝑓𝑠𝑖𝑔 ×1+100000
100000𝜃 = 𝜋⁄2 × 0.5(a) 式(1)により生成される信号𝑓(𝑡)200
150100501
65
129
193257
321
385
449
513
577
641
705
769
833
897
9610(g)𝑓𝐶LK = 𝑓𝑠𝑖𝑔 ×1+100000
100000𝜃 = 𝜋⁄2 × 0.9

図 4 𝑓𝐶𝐿𝐾 ・𝑓𝑠𝑖𝑔 ・𝜃 の関係とヒストグラムの例
Fig. 4.

Relationship of 𝑓𝐶𝐿𝐾 ・𝑓𝑠𝑖𝑔 ・𝜃 and Histogram
Example.

(b)ヒストグラム（赤線：正弦波を入力信号とした場合，青線：(a)を入力波とした場合）〈3･2〉 複数の正弦波を合成する方法

図 5 複数の正弦波を合成する方法
Fig.5.

先行研究[3]では，式(1)のように正弦波を合成することで，図 5(a)のような形状の三角波を作成した。図 5(a)を入力波とするとき，ヒストグラムは図 5(b)のようになり，Output Code 1500～2500 付近にコードを集中することができている。
𝑓(𝑡) = 𝐴(𝑊1 + 2.6 ∙ 𝑊2 + 1.8 ∙ 𝑊3 + 1.4 ∙ 𝑊6 + 1.2 ∙ 𝑊7 ) + 𝑉𝑂𝑆
𝑊𝑚 =cos((2𝑚−1)𝜔𝑡)(2𝑚−1)2

𝐴 = 2.90[𝑉]𝑉𝑂𝑆 = 4.0[𝑉] ... (1)

先行研究では，式(1)の係数を試行錯誤の末に決定していた。
本研究では，𝑓(𝑡)を機械的に決定するためのアルゴリズムの作成を目指す。

4.

Combined multiple sine waves.

汎用的なアルゴリズム生成〈4･1〉 定式化アルゴリズム
最終目標は，テストしたいコードにのみヒストグラムを集中させることである。言い換えると，図 6 のように入力関数を𝑥 = 𝑓(𝑡)，ヒストグラムの形状を𝐻(code(𝑥))とするならば，「任意の𝐻(code(𝑥)) を作成する 𝑓(𝑡) を得る」ことである。
本研究ではその第一段階として，ヒストグラムの形状𝐻(code(𝑥))を，入力関数𝑓(𝑡)から数学的に求めるアルゴリズムを考案し，簡単な関数に対して検証を行った。

Fig. 6.

図 6 入力波とヒストグラム形状の関係
Relationship between input wave and histogramshape.

幾何学的に，あるコードcode(𝑥𝑖 ) におけるヒストグラムの傾き
𝑑𝑓−1 (𝑥)𝑑𝑥∆𝐻(code(𝑥𝑖 ))∆code(𝑥𝑖 )|

𝑥=𝑥𝑖は，入力関数𝑓(𝑡)の逆関数𝑓 −1 (𝑥)の微分に比例する。この考えを元に，アルゴリズムを作成する。
ヒストグラムを数学的に得る方法として，次の 2 つを提案する。
アルゴリズム 1（逆関数𝑓 −1 (𝑥)を使う）：
𝐻(code(𝑥𝑖 )) =𝑑𝑓−1 (𝑥)𝑑𝑥|𝑥=𝑥𝑖(b)アルゴリズム 1 で作成したヒストグラムと(a)の比較− 𝐻(code(𝑥𝑖−1 )) .... (2)アルゴリズム 2（入力関数𝑓(𝑡)の傾きの逆数を，逆関数𝑓 −1 (𝑥)の傾きと考える）：
𝑑𝑓(𝑥)𝐻(code(𝑥𝑖 )) = 1⁄𝑑𝑥|

𝑥=𝑥𝑖× ∆𝑥𝑖 ............. (3)

入力関数の逆関数が得られる場合，アルゴリズム 1 の方が正確にヒストグラムの形状を算出できる。しかし，逆関数が数学的に得られない場合，アルゴリズム 2 を使う必要がある。

(c)アルゴリズム 1 で作成したヒストグラムと(a)の差

図 7 シミュレーション検証〈4･2〉検証
入力関数𝑓(𝑡) = sin 2𝜋𝑡 に対して検証を行った。まず，第2 章で述べた通常の方法で作成したヒストグラムを図 7(a)Fig. 7.

5.

Simulation verification.

まとめに示す。サンプル数は 100,000 である。これと，4.1 節で述

本論文では，任意形状のヒストグラムを作成する入力関べた 2 つのアルゴリズムで得られるヒストグラムの形状を数を得るためのアルゴリズムの作成の第一段階として，ヒ比較し，アルゴリズムの検証を行った。なお，比例定数は，アルゴリズム 1・2 ともに，∑ 𝐻(code(𝑥𝑖 )) = 100000 となる

ストグラムの形状を入力関数から数学的に求めるアルゴリように決定した。

導出アルゴリズムの妥当性を示す良い結果を得た。

ズムを 2 つ考案した。単一の正弦波に対して検証を行い，

図 7(b)(c)に，アルゴリズム 1 で作成したヒストグラムと図 7(a)とを比較した結果を示す。図 7(b)は，ヒストグラムを重ねて描画したもので，ヒストグラム形状がほぼ一致することを確認できた。図 7(c)は(a)と(b)の差をとったもので，最大 2.84%，平均 0.77%程度のずれがある。
アルゴリズム 2 で作成したヒストグラムは，紙面の都合上，図示は割愛する。図 7(a)との差をとると，最大 3.48%，平均 0.88%程度のずれが出た。

(a)通常の方法で得られるヒストグラム（比較用）

文

献(１) Gordon Roberts, Friedrich Taenzler, Mark Burns, "AnIntroduction to Mixed-Signal IC Test and Measurement (TheOxford Series in Electrical and Computer Engineering)", Oxford
Univ Press, (2011).
(２) Yujie Zhao, Yuto Sasaki, Yuki Ozawa, Riho Aoki, Anna Kuwanaand Haruo Kobayashi, "ADC Histogram Test for Specific Codes",5th International Symposium of Gunma University MedicalInnovation and 9th International Conference on Advanced MicroDevice Engineering, (Dec. 2018).
(３) Satoshi Uemori, Takahiro J. Yamaguchi, Satoshi Ito, Yohei Tan,Haruo Kobayashi, Nobukazu Takai, Kiichi Niitsu, Nobuyoshi
Ishikawa, "ADC linearity test signal generation algorithm",
Circuits and Systems (APCCAS), 2010 IEEE Asia PacificConference, p.44-47, (2010).
(４) Franco Maloberti, Data Converter, Dordrecht, The Netherlands,Springer, P409-416 (2007)(５) Yuto Sasaki, Yujie Zhao, Anna Kuwana and Haruo Kobayashi,"Highly Efficient Waveform Acquisition Condition in EquivalentTime Sampling System", 27th IEEE Asian Test Symposium,Hefei, Anhui, China (Oct. 2018)