FC2カウンター FPGAの部屋 2005年07月

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

夏休み自由研究の手伝い5

今日は夏休み自由研究の手伝いの2日目、午前は太陽電池、午後は音の実験。太陽電池は曇りなので、十分に充電できず困った。なので、白熱灯と外の曇りで充電した。白熱灯は約120mAくらい、外の曇りは20mA程度、30分くらい充電したが、それぞれ違う電池で充電して比べたので、データがばらついてしまった。
データ取りはおもちゃの自動車とゲームボーイで行ったが、電流のさほどの差が出ないこともあれば、かなり差が出てしまったこともあった。1つの電池で、白熱灯と外で充電したら、もっといいデータが取れたのだろうが、時間がなくてだめだった。
音の実験は、今日は女子だったが、やはりボイスチェンジャーがうけた。そういえば、逆転再生があったのを思い出し。ohayouを逆に言って、uoyahoと録音して、逆転再生したら、おはようと聞こえた。結構面白い。
  1. 2005年07月31日 13:40 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究の手伝い4

今日は、夏休み自由研究の手伝い1日目だった。パソコンを使って音で遊ぶ実験である。HotWavというソフトを使って、声やリコーダの音を録音して、波形を表示した。また、ボイスチェンジャーで声のピッチを変えた。
中学生に人気だったのは、自分声を録音して、スピーカーから出したことだった。とくに、ボイスチェンジャーで変な声にした時は大うけ。
それだけじゃ、自由研究にならないので、周波数の読み方や、周期の測り方を伝授。でもやはり、ボイスチェンジャーは大人気。
  1. 2005年07月30日 13:42 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究の手伝い3

img_366813_7983438_0.jpg

夏休み自由研究の手伝いの準備が忙しい。いよいよ、今度の土日である。クリスタルイヤフォンの線を切って、蓑虫クリップをつけたり、テキストを印刷したりした。明日は会場の準備である。
音の実験用のノートパソコンの準備も終わった。準備してくれて、Aさんどうもありがとう。本番でもアシスタントよろしく。
日曜日に太陽電池の実験だが、曇りのようである。ライトと扇風機を用意しなければ、ライトを太陽電池に当てると熱くなるので、扇風機で冷やしながら充電の予定。これが、使用する市販の太陽電池充電器。

DDR SDRAMコントローラのシミュレーションも、準備の合間に進める。だいぶ動くようになった。初期化ルーチン、リフレッシュは大体大丈夫そう。後は、ライト、リードのコマンドをFIFOに投入して、動くかどうかを確かめる。
  1. 2005年07月28日 13:43 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

液晶ディスプレイ、その後

昨日、変換コネクタとグラボが来たので、早速パソコンに取り付けてみた。OK。変換コネクタも液晶ディスプレイのコネクタにうまく勘合する。パソコンにグラボをつけ、立ち上げると、出た出た、出ました、BIOS画面。順調にデバドラをインストールして、完了。
やはり、最近の液晶と比べると、画質がいまいちの気がするが、設置スペースも段違いに狭くなり、満足。
いままでのCRTはどうしよう。ハードオフでただで引き取ってくれるかしら?
  1. 2005年07月27日 13:44 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

液晶ディスプレイ

img_366813_7650315_0.jpg

img_366813_7650315_1.jpg

友達がNECのパソコンを捨てるのでいらないかといってきた。調べてみたら、Celeron566だったので、いらないとお断りしたが、液晶ディスプレイは子供用のパソコンのCRTディスプレイがいかれてきているので、ほしいといって、持ってきてもらったら、なんとセントロニクスミニコネクタ20P、えーこんなの聴いてないよ。
でも何とかなるだろうと思ってもらっておいた。調べてみると、どうやらDVI入力しかないらしい。子供パソコンのグラボは、Nvidia RIVA 128という古いもの。当然DVIなど、影も形もない。
せっかく、戴いたので、変換コネクタを探すと、http://www.rakuten.co.jp/sanwadirect/601561/695714/697928/の「DVIアダプタ(DFP-DVI) DFP20pinオスコネクタをDVI24pinオスに変換するアダプタ」を発見。これで変換コネクタはOK。
次に、グラボは、いつものPC工房で、一番安いこれで良いか。。。http://www.pc-koubou.jp/contents/parts/itemdetail.php?gn=141221
でも、440BXってAGPXいくつだっけ?AGPX4入るっけ? 下位互換性があるかどうか忘れた。でも、入らなかったら、新しいほうに入れるからいいや。あわせて5千いくらの出費。まあ良いか。

DDRコントローラのほうも進める。今日は休みだが、この仕事も半分くらいは趣味でもあるので、遅れると家でもやることがある。現在、一応コンパイル通って、プレース アンド ルートしてみたが、問題が発生。
クロックを0度、90度、180度、270度と使っているので、0度のフリップフロップから180度のフリップフロップまでのセットアップ時間は133MHz、7.5nsの半分の3.75nsを満たさなければいけないが、倍くらいある。修正の要あり。

5時からお祭りである。昨日は、とても寒かったので、今日はもっと着ていかなくては。でも、今日のほうが暑いかしら?
  1. 2005年07月24日 13:47 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

お祭り終了

img_366813_7677847_0.jpg

お祭りが終わりました。今帰ってきて、冷茶を飲んで、一息入れた所です。
今年はもちをまいたので、盛り上がりました。
今年でお祭りの委員は終わりですが、来年からは、中学生の神輿に付き添いしなくてはいけないので、そっちのほうが大変そう。他の地区の中学生の神輿も来ているので、すぐにけんかになりそうになるので、抑えるのが大変。終わるとどっと疲れる。
明日は休みを取った。
  1. 2005年07月24日 13:46 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

お祭り一日目終わり

今日はお祭りの一日目。朝7時から。朝が早い。12時30分ころまで、内もみといって、町内を神輿でもみ歩きながら、お払いをして、おひねりをもらう。8時出発だったので、たっぷり4時間30分。腰が痛くなった。といっても神輿をもんでたわけでなく、交通整理などをしていただけだが。それが終わって、午後5時から、夜の渡御(とぎょ)、お神輿で練りあるくことを渡御という。夜10時まで。やっていることは、監視だけなので、暇なのだが、時間がとられる。 FMラジオでも持っていけばよかった。あすは、午後5時からの夜の渡御がある。明日で終わりなので、頑張ろう。
  1. 2005年07月23日 13:55 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

お祭り

img_366813_7354655_0.jpg

img_366813_7354655_1.jpg

この時期になると地元で、お祭りがある。お祭りは小、中学校の夏休みの最初の土日だ。大人の神輿、小学生の神輿、中学生の神輿が出る。写真は隣部落の神社のお祭り準備の様子だ。いろいろ準備が大変である。私も今年は、祭礼委員でこのような格好で神輿の後を付いて行ったりしなければならない。私はお祭りが余り好きじゃないので、ちょっとユウツだが、子供は好きだし、しょうがないか。
  1. 2005年07月20日 13:56 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

MIPSプロセッサの実験

ここ数年、実験のサポートをしてきたが、今度実験内容を変更することになった。
以前はアルテラの10K30で、FPGAにMIPSプロセッサのサブセットを載せる実験だ。といっても命令数8個の本当のサブセットだ。どうしてこんなに命令数が少ないかといえば、二系B〇のある有名なプロセッサ教科書のパイプライン・プロセッサの解説に準拠して作ったからだ。
パイプライン・プロセッサをいれると、10K30ではこれでぎりぎりだというわけもある。プロセッサコアだけでは、外部とのインターフェースが何もないので、RS232C経由のコマンドで、intel hex方式のバイナリ・データをメモリにロードする機能や、レジスタにロードする機能、パイプライン・プロセッサのステータスを読み出す機能、当然プログラムをRUNする機能などを回路でつけてある。
パソコンとはそのRS232C経由で接続する。その制御をするのに、GUIのソフトを用意してある。レジスタの状態を表示するWindowや、メモリの状態をバイナリ、と逆アセンブルして表示するエリア、現在のパイプライン・レジスタの状態を表示するWindowと制御用のボタンがある。
アセンブルしたintel hexのバイナリを制御ソフトでロードし、RUNして、どのように動作するかを観察できるようになっている。
この実験では、ハードはAHDLで書いてあった。AHDLだと、MAX+PULS2で無料でシミュレーションできるからだ。今度これをSpartan3 Starter Kitに載せかえることになった。
AHDLはVHDLに書き換えた。これは、以前から書き換えて、DWMのCycloneボードにも載せてあったので、これをちょこちょこっと変更。
だが、Spartan3だとだいぶハードがあまっていた。レジスタファイルは2入力ポート、1出力ポートおまけにリードよりライト優先という仕様だった。それをメモリで作っていた関係上、今までは時分割処理していたが、Spartan3の分散メモリで実装すると1クロックで収まるようになった。その代わり、リソースを食うようになってしまったが。。。
1クロック動作になった分、シミュレーションがわかりやすくなったので、学生にModelSimで、シミュレーションをしてもらうことにした。その場合、プログラムが入っていないと、シミュレーションできない。なので、Rubyを使って、VHDLファイルの分散RAMのINITにプログラムを書き込んでから、シミュレーションできるようになった。
これで、実験の準備は大体出来上がったが、今度はSpartan3 Starter Kitを学生に貸し出して、家でも出来るようにするので、その資料作製などの準備とかが忙しくなりそう。
  1. 2005年07月18日 07:20 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究の手伝い2

夏休み自由研究の手伝い企画の担当テーマのもう1つは音の振動です。
Hot Wavというソフトを使用して、自分の音声や楽器などの音の波形を観察するテーマです。
http://www.vector.co.jp/soft/win95/art/se046730.html
このソフトは、マイクをつかって、自分の音声や音を録音して、波形表示したり、録音した音声を再び出力することが出来ます。
母音のピッチも計測できるので、自分のと他人のピッチを比べたりすることができます。
ボイスチェンジャー機能もあるので、音を変えてみたりとか出来ます。
選択した波形の音だけを出す機能もあるので、”か”を録音して、子音を切り取って母音だけにし、”あ”だけにすることも出来ます。
大変便利なソフトです。
正直、太陽電池よりこっちのほうが楽しい。
遠い昔に卒論でこの辺をやってからかもしれないが。。。
  1. 2005年07月15日 13:49 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

夏休み自由研究のお手伝い

今度、うちの職場では中学生に夏休み自由研究のお手伝いをするという企画をする。
私の担当は太陽電池の実験と音声などの音の振動を見る実験だ。
太陽電池の実験は中学生対象にどんな風にやろうかと考えたが、多分テスターも家にはないだろうから、太陽電池をつないで単3充電池に一定時間充電する。その電池でおもちゃがどの位の時間動くかを太陽電池の起電力の評価値とすることにした。
ニッケル水素電池をつかったが、充電するごとに電圧があがって、電流が減る。非直線性があるわけだが、充電時間を短くして、非直線性は無視することにした。
企画では、日向と日陰で比べたが、当たり前だが、顕著な差がでた。
充電する前は、完全放電したが、回復するし、余り定量的な測定は出来ない。
でも、去年やってみると十分だった様だ。まず、中学2年生は、電流、電圧を授業でやっているが、1年生はやっていない。共通のレベルとしては、このくらいの評価方法しかないかも。
なんかいい方法があったら教えてほしい。
あんまり、詳しく書いていると身元がばればれかしら。でもいいか。別に恥ずかしいこと書いているわけじゃないから。
現在やっているDDR SDRAMコントローラなどのFPGAの仕事と別の仕事だから、FPGAの仕事もしなければ、そっちの上司(教授)にも顔向けできないし。忙しそう。
職場の仲間には、同じようなことやっている人がほとんどいないし、FPGAの話が出来る人を増やすためにも、FPGAを広めたいと思う。
  1. 2005年07月14日 13:50 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

胃腸炎になってしまいました

7月11日(月)の早朝に下痢と嘔吐が始まって、その日の朝までに7,8回トイレに行ってしまいました。
熱も出て、とても苦しかったです。
その日に医者に行ったら、ノロウイルスかもしれないとのこと。ノロウイルスだとしてもウイルス性の胃腸炎ということみたいです。
いままでの胃腸に来る風邪ということみたいですが、とてもきつかった。抵抗力の衰えているご老人がお亡くなりになる理由もわかると思いました。
やっと、3日目でやっと良くなって来ましたが、まだ食事をすると胃がもたれています。
3日間も仕事休んじゃったので、明日から頑張らないと。
でも、明日は会議があるので、時間がもったいない、サボってしまおうか。
  1. 2005年07月13日 13:51 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

DDR SDRAMコントローラ作製予定

仕事の関係でDDR SDRAMコントローラを作ることになった。とりあえずDDR266を目指す。DDR333まで、DDR400になるとDRAMの電圧が2.6Vになるのでとりあえずパス。デバイスはXilinxのVirtex2pro。
以前SDRAMコントローラを作ったがこのときのやり方では、だめ。
DDR266となると、動作周波数133MHzなので、一周期7.5ns。
DDRはクロックの半分ずつでデータサンプルするので、3.75ns。これだと、FPGAのIOBのフリップフロップのセットアップタイム、基板の配線遅延を考えるととてもコントローラ側のクロックではDDR SDRAMのリードデータはサンプルできない。
それで、基板の配線遅延とセットアップタイムを換算した最適の位置にサンプリングポイントを移せないかと考えた。DQSをサンプルして、クロックの立ち上がりで1をサンプルできれば良いから、DCMの動的位相シフトを利用してクロックをシフトしていって、1になる位置と0になる位置を測定して、その中間にすれば良いじゃないか?(われながらいい考え!!)
もしかしてと思って、アプリケーションノート見ると、XAPP268動的位相調整を発見。なんだもうあるじゃないですか。
ちょっとがっかりしながら、ソースを見ると、なんと動作周波数が高い。DDR266ではある理由からだめ。
それで、自分で作り直す。
出来ました、ちゃんと、シミュレーションではDQSの真ん中まで、クロックシフトしてます。
これからDDR SDRAMコントローラ本体をある程度まででっち上げて、テストしなくちゃ。
なにしろ、DDRを初期化してから、同期取れるまでreadコマンド送らないといけないから。
回路を作らないと実機でテストできない。
希望があればソースを公開してもいいかな。でも、使う人いないでしょう。
それに、まだアンサーサーチを見ていると、不安な面があるから、実機でクリアしないとだめだ。
  1. 2005年07月03日 13:06 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0