汎用データ交換コアを作りたい
特電Spartan-6ボードには、USB2.0とDDR2 SDRAMが搭載されています。
これらにアクセスするためのコアは公開してはいるのですが、マニュアル等も十分ではないので、使いやすいとはいえない状況でした。これらのコアを使うためのマニュアルを整備するのも良いのですが、それよりも作りたいものがあります。
それは、汎用データ交換コアです。
特電Spartan-6ボードや、特電PCI Express評価ボードのハードウェアは概ね次のような構造になっています。

つまり、PCIeやUSBといった通信手段と、DDR2 SDRAMといった記憶手段があって、データ入力ポートとデータ出力ポートがあります。
多くのFPGAアプリケーションは、大まかにいって、これらの4つのポート間でデータをやりとりするものです。
最初のパターンは、データ取り込み装置。

入力ポートにつながるのは、CMOSイメージセンサだったり、ADコンバータだったり、いろいろな計測器からの信号だったりします。放射線計測というのもあるでしょう。
こういった信号をFPGAで取り込んでパソコンに送るのが、データ収集装置です。データ収集装に求められる機能は、取りんだデータをUSBやPCIeのバスへ直接送るのではなく、いったん、システム内のメモリに蓄えることです。
なぜなら、USBやPCIeの速度は一定ではないし、計測の速度やサンプリング間隔はUSBやPCIeのそれとは一致しないのが常だからです。
つまり、入力ポートからのデータをいったん蓄えて、パソコンに送る。そのときのタイミング調整をうまくやってくれることがFPGAに望まれます。
次のパターンは、データ出力装置。

出力ポートにつながるのは、ディスプレイだったり、DAコンバータだったり、計測制御機器だったりします。
パソコンからUSBやPCIeを使ってSDRAMにデータを送り込み、それを1回、あるいは周期的に出力するというわけです。
大事なことは、SDRAM→出力ポートというパスを最優先すること。そうしないと、出力する画像が乱れてしまうでしょう。
最後のパターンは、データ加工装置。

例えば、カメラとディスプレイの間のフレームレートの変換などの応用が考えられます。
このように、FPGAと通信手段、メモリ、入出力ポートを備えたシステムの応用例は、突き詰めて考えれば、これら4つのポート間でのデータ交換方法に帰着できると思われます。
だから、この4つのポート間で想定される、あらゆるタイプのデータ交換に対応したコアを作ろうと思ったわけです。
| 固定リンク


コメント
なんかDM35x系列のARMとDSPなしバージョンに見えます。
投稿: elijah | 2009.12.30 09:59
elijahさんあけましておめでとうございます
DM35xというと、TIのこういうやつですか?
http://focus.tij.co.jp/jp/general/docs/gencontent.tsp?contentId=33519
投稿: なひたふ | 2010.01.04 13:10
内藤さんはキライですがコメントしてあげます。
汎用4方向データチェンジャ-なんて需要ありません。
データの密度(速度と量)に大差があるものを一緒くたに扱うようなシステムは確実に頓挫します。
頓挫しない為には、相当な能力のコンピュータが使われている筈で、複数ソースとのデータ転送のマクロ的タイミング調整はコンピュータにやらせるのが確実です。コンピュータにとっては10万時間後と3秒毎と一つのプログラムで扱うことに何の問題もありませんが、ハードでやれば
3秒の制度で10万時間の耐久力が要求されます。
先生のプランでFPGA内にプロセッサを含めるのであれば画期的な事かもしれません。
その場合そのプロセッサが使うメモリの世話をどするかが見ものです。
投稿: まゆちゃん | 2010.01.05 12:15
>内藤さんはキライですがコメントしてあげます。
面白いコメントありがとうございます。
何か目指している方向が違うような気がしますが、
ところで、どうして嫌われてしまったのでしょうか。残念です。何かうちの製品か記事の内容に問題でもございましたか?
投稿: なひたふ | 2010.01.05 12:22
内藤さん あけましておめでとうございます。
ご推察のとおりTMS320 DM355を想像しました。
カメラを接続だと画像処理部がほしいかなと思います。
投稿: elijah | 2010.01.05 12:47
はい、カメラをつなげるアプリケーションを意識しています。
今までに似たようなUSB接続のCMOSカメラシステムを何台設計してきたことか・・。
USBの転送やDDR2メモリとのやりとりのような、どのシステムでもだいたい同じようになる部分を部品として提供し、ユーザは画像処理のようなアプリケーションに特化した部分に注力できるようにしたいというのが狙いです。
投稿: なひたふ | 2010.01.05 13:50