17
24
20
16
23
18
25
21
19
22
MCS−4システム全体構成 549
●はじめに
前章では,4004(CPU)を中心としたMCS−4システ
ムのアーキテクチャを詳細に解説しました.本章では
いよいよ,そのアーキテクチャをVerilog HDLで設
計し,MAX 10 FPGAの中に実装してみたいと思い
ます.
ここでは,4004(CPU)の他に,周辺チップとして
の4001(ROM),4002(RAM),4003(シフトレジスタ)
と同等な機能も設計し,システムに組み込みます.さ
らに,CPU(4004)には独自のオン・チップ・デバッ
ガを搭載して,Raspberry Piからプログラムをダウ
ンロードしたりデバッグしたりできるようにします.
MCS−4システムのアプリケーションとしては,博
物館に展示されている往年の歴史的電卓(ビジコン社
141−PF)も再現し,今でも十分実用的に使える機能と
その仕組みをじっくりと味わいたいと思います.
MCS−4システム全体構成
●Raspberry Piをユーザ・インターフェース
として使用したシステム
今回製作するMCS−4システムの全体構成を図1に,
全体仕様を表1に示します.MAX 10 FPGAを搭載
したMAX10−FB基板(およびFPGAコンフィグレー
ション用MAX10−JB基板)を,拡張基板MAX10−EB
基板に載せ,それをさらにRaspberry Piに載せたシ
ステムを使用します.
●Raspberry Piはユーザ・インターフェース用
図1の一番左側にはRaspberry Piがあります.こ
れはユーザ・インターフェースを受け持ちます.MAX
10 FPGA側とSPI通信により連携します(第22章で
解説した手法).Raspberry Pi上のアプリケーション
は,FPGAの中に実装する4004(CPU)のオン・チッ
プ・デバッガと,電卓の入出力部(キーボードとプリ
ンタ)をエミュレーションするハードウェアの両方を
制御します.Qt Creatorで開発しました.
●Raspberry PiとMAX 10 FPGAの接続
Raspberry PiとMAX 10を接続するために,
MAX10−EB基板を使用します.
Raspberry Piのモニタとして,HDMI接続モニタ
を使用するか,または7インチ公式タッチ・ディスプ
レイを使用する場合は,編成A−1または編成A−2(第
21章)で互いに接続してください.
4D Systems社のタッチLCDパネル基板4DPiシ
リーズなど,Raspberry Piの上に重ねるLCD基板
本書付属DVD-ROM関連データ
DVD-ROM格納場所
内 容
備 考
CQ-MAX10¥Projects¥
PROJ_MCS4
・ディレクトリFPGA:4004(CPU)を中心としたMCS-4システム全体のRTLコード
と,そのMAX 10用FPGAプロジェクトとNios IIのファームウェア(Quartus Prime
用,Nios II EDS用)
・ディレクトリverification:MCS-4システムの論理検証環境(ModelSim用)
MAX 10側
CQ-MAX10¥RaspberryPi¥
CQ-MAX10.tar.gz
・Raspberry Piのホーム・ディレクトリ下に作業用ディレクトリ/home/pi/tempを
作成し,本ファイルをその下に置いて解凍(tar xvfz CQ-MAX10.tar.gz)する.その
後,解凍してできたディレクトリのうち/home/pi/temp/CQ-MAX10/MCS4を,/
home/pi/CQ-MAX10/の下にコピー(第22章の操作と同じ)
・/home/pi/CQ-MAX10/MCS4/MCS4_Panel_320×240が,画面サイズ320×240の
MCS-4システム用デバッガと電卓GUIインターフェース
・/home/pi/CQ-MAX10/MCS4/MCS4_Panel_800×480が,画面サイズ800×480の
MCS-4システム用デバッガと電卓GUIインターフェース
・/home/pi/CQ-MAX10/MCS4/toolsが,インターネット上にある電卓用バイナリ・
コードをMCS-4システム用デバッガに組み込むための変換ツール
Raspberry Pi側
第
24
章
歴史的4004アーキテクチャをFPGAの中に実現し,
ビンテージ電卓を再現する
MCS-4システムの論理設計と
電卓の製作