« 2011年8月 | トップページ | 2011年10月 »

2011.09.24

イベントのお知らせ2連発!CEATEC出展とルネサスセミナー

さて、秋の展示会シーズンになってまいりました。
近々のイベントをご案内させていただきます。

【CEATEC JAPAN 2011に出展】
特殊電子回路は10月4日(火)~7日(金)に、幕張メッセで開催されるCEATEC2011に出展します。ICT Suite/Electronics Suiteの中にある、FPGAコンソーシアムのブースの中(小間場所7H20)です。

Ceatec2011_map
CEATEC自体は8日(土)まで開催されていますが、電子部品がメインの「ICT Suite/Electronics Suite」ゾーンは7日(金)までの開催となっているので、土曜日の展示はありません。ご注意ください。

1畳ほどのスペースでMITOUJTAGや、Spartan-6ボード、EXPARTAN-6Tのデモをさせていただきます。MITOUJTAGの基板検査機能や、Serial-ATAのコアなどを展示しているかもしれません。

Ceatec

詳細はこちら

私は、たぶん4日(火)と6日(木)は会場にいると思います。
展示会はじっくりと見たいという方も多いと思いますので、特電は、ブースにいらしたお客様に強引に話しかけたりしません。ガツガツとした肉食系の客寄せはしない方針なので、お気軽に声をかけてください。のんびりと世間話などしたいと思っています。
なひたふを捕まえて何か一言いいたいという方がいらっしゃいましたら、是非とも4日(火)か6日(木)にお越しください。

【ルネサスRXマイコン開発技術セミナ】
RXマイコンをいろいろとがんばっていたためか、ルネサスRXマイコン開発技術セミナで講演させていただくことになりました!! (嬉)

開催日と会場は、
・東京 2011年10月7日(金) 10:00~17:15   飯田橋・軽子坂MNビル
・大阪 2011年10月14日(金) 10:00~17:15  屋橋・明治安田生命大阪御堂筋ビル4F
です。
受講料は無料です。

Cqseminar

私は14:00 - 15:00の1時間、「RXマイコンの潜在能力を引き出す周辺回路の設計とお手軽プログラミング 」というタイトルでRX-MEGAを使っていろいろなお話をさせていただきます。
詳細はこちら

RX62NマイコンにSDRAMをつないだり、SDカードを動かしたり、イーサネットを動かしたり、GCCを使えるようにしたりと、盛りだくさんの内容にしたいと思います。
昼食時にはパートナー企業として展示も行っていますので、会場でみかけたら気軽に声をかけてください。

究極のRXボードを展示したり、Rxduinoを展示したり、いろいろやります。GCCやWebコンパイラの秘密も、聞かれたら答えます。


実は、10月7日(金)はCEATECとかぶっているんですが、たぶん一日中ルネサスセミナーのほうにいます。

では、皆様、お待ちしております

| | コメント (0)

2011.09.23

SSDとHDDの本当のアクセス速度を、FPGAで専用ハードウェアを作って測ってみた

開発中のSerialATAのIPコアを用いて、HDDとSSD(Solid State Drive)のアクセス速度の比較を行ってみました。

パソコンにつないでベンチマークソフトで測るのではなく、FPGAで作った専用のハードウェアで測ります。だからパソコンの性能に左右されず、ドライブの真の実力が測れるだろうと思うわけです。

下の写真は実験環境のセットアップです。EXPARTAN-6Tという、XILINX FPGAの評価ボードにSATA IPコアを入れて動かしています。

Satassd

使ったHDDはHitachiのHDS721050CLA362というもので500GBの容量があります。最大セクタ数は976,773,168です。
それに対してSSDはOCZのVertex PLUSというもので60GBの容量があります。最大セクタ数は11,7231,408です。

いずれも、DMAモードで転送します。1回のブロックは65536セクタ(32MB)で、このブロックのサイズを読み書きに要した時間で割ることによって速度を求めます。

HDDにアクセスするのはFPGA内のロジックですが、コントロールソフトはWindows上で組んでいます。こんな感じです。
Controlsoft_2

まずはHDDの様々なセクタに対してDMAライトを行い、実行時間を測定しました。その結果、番号が若いセクタはだいたい300ms前後でアクセスできているのですが、全セクタ数の50%を超えたあたりからアクセス時間が長くなってくる傾向が掴めました。
下のグラフでは、横軸がセクタ番号、縦軸がアクセス時間(上にいくほど遅い)を示しています。
Hdd_wrtime

この時間の逆数をとるとアクセス速度が求まります。このようにして、読み書きのアクセス速度と、セクタ番号の相関を測定しました。
Hdd_speed_2

セクタ0のあたりでは書き込みが110MB/s、読み出しが130MB/sほどでています。しかし、後ろのほうのセクタになると約半分の速度しか出ていないのがわかります。
この原因は、HDDのシリンダ1周に含まれるセクタ数が内側のものほど少ないことに起因しているのだと思われます。つまり、番号が若いセクタほどHDDの外側に記録されているのではないかと考えられます。
Track

一方、SSDの方はどうかというと回転する部分はありません。アクセス速度をグラフにしてみたところ、セクタ番号の依存性は全くないことがわかります。
Ssd_speed

読み出しは140MB/sec出ていて、これはSATAの実効伝送速度そのもので読み出せていることがわかります。読み出しに関しては申し分ありません。

書き込みは133MB/s出ている場合もあれば、その半分の60MB/sの場合もあります。これは何かというと、どうやら5回に1回の書き込みで非常に遅くなっていることがわかりました。

次のグラフは、シーケンシャルにアクセスしていった場合の書き込みに要する時間をプロットしたものです。
Ssd_wrtime

65536セクタの1ブロックを書き込むのに要する時間が、250msが4回連続した次は550msかかっています。よって平均の書き込み速度は107MB/sec程度ということになります。おそらく、SSD内には128MB程度のSDRAMのキャッシュが内蔵されていて、最初の4回まではキャッシュに入って5回目で実際のフラッシュROMアレイに書き込んでいるのでしょう。

なお、書き込み後にフラッシュコマンドを送った場合は、1ブロックの書き込みに400msかかりました。実行転送レートは83MB/sになってしまいますのでフラッシュは明示的に行うのではなく自動でやらせたほうがいいようです。

なお、このSSDのメーカー(OCZ)のページを見ると、60GB品は最大書き込み速度は90MB/sで、120GB品になると最大書き込み速度は160MB/sとのことでした。おそらく増えた容量はパラレルに入っていて並列で書き込みができるようになっているのでしょう。容量が増えると書き込み速度も上がるというのがSSDの面白いところだと思います。

やっぱりフラッシュメモリは消去や書き込みにそれなりの時間がかかるのでしょう。シーケンシャルアクセスでいいなら、現時点では無理にSSDを使うより、HDDの前半分を使ったほうがコストパフォーマンスもよいかもしれません。

そんな感じで完成に近づいてきたSATA IPコアですが、どのような応用例を考えているかというと、

・高エネルギー物理学/放射線計測などにおけるデータ・キャプチャ
加速器を使った実験って、毎秒ものすごい量のデータが来るんです。それを蓄えておくのにSATAのHDDは良いのですが、一度パソコンを通してしまうと速度が保障できなくなるので、FPGAとHDD直結っていうのが最も良いのではないかと思うわけです。
・超高速A/Dコンバータを用いたシステムにおける変換データの連続的な格納
毎秒100Mサンプリングとかでも、取りこぼさずに全部保存できそうですね。
・高解像度/高フレームレートの産業用カメラの長時間録画
4k2kの60フレームとかになると、さすがに生データの保存は無理か・・。圧縮しないといけないかも。
・ディジタル通信(ワンセグ放送、最新ビデオ信号規格)の機器開発のための、波形の丸ごとキャプチャ
そういうことができたらいいでしょうね・・。

などを考えています。
FPGAとSATA SSDがダイレクトにつながるということは、FPGAが超大容量のストレージを手に入れたというわけです。基板上のDDR2 SDRAMには入りきらない膨大なデータを扱えるようになるわけですから夢が広がります。

| | コメント (0)

2011.09.14

SATAの実効転送速度を測定

開発中のIPコアで、SATAの実効転送速度が測定できました。

FPGAからHDDにデータを送る場合、セクタライトと、マルチプルセクタライトという2つのコマンドがあります。
セクタライトでたくさんのセクタの書き込みを行った場合、セクタごと(512バイトごと)にパケット化を要求されるので、下の図のような波形になりました。
Sata_wr_single

16セクタ(8192バイト)を送るのに217μ秒かかっているので、実効転送速度は37MBytes/秒となります。これはかなり遅いです。

一方、マルチプルライトというモードを使うと、次の図のような波形になりました。
Sata_wr_multi

16セクタを1個のパケットにして送っています。64セクタを送るのに要した時間が263μ秒なので、平均、124MBytes/秒となります。
今回はたまたまちょっと遅かったのですが、おおまかに言うと書き込みは130Mバイト/秒くらいと考えればよいと思います。

前回の実験ではSATAの読み出し速度を測定しましたが、やはりマルチプルリード/ライトは速くてよいです。

なお、転送されたデータはHDD上のバッファにたまるだけなので、実際にHDDに書き込まれる速度はこれより遅くなると思われます。

| | コメント (0)

2011.09.12

EXPARTAN-6Tの次のロットを入荷しました

品切れになっていて、大変お待たせいたしました。
EXPARTAN-6Tの次のロットを入荷しました!

Expartan6t_20

EXPARTAN-6Tは、XILINXのSpartan-6LXTを搭載したFPGAボードですが、ただのボードではありません。Spartan-6LXTの内蔵EndPointをすぐに使えるようにしたラッパIPコアや、Windowsのデバイスドライバが付属している、
いわばソフト面を重視したPCI Express評価ボードです。

今回のロットでは20台製造しました。
この子たちは、特電の棚の中で、皆様のお手元に届けられる日を待っています。

よろしくお願いします。

| | コメント (0)

2011.09.10

MITOUJTAGがWinbondやMicronのSPI ROM書き込みにも対応!

MITOUJTAGで、WinbondとMicronのSPI ROM書き込みができるようにしました。
(バージョンアップパッチは下のURLからダウンロードできます)
http://www.tokudenkairo.co.jp/jtag/sp.html

MicronのSPI ROMというと、例のAVNET製Spartan-6ボードにも使われているやつです。MITOUJTAGをMicronのSPI ROM対応させようとして調べていたら、MicronのSPI ROMと、ST/Numonyx(STとIntelの合弁)のベンダIDが一緒だったので、あれ?と思って調べてみました。

調べたところ、昨年の2月に、MicronがNumonyxを買収していたようです。なるほど、だから、昨年からSTやNumonyxのSPI ROMが手に入らなかったのか!!と、妙に納得です。
つまり、ST + Intel = Numonyx ⊂ Micronということだったのです。MicronのSPI ROMのコマンドセットと、Numonyxのコマンドセットはほぼ同じでした。

では、使い方を説明します。
まず、Pocket JTAG CableとターゲットボードをJTAGケーブルでつなぎます。今日はMicronのROMを試したいので、例のボードを使います。
Av_sp6_bot_3

MITOUJTAGを起動して、デバイスを認識させたら、デバイスの絵をクリックして書き込みボタンを押します。
Mjspi_1

書き込みダイアログが開いたら、間接SPIと書かれたボタンを押します。
Mjspi_2

ビューーっとプログレスバーが進んで・・
Mjspi_3_2

SPI書き込みダイアログが開きます。
ROMのタイプにN25Q128という型番が表示されています。そして、書き込みたいファイル名を指定して、書き込み開始ボタンを押します。
Mjspi_4

書き込みが完了してベリファイも済んだら、終了です。
Mjspi_5

このようにとっても簡単にSPI ROMの内容を書き換えることができます。

なお、MITOUJTAGは、Spartan-3E、Spartan-3A、Spartan-6、Virtex-5、Virtex-6につながったSPI ROMに書き込みできます。今回のバージョンアップで、Spartan-6の全品種に対応しました。対応しているSPI ROMのベンダーは、ATMEL、ST、SST、Numonyx、Winbond、Micronとなりました。これでメジャーどころは全部対応できたと思います。

MITOUJTAGの最新版パッチは、こちらのページから、ダウンロードできるようにしました。

皆様の快適なFPGAライフを応援します!

| | コメント (0)

2011.09.09

SATAの実効転送速度の測定

Spartan-6でSATAを使うべく、今日もIPコアを開発しています。

Expartan6t_1使っているのは、EXPARTNA-6TというFPGA評価ボード。(WebPACKで開発できる最大のデバイスであるXC6SLX45Tを中心に、DDR2 SDRAMや、PCI Express、USB-JTAGが乗っています。)

開発中のコアでSATA(1.5G)の機能がひととおり動くようになってきたので、転送速度を測定してみました。

いろいろなモードで、LBA=0x123456のセクタから64セクタを読み出して速度を比較してみます。

まずは、通常のPIOモードで試してみます。HDDにREAD SECTOR(S) EXTというコマンド(0x20)を送ります。要するに、何も工夫しない通常の読み出しモードです。

すると、
Piord

DataFISという信号が上がり下がりしているのが見えますが、1回の遷移で512バイトを送っていますので、8μ秒かけて512バイト送っていることになります。よって実効転送レートは64MB/s。意外と遅いのがわかります。

次に、READ MULTIPLE というコマンド(0xc4)。このコマンドは最大16個分のブロックを固めて送ってきてくれます。ただし、READ MULTIPLEの前にSET MULTIPLE MODEというコマンド(0xc6)を送って、何個のブロックを固めて送るかを設定しておかなければなりません。

READ MULTIPLEを使った場合の読み出し波形は、
Piomultird

このようになりました。
64セクタ(32768kバイト)分のデータが、237μ秒で転送できているのがわかります。よって、転送速度は138MB/seと計算できます。

最後にDMAモード。
DMAモードでも同じく64セクタ(32768kバイト)分のデータを転送します。
すると、
Dmard

64セクタ(32768kバイト)をリードして転送するのに要した時間は234usでした。計算すると140MB/sとなって、PIOのマルチプルモードと比べてわずかに速くなりました。

まとめると、HDDからの読み出し速度は、
 ・PIO(単一)・・・64MB/s
 ・PIO(マルチプル)・・・138MB/s
 ・DMA・・・140MB/s
でした。

PIO(マルチプル)とDMAはほぼ同じ速度なので、SATAではDMAはいらない、ということも言えそうです。

もちろん、使用するHDDや読み出すセクタの位置によっても異なるでしょうが、目的は、SATAのリンクの実効速度を計ることです。SATAのバスの使用効率は約93%と、意外とよい結果となりました。

この結果が、皆様の何かのお役に立てば幸いです。

なお、この波形はシミュレーションではなく、FPGAの中にロジアナのIPコアを埋め込んで、MITOUJTAGを使って読み出している実機の動作波形です。
Satamitoujtag_2

意外と知られていないかもしれませんが、MITOUJTAGは、バウンダリスキャンで端子の状態を見るだけではなく、ロジアナのコアを埋め込んでFPGAの動作速度で波形を取り込むこともできるのです。ChipScopeやSignalTAPのように。
I/Oの端子まで見える分、お得なのです。

| | コメント (1)

2011.09.07

Serial ATAのIPコアをUSBでコントロールできるようにした

SATAのIPコアを2週間ほど前から開発しているのですが、ようやく、実用的な何かの形になってきました。

次の写真のように、EXPARTAN-6TにSATAのHDDとUSBをつなぎますと、
Satahddexpartan

パソコン上の制御ソフトから、SATAのコマンドを自由に発行することができるようになって、SATAのハードディスクをいろいろ操作できます。

 「パソコン →USB2.0 →EZ-USB FX2 → FPGA(XC6SLX45T) → SATA HDD」
という経路でつながっています。
現在、XC6SLX45TのSLICEの8%ほどを使用しています。

SATAのロジックやステートマシンだけならそれほどSLICEを食わなかった(せいぜいFPGA全体の5%くらい)のですが、セクタ番号やシリンダ番号などを格納するレジスタで、ものすごく消費したようです。


さて、専用のソフト(開発中)をつなげて、この怪しげな装置でHDDのDevice IDコードを読み出してみます。
Dump_idcode_2

何かが読めているではないですか!!

物の本によると、Device IDは512バイトあって、シリアル番号とディスクのタイプがそれぞれ20バイト目と54バイト目から書かれています。次のように解読できました。
 Disk S/N =" JP1572JE03PPKK"
 Disk Type="Hitachi HDS721050CLA362
上の写真で、ラベルに印刷されているものと見比べて見ると一致しています。
他にも論理シリンダ数とか、○○をサポート、などといった情報がDevice IDには格納されているようです。

セクタ1を読み出してみると、これはMBRだったようです。
Dump_mbr

ブートコードらしきものと、パーティションテーブルが書かれているのがわかります。
このように、USBから好き勝手なSATAコマンドを発行して、返ってくるデータを見ることができるようになりました。セクタライトは怖いのでまだやっていませんが、きっとできるでしょう。

SATAのCD-ROMは何故かアクセスできないようです。プロトコル上何か足りないものがあるのかもしれません。
このサンプルアプリは、近いうちにダウンロードできるようにしようと思います。

| | コメント (1)

2011.09.05

MITOUJTAG BASICでAVNETのSpartan-6 LX9 Microboardを試してみた

秋月でAVNETの激安Spartan-6 LX9 Microboardが売られているというので、MITOUJTAGでどのように見えるのかを調査するために、買ってきて試してみました。

Av_sp6_top

MITOUJTAGというツールを使うと、JTAGを利用して、FPGAの端子がどのように動いているのかを可視化したり、SPI ROMのデータを書き換えることが自由自在にできます。

まず、このボードにJTAGケーブルをつなぐわけですが、裏面に14ピンのコネクタがついているので、そこにPocket JTAG Cableをつなぎます。

Av_sp6_bot_3

そしてMITOUJTAGを起動して、自動認識ボタンを押します。すると、XC6SLX9が認識されました。
Av_sp6_1

同じIDCODEを持つデバイスの候補が出るので、XC6SLX9 CSG324を選びます。
Av_sp6_2

そして、スキャンボタンを押すと、何やらBGAの各端子が忙しく動いているのが見えました。水色の端子はLレベル、ピンク色の端子はHレベル、塗りつぶしは出力で、網掛けは入力端子です。
Av_sp6_3

これだけでは、どんな動作をしているのかさっぱり分からないので、デバイスの絵を右クリックして「ピン定義ファイルの登録」を行います。
Av_sp6_4

そして、AVNETのWebサイトからダウンロードした設計ファイル一式の中にあるPADファイル(FPGAの論理合成の結果できたピン配置ファイル)を読み込みます。
Av_sp6_5

これでピン定義が読み込まれました。では、ロジアナモードにして波形を見て見ることにします。

まず、電源投入からFPGAが起動するまでと、FPGAが起動してからアプリケーションが起動するまでのようすが見えました。

Av_sp6_8_2

最初にXC6SLX9が起動する前に、SPI ROMからBitStreamを読み込んでいるようすと、その後、MicroBlazeか何かのソフトプロセッサが起動してデータを読み込んでいるようすが見えます。JTAGバウンダリスキャンの面白いところは、FPGAが起動する前でも使えるというところです。
そのため、コンフィギュレーション関係の信号も見えるので、起動前の状態、つまりSPI ROMからBitStreamを読み出しているときの波形も見えます。これはChipScopeのように埋め込み式のロジアナでは見えません。

次の図は、FPGAが起動した後の動作の様子です。LPDDR SDRAMが忙しく動いています。
Av_sp6_9

それから通常のバウンダリスキャンの画面に戻って、MITOUJTAGのSPI ROM書き込みモードを起動します。通常のデバイス書き込みダイアログでSPIボタンを押すと、SPI ROM書き込みモードに切り替わります。
Av_sp6_6_3

このボードに乗っていたSPI ROMは新品種だったので、デバイスの型番などは不明と表示されてしまいましたが、先頭のメモリエリアは見えました。
Av_sp6_7

なお、買ってきたときにSPI ROMに入っているサンプルデザインが、いったいどのデザインのものなのかを調べようとして、AVNETのWebサイトからいろいろダウンロードしてみたBitStreamと照合してみましたが、一致するものはまだ見つかっていません。

それにしてもこんなに安いのは驚きました。AVNETはXILINXの一次代理店だし箱の中にはTycoやMicronやTIなどの広告シートが入っていたので、デバイス自体も宣伝用に無償か、相当安く仕入れているのかもしれません。
それに、FPGAの裏にあるべきパスコンもほとんどありません。LPDDR SDRAMの裏にはパスコンが5個しかありません。ちょっと少なすぎて怖い感じもしますが、ひょっとするとパスコン削減のノウハウがあるのかもしれません。

このように、今日買ってきたばかりのボードで、内部もほとんど未知なのですが、MITOUJTAGを使えば、あっという間に、その動作が丸裸といわんばかりに見えてしまいました。

| | コメント (0)

2011.09.04

RX62NからPINGが打てるようにした&ライブラリ更新

ついに、ARPとICMPがちゃんと動くようになって、RX62NからインターネットへPINGが打てるようになりました。

Ultim62n_ip

TCP/IPのプロトコルスタックを作っていると、シングルタスクでは限界が来ることを痛感しました。パケットの応答待ちでwhileとかループさせてしまうと、まずいんですよね。

そこで、イーサネットのフレームを受信したことをトリガとする割り込みを使って、割り込み処理ルーチン内で受信パケットを処理するようにしました。

これで一見動いたかのように見えたのですが、RX62Nって、割り込み中と通常のモードでは、スタックポインタが切り替わるのです。この動作ではまりました。

割り込み中のスタックには十分な領域を確保していなかったので、大きなパケットを受信するたびに通常モードのスタックを破壊したりとかしていました。このバグの原因がつかめるまで、かなり悩まさされましたが、もう大丈夫です。

また、受信したデータをためておくバッファはSDRAM上に移動したので、内蔵RAMにも余裕ができました。

それから、デフォルトゲートウェイの概念を追加して、ローカルネットだけでなくインターネットにも出て行けるようにしました。www.tokudenkairo.co.jpやwww.google.co.jpへPINGが飛ばせられるようになりました。

Rx62nping3

ただし、まだ名前解決はできていませんので、IPアドレスを直打ちする必要があります。

上の図のような感じで、コンソールから各種のネットワーク系コマンドを発行できます。
linkと打つと、LinkをDown→Upと操作してオートネゴーシエーションから再実行します。

で、ここまでできたので、ひとまずRX62N用のサンプルソースコードやライブラリを、サーバにアップロードして公開しました。ぜひともダウンロードして試してみてください。

・特電HALとRXduino、サンプルコードのダウンロードはこちらから
http://www.tokudenkairo.co.jp/rxmega/download.html

・RX Webコンパイラにもサンプルコードを掲載
http://www.tokudenkairo.co.jp/rxmega/webcomp/


次はDHCPとUDPを作ろうと思います。

なお、今回のプログラムの開発はRX-MEGAではなくて、究極のRX62Nボードのほうで行っています。
このTCP/IPプロトコルスタックは、究極のRX62Nボードで動かすことを念頭において開発しています。たぶんRX-MEGAでもそのまま動くとは思います。PHYのチップが違うので何かあるかもしれませんが、うまく動かないときにはご連絡ください。

最終的には、この軽量TCP/IPプロトコルスタックで見通しのよいプログラムを組んで、Webサーバを作りたいと思っています。

なお、究極のRX62Nボードは、震災の影響でまだRXマイコンが入手できず、生産再開の目処はたっておりません。そこで、初回ロットの製造時に問題が生じた「訳あり品」を修理したもの(念入りなテストをして、動作には問題ないことを確認済み)を、
特価にて放出することにしました。詳しくはこちらをご覧下さい。
赤字覚悟のかなりお得な価格でご提供させていただきます。

また、RX-MEGA基板も在庫があと1台となっています。当面の間、再生産の予定はありません。
品切れ場合はご容赦ください。

| | コメント (2)

2011.09.01

SATAから読みだしたデータをASCII表示

秋葉原で買ってきた新しいHDDをEXPARTAN-6Tにつなぎ、開発中のSATA IPコアを動かします。

Expartansata_2

そして、MITOUJTAGのロジアナをちょっと改良して、ASCII文字で表示できるようにしました。
Hdd_idcode2

そして、DEVICE IDENTYFYというコマンドを送り、帰ってきたデータをASCII表示します。
Hdd_idcode

おおっ、Hitachi HDS721050CLA362という型番が読めるではないですか!
しかもシリアル番号(画面にはぼかしを入れています)も読めています。

それに、このツールはハードディスクの基板が壊れている場合 (BIOSから認識されない場合。電源投入時でエラーステータスが返ってBIOSは何もつながっていないものとみなしてしまった場合)でも、IDCODEが取得できました。

パソコンではどうにもならない壊れたHDDでも何とか動かせるかもしれません。
そういったことも試してみたいと思います。

| | コメント (0)

みえたジェイがALTERA USB Blasterに対応!

FPGAやCPLDがどんなふうに動いているのかを、見てみたくありませんか?
ロジアナのコアを埋め込んで内部の信号を見るのではなくて、I/O端子がどう動いているかを見てみたいと思いませんか?

JTAGを使えば、それができるのです。
でも、最近のALTEARのボードって、JTAGのコネクタが出ていないですよね。

だから、外部のJTAGケーブルが使えない。
使えるのはオンボードのUSB-Blasterのみ。
これでは第三者がJTAGツールを作っても何もできません。

そこで、思い切って「みえたジェイ」をALTERA USB Blasterに対応することにしました!

次の写真を見てください。

Usbblaster2

TerasicのMMKというボードがあります。これにはUSB-Blaster相当の回路と、MAX IIのEPM2210F324Cが乗っています。

みえたジェイにUSB-Blaster対応パッチをインストールすると、ケーブルにUSB Blasterが選択できるようになります。

Mietajub1_2

自動的にJTAGデバイスを検出し、検出されたデバイスのIDCODEが表示されます。
Mietajub2

そして、このようにバウンダリスキャンで端子のH/Lや、入出力の方向がわかるというわけです。しかもこれがチカチカ動いて見えます。
Mietajub3

ピンの状態もこのように一覧表になります。Qualtusの設定ファイルを読み込ませておけば、1つ1つのピンに名前をつけることもできます。
Mietajub4

バウンダリスキャン時の画面を印刷することもできます。Acrobatを入れておけば、画像をPDFにもできます。
「mietaj-usbblaster.pdf」をダウンロード

ALTERAのボードはUSB Blaster内蔵なので、みえたジェイのソフトだけあれば、こんなことまでできてしまうわけです。
「みえたジェイ」は今ならなんと!わずか5000円です。

実際の回路がどう動いているか見えると、デバッグの効率が全然違うものですよ。
ぜひお試しください。

バウンダリスキャンを使わずにFPGAのデバッグをしようなんて、もう考えられません。

「みえたジェイ」のUSB Blaster対応パッチはこちらからダウンロードできます。
 ・みえたジェイの製品紹介ページ

みえたジェイのご購入はこちらから
 ・特電オンラインショップ

| | コメント (0)

« 2011年8月 | トップページ | 2011年10月 »