<= English page is in 'How to make a computer' tag
はじめに
ここは夏休みの工作のような感覚でコンピュータを手作りするサイトです。
更新情報
2024年05月、Ver 5.0:
CPU, FPUのClock Speed を25Mhzから33.75Mhzに高速化
H/W, S/W デバッグアシストボードを作成し、拡張コネクター経由で接続
自作コンピュータといえば、パソコンメーカーのコスト重視の仕様に満足しない人たちが、マザーボード、CPU、メモリ、ビデオカード等々の主要部品を、自分の好みに合うものを選び抜いて組み上げたパソコンを指すのが一般的で、それはそれで楽しいものですが、ここでいう自作とは、CPUコアの回路設計から始め、ディスプレイアダプター、表示フォント、キーボードインターフェース、さらには基本的なソフトウェアライブラリも、全て一から設計することをさしています。
昨今のマイクロプロセッサは非常に複雑になり、それらを基に個人が何かを手作りできるレベルといえば、ハードウエア、ソフトウエア共に完成モジュールの組み合わせが精一杯で、具体的には主要部品の選択、統合といったことが、個人的に可能な”手作り” の内容になっており、またそういったことでも最適化するには専門知識が必要とされる時代になっています。
このように既存の高機能プロセッサをベースに考えると、ハードウエア自作派にとっての自由度は狭まっていますが、回路の自作という観点では、幸いにも半導体テクノロジーと回路設計環境の進化は、FPGA (Field Programmable Gate Array、パソコンから何度でも回路書き込みが可能なLSI) という形で、個人レベルにも飛躍的な自由度の拡大をもたらしてくれています。 回路規模としては数千万ゲート規模のFPGAまで価格の点も含めて選択肢が広がり、設計ツールもその規模の回路設計を可能とする高機能なものが無償もしくは低価格で手に入るようになったので、根気とセンスさえあれば、個人でも一昔前には想像もできなかったような高機能なシステムが設計可能な時代になっています。
ここでは、それらの素材を試してみたいと思われる方々のご参考になるかもしれない情報を共有します。
ここで公開する情報は、個人的に趣味で設計したもので、製品レベルの品質は実装しておりません。 設計でいえば、エラーリカバリや例外処理、検証でいえばコーナーケースに当たるような細かなケースの動作確認はしておらず、それらは必要になった段階で補強する、という割り切りです。 そのことを理解されて趣味でお使いいただく分には、内容の変更含め、ご自由にお使いいただいて結構です。 もし機能拡張された場合には、それらを共有いただければ幸いです。
読者の想定は理系の大学生で、用語の説明はその前提ですが、表現内容には言葉足らずの部分が多いかと思います。興味を持っていただけて、分かりにくいという部分は、メールをいただければ幸いです。
メールアドレスはPDFファイルの表紙にあります。
“コンピュータ ってどのように動いているんだろう?”
“コンピュータを設計してみたい。”
”FPGAを試してみたい。”
といった素朴な興味や夢を持たれている方々の参考になれば幸いです。
システム構成(気の向くままに拡張の可能性あり)
全てFPGAにて実現、CPUは情報処理試験で使用されている架空のCPUであるCOMET-II と命令セット互換にすることで、世の中に多く出回っているアセンブラ他のソフトウエア開発環境を使用可能にしている。
CPUコア x4(Quad Core, COMET-II互換)
クロック周波数:33.75MHz
4 クロック/命令
8.44 MIPS
FPU x4 (単精度浮動小数点演算器、IEEE745互換)
IRQ & Hardware Timer x4
ディスプレイアダプタ (VGAレベル解像度、キャラクターモード & グラフィックモード)
キーボードインターフェース (IBM PS2キーボード互換)
添付のpdf ファイルは システム全体の説明資料、zip ファイルは ISE(ザイリンクス社のFPGA設計ソフト)上のプロジェクトファイル、casファイルはアセンブラのサンプルコードのソース、mp4 ファイルはサンプルプログラムの一部の動画です。
まず説明資料を見て、興味を持たれたら、無償版ISE(webpack)の導入や添付のプロジェクトファイルのダウンロードという流れが良いと思います。
ISEを導入しなくても全体像を把握しやすいように、説明資料の後半に詳細設計を付けています。
回路図は、階層構造になっていて、大きな機能ブロックの中身がその次のページに、さらにその中のブロックの中身がその次に、といった構造をしています。
ISEでは、ブロックを選択して下向き矢印を押すとその中身が表示されます。
添付の ISEのプロジェクトファイルには、全てのソースコードを含めているので、シミュレーションや回路変更、FPGAへの書き込みと実行が可能です。
プロジェクトファイルは内部でディレクトリ指定のファイル参照をしている部分があるため zip ファイルは
D:\Xilinx-design以下のディレクトリに展開する必要があります、それ以外の場所に展開した場合はロジック合成やシュミレーション時に指定したファイルが見つからないというエラーが出ます。必要に応じて修正してください。
ISEの使い方に関しては、ザイリンクス社のwebにあるチュートリアルが良い参考になります。
(Last update: 2024, May 24)