アイデアふくらましてます。
今日はGPUについて。
具体的にどうするか。画面データ(ビットマップ形式)を送らず、数値情報(主にベクトル)を解析して画面に出力させます。
まずそのために必要なメモリ。
画面用SRAM4Mbit
演算、データ蓄積用SDRAM
ここで、後者をSDRAMにしたのはただ単に安いからです。IPはいくらでもありますし、そこまで速度が必要というわけでもないので。
で、まずは、SDRAMからのデータを引っ張りまくる→アクセラレータで演算して、その結果をSDRAMに保存→ある程度貯まったらSRAMに放出。で、画面更新完了。この更新速度なんかは全てコマンドで操作できるようにする。つもりです。
描画コマンドは、文字生成&サイズ指定&その場所、ウィンドウ生成、図形データを直入力、レイヤー合成、、、ぐらいを考え中。
いやー、大変そうですけどおもしろそうですよね。僕はただ単にFPGAとVerilogで遊びたいだけです(遊びの範囲を超えてるような、、、)。
で、もちろんSOPC Builderで使えるようAvalon-Busに対応させます。
ほら、マイコン+FPGAになるはずだった物がFPGA一つに♪。しかも小型化&バスの速度というボトルネック解消ww
それと、オリジナルのI2C I/Fについて。
ピンは、CK,IN-DATA[0..6],Adress[0..6],OUT-DATA[0..6]にしようと思います。で、ACK取得は無視or自動化。CKは常にいれます。Adressに値をいれてるときにそのアドレスのデバイスと通信。IN-DATAでレジスタ値入力→OUT-DATAからスレーブからのデータがざくざく出てくる。
っとうまくいくように作ります。(正直、I2CなどシリアルインターフェースはFPGAの苦手中の苦手分野なんですけどね。低速だし、使う物なんで一応作ります)
いやー口で言うのってホントに簡単ですねww