fpga

FPGAのおすすめ教材

ここ最近のエントリを見て、モテたくてFPGAを触りたくなったという人もいるだろうと思います。 ただ、FPGAを触るといっても、どこから始めればいいのか、何を買えばいいかわからない人も多いのではないでしょうか。 そこで、FPGAを触るために用意するもので…

FPGAチップが今後バカみたいに安くなるかもしれない話

ふと、今後5年でFPGAはバカみたいに安くなってくるかもしれないと思ったので、まとめておきます。 ただし、材料はブログで見た話とか人に聞いた話とかで、しかもそれをいいように解釈しての話なので、妄想レベルであることを最初に断っておきます。 用語とし…

CPU、GPU、DSP、そしてFPGA

前のエントリでのコメントへの返信として書いたものを、エントリとしてもあげておきます。 それぞれのデバイスの使い分けのイメージです。 タイトルこそあおってますが、実際にCPUが完全に駆逐されるとは思っておらず、少なくともアプリケーションに関しては…

CPUはオワコン

FPGAでCPUを組んでると、フェッチ部やデコーダ部で足し算や掛け算をしようとして、そんなことしたらCPUの意味ないなーと思ってしまうことがありました。 で、よく考えたら、FPGAでロジックを組むならCPUの意味はないんです。 だいたい、ひとつの処理実行する…

FPGAとArduinoとRasberryPIの違いと、FPGAを勉強する理由

はたから見てると、FPGAとArduinoとRasberry PIって、なんか小さくてデバイス挿して使ってて似たもののように見えるかもしれません。 そんな中、どこが違うの?って思ってる人もいるかと思ったので、それぞれの違いと、そしてそこから得られる技術者としての…

A/DコンバータをAvalonバスでCプログラムから読んで温度を計る

AlteraのFPGA開発環境には、Nios IIというFPGA組み込み用のCPUライブラリ(FPGAの世界ではIPというらしい)がついていて、このプロセッサをベースとしてCのプログラムが動かせるようになってる。 そこにSDRAMコントローラのIPやLCDコントローラのIPなどを組み…

8bit CPUの命令長設定

今回のCPUでは、デコード時に命令長を確定させないといけないのだけど、その処理を書いてなかった。 DE0で8bit CPUのデコーダを動かす で、すでに非常に大きなcase文ができあがってて、そこにちくちくと命令長を設定していくのは非常に面倒だしミスも多そう…

DE0で回転処理をやってみる

FPGAでの計算処理をやってみたかったので、画面の回転処理をやってみました。 最初、小数点以下6bitでやったんだけど、ちょっとカクカクするので、小数点以下を7bitとってみたらだいぶスムーズに。けど、やっぱ8bit欲しいなー

DE0で8bit CPUのデコーダを動かす

日曜日にデコーダが動いてたのだけど、動画をとるのがめんどくてブログかいてなかった。 とりあえず、ここで書いた、デコード後の内部命令がLCDに表示される。 ぼくのかんがえたさいきょうのCPU 〜 仕様確定 はっきりいって、命令にバイト数をつかえてきれい…

ぼくのかんがえたさいきょうのCPU 〜 仕様確定

デコーダのコードを書きながら、実装がめんどうなところなどを修正していきました。 0(0000) 1(0001) 2(0010) 3(0011) 4(0100) 5(0101) 6(0110) 7(0111) 0 NOP LD BC,n'n LD (BC),A INC BC INC B DEC B LD B,n RLCA 10 HALT LD DE,n'n LD (DE),A INC DE INC …

ぼくのかんがえたさいきょうのCPU 〜 実行フェーズとオペランド読込み

Z80/8080をベースにしたオリジナルのCPUを考えています。 http://d.hatena.ne.jp/nowokay/20130121#1358765504 これを、次のようなコードに分解するわけです。 http://d.hatena.ne.jp/nowokay/20130122#1358829249 ここで、実行フェーズとメモリ読み込みをど…

DE0でFPGAによるVGA出力

DE0でVGA出力するのに、わざわざパソコンにつないでるディスプレイをつなぎかえたりするのも面倒なので、ディスプレイ欲しいなーと思ってた。 で、うっかりモバイル液晶ディスプレイを買ってしまったので、VGA出力してみた。 買ったのはこのディスプレイ。 …

ぼくのかんがえたさいきょうのCPU 〜 内部コード

さて、CPUの命令コードができたので、デコードしたときの内部コードを考えてみます。 フェッチした命令コードは、こんな感じの62bitのコードにデコードします。 4bit 1bit 1bit 1bit 3bit 16bit 16bit 4bit 16bit 操作 8/16bit 出力有無 オペランド2バイト目…

ぼくのかんがえたさいきょうのCPU 〜 命令表

FPGAをさわってたら、なんかパイプラインとかキャッシュとか複合命令を考えなければCPUつくるのはそんなに難しくないなーと思い始めて、いろいろぽわわ〜んとなって仕事が手につかないので、とりあえず命令表をまとめてみた。 DE0のFPGA内蔵RAMを前提にする…

DE0にLCDを半田づけしてFPGAで制御する

DE0の拡張キットにLCDがついていて、これ使えばいろいろ表示できるかなぽわわ〜んと気になっていたので、半田づけしてきた。 とはいえ、半田ごてとか持ってないし、そもそも半田づけするようなスペースの余裕はないので、今回も「博多図工室」で場所と道具を…

DE0でFPGAのチップ内蔵RAMにアクセスする

RAMがほしい。 regを使ってRAMを作れないことはないんだけど、それだとロジックセルのフリップフロップを使ったRAMになって、せっかくチップに64KB近いRAMが載っているのがもったいない。 8MバイトのSDRAMもあるのだけど、これは扱うのはちょっとめんどくさ…

DE0でFPGAからSDカードにアクセスする

なんとなく調べてたら、SDカードのアクセスにはめんどくさいモードとめんどくさくないモードがあって、めんどくさくないモードのSPIというのを使うと楽だよって書いてあったので試してみたら、SDカードの初期化まですんなり動いた。 初期化といっても、SDカ…

DE0拡張キットのDAコンバータのサンプルのミスなど

あけましておめでとうございます。 年末からずっとDE0をさわってて、やっとVerilogのコードを書くのには不自由しなくなりました。 で、いまはソリトンの拡張キットに入ってたDAコンバータで遊んでるのだけど、ちょっと困ったことがあったのでまとめておきま…

FPGAで遊ぶとたのしかった

FPGAをずっと触ってみたかったんだけど、いろいろ準備するのがなーと思いつつ、本だけ買っていたのだけど、kazunori_279さんがFPGAで音をだしたりしてて、入門書というのがぼくが買った本と同じだったので、同じ学習キットを買ってみた。 「AlteraDE0 開発・…