報恩感謝
今日は神社にお参りし、ご祈祷を受けに行きました。
東京都心はすいていて、がらがらでした。
神社には茅の輪ができていたので、くぐってきっました。
毎度不思議なのですが、茅の輪をくぐるときにふわっという感じがして、そのあとすっきりとした感じになります。
なんだか複素積分でいうところの留数が生じるような感じです。
今日は神社にお参りし、ご祈祷を受けに行きました。
東京都心はすいていて、がらがらでした。
神社には茅の輪ができていたので、くぐってきっました。
毎度不思議なのですが、茅の輪をくぐるときにふわっという感じがして、そのあとすっきりとした感じになります。
なんだか複素積分でいうところの留数が生じるような感じです。
最近、JTAG信号解析装置を開発しています。
この装置(左の基板)は、JTAG信号をキャプチャして、それを解析する装置です。
サンプリング速度は最高200MHz。基板には32MByteのSDRAMが載っているので大規模なデータでも記録できます。サンプリングした波形を単純に記録するのではなく、データ量を削減する工夫がされているため長時間(分単位)の記録を可能にしています。
下の画面は、XILINXのiMPACTが起動して、デバイスを自動認識する際の信号を解析したものです。表示されたデータをクリックすると、画面の下半分に波形が(アスキーアートで)表示されます。
※いずれちゃんとグラフィカルに表示されるようにします。
次の画面は、基板検査用ソフトウェアでバウンダリスキャンを行った際のJTAG信号をキャプチャして、それを解析して、動かされる端子の状態を表示させたものです。
バウンダリスキャンによってどの端子がどのように操作されたかが一目瞭然です。
もちろん生の波形や、解析データや、バウンダリスキャンで操作されるであろう信号の波形などを、他のソフトで使用できるようにエクスポートすることもできます。
流れているJTAG信号を取り込んで、業界標準のSVFファイルにして出力することも可能です。
さらに、BSDLファイルを登録することで命令やデータレジスタの内容を分かりやすい形で表示できます。
また、IEEEの規格に準拠したとおりのJTAG信号だけではなく、「イレギュラー」な形式のJTAG信号も解析できるように工夫されています。
さらにもう一つの大きな特徴として、キャプチャしたJTAG信号をそのまま出力することができるという点があります。例えば、XILINXのコンフィグROMに書き込んでいる際の波形を記録して、それを忠実に再生することで別のコンフィグROMに書き込むといったことができます。これは実際に確認済みです。
波形を再生した際にエラーが生じた場合には、そのエラー発生箇所を示してくれます。
バウンダリスキャンを行う波形を再生するときであれば、「何番目のデバイスの何番ピンの状態が異常」と表示されます。もちろん、このエラー検出は、端子ごとにマスクすることもできます。
●特徴
・最高5ns単位でサンプリング可能。
・パソコンと切り離してスタンドアローンでの動作が可能。(SHマイコンを搭載しています)
・パソコンとの間はUSB2.0(HighSpeedモード)で通信。
・SDメモリカード(MCMカードも可)を搭載。波形データの保存に便利。
・リアルタイムクロック搭載。波形再生時の時刻と結果記録用。
・JTAG信号の電圧は1.8V~5Vに対応。
・TRSTやRESETなどの汎用入出力信号も含めて解析可能。
・キャプチャしたJTAG信号を、タイミングを維持したまま再生可能。
・キャプチャしたJTAG信号を再生することによってバウンダリスキャンテストが可能。
・不揮発性メモリをオンボードで搭載しており、バウンダリスキャンテストの結果や波形データを保存。
・プリンタポートを装備。検査結果のプリントアウトや、汎用のJTAGケーブルを接続することが可能。
・汎用I/Oを装備。(複数台での同期動作も可能)
この装置の用途は、
・各種JTAGソフトウェアの開発における動作検証用
・基板検査ソフトウェアの出力信号の妥当性検証
などを想定しています。
たとえば、エンジニアが基板検査用のバウンダリスキャンソフトウェアを操作してバウンダリスキャンテストパターンを作成したとします。しかし、基板検査ソフトはその生成結果をわかりやすい形でエクスポートできないことが多々あります。そんなとき本装置を使えば、エンジニアが想定したとおりにターゲットICの端子が動くようにJTAG信号を生成されているかを、実際の波形を取り込んで検証することができます。
この装置は、来年1月下旬に発売予定です。
本装置の詳細やお見積もり依頼はinfo@tokudenkairo.co.jpでお待ちしております。お問い合わせお待ちしております。
またまたJTAGとは関係ない話題ですが、携帯版スミスチャートツールの開発も進めています。
WillcomのPHSで動かしてみたところ、チャートがサクサク描けるのが面白いです。
L、C、Rを5素子まで組み合わせた回路のインピーダンスを計算することができます。
回路素子の設定は、下記のような画面で行います。
この画面では、ちょっと工夫がされています。
コイルやコンデンサの値のピコやナノといった単位ですが、携帯やPHSは普通は片手で操作しますのでnやpを打つのは面倒です。
片手で回路のパラメータをセットできるとうれしいです。
そこで数字を入力してから2秒間じっとしていると、pやnやMといった補助単位を入力するためのプルダウンが開くようにしました。
つまり、携帯のキーで12と入力すれば、プルダウンが開いてpを選べばよいのです。
周波数をスイープさせてこの回路のインピーダンスを計算すると、豚のしっぽのような軌跡を描きました。
LやCやRは5個まで組み合わせられるので、π型フィルタやT型フィルタの計算ができます。
いろいろな回路を試していて気が付いたのですが、LやCが1個あると、スミスチャート上で半円分回転させることができますね。
スミスチャート上で1周させたいならばLやCは2個使う。
LやCを4個使えば2回転させられる。
回転させる場所や大きさ変えると、ハート型になったり豚のしっぽみたいになったりする。
次の回路ではハート型を描けます。
コンデンサやコイルの容量を減らしたり増やしたりするとくびれた部分が変化したり、全体的な大きさがかわったりします。こんなハート型の軌跡を描く回路は役には立たないでしょうが、頭の体操として面白いですね。
スミスチャートで面白い軌跡を描こうとしていたら、1時間くらい電車に乗っていても苦痛ではなくなりますよね!?
今日は回路の勉強会に行ってきました。
テーマは持続的発展可能な社会についてです。
江戸時代は260年、ネアンデルタール人は20万年、恐竜は1億年もの間を生きつづけたのに、現在の文明は化石燃料を使いすぎて、もうそんなに持ちそうもない。
持続的発展可能な社会の実現のためには、化石燃料に頼らないエネルギー源と、人類の幸福観を変える必要がある。
私自身は高速増殖炉や核融合には大変期待してはいるのですが、石油が枯渇する(あるいは高騰で買えなく)までに実現可能なエネルギー源は、やはり、太陽光以外にはありえないでしょう。
とはいっても、太陽光や風力はエネルギー密度が薄いので、本当に使えるのでしょうか。とにかく太陽光を活用する社会へ移行するためには、電子回路が果たすべき役割がある、そんなことを考えた一日でした。
最近はDDR2メモリのアクセス回路を作っています。
メモリへのクロック速度が150MHz(300MHz)、200MHz(400MHz)、266MHz(533MHz)と変わっても使えるような回路にしているのですが、ようやくまともに動くようになってきました。
作っていてまず最初にわかってきたことは、
DDR2メモリに対して書き込みを行うのはそれほど難しくないということです。
なぜならば、FPGAが出力する、クロック、制御信号、データ、DQS信号は、タイミングが厳密にコントロールできるからです。
いいかえると、RASやCASなど各種の制御信号が値が最も大きく変化したタイミングに、クロックの変化の中心を合わせることは簡単にできるのです。
ただし、データ信号については、FPGAはクロックやストローブ(DQS)と90°位相をずらして出力する必要がありますが、XILINX FPGAならODDRプリミティブとDCMが作り出す90°クロックを使うことで、このタイミングは完璧にコントロールできます。
それに対して、DDR2メモリからデータを読み出すのは難しいです。
なぜならば、DDR2メモリがデータを出力してからFPGA内のレジスタでラッチされるまでの時間には、様々な遅延の要素があるからです。
仮に、DDR2メモリは、クロックから0.4nsにデータを出力するとしましょう。配線の遅延やFPGAの入力パッドの影響、入力セットアップで1.2nsくらいはかかるとしましょう。
この場合だと、クロックから1.6ns後にサンプリングしなければなりませんが、この遅延時間はクロックに関係なく、一定時間なのです。
例えば、1.6nsという時間は、150MHzのクロックならば約4分の1周期ですし、200MHzのクロックならば約3分の1周期、266MHzのクロックならば約半分のクロック時間に相当します。
FPGA内部のクロック立ち上がり立下りから、DDR2メモリが出力するデータを感じる時間は固定値であるため、FPGAのクロック速度に応じてサンプリングするタイミングを変えなければならないのです。
これは普通のDRAMや各種ICでも同じなのですが、DDR2メモリの場合は533MHzとかいう途方もない速度で送ってくるため、サンプリングできる時間の幅に余裕が少ないのが問題です。533ならば90°クロックでサンプリングしていたのを400では180°クロックでサンプリング、300では270°クロックでサンプリング・・などとしなければなりません。
もしデータ線に反射でも生じてしまっていたら、さらに時間の余裕が減ってしまいます。
そこでXILINXのFPGAでは、IDELAYという便利なプリミティブがあります。これは入ってきた信号に固定の時間の遅延を与えるものです。しかも、遅延時間は0.7ns~5.4nsの間で動的に調整できるのです。
したがって、DDR2メモリからのデータは、十分に後ろのクロックでサンプリングするようにしておいて、遅延時間は手動で設定するというようにすればよいようです。
注意しなければならない点は、Virtex4ではIDELAYを入れると、何も入れない状態と比べて無条件に0.717nsの遅延が生じてしまうことです。これはDDR2の回路では4分の1周期近くに相当します。
また、FPGAの中で、0°クロックで動くフリップフロップが出力した信号を、90°クロックで動くフリップフロップの入力に入れることは、通常はできません。
なぜならばDDR2メモリを扱うような回路はすでに数百MHzで動いているので、0→90°クロックというようにフリップフロップをつなぐと、FPGAの中でクロックからの遅延とセットアップタイムを合わせて1ns以下で処理しなければならなくなります。これはFPGAに1GHzで動作しろと要求しているようなものです。
FPGAの限界近い速度で動いている回路で90°クロックを使うには、270°クロックと180°クロックを駆使して序所にタイミングをずらしていかなければならないようです。
結局のところ、DDR2メモリのアクセス回路は、フリップフロップだらけになって、遅延がものすごく大きな回路になります。バースト転送すれば早いのですが、タイミングをそろえるために遅延がいっぱいです。
平成16年9月に(有)ナヒテックとして創業して以来、これまでがむしゃらに頑張ってきましたが、今日で特電は5期目を迎えました。もはや創業期ではなく、成長させる時期に到達したと感じております。
これまではJTAGと受託開発をコア事業としてやってまいりましたが、これからは、これまでの事業をコアにしつつも、次の一歩を踏み出します。
まずは、研究開発。
昨年度は受託開発に追われ自社製品の開発は十分にできないでおりました。今期こそは研究開発にも大きな労力を割き、現在の製品のグレードアップをはじめ、他に類をみないような面白い製品を次々と提案していきます。
どうぞご期待ください。
次は企業理念の確立。
創業の時は右も左もわからないので、明確な企業理念など打ち出せませんでしたが、3年間やっているとそろそろ漠然としているものの企業理念というものが認識されてきました。
特電の企業理念は
・顧客重視
・叡智の結集
・立身報国
このあたりでしょう。
顧客重視というと、聞こえが良いのでどこの会社の理念にも入っていそうな言葉ですが、これは非常に難しいことです。顧客重視の定義にはいろいろありますが、ここでは「自分が作りたいもの、売りたいものを売る」のではなく、「顧客が求めるものを提供する/いつでも提供できるようにする」ということを意味します。
たとえば、電子部品ネット販売で有名な某社は、巨大な倉庫を構えて顧客の注文にいつでも即納できる体制を整えています。この会社は顧客が欲しいと思う部品を備えているので、欲しい部品はたいてい即納です。
それに対して日本のネット通販は、メーカーや代理店が売りたい部品を中心にラインナップしています。欲しい部品を注文しようと思っても、取り寄せ1000個だったり、3週間待ちだったり、取り扱っていない、なんていうことは日常茶飯事です。ほとんどの小売店や代理店もそうでしょう。
どちらが顧客重視で、どちらが売り手重視かは一目瞭然です。しかしながら、顧客重視というのを実現するのはどれほど大変かということもよく分かります。流通業ならば常に莫大な在庫を抱えていなければならないのですから。顧客重視と利潤の追求の両立は非常に難しいのです。
特電にとっての顧客重視とは何か、ということから考えていきたいと思います。
次に、叡智の結集。
特電は1か0で決まるようなロジックだけではなく、高等の科学的知識に基づいた製品を創りだしていきます。
最後に立身報国。
この言葉は私が通った高校の校歌の歌詞にある一文で、北原白秋によるものです。校歌の詩の中でも「立身報国 期せよ友よ」は、私の一番のお気に入りの箇所でした。
特電は、日本の社会を豊かにするため製品とサービスを作り出し、日本の半導体産業と組み込み業界が世界のトップを走りつづけるよう、後方から尽力します。
最近のコメント