GPUとI2Cについての雑記

2009 年 7 月 2 日

アイデアふくらましてます。

今日は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

はいはいこれからのことですね

2009 年 7 月 1 日

さーてと、とりあえず、レスキューロボはホントに数時間あればできそうだ。基本は今までの回路に若干の変更を加えるだけ。

で、肝心のFPGAの方。とりあえず必要なIPコア列挙

NiosII ーあり

SRAM I/F ーあり

SDRAM I/F ーあり

NAND Flash I/F ーあり

I2C I/F ーあり

USART I/F ーあり

Timer ーあり

CMOS Camera I/F ーあるわけ無い。けどある可能性も若干。ITU565ならOK

PSP LCD Controller ーあるわけ無いww

PSP LCD GPU ーあったら作った人と一夜しゃべり通せそうww

ってことで、基板を作った後もお仕事は残ってるって訳です。しかもこれを冬休みまでに、、、

で、もちろん使うのはCycloneIII。前はCycloneIIにする予定だったんですが、ロジック数的にCycloneIIIの方がいいですね。Exposed Padであることは除いてww

ほんとにこんなことして僕って暇人ですねww

もちろん夏休みはFPGAに捧げます。

周りは東大行くとか京大行くとか阪大行くとか、、、そのために夏期講習どうしようとか、、、

俺も焦るべき?(今現在高一、高三になっても塾行く気はナシ)

担任の一言

「君の人生の目標が物作りなら高三でもロボ作れ」

もちろん☆やりますとも。しかも命令形ですかww

で、大学どこいこーか

1:マサチューセッツ工科大学 ーどうやっていくんですか?

2:チューリッヒ工科大学 ーどうやっていくんですか?

3:東京大学 ー今から本気で勉強すれば、、、でもそんなのむりっすww

4:東京工業大学 ーたぶんぎりぎりライン。

5:筑波大学 ー現実的ライン。ってか電気系の研究室多いし良いです

6:東京農工大学 ーここも同じく電気系の研究室多し

え?なんで京都と大阪がないかって(ちなみに私大阪在住)。ここ大切↓

名前で大学決めてんじゃねーよ。何を研究したいかで決めろよ!!

周りの奴らに一番言いたい言葉ww

大阪とか京都で僕がやりたい研究してるとこってあんまり無いです。はい。

たぶん筑波の工学システムぐらいかな。今の学力ならww

っと、高校生になるといろいろ考えないとだめで疲れるんですよ。そういえば、昔、いつも疲れた疲れた言ってた先輩がいたけどその先輩の気持ちが今ヒジョーに良くわかりますww

予定変更

2009 年 6 月 30 日

久しぶりです。生きてます。

とりあえずレスキューにします。

理由↓

金無い(改めて計算するととても三人で払えないww電子回路担当の僕としては惜しみなく使いますからねーww)

Cortex死亡フラグ

中一に電子回路のことを教えるのが俺しかいない

むしろFPGA修行の旅に出たい

大学ロボコンがんばるためにもうそろそろまともに勉強したい(受験勉強ですか)

はい。それ以上でも以下でもありません。

ってことで、AVRでちゃっちゃとレスキューロボ作って、ライントレース神プログラムをSpiralRayにつくってもらって今年は終わりです。で、来年は勉強するので、来年のロボカップは一週間でFPGAのコアと基板作って後輩に渡しますww

また、Blackfin画像解析も永久凍結。その代わりにNiosIIでやると思います。だってだってー、Blackfinはチップいろいろのせないとだめだし、書き込みめんどいし、、、、で、FPGAなら安くてワンチップ♪

いやーホントにFPGAは夢がふくらみます。SOPC Bulderをいじるたびにアイデアがまた一つ、また一つ、、、

ってことで、基板設計がんばります。

Alteraは俺に勇気と希望をくれた

2009 年 6 月 27 日

昨日ブログにテキトーに書いたことが実現しました。SOPC Buildereをこそこそいじってたらなんかコアがもうできてしまいましたww

Alteraすげえよ

なんでクリックだけでCPUができんだよww

今日、Cortexが絶望的な状況になって、戦意喪失してるときにこそこそやってある程度気力回復。

あーあ、もうARM WorldなんかやめてAltera World構築しようかなーww

でも、ロボカップのロボ製作が一段落したら後輩と一緒にFPGA修行の旅に出てくると思います。

さ、さっさとロボ作ってFPGAにあけくれよ。

もう信じられる物は何もないww

2009 年 6 月 26 日

ども、

テンション下がりまくりです。

なぜか、

なんで書き込みはできるのに通信できないんだよ!!

どういうことか。早速DWについてたCortex基板にプログラムを書いたんですけど、その書いたプログラムがちゃんと動かない。しかも、そのプログラムというのがUSART1の通信テストプログラムなんです。ちなみに、書き込みはUSART1ですよ。あれ?なんかおかしいですねww

まったくもう、H8に戻るとかいやですよ。でもどうすればいいのかなー

I2Cが入ってて25MHz以上ならどんなマイコンでもいいんです。でも、それで使えそうなのがなかなか見つからない。

一つ、素晴らしいけど難しい方法

FPGAにエミュレート♪

Cortex-M0でもNiosIIでも選んで、SIMD拡張命令追加で高速化。ほんで、どうせ必要なのはI2CぐらいなんでI2CとAvalon-BusをつなぐIPコアを一緒にいれとけば完成。

つまり内部は

CPU(Cortex-M0 or NiosII)

メモリ用バス

I2C I/F

このコアを作るのはSoPC Bulderなんでドラッグアンドドロップするだけ。しかーし、内部のプログラムに関する資料があまりないっていうのがちょっと困ります。

さーて、本気でどうしようか。ま、ここを何とかするのがハードウェア設計者なんですけどねww

やっぱ売り物は100倍違う

2009 年 6 月 24 日

はい、今日なんとかCortexの書き込みに成功しました。

っといっても、DWについてたやつですし、USART書き込みです。なぜか、今まで何回やっても無理で、今日、なぜかできました。まあよかったww

で、その横ではIFの付録基板であるLPC2388基板は一発USART書き込みに成功ww

しかーし、自作のCortex基板はなぜかUSART書き込みできず。ブートローダが飛んだかな、、、JTAGで調べてみます。

これでわかったこと。やっぱ売り物は信頼性が違う

ホントすごいと思います。こういうのを作ってる会社のエンジニアってどんな感じでプロジェクト進めてるのかな、、、

QuadroがShadeの推奨モデルへ

2009 年 6 月 23 日

この日を待ってました。ついにQuadroがShadeの推奨モデルとなりました。

どういうことか

Quadroってのはワークステーション向けのGPUです。何がすごいかというと、GeForceよりも並列化率が高く、OpenGL完全対応ってことです。

で、もちろんShadeはOpenGLです。おおー。ShadeのOpenGL機能がフルに使えるわけですね。

特にハードウェアレンダリングなんかに効果を発揮するようです。そういえば、ハードウェアレンダリング効かなくてうざかったなーww

しかも、テクスチャの処理能力も上がったとか。ワイヤフレーム上にテクスチャ270枚を貼り付けていじめても最大15.3fps

お金貯めて買います。

やった、できた x2

2009 年 6 月 22 日

できました。

まずはくだらない競争心が生み出した産物。その名も

電子回路設計入門

まあ、どこかの「解析入門」をぱくったようだと言われても無理ないですけど、、、

これです→book1。もし間違いなんかがあればご一報お願いします。

ちなみに、これは、後輩育成の教科書として書いた物です。そのためか、言葉遣いが若干ネタなとこもありますが気にせずにww

また、図とかは付けてません。横の空白に黒板で書いた図を書かせようと思っています。もし、図がほしいという方がおられるならメールに一言ください。いつでも待ってますww

それと、LPC2136の基板ができました。まさかの二時間で作り上げました。

lpc

しかも、30 x 35 mmという驚異のカワイさww

Cortexが無理ならこいつが主力となるわけです。

ってことで今日はかなり疲れた。さ、寝よか。

さらばCortex,そしてLPC

2009 年 6 月 21 日

何回やってもJTAG無理、無理、無理。

どうなっているんだ。

JTAGが動かない→Cortexが動かない→コミケが、、、&サッカーロボが、、、

というスパイラルへww

そこで、この状況を打破&さらにローコストにすむ方法

NXPのARMマイコンであるLPCシリーズを使おう

これしか解決策はありません。幸い、IFの付録基板が二枚あるので、早速明日実験します。ちなみに、こいつはISPによるUART書き込みです。

開発環境もGNU-ARMで何とか構築できます。

で、動作が確認できたなら、コミケ&サッカーロボはLPCですむと言うことです。しかも、LPCは1000円台とお手頃価格ですし。

さーて、ARM World再構築、、、

やっぱtexだよ

2009 年 6 月 20 日

なぜかtexがうごきませんでした。

今日一日もがいてました。

それで、先輩help

ちゃんと直りました。

先輩ありがとうございます!!

で、いまじゃんじゃん書いてます。やっぱWordとは格が違いますね。

今日の夜と、明日一日ずっとこれに費やすつもりなので、明日の夜、成果をお楽しみにww