開発日記

2022年11月 いよいよ本番の設計開始

インターネプコンに出展します

2022.11.30

出ようか出まいか悩んでいましたが、インターネプコンに出展することを決意しました。

Nepukon2

 

会期:2023年1月25日(水)~1月27日(金) 10:00~17:00

会場:東京ビッグサイト

勇気を出して契約書を送りました。

Nepukon

出展内容はもちろん、「FPGAに特化した半導体真贋判定装置と検査サービス」です。

エレクトロテストのゾーンに残っていた、最後の一小間をいただきました。出展料はかなり高いので、一瞬たりとも無駄にはできません。

人生の賭けに出ます。

 


JTAG出力基板の完成へ

2022.11.27

JTAG出力基板の完成に向けて作業をしています

Np11441

これが、45本の端子の好きな位置からJTAGの信号を出せるボードです。左にあるCPLDからJTAGの信号を出します。

右側は検査対象ICにつながるのですが、検査対象ICには最大で5Vくらいの電圧が加わっているかもしれないので、CPLDの端子を保護するためにMOSFETとショットキバリアダイオードをつないでいます。

出来たと思ったのですが、この基板だと検査対象のICのJTAG信号のレベルが1.8Vとかだと逆にCPLDの出力のほうが高いので保護が効きません。MOSFETによる保護は一方向だけです。

なので、VCCIO=JTAG信号のIO電圧にすることにしました。そうするとCPLD自体のJTAG信号やSPI信号もターゲットデバイスのVCCIOになってしまうので、一部分の信号だけレベル変換バッファをかませました。

Np11442

もうこれ以上の修正はないはず。

出図してこの基板は終了です。

作らなければいけない基板はあと10種類くらいある。

 


JTAG出力基板

2022.11.26

真贋判定装置の肝であるJTAG出力基板を作成中です。

Jtagbrd

先日シミュレーションした回路を45個並べています。

VCCIOより高い電圧が加わった場合にショットキダイオードとMOSFETでクリップしてFPGAに過電圧がかからないようになっています。

 


真贋判定装置・子基板の設計再開

2022.11.25

展示会「SEMIジャパン」も近づいてきたので、真贋判定装置の設計を急ぎます。

Np11413d

まずは、電源子基板。

Np1141paneled

次はGND子基板

Np1142paneled

次はアナログ子基板

Np1143paneled

出図完了!

えっ?

全部同じじゃないかって?

微妙に違うんです。

でもメタルマスクは共通だから実装費用が少しは安くなるかな。

 


電圧保護クリップ回路に放電抵抗は不要

2022.11.23

双方向過電圧保護回路は、最終的にこうなりました。

Nores

FPGA PINと書かれたノードに放電抵抗は不要なのです。

Xが0→5Vに立ち上がったときに少しだけFETが漏れでオーバーシュートが出ますが、昨日のブログで書いたように、ショットキバリアダイオードでクリップされたVCCIO+Vf以上には上がらないようになっています。

Nprestrans

しかも、このヒゲは抵抗で放電しなくても速やかにVCCIOに収束します。

ショットキバリアダイオードは電位差がVfより高ければ導通して電流を流すと思われているかもしれませんが、ショットキバリアダイオードはもともと漏れ電流が大きいので、Vfより低くてもそれなりに(μAのオーダーで)電流を流してくれるからです。相当に漏れているダイオードというイメージです。

それゆえ放電抵抗は不要です。

そればかりか、放電抵抗がないほうがヒゲも低くなるというシミュレーション結果も得られました。この原因はわかりません。

 


MOSFETを使った双方向電圧クリップ保護回路

2022.11.22

FPGAと、正体不明のデバイス「X」を接続する回路を作りたいのですが、Xが何Vを出してくるかはわからない。

そんな場合にFPGAの端子を過電圧から保護するという回路を作ることになりました。

MOSFETを使えば電圧クリップ回路ができるということなので、シミュレーションをしてみました。

 

まずは、FPGAのピンを想定したパルス源から「X」に向かって信号を出力する場合。

Mosclip1

当然のことながらFPGA PINとXは導電圧になります。

Mosclip2

 

次は逆方向。FPGAが入力側になる場合です。

基本的にはMOSFETはゲート+Vthより高い電圧はD→S方向に通さないので、ゲートにVCCIOからVthだけ高い電圧をかけておけば、それ以上高い電圧はカットされてVCCIOになるという考えです。

Mosclip3

左側の1.8VというのがFPGAのVCCIOを想定したもので、5Vから10kΩで吊っているのはバイアスを与えるための抵抗です。左側のMOSFETはダイオード接続をしているので、1.8V+Vthの電圧がゲートに加わります。

これで「X」から0~5Vの電圧を加えてみると見事にクリップされました。

Mosclip4

ところが、@lyuka_jp さんから矩形波の過渡時には過電圧が発生するとの指摘をいただきました。

矩形波でシミュレーションしてみると、確かにヒゲがすごい出ます。

Mosclip5

 

実機でもこんなにヒゲが出るのかと訝しんで、適当な基板(SMAと電源コネクタがあるやつ)にMOSFETや抵抗を付けてジャンパを飛ばして実験してみました。

Mosclip6

その結果、たしかにシミュレーションと同じようなヒゲが出ていました。

1.8Vにクリップしたいのに3.3Vくらいまで出ていますね。

Mosclip6_20221123011001

まず改善しようと思ったのはゲートの電位です。

5Vのパルスを受けると、MOSFETのゲートはこんなにも揺らぎます。

Mosclip7

ゲートに3000pFのコンデンサをつないでもほとんど変わりませんが、10uFのコンデンサをつなぐと、突然おとなしくなりました。

Mosclip8

ただ、ゲートの電圧を安定化させてもパルスの立ち上がりが貫通してヒゲが出る現象はあまり変わりません。

Mosclip9

ヒゲが出る原因はゲートの電圧が揺れるのが原因ではなく、ソース・ドレイン間容量によって矩形波の立ち上がりが微分波形になって出てきているからのようでした。

次に試したのは、MOSFETとXとの間に47Ωくらいの抵抗を入れること。これはほとんど効果はありませんでした。

一番効いたのがMOSFETのソースからVCCIOに向けてショットキバリアダイオードを入れたこと。

Mosclip10

これが効果てきめん。ヒゲをカットすることができました。

Mosclip11

こういったショットキバリアダイオードはFPGAのピンに保護用として埋め込まれているので、あえて付けなくてもFPGAのピンにつなぐだけで自動的に挿入されます。しかし、本来はFPGAのピン内蔵ショットキバリアダイオードは導通させてはいけないダイオードです。(何のための保護素子だ!)。通常はこのダイオードが導通しないギリギリの電圧がIOピンの絶対最大定格になっています。

ですから、安全のためにはFPGAの内蔵ダイオードよりも低いVfのショットキダイオードを使ってVCCIOに放電して保護すればよいわけです。まぁ、短時間だから内蔵ダイオードがONしても平気だと思うんですけどね。

ただし、過電圧はVCCIOに流したらOKではなくて、VCCIOの電圧が上昇しないかどうかも注意深く見守る必要があります。LDOには吸い込みができないタイプもあるからです。シミュレーションした感じではVCCIOに10uFくらいのコンデンサをつないでおけばダイオードを通じて流れてきた過電圧は吸収できるようでした。

 

これも実機でやってみました。

まずは5Vの矩形波を800mVでクリップ。

800mv

次は1.8Vでクリップ。

1800mv

次は2.8Vでクリップ。

2800mv

最後は3.8Vでクリップです。

3800mv

このとおり保護回路として働くことがわかりました。

 


アナログスイッチで電圧がクリップできない

2022.11.21

ナログスイッチを使ってFPGAの入力端子を保護できないかどうかと思い、実験してみました。

アナログスイッチというのはロジック入力でアナログ信号をON/OFFする部品です。もともとCMOS 4000シリーズに4066というアナログスイッチがあって、それを1回路化したものが各社より発売されています。

下の図は74AHC1G66のものですが、おおよそどのアナログスイッチも似たような回路になっています。

Asw_20221123025201

EがHレベルのときZとYの間がONするというものなのですが、MOSFETはゲート電圧でクリップされるという神話を信じて実験してみました。

その結果がこちらです。

 

下の図はVCC=3.3Vにして、Zの端子に5Vの矩形波を加え、Yの端子の電圧を測ったものです。

Asw2

全然クリップされていない。

しかも、E=Lなのに100%漏れてきている。

OFFになりません。

どうやら、アナログスイッチはVCC以下の電圧を入れなければならないようです。

VCC以上の電圧を印可した場合どうなるかは一概にはいえませんが、バグります。

下の図は、どこまで電圧を加えるとOFF状態が壊れるかを試したもので、VCC=3.3Vで、Z=4.5Vくらいの電圧を加えたところです。

Asw3

なんだかニョロニョロしています。サインカーブかなと思ったのですが、

Asw4

このニョロニョロはランダムでした。

チンアナゴの大群のように見えます。

こんなことをしていたらアナログスイッチが猛烈に発熱して壊れてしまいました。

74AHC1G66; 74AHCT1G66のデータシートを読んでみると、

Asw2_20221123030301

MC74VHC1G66のデータシートを読んでみると、

Asw3_20221123030501

やはり4066タイプのアナログスイッチはVCCを超えてはいけないようです。とほほ・・

結論を言うと、アナログスイッチはVCC以下の電圧で使わなければならず、電圧をクリップしてくれる保護素子にはならないということがわかってきました。

 

ここまで設計した基板をどうするんだべという感じです。

Np1144

 


任意のピンからJTAGを出す回路

2022.11.19

IC真贋判定装置を作るため、任意のピンからJTAGの信号を出す回路を作っています。

10月31日時点の回路

Np11441031

本日の回路

Np1144

あまり変わっていないように見えるかもしれませんが、内層の配線をいっぱい引いています。

右側に45個並んだICはアナログスイッチで、FPGAの端子とターゲットICとの間の電圧をクリップして保護するために入っています。

FPGAは2個使っていて、左側のFPGAがJTAGの信号を作るもの、右側のFPGAがアナログスイッチのON/OFFをするためのものです。

 

真贋判定装置では最大2340ピンのICを検査しますが、任意の端子からJTAGの信号を出せるように45chのこのようなモジュールを作って、52個並べて、任意の端子からTCKやTDIを出せるようにしています。

つまり、4ch-2340chのマトリックスというか、クロスバースイッチを作ろうというわけです。

DUTの2340個のピンはどのような電圧になるかわからない(VCC 3.3Vかもしれないし、1.0Vかもしれない)のですが、JTAGのロジック電圧も何Vになるかわからないので、FPGAに何Vが加わってもよいようにしなければなりません。

ここまで設計していてふと不安になりました。

  • アナログスイッチで本当に電圧クリップができるのか?
  • この基板のFPGAは秋月のLattice MACHXO2-256だけど、入るのか?

このあたりを検証していかなければなりません。