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システムの論理設計と

電卓の製作