電子工作に興味がわきました。
そもそもの発端は
名著「CPUの創りかた」を読んだからです。
http://www.amazon.co.jp/dp/4839909865
本に従い、ロジックICを買ってきて組み立てようかと誘惑に駆られたのですが、
作ってそこで終わりな気がしたので、ちょっと方向を変えることにし、
以前から気になっていたFPGAに手を出すことにしました。
参考にしたサイトは
触って学ぼう FPGA開発入門です。
非常にわかりやすいです。
ちなみに、同じ著者の「【実践】C言語による組込みプログラミングスタートブック」も買ってはみたものの、Cでロジックを書く意味が見いだせず、こちらはお蔵入りとなりました。
上記サイトにて使用されているEDX-002を購入し、サイトの記述に従って
実際にやってみました。
わからないことはいろいろありますが、まずはLED制御がなんとなくできるようになりました。
わかった気になったので、CPUをつくることにしました。
アーキテクチャは「CPUの~」の設計(TD4)をそのままつかわせてもらいました。
命令セットが見事です。
で、ごにょごにょやっていると、なんとなく動くものができました。
まだバグがあり、
・入力ポートが動かないっぽい
・クロックが適当
という不具合があるものの、
プログラムが動き、LEDが点滅しました。
すばらしい。
ソースは公開しておきますか。
https://subversion.assembla.com/svn/yosinori_public/trunk/fpga/spartan2/cpu1/
cpu.vがソース。たったの187行。
FPGAって楽だなぁ。
ハードのことがわからない人間がFPGAの知識もほぼない状態で
CPUを作るとこんな感じになる、というモデルケースの一つとして参考にしてください。
次なるステップは
・実用的なCPUを作る(設計も自分流に)
・既存のIPコア、picoblaze or pacoblazeを試す
・シリアル通信などのハード制御をしてみる。
あたりですかね。
ゆくゆくはdis VMをハードウェア化したプロセッサを作ればな、
などと考えてはいますが、
disの命令セットが一筋縄では実装できなさそう。
forkとかあるみたいだし。
2010年12月24日金曜日
2010年12月12日日曜日
Inferno 関連書籍
書籍をいくつか購入したのでまとめ。
こうして見ると結構ある。
Principles of Operating Systems: Design & Applications
http://www.amazon.co.jp/Principles-Operating-Systems-Design-Applications/dp/1418837695
OSについての教科書。じっくり読む価値があると思う。
Inferno Programming with Limbo
http://www.amazon.co.jp/Inferno-Programming-Limbo-Phillip-Stanley-Marbell/dp/0470843527
Inferno 3rdの時の本だが有用とのこと。
4thでの変更に注意しながら読む必要がある。
差分がまとまっている所は見つけられなかったので、自分で作ろうかな。
Inferno (Operating System)
http://www.amazon.co.jp/Inferno-Operating-System-Frederic-Miller/dp/6130282990
Wikipediaの記述をまとめただけという驚きの本。やられた。
Limbo (Programming Language)
(画像なし)
http://www.amazon.co.jp/Limbo-Programming-Language-Lambert-Surhone/dp/6133174110
こちらも、wikipediaの記述をまとめたもの。
嫌な予感はしたが、的中。
〜〜〜以下、購入できず。〜〜〜
Inferno Programmer's Manual
(画像なし)
http://www.amazon.co.jp/gp/product/0953870103
The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System
http://www.amazon.co.jp/Inferno-Programming-Book-Introduction-Distributed/dp/0470849711
こうして見ると結構ある。
Principles of Operating Systems: Design & Applications
http://www.amazon.co.jp/Principles-Operating-Systems-Design-Applications/dp/1418837695
OSについての教科書。じっくり読む価値があると思う。
Inferno Programming with Limbo
http://www.amazon.co.jp/Inferno-Programming-Limbo-Phillip-Stanley-Marbell/dp/0470843527
Inferno 3rdの時の本だが有用とのこと。
4thでの変更に注意しながら読む必要がある。
差分がまとまっている所は見つけられなかったので、自分で作ろうかな。
Inferno (Operating System)
http://www.amazon.co.jp/Inferno-Operating-System-Frederic-Miller/dp/6130282990
Wikipediaの記述をまとめただけという驚きの本。やられた。
Limbo (Programming Language)
(画像なし)
http://www.amazon.co.jp/Limbo-Programming-Language-Lambert-Surhone/dp/6133174110
こちらも、wikipediaの記述をまとめたもの。
嫌な予感はしたが、的中。
〜〜〜以下、購入できず。〜〜〜
Inferno Programmer's Manual
(画像なし)
http://www.amazon.co.jp/gp/product/0953870103
The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System
http://www.amazon.co.jp/Inferno-Programming-Book-Introduction-Distributed/dp/0470849711
登録:
投稿 (Atom)