IT業界、40年やってます (老人の独り言) 

現在68歳、IT関連で勉強したい事が盛りだくさんで、目移り状態です(^o^)

本買いました デジタル回路設計とコンピュータアーキテクチャ[ARM版]

イメージ 1

MIPS 版が有名だった様ですが、昨年 ARM 版が出版されました。一年後に日本版が出版されました。出荷は 4/25 辺りなのですが、池袋ジュンク堂に行ったら、置いてあって、欲しかったそれも日本語版だったので、速攻で購入しました。

英語版だと1万円位しますが、日本版は税込みで5400円です。これだけの内容だとかなり安い気がしますね。

推薦文が和田英一先生でした。
イメージ 2
まだまだ活躍されているので嬉しく思いました。

内容は、2進法から高度な32bit CPU のマイクロアーキテクチャーとその応用まで、基礎からものすごい高度なところまで到達させる本です。

まだ読み始めたばかりですが、翻訳は自然で良いです。


2入力 AND回路の作成 (^o^)

ゆっくりとやってます。

東工大の中原先生の資料に基いて、Verrilog HDL を勉強します。

とさらに具体的なスライド資料


今日は上のスライドの2の 2入力AND回路の実装を実行。

module and_2 (
x,
y,
z
);

input x;
input y;
output z;

assign z = x & y;

endmodule


簡単な回路の合成がいくら時間が経っても終わらない(^_^;) Quartus IIのアップデート(15.1.0.185 →  15.1.2.193 の QuartusSetup-15.1.2.193-windows.exe ) が出ていたので、それを当てたら、問題ない時間で終了しました。

スライドは DE0 でして、ピン対応が違うので、DE0-CV のマニュアル
の 3.2 Using the LEDs and Switches を参考に設定をします。

いよいよ DE0-CV にダウンロードして実行して、当然ですが結果は OKです。

AND回路なので、2つのスイッチが同時にONでLEDが点灯します。






4ビットの 加算器例題実行

独自CPU開発で学ぶコンピュータのしくみ
の例題を実機で確認。

4ビットの 加算器の Verilog HDL が例題に有るので、ダウンロードして DE0-CV で試します。


ほとんどその通りにやれば出来ます。ピンの名称が少し本に誤植が有っただけで問題なく FPGA に転送して動かせました。

生まれて始めての FPGA の利用となりました。とっても嬉しいです。





FPGA 評価ボード DE0-CV がやって来ました

terasic 社の Altera Cyclone V FPGAを載せた FPGA 評価ボード DE0-CV が来ました。

イメージ 1
Digi-Key経由で4月10日(日)に発注して4月14日(木)昼に届きました。価格は送料込込で19、351円でした。 箱には本体と、電源と細かなケーブルが付属してました。

何も CD-ROM とか付かないので、ボードのトップのシールに書いてある、サイトに飛んで必要な情報を取り出します。


それから開発環境は 64bit Windows(Win7, Win8.1)か 64bit Linux(RedHat 5.X と 6.X) が Altera社のサポート対象なので、自分は Windows7 に設定します。

無償版 Quartus Prime Lite Edition をダウンロードしてインストールします。
DVD版を利用しました。 7.8GB も有るので、ダウンロードするだけで1時間ほど掛かりますし、インストールにも時間がかかります。

でもって、 terasic のDE0-CV のコントロールパネル DE0CV_ControlPanel.exe を起動しますが、エラーとなり動かない。

いろいろと試しますが、埒が明かないので terasic 社に問い合わせをしました。最初の答えは Windows環境変数と USB ドライバーが正しいか確認でしたが、それは問題が無いので、さらに質問をすると・・・

「コントロールパネル・プログラムは 32bit 環境で動く様に作られている」との事でした、32bit 版の Quartus Prime の幾つかのソフトを送ってくれ、インストールしましたが動かず、結局

Additional Software に有る
Quartus Prime Programmer and Tools (32-bit) を入れた所あっさりと動作しました(^_^;) これを解決するのに2日ほどかかりました。

terasic さん、情報を出すか、64 bit 版のコントロールパネルを用意すべきだと思うのですが・・・

いよいよこれから Verilog(ヴェリログ) HDLのお勉強が始まります。
 




1.  

FPGA のメーカーの開発ツールをダウンロード

独自CPU開発で学ぶコンピュータのしくみ

の付録に紹介が有った、ソフトウェアを導入。
https://www.altera.co.jp/ にユーザー登録しないとダウンロード出来ない様・・・

本に有るように、
を導入する。

その時、英語版ですが FGPAs For Dummies 電子本をタダでダウンロードさせてくれる太っ腹(^O^)

今日はここまで。

FPGA での CPU 制作の関連資料

昔々1970年代の自分の大学時代、「コンピューター」とか「計算機」とか本を読んでも、ORとかNANDとか論理回路の説明が有って、それがどうやって計算するのか全く分からなかったですが、ある授業で先生(お名前を失念してしまいました)がプリントを配布して、計算機(ALU)がどの様に動作するか教えてもらいました・・・目からウロコでした。全てはクロックやフリップフロップが上手く働いてました。

その後、コンピューターのソフトウェア関連の仕事に続き、ハードウェアの保守やネットでのサービスをして、ここ5年ほど、またソフトウェアの開発に戻ってきましたが・・・ここに来てCPUの構造に興味を持ち始めました。

FPGAを使ったCPUの作成関連の資料はかなり沢山有るようです。

新卒で入った今はなき DEC 社の PDP-11 なんかが良く FPGA を使って作られて居るようです。そのうえで DEC の OS や古い Unix がブートされています。

PDP2011 プロジェクト

他に見ていると MIPSのサブセット CPU を作る過程をブログに関連資料と共に載せている方が居ました。

こちらの方が 

実はMIPSを作り始める前に、ARMの方がいまどきっぽくない? と思ってARMのアーキテクチャを調べてたのだけど、なかなかに複雑な部分(命令エンコーディングとか)もあったり初期アーキテクチャに基づく教科書や資料の豊富さではMIPSにかなわないので、断念してオーソドックスなMIPSで行くことにした。

と書かれてましたが、この記事で参照している本は MIPS を基礎としてましたが、昨年 ARM 版の本が出てました(ちゃんと ARM 社のライセンスを得て)
どうせやるなら ARM の方が興味有りますもんね・・・


 「今さらMIPS?」という声もありそうだが、実はそう馬鹿にしたものでもない。・・・

 MIPSの場合、同じ性能レンジなら競合するARMコアと比較してより少ないダイサイズとより低い消費電力で実現できる、という点をセールスポイントにしており、実際中国のタブレット向けなどでは結構MIPSベースのSoCが存在している。

との事で、MIPS も悪く無いかと思います。

それにハーバード大学で OS のコースで教えられている OS/161MIPS ベースの仮想CPU上で動いてますので、MIPS の方向も面白いかもしれません。


Google Books に一部がアップされているので少々かじってみます。
・・・この本では Altera DE2 を推奨してますが・・・6~8万円もします(^O^)

同じタイミングで筑波大学の学生さんがオリジナルCPUを制作する本を買いました。

CPU だけでなく、コンパイラも構築すると言う素晴らしい企画です。

この本でおすすめのFPGA評価ボードが

DE0-CV だそうです。これがないと始まらないので・・・
イメージ 2

お金を貯めて購入します(^O^)Digi-Key で約1万8千円。他のところだと2万2千~2万6千円で売ってるのでここが一番安いです。

はじめまして (改定版)

ラズパイから少し興味がなくなりつつありまして、最近は

1. OS の学習

2. プログラムミング言語 Python とその画像処理と機械学習の応用

3. FPGA を使った回路設計とゆくゆくは CPU の制作

に興味が移りつつ有ります。

ゆっくりと進んで行きたいと思います。