« 今年もありがとうございました | トップページ | SP6ボード・リファレンスデザインの更新 »

2010.01.04

あけましておめでとうございます

皆様、あけましておめでとうございます

年末から今にかけ、データ転送コアの開発を行っていました。
といっても、本来の目的である4方向のデータ交換まではまだ到達せず、
EZ-USB FX2とFPGA内でのデータ転送でハマってしまっていました。

いまあるSP6ボードのサンプルデザインでは、EZ-USB FX2とFPGAはともにUSBのクロック(48MHz)で動かすような仕様になっています。しかし、これは使いやすいとはいえません。なぜなら、FPGAの中のユーザロジックは任意の速度で動かしたいわけです。

USBとユーザロジックというクロックドメインの異なる回路間でデータを受け渡しするには、非同期回路のテクニックが必要になります。

ISE11.4のCoreGeneratorにはFIFO Generatorが内蔵されていて、いろんなFIFOを作ってくれます。その中に非同期FIFOもあるのですが、これを使ったのがハマりの源でした。
FIFOの出力であるEMPTYやFULLといったフラグ、それから残量値の出るタイミングが、正直言ってよくわからないのです。どちらかのクロックに同期しているのか、それとも両方のクロックがきた後に更新されるのか。

ハマりにハマってようやく動くようになってきました。でもまだ完璧ではないので、ユーザ側のロジックのクロックは12.5MHz以上ないとうまくいきません。
ともかく、今日か明日には、ドキュメント付きでEZ-USB FX2の汎用FPGAインタフェース回路を公開できるようにしたいと思います。

今年もよろしくお願いします。

|

« 今年もありがとうございました | トップページ | SP6ボード・リファレンスデザインの更新 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 今年もありがとうございました | トップページ | SP6ボード・リファレンスデザインの更新 »