Open Design Computer Project

オリジナルCPUから作る本格的自作コンピューター

ユーザ用ツール

サイト用ツール


book

「独自CPU開発で学ぶコンピュータのしくみ」サポートページ

2016年3月11日発売 (秀和システム)

ISBN 978-4-7980-4536-8

正誤表

以下の通り間違いがありましたので、お詫びして訂正いたします。そして、ご連絡いただいた方に感謝いたします。

ページ 場所
P22下から5行目実現仕様実現しよう
P33下から6行目プログラムにはプログラムは
P48下から4行目ld32以前命令ld32以前の命令
P89上から1行目次に使用するデバイスを使用します。次に使用するデバイスを指定します。
P95上から1行目Start CompilationStart Compilation
P98,99下から一行目、図82LEDGLEDR
P99下から2行目プロジェクトに反映させるにプロジェクトに反映させるために
P102図の番号のタイトルの抜け図86 JTAGモードでの書き込み
P11512.3.3の上から2行目+0x4のアドレスを挿します+0x4のアドレスを指します
P120表1915:5Immediate[15:5]
P136図102の下から7行目メモリアクセス超低回路メモリアクセス調停回路
P201タイトルpipeline_contro.svpipeline_control.sv

(更新日2016/5/23)

本の内容に関する質問や意見など

わからないことや、本では物足りない事があれば、是非気軽に以下の連絡先を利用して下さい。

Ask.fm を利用すれば、匿名で質問ができます。 Twitter でも気軽に質問して下さい。フォローしてくれなくても大丈夫です。

ハードウェア編 (1章〜26章)

サンプルファイル

書物に記載されたソースコードは、品質の向上やバージョンアップのために変更されている可能性もあります(gitで差分を見れば変更箇所がわかります)。 ダウンロード方法としては、cygwin上のgitやTortoiseGitなどから、git cloneしてもいいですし、githubのページでDownload ZIPしても良いです。

9, 11, 21章で使用するサンプルデザイン

  • (11章で使用するサンプルファイルに誤りがりました。2016/4/10現在は正しいものを上げているので、以前ダウンロードした方は再度ダウンロードしてください)

MIST32E10FA

MIST32_MIST32E_RS1

  • DE0-CV用のプロジェクトの参照ファイルが不足しており、論理合成に失敗していた問題を修正しました。2016/4/16現在は正しいものを上げているので、以前ダウンロードした方は再度ダウンロードしてください)

11~11.4章で作る加算回路の動作確認について

FPGAに書き込みを行ったら、P86で示しているように入力のSW[7:4]とSW[3:0]の結果が2進数でLEDR[4:0]に表示されていることを確認してください。

DE0-CVのシリアルポートについて

ソフトウェア編の30章では、FPGAボード上でシリアルポートを使用するサンプルがあります。25.3章で説明した通り、DE0-CVボードには直接RS232Cコネクタが付いていないため、そのままではパソコンに接続することができません。

例えば以下のようなUSB-Serialケーブルを使用することで、接続することが可能です。 GNDとRxD、TxDのみ接続すれば使用可能です。

写真では少しわかりずらいですが、GPIO1の表51で示すピンアサインの通り接続してください。

ソフトウェア編 (27章〜30章)

仮想マシンイメージ

ソフトウェア編を読み進める上で必要になるソフトウェアやパッケージをインストールした、VirtualBox のイメージを公開します。 ディストリビューション Debian jessie です。

サイズが大きいので、ダウンロードの際はご注意下さい。

[ファイル] → [仮想アプライアンスのインポート] から、ダウンロードしたファイルを選択してインポートして下さい。詳しくは、VirtualBox のセットアップ方法 を御覧ください。

バージョン履歴

  • 2016/03/12 初版 (cb082142fdfa6ea607759fb56822e7c752944880)

各種リポジトリ

Binutils

GCC

CGEN

ソフトウェア開発 サンプルプログラム

トラブル情報

Binutils のコンパイルがうまくいかない

28.6.1 (p.276) で CGEN のシンボリックリンクを貼った後、CGEN を利用して opcodes ライブラリを生成しなおして、再度 make する際に以下のようなエラーが出てコンパイルが止まる場合があります。

Configuring in ./cgen
configure: loading cache ./config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... Invalid configuration `mist32-elf': machine `mist32' not recognized
configure: error: /bin/bash /home/hirotaka/src/binutils-mist32/cgen/../config.sub mist32-elf failed
Makefile:3940: recipe for target 'configure-cgen' failed
make[1]: *** [configure-cgen] Error 1
make[1]: Leaving directory '/build/binutils-mist32'
Makefile:831: recipe for target 'all' failed
make: *** [all] Error 2

このエラーに遭遇した場合は、CGEN のコードを、シンボリックリンクではなく、コピーすることで解決出来ます。 シンボリックリンクを貼ってしまった場合には、削除した後、src/cgen をコピーしてください。 以下の様な手順で行います。

$ ln -s <path to CGEN>/src/cgen .    # これはダメ
$ rm <path to binutils>/cgen         # ↑ をやった場合には、これで消す

$ cp -r <path to CGEN>/src/cgen .    # シンボリックリンクの代わりにコピーする

03_tetris テトリスが、シミュレーションでうまく表示されない

配布 VM 上でシミュレータを利用した時、シミュレータのモニタープログラムの描画が高負荷過ぎて、正しく表示されない問題を確認済みです。

現在、プログラムを改良中ですので、改善が確認された場合追ってお知らせします。

Windows や Mac, Linux などで PyGtk などが動作する場合、monitor.py をホストで動作させゲスト内のシミュレータに接続すると、うまくいく場合があります。

book.txt · 最終更新: 2016/05/23 00:12 by takahiro