2015年を振り返って
今年のはじめに次のような目標を立てました。
MITOUJTAGの近代化
脱・FPGA評価ボード屋
常時10人の会社を目指す
さて、どうでしょう。
60点くらいでしょうか。
総括してみると、3月に物理学会と応用物理学会の付設展示会に出てから、物理系の研究室に実験用の電子回路を納めるという流れが出てきた気がします。10件くらいの研究に関わることができました。
これが私の生きる道なのかなと思えてきました。
来年は物理系の方向をさらに進めていきます。
今年のはじめに次のような目標を立てました。
MITOUJTAGの近代化
脱・FPGA評価ボード屋
常時10人の会社を目指す
さて、どうでしょう。
60点くらいでしょうか。
総括してみると、3月に物理学会と応用物理学会の付設展示会に出てから、物理系の研究室に実験用の電子回路を納めるという流れが出てきた気がします。10件くらいの研究に関わることができました。
これが私の生きる道なのかなと思えてきました。
来年は物理系の方向をさらに進めていきます。
来年1月7日に、オフィスの引っ越しが決まりました。
なので、この神田佐久間河岸のオフィスで営業するのは、12月28日、1月5日、6日の3日間しかないのですが、部屋の模様替えをしました。
東の壁にあるトラ技の詰まった本棚を窓側に移動するのです。
なんでこんな移動をするかというと、風水のためです。
特電の事務所は南側が全面窓になっていて、神田川の雄大な景色が見えます。川の存在は良いものだと思っていたのですが、人的なことでいろいろなトラブルが発生する原因になっているかもしれないと考えたのです。
このことに気が付いて11月には右側にある窓をロッカーを置いてふさぎました。
せっかくの川の景色ですが、あえて見えなくしたのです。
そうしたら、11月から忙しい学生さんがちゃんと週2で来てくれるようになったり、売上も上がったり、皆の成果物がどんどん完成したり、新しいスタッフが入ったり、良いことがいろいろ起こるようになってきたのです。以前より落ち着いて仕事ができるようになったのかもしれません。
そして、次に引っ越すべき良いビルが見つかりました。
![]()
玄空飛星派の風水理論によればこういうことです。
特電のオフィスは、北が向で、南が座。つまり、北向きの物件です。ビルの竣工は1992年ですが、おそらくこの部屋が出来たのは1992年の2月以前なので、第7運の気が閉じ込められています。
すると、部屋の各場所の飛星チャートは↓の図のようになります。
三つの数字が書いてある四角い枠の左上が山星、右上が水星を表します。8、9、1が良い数字で、それ以外はすべて悪い数字です。南の方角は、山6、水8なので、水星が良い数字です。このような山星と水星の8,9,1をすべて活性化させます。
水星は「動くもの」で活性化されます。だから、通路にしています。
山星は「動かないもの」で活性化されます。だから、棚を置きます。
すべての良い山星・水星を使い切りました。
また、今までは川の景色に気を取られて、南向きだと錯覚してしまうところがあったのかもしれません。川の景色が雄大すぎて、宅向きがはっきりしなかったのではないかと思います。窓をふさぐことで、玄関の方向の「北向き」というのがはっきりしたという点もあるのではないかと思っています。
![]()
・・・重い本棚を移動しました。
引っ越し前の最後の最後で、ようやく家具の配置が完成しました。

人間に関する運を下げてしまっていた神田川の眺めをばっちりふさぎました。
風水も実験なのです。少しずつ変えてみて、良い方向を探る。
![]()
あと3営業日でミラクルなことが起きるかもしれません。もうすぐ引っ越す部屋ですが、風水的に良い状態にしておけば、次のところへ移ったときにも良い運でスタートできるはずです。
内層がショートしていたり、内層が全くつながっていなかったPCI Express基板ですが、自力で配線することによって動作させることができました。
幸いなことにGNDの配線のほとんどは基板の裏表面のベタで何とか接続されているようです。VCCの部分だけをジャンパでつなげば、全部の電源はつながるでしょう。GNDでも、一部のベタが通っていない部分は、スルーホールを削ってはんだを盛って、その上から潤フロン線でつなぎます。
不安定な感じがするかもしれませんが、意外と大丈夫でした。PCI Expressももちろん認識し、メモリテストもOKでした。
そもそもFPGAはドータボード上にあるので、この基板自体にはそれほど電流は流れないのです。
内層のGNDには電流を流すというだけではなく、高速差動信号のためのマイクロストリップライン形成という役割があります。
内層が宙に浮いているので、インピーダンス整合は滅茶苦茶なはずです。良くないことは確かなのですが、実際にはどうなのでしょう。2.5Gbpsの信号をSFP(光モジュール)の手前のところでTXの信号を測ってみました。若干の反射が見えますが、意外と綺麗です。
下の波形は、内層が正しく接続されていた旧基板のものです。
これに比べると波形は多少乱れていますが、許容範囲といえるでしょう。差動配線の下のGNDのプレーンが与える影響がどの程度のものなのか、なんとなく感覚的につかめてきました。
こんな測定をしていたら、朝の5時になってしまったので、もう帰って寝ます。
さすがにこれで納品OKとはいかないので、年明け早々に生基板から再製造ですね。とほほ
クリスマスの夜(26日未明)に会社に泊まり込んで、台形整形回路を調整しています。
本当は家からリモートログインでCosmo-ZのFPGAを書き換えて実験しようとしていたのですが、会社に置いてあったCosmo-Zが頻繁にリブートを繰り返すようになったので、会社に行きました。
リブートの原因はわかりませんが、一度、ハイボルとかフォトマルを分解して綺麗に並べたら治まりました。
台形整形回路も、このようにちゃんと動くようになりました。
茶色の線が入力波形。赤とオレンジが、遅延ラインを通って加減算した後の波形です。
たしかに台形にはなっているのですが、波打っているのがわかると思います。ADCの値に乗っている±1LSB程度のノイズを増幅してしまって大きな波になっています。
また、台形の頂上の部分が少し傾いています。
原因はわかりませんが、入力信号が厳密にexp(-t)のカーブではないからなのかもしれません。
台形フィルタ搭載の32ch版Cosmo-Zを今年中に納品しなければならなくて、タカチのアルミケース用に注文しておいた、Cosmo-Zのケースのアルミ素材が届きました。
自分でアルミに穴あけすると大変だから、タカチのケースのガワだけ使って、フロントパネルやリアパネル、床板の加工したものをアルミ屋さんに発注しようとしたわけです。
組み立ててアルミケースに入れてみると・・あれ? 入らない・・
なんと、アルミ加工屋さんが、曲げの方向を間違えたようです。
ガビーン!![]()
3Dのデータと逆になtっていたので、図面は正しかったようです。

今年中の納品はあきらめました。
・・・
アルミ屋さんに連絡したら、すぐに作って発送してくれるとのこと。
今年の納品は間に合わなかったけど、年末年始に作業ができそうでよかった。
PCI Expressボードの実装が上がってきました。
なんて素早い実装。実装屋さんありがとう。
動作テストのために安定化電源から5Vを供給すると、電源がブーンといって唸りを上げ、3A程度の電流が流れてしまいます。
まさか、電源がショートしている!??
コンデンサを外していったり、いろいろ調べたところ、確かにショートしています。
部品が乗っていない生基板でさえ5VとGNDがショートしています。
製造ミスか、ガーバの出力ミスかわかりませんが、この基板は内層がショートしてしまっているようなのです!!!!
確かに、4種類の基板を面付けする際に、ガーバの製造をミスっていました。そのミスによって一部の内層がつながっていないのは確かなのですが、何度確認しても内層がつながってしまっている理由はわかりません。
今年中に納品しなければならないのに、どうしよう・・
放射線の検出信号のようなexp(-t/τ)で減衰する波形を台形に整形する回路をFPGAで作っています。
元は"Digital techniques for real-time pulse shaping in radiation measurements" Valentin T.Jordanov著 NIM A 363(1994) という論文に書かれている、こういう回路です。
入ってきたパルスが台形にシェーピングされて出てきます。
下の図は、実際にテスト波形をFPGAで計算してみた結果です。茶色の線がexp(-t/τ)で減衰する入力信号で、紫の線は出力です。

この回路のパラメータはk,l,m1,m2と4つあります。kは台形の傾斜部分の長さを決め、lは台形の頂上の部分の長さを決めるようです。
m1とm2の比は、τ/クロック数-0.5くらいになるように決めます。時定数1usで減衰する波形でクロックが100MHzならばm1/m2=99.5となるようにし、m2はゲインを決める任意の定数になります。m1とm2の比が多少ずれていても、台形の肩がなだらかになるか尖るかという程度で、大きな問題にはなりません。
波形整形回路はかなり強力な演算のようで、パソコンでシミュレートした限りでは、このくらいのノイズが乗った波形でも、
この回路を使えば、放射線の計測での分解能が飛躍的に向上すると聞いています。
しかし、パイルアップには対応していないのかもしれません。
TE0720というのは、ドイツ、TrenzElectric社の作るZYNQボードで、非常にコンパクトなサイズにZYNQ7020と1Gbyte DDR3 SDRAM、32MbyteのSPIフラッシュ、4GbyteのeMMC、1000BASEイーサネット、RTCやMEMSセンサまで乗っているという超濃厚高密度凝縮ボードです。
19日にTrenzのTE0720-02-1CFが初めて売れました!

http://www.trenz.jp/products/te0720_02_2if/
そうしたら、立て続けに2台もいろいろなところから注文が・・・。
いったい何が起きているのか?
4種面付け基板が届きました。
この基板に乗っているのは、
です。
P板に発注するときにサイズを間違えていて、横が+10mm必要だったのですが、そうしたら電話がかかってきて「値段が10万円くらい高くなる」とのこと。
この基板の費用は、6枚なら23万円でした。横幅を縮めれば12万円くらいになります。
しかし、横幅を減らさなくても枚数を5枚に減らせば12万円くらいになります。
4枚以下にしても値段は12万円くらいで変わりません。
P板は6枚まではイニシャル費用が含まれているので、今までは1枚でも6枚でもほとんど値段は変わらないと思っていたのですが、間違っていました。
実は、P板の値段は、面積だけではなく、重さでも決まっているようでした。今回の基板が12万円から23万円になってしまったのは、航空機で運んでくるための制限なのでしょうか。
1枚減らすだけで値段が半分になるというのはお得ですね。
先日注文しておいたMPPC(Multi pixel photon counter)が届きました。
購入したのは浜松フォトニクスのS13360-3050CSです。
MPPCというのはフォトダイオードの集合体で、光電子増倍管ではないけど100万倍くらいのゲインがある光センサです。
光電子増倍管と比べると、
といった特徴があります。
出力の信号は2~3ns程度だと思うので、それなりの高速アンプを作る予定です。
これと、プラスチックシンチレータを組み合わせて宇宙線検出器を作りたいと思います。
Cosmo-Zを本格的な計測器として使うためには、アルミケースが必須になってきます。
基本的にはタカチのMS88-16-23をベースにして作ろうとしているのですが、MS88-16-23は奥行が23cmあるのに対してCosmo-Zは基板の長さが175mmくらいなので足りません。
基板の後方にはイーサネットのコネクタや電源ジャック等があるので、基板の後ろがリアパネルに出ていることは必要です。
そこで、こういう窪んだ形のリアパネルを作ることにしました。
2mmのアルミ板を折り曲げて、少し内側に壁を寄せます。
アルバイトさんが3D CADで上の図のようなのを設計してくれました。
タカチのケースは実物を見ながら検討しないと意外と難しいので、この図面をアルミ加工屋さんに送って実際に作ってもらうまえに、工作用紙で試作してもらいました。
3D CADで設計した図面をインクジェットプリンタを使って、1:1で工作用紙に印刷します。
そして、カッターで切ります。出来上がり。
思わず、おおースゲーと言ってしまいます。
上の写真の右上に見えるでしょうか。丸穴の切り抜きもとても丁寧です。
図面を若干修正して、完成だそうです。
本番のアルミが出来上がるのが楽しみです。
年末年始にデバッグするため、いくつかの新しい基板を作っています。
1つ目は、PCI Expressのケーブル延長ボード。産業用機械などでPCI Expressで延長しなければならないときに使う、ケーブル引き出しボードです。
PCI Expressのスロットから単純に引き出すとシグナルインテグリティの問題で動かないことが多いのでPCIe専用のバッファを入れています。一応、Gen2対応のはずです。
次はKintex-7のPCI Expressボード。HDL社のXCM-022を乗せて、SFP+から信号を出します。要するに受託開発ですね。
3つ目は光センサボード。数十MHzまでの微弱光に応答できる(はずの)光アンプです。この先にCosmo-Zがつながって信号処理をします。
今日、入居審査が通り、不動産屋さんとの条件交渉が済み、本郷への移転が決まりました。
場所は赤門の目の前の「石川ビル」です。来年1月早々に転居します。
新しいオフィスの場所は下記の場所です。
目の前は広い道路。
北東側には東大の建物が見えます。

風水を調べると、第7運の酉山卯向という建物なので、部屋の中の星は下の図のようになります。
わかる人にはわかると思うのですが、かなり良い物件です。
以下、風水の解説ですので興味の無い方は読み飛ばしてください。
3と8が結合していので、2つの玄関のいずれも水星8として活用できます。
また、水星1と水星6、水星6と水星4が結合しているので、部屋の中の半分以上が水星8,9,1のエリアとして使えます。すさまじく金運が良さそうな物件です。
ただ、部屋をすべて水星として使ってしまうと、人の運を司る山星の「8」が水に落ちてしまうので、右下の△8と書いたところは書庫とかにして山として活用します。
こうすることで人の運も強い(良いスタッフや良い顧客に恵まれ、従業員の健康にもよい)部屋なのではないかと思います。
このビルの他の入居社を見ると、すごいところがありますね。それだけでもこのビルの運が良いことが十分にわかります。
引っ越せる日が楽しみです。
今日も引っ越し先を探しに本郷へ行ってきました。
いままで見た物件はどれも場所が遠かったり、形が四角くなかったりといろいろな不満があったのですが、今日のは正方形に近く、場所も東大赤門の真ん前で、最高のロケーションでした。
だいたいこのあたりです。
街をゆく人、老若男女みな難しそうな顔をして歩いています。
部屋はビルの8階で、眺めは最高!東大のキャンパスが見えます。

この物件は不動産屋さんが最初に見つけてきたリストに入っていて、気になってはいたのですが、値段が高めなので躊躇していました。しかし、他の物件をいろいろ見て、もうここしかないと思えてきました。
なんというか、ビルに入るときのワクワク感が違うんですよ。
今まで見て来た物件は、どれも1つ前の特電オフィス(神田東松下町)と同じような雰囲気の雑居ビルで、そういうところに入るのならいくら本郷に移転しても、「ふぅ・・また同じような一年が続くのかな・・」という気になってしまうのですが、今回見つけたビルだとなんだか新しいことが起きそうな気がしてなりません。
技術スタッフも、事務スタッフも、優秀な学生さんがアルバイトやインターンで授業の合間に手伝ってくれそうな気もするし、特電が飛躍できそうな気がしています。
近くに和菓子さんを見つけたので、帰りに買いました。
7月にアルテラが出している「MAX 10 FPGA 評価キット」を入手してバウンダリスキャンをしようとしたのですが、そのときは10M08SAE144C8GESのBSDLファイルがなくてできませんでした。
今見たら、アルテラのサイトにBSDLファイルが用意されていた
https://www.altera.co.jp/support/support-resources/download/board-layout-test/bsdl/max-10.html
ので、早速MITOUJTAGをつないで試してみました。
10M08SAE144のBSDLファイルを画面上にドロップすると、ちゃんと認識されて、
おおっ、見えるではないですか!!
MITOUJTAGで、MAX10のバウンダリスキャンもできるようになりました。
お待たせしました。
MITOUJTAGオンラインの完成度がだんだん上がってきて、一般公開してもよいレベルに達したので、公開します。
URLは、http://mitoujtag.jp/ です。
上のページを開き、中ほどにある「ログイン画面へ」のボタンを押し、
ログイン画面で新規登録ボタンを押してください。
これで、貴方のブラウザの中でJTAGバウンダリスキャンができるようになります。
Have a nice JTAG life!
MITOUJTAGオンラインを本日、正午から一般公開します。
これは無料のJTAGバウンダリスキャンツールで、XILINXやALTERAやDigilentのUSB-JTAGケーブルがあれば誰でも使うことができます。
もちろん、MITOUJTAG BASICには性能は敵いませんが、ゲームっぽい画面で楽しみながらJTAGを試すことができます。
お楽しみに。
AvnetとDigilent製のArtyというボードを購入しました。
XC7A35Tという小容量Artix-7を搭載したボードで、Arduinoのようなコネクタが付いています。
このような静電気防止袋の中に段ボールの箱が入って届きました。
箱です。
ん???? なんだこりゃ?
なるほど。スポンジに切れ込みが入っていて、基板の出っ張りにかみ合うのですね。

裏面はこんな感じ。DigilentはFPGAの裏に45°にパスコンを配置するのが好きですね。Artix-7はパスコンを内蔵していないので省略はできません。
電源はMicroUSBで給電するようです。
パソコンにつなぐと、デバイスドライバのインストールが始まりました。

ケーブルの選択ボタンを押し、Digilent HS-JTAGまたは2を選択します。
自動認識したら、見事に成功!
バウンダリスキャンできました。
この無料のJTAGバウンダリスキャンツール「MITOUJTAGオンライン」を使って、ArtyのFPGAの端子のH/Lが画面上で見ることができました。
USBケーブルをつなぐだけで、ブラウザの中からJTAGが使えるようになるので、便利です。
さて、私はインターンというものの存在を良く知りませんでした。
実は、私は大学2年生ごろから、大学の目の前にあった計測機器メーカーで、FPGA開発や回路設計のアルバイトをしていました。
最初の仕事はH8のアセンブラで、その後は製造中止になったゲートアレイをFPGAに置き換えたり、レーザー干渉計で表面の凸凹を測るプログラム(x86でMS-DOS)を作ったりしていました。
授業の3コマ目が空いているからバイトに行って論理合成をスタートして、放課後にまた戻ってくるとか、そういう生活をしていました。忙しいときには終電まで働いていたかもしれません。
今ではそういう働き方はアルバイトとはいわずに、インターンというのですね。
学生が社会で働くということはアルバイトと同じなのですが、アルバイトが時間の切り売りをする仕事なのに対して、インターンというのは、もっとしっかりと仕事をして、スキルを伸ばすような成長する要素が含まれた意味の働き方になるのかなと思います。
まさに、特電が募集したいのはインターンです。
我こそはと思う学生のみなさん、特電でインターンしませんか?
私が計測機器メーカーで回路やFPGA開発のアルバイトをしていたときにいろいろ教わったように、皆様にいろんなことを教えます。
特電でインターンをすると、回路やFPGA、プログラムの知識が身に付きます。大学生・大学院生でも電気電子業界での実務経験を積むことができます。
当社での就業経験は履歴書や職務経歴書に書くことができるので、将来の就職活動が圧倒的に有利に進められるようになります。
有意義な学生生活を過ごしたいみなさん、ぜひ、特電にお越しください。
Cosmo-ZでのSATAが動かないので、SATAが動くEXPARTAN-6T(Spartan-6LXT)と何がちがうのかを波形をみて比較しています。
MITOUJTAGを使って、FPGAの内部信号を75MHzでサンプリングします。
まずは、EXPARTAN-6Tのリンクアップ時の波形。AlignPrimitiveを受け取って、そのあとでSYNCやCONTが来ています。
次はCosmo-Zのリンクアップ時の波形。特に違いはないようです。
次はEXPARTAN-6Tで、XRDYが来るときの波形。XRDY→SOF→EOF→WTERMという流れです。

最後はCOSMO-ZでXRDYが来るときの波形。これも全く同じです。

つまり、EXPARTAN-6TもCOSMO-Zも物理層部分の動作は同じということでした。
COSMOZでSATAが動かないのは、上位の層で何かの間違いがあるのだと思われます。
特電のボードEXPARTAN-6T(Spartan-6LXT使用)とCosmo-Z(ZYNQ7030)で、SATAの波形を見てみた。
Spartan-6でのSATA受信波形
↑の波形は、すでにリンクアップしてスクランブルがかかったデータなので、何だかわかりません。
Spartan-6LXTでのSATA送信波形
↑これはCONTでしょうか。ちょっと何かはわかりません。
ZYNQでのSATA受信波形
↑これはリンクアップシーケンスのAlignPrimitiveです。
問題は、ZYNQでのSATA送信波形です。
AlignPrimitiveを送っているはずですが・・
少しレベルが高い気がします。
ZYNQのGTXの送出レベルは、sataphy_gt.vhdの中にある
TXDIFFCTRL => "1000",
で設定されています。CoreGenがデフォルトで作ったファイルでは"1000"になっていて、Vppdは0.807Vということなのですが、オシロで見たところでは反射波によってより高い電圧が観測されています。Peak-to-peakで0.9Vくらいでしょうか。
書籍によると、tx diffの標準値は500mVで、最小が400mV、最大が600mVとのことなので、ちょっと、強すぎます。
XILINXのユーザガイドug476によれば、
TXDIFFCTRL => "0010",
にすると、0.407Vになるとのことですので、やってみました。

たしかに400mV程度になりました。これだとちょっと小さいかも。
TXDIFFCTRL => "0011",
のVppd=0.474Vくらいがちょうどいいかもしれません。
↓の図は0011にしたときの波形です。だいたい0.5Vppdになっています。
高速オシロを借りたので、特電ボードのいろいろな波形を見てみることにしました。
40GHzサンプリングで、2.5GHz帯域というすごいものです。アクティブプローブや、アクティブ差動プローブも付いています。
まずは、懸案だったCosmo-ZのSATA信号を見てみます。
ただ見るだけでは何もわからないので、FPGAがトリガ信号を生成します。

↓の図は、わかる人にはわかると思いますが、COMWAKEやCOMINITといった手続きで、リンクアップ前の初期化が行われるところです。
より長い時間で見てみましょう。
時間軸は10us/divです。COMINIT/COMWAKEの後、何かのデータが送られてきて、その後、少し休みを挟んでから、60μくらいのところで別のデータが送られてきているのがわかります。
最初の固まっているところのデータを見てみると、下の図のようになっていました。
こういう波形を見るときは、5bit分、値が変化しない場所を探します。
高速シリアルで、5bit分、値が変換しないのは、K28.5とK28.7に限られるからです。
※K28.7は0011111000と、0や1が連続しすぎてあまり良くない。実際にはあまり使われない。
この11111を目印にしてデータを「目で」解析していきます。すると、K28.5、D10.2、D10.2、D27.3であることがわかります。これはSATAのAlignPrimitiveでした。
また、後ろのほうのデータの塊を見ると、
これは、1.5GbpsでのAlignPrimitiveでした。3.0Gのほうはオーバーシュートが出ているので、SSDの中にある出力バッファを切り替えているのかもしれません。
波形を見てわかった結果は、
SATAの速度の切り替え中はD10.2を送る、とものの本には書いてあるのですが、このSSDではD10.2は観察されずElectrical Idleのようでした。
Cosmo-Zの基板で見たところ、波形も大きく乱れることなく、綺麗でした。
GHz対応のオシロでは、高速シリアル通信がオーディオ信号のようにワキワキ動いて見えるのが楽しいですね。
最近のコメント