« 2007年3月 | トップページ | 2007年5月 »

2007.04.20

Microsoft Excelで波形を描く方法

FPGAインフォメーションの掲示板にて、タイミングチャートを描くときのおすすめツールは?という話題が出ていました。
私はMicrosoft Excelを使って描いています。

Excelの描画機能は、お絵かきソフト以上のことができ、実に高機能です。
この機能を使えば、タイミングチャートだけではなく、いろいろな絵が描けます。
ちょっとした図面なら簡単に描けるでしょう。

今日はその方法を紹介します。
なお、以下の説明で使用したExcelのバージョンは2000ですが、最近の2003とかでも同じようにできるでしょう。

① まず、Microsoft Excelを起動します。
Excel1

②セルの左上の、何も書いていない左上の部分を、左クリックします。
全部のセルが選択された状態になります。
Excel2

③ABCDE・・となっている灰色のセルを右クリックします。
プルダウンメニューが開くので、「列の幅」を選択します。
Excel3

列幅ダイアログが開くので、0.96にセットします。
これで、全部の列の幅が0.96(=12ピクセル)にセットされます。
Excel4

⑤今度は縦に「1 2 3 4 ・・・」となっている、灰色の一番左のセルを、右クリックします。
プルダウンメニューが開くので「行の高さ(H)」を選択します。
Excel5

行の高さダイアログが開くので、9.6にセットします。
これで全部の行の高さが12ピクセルにセットされました。
Excel6

⑦Excelの表が、縦横12ピクセルの正方形のマス目になります。
Excel7

この12ピクセルの正方形のマスを作るために、「0.96の9.6」という値の設定が非常に重要です。なぜなら、12ピクセルというのは、大きすぎず小さすぎず、なおかつ2等分しても3等分しても整数になるという非常に使いやすい大きさだからです。

⑧基本的にはグリッドにあわせて、線や四角を描いて行くのですが、
Excelを起動した状態では、描画オブジェクトがグリッドに合いません。
グリッド固定を入れましょう。
画面左下のツールバーから「図形の調整→位置合わせ→グリッドに固定」をセットしてください。
Excel8
※このツールバーがない場合は、メインメニューの「表示→ツールバー→図形描画」で出てきます。

⑨あとは、Excelの図形描画ツールバーにある、直線ツールなどを使って、線を描いていきます。
Excel9

⑩では、手始めに、クロック波形を描いて見ましょう。
直線描画ボタンを押すと、直線描画モードになるので、図のように | ̄|_ と描いてみましょう。
Excel10

これで、クロックが1波形分、描けました。

⑪そうしたら、図形描画ツールバーにある矢印ボタンを押します。
Excel11
このボタンを押すと、範囲指定で図形を選択するモードになります。
十字形のカーソルだったのが、矢印カーソルに変わります。

⑫さっき描いた波形の上でマウスを滑らし、ビューっと範囲選択します。
選択された図形は、端っこに四角いマーカーが出ます。
その図形の上で右クリックし、プルダウンメニューから「グループ化→グループ化」を選択します。
Excel12

⑬これでこの1サイクルのクロックは、グループ化されました。
必要なだけコピペしてください。
Excel13

⑭あとは、信号をどんどん描いていきます。
Excel14

⑮必要に応じて、文字や、矢印など、補助的なものを入れます。
そして波形が見やすくなるように太くしたり、色をつけたり、コメントを入れたりもします。
Excel15_1


⑯慣れてくれば、このくらい簡単に描けるようになります。
Excel16

Excelでタイミングチャートを描くことの最大の利点は、作ったファイルを他人に渡すことが容易なことです。
専用の波形エディタなどで描いてしまうと、相手も同じソフトを持っていなければ開くことができませんが、Microsoft Excelは事実上の標準ソフトですから、きっとだれでも開けるでしょう。

上で描いた波形は、ダウンロードできるようにしておきました。
「excel-timingchart-sample.xls」をダウンロード
ぜひ、皆さんの環境でも開いてみてください。

| | コメント (6)

2007.04.16

MITOUJTAGがSpartan3Aに対応しました。

Spartan3Aユーザのみなさん、お待たせいたしました。
MITOUJTAGがSpartan3Aの書き込みに対応しました。

以下のURLからサービスパック5をダウンロードして適用してください。
http://www.tokudenkairo.co.jp/support.html

※ドメイン名がnahitech.comから、tokudenkairo.co.jpに変わりました。

Spartan3Aに対応するには、まずXILINXのWebサイトから、Spartan3A用のBSDLファイルをダウンロードするか、ISE(WebPACK9.1)をインストールし、再度、「デバイスインデックスの作成」を実行してください。
※ MITOUJTAG 1.2.4にはSpartan3AのIDCODEがデフォルトで登録されていないため。

その後、MITOUJTAG BASIC 1.2.4サービスパック5を適用することで、Spartan3Aへの書き込みができるようになります。



さて、WebPACKの9.1をインストールしてSpartan3Aスタータキットをいろいろといじってみたところ、いろいろわかってきました。
以下、Spartan3Aレポートです。

・Spartan3AはSpartan3からかなり進化している。全く別物といってもいいかもしれない。たとえばSpartan3で厄介だったVCCAUXの電圧とIOBANKの問題とかも解決している。Spartan3Aは今後、楽しみなデバイスである。

・Spartan3Aスタータキットのリファレンスデザインに入っているmcsファイルは、すべてSPI-ROM用のもの。ビットリバースされているのでXCF04Sに書き込んでも動かない。

・Spartan3Aスタータキットのリファレンスデザインでは、MCSファイルをpromgen.exeというツールで作成している。iMPACTを介さずにbitファイルからmcsファイルを作成している。promgenの使用例として参考になるが、コマンドオプションが長いので覚えきれない。

XILINXの中の人も、BIT→MCSの変換のためにiMPACTを使っていないのかな。もうiMPACTなんていらない。
(MITOUJTAGではbitファイルを直接ROMに書き込めますので、promgen.exeすら不要です)

・iMPACTは相変わらず、扱うファイル名にスペースが入ると駄目で、クラッシュしてしまう。だからデスクトップにファイルやフォルダを置けない。

・_pn.exeのメモリリークがちょっとだけ減った?(気のせい?)

・iMPACTでSPIフラッシュやBPIフラッシュに書き込みができるようになったっぽい。どうやら原理は、私が昨年5月にこのブログに書いた「SPIのフラッシュROM書き込みツール」・「XILINX FPGAからSPI ROMをJTAG書き込みするツール 公開」の方法と同じだ。
つまり、FPGAにSPI ROM書き込み用のデザインをFPGAにいったんダウンロードし、JTAGを使ってパソコンとFPGA内のロジックで通信し、FPGA内のロジックでSPIに書き込めばよい。
ただし、iMPACTのこの機能は未完成っぽい。ためしにAT45DBへ書き込んでみたところ、メモリを1GByteも食うようになってパソコンの反応が極度に遅くなり、結局はだめだった。

・コンフィギュレーションシーケンス(bitファイルの中にかかれている命令列のこと)がだいぶん変わっている。特にコマンドの長さが減った。そのため、Spartan3や3Eと同じシーケンスで書き込むのは不安。

・Spartan3Aは、すべてのFPGAにユニークな番号を与える「Device DNA」というID機能を搭載した。
DeviceDNAは、FPGAの中のロジックはもちろん、JTAGからでも読み出せる。
これを使えばFPGAにデジタル著作権管理みたいなものを持ち込むことができる。
DeviceDNAを使えば、コピー製品のFPGAで動かないようにしたり、特定の許可されたFPGAだけでIPコアが動くようにしたり、コピー製品の流通を追跡したりといった応用が考えられる。
IPコアのリリース方法や、FPGA設計サンプルの提供、設計したFPGAのOEM提供など、いろいろと応用できそうだ。これは有り難いかも。

| | コメント (0)

2007.04.13

Spartan3Aスターターキットの動作確認

MITOUJTAGを、Spartan3Aに対応させるためのテスト用に、Spartan3Aスターターキットを購入しました。
Sp3a_1

Spartan3Aスタータの電源をいれ、JTAGをつなぎ、MITOUJTAGを起動して自動認識させると、
「不明なデバイスがみつかりました。」

それもそのはず。MITOUJTAGにはまだSpartan3Aの情報が登録されていないためです。
XILINXのサイトからSpartan3A用のBSDLファイルをダウンロードして、MITOUJTAGにそのBSDLファイルを読み込ませると、ちゃんと認識してくれるようになりました。

LEDの点滅やスイッチの値の読み取りならば、バウンダリスキャンでできることを確認。
Sp3a_2

さて、スタータキットの箱の中には、ISE評価版のDVDはありますが、サンプルデザインなどは入っていないようです。
これらはXILINXのWebサイトからダウンロードする必要があります。
サンプルデザインをダウンロードしてきたら、bitファイルを探して、MITOUJTAGで書き込みます。

現在のMITOUJTAG(Version1.2.4 SP4)では、まだSpartan3Aに対応していないので、MITOUJTAG内部のアルゴリズムルーチンを改良することになります。

少しがんばってみたら、全く苦労せずにできました。
Spartan3Aの書き込みは、Spartan3や3Eと同じシーケンスでいけるようです。
本当に正しいシーケンス良いかどうかは調べてみないといけませんが。

FPGAが起動すると、端子がにぎやかに動き出します。
Sp3a_3


JTAGロジックアナライザで見ると、このとおり波形が見えました。
Sp3a_4

上の波形は、サンプルの中にあるdemoというデザインを書き込んだ後の波形です。VGAの信号や、NF_で始まる信号が激しく動いているのがわかります。

| | コメント (0)

2007.04.07

「ESEC2007 組込みシステム開発技術展」に出展します

特殊電子回路㈱は、組込みシステム開発技術展(ESEC2007)に出展します。

展示会名 「ESEC2007」/組込みシステム開発技術展
開催場所 東京ビックサイト
開催日時 平成19年5月16日(水)~18日(金)

今回も、情報処理推進機構(IPA)の中で出展させていただくことになりました。
場所は、東4ホール・小間28~51番のどこかです。

ESEC2007では、MITOUJTAG BASICの実演と、

MITOUJTAG体験版の無償配布
を予定しています。

さらに、現在開発中の
・PCI Express IPコア
・超高速JTAGコンフィギュレーション装置「JTAG WARP9(仮称)」
・何でも使えるJTAGデバッガ「Super Multi JTAG-ICE(仮称)」
などの新製品も紹介できればと思っています。

昨年の11月に行われたET2006の時には、ブースの大きさが横1メートルくらいしかなく、世界最小のブースでがんばっておりましたが、今回はもうちょっと広くなるようです。

当日、皆様とお会いできることを心待ちにしております。

詳細はこちら

| | コメント (0)

2007.04.04

LIS302DLのはんだ付け

STマイクロエレクトロニクスのLIS302DLというICをはんだ付けしました。

LIS302DLというのは、3軸加速度センサーで、いわゆるMEMSというやつです。
このセンサーは超小型で、AD変換が内蔵されていて、I2CかSPIで制御できるのが特徴です。

基板を作って、いざはんだ付けしようとした時に気が付いたのですが、すべての端子がパッケージの裏側についているため、半田ごてでははんだ付けできないのです。
小さいのにBGAと同じで、はんだ付け困難なデバイスです。

基板のパターンを伝わってくる熱ではんだ付けできないかと試行錯誤してみましたが、やはりだめ。熱伝導では1個か2個くらいの端子しかはんだ付けできません。

それならと、ヒートガンを買ってきました。

基板と端子にはんだを薄く盛って、ピンセットで位置を合わせて基板に乗せて、ヒートガンで加熱。
基板にくっつくことはつくのですが、すぐに隣の端子とショートしてしまいます。

ヒートガンは熱い空気がでてくるので、気をつけないと部品が飛ばされてしまいます。
熱風が部品を吹き飛ばそうとするのを、はんだの表面張力で耐えなければなりません。
そこで、2回に分けてはんだ付けします。一度目はピンセットで抑えながら仮止め。
仮止めしたあとで再度加熱して、セルフアラインメント効果をつかって目的の位置に動かす。
一度、加熱しすぎて基板を焦がしてしまいました。

繰り返し挑戦すること30回くらい。
あらかじめ盛るはんだの量を極力少なくして、はんだ付けしたところ、ショートせずになんとかついたようです。
これぞ、手リフロー
この感覚は微妙すぎるので、文章では説明できません。


Lis302dl

ついたことはついたのですが、全ての端子がちゃんとついているかが心配です。目では見えないので、通電してみないとわかりません。それより、MEMSデバイスを、何度も何度も加熱してつけたり外したりしているので、ちゃんとまだ動くかどうかがもっと心配です。

動かしてみた結果はまた今度紹介します。

★→ つづきはこちらに書きました★

| | コメント (5)

« 2007年3月 | トップページ | 2007年5月 »