VHDLによるCPUアーキテクチャ 学習支援ソフトの 開発

VHDLによるCPUアーキテクチャ
学習支援ソフトの開発
研究者名 サデック モハッマド ハニフ
 指導教官 青山 義弘

CPUアーキテクチャと動作
HTML
VHDLツール
・プログラム
・シミュレーション
・シンセサイザ
学生に分かりやすく説明
1.本学科4,5年生
対象となる学生
2.情報系以外の生産
システム工学科1~2年生
VHDLとは

HDL : Hardware Descriptive Language
(ハードウェア記述言語)

VHDL: VHSIC HDL

VHSIC :Very High Speed Integrated
Circuit
(高速集積回路)
例えば、ADDER…FAなんて考えなくても
VHDL記述(8bit add):
….…
port (
A , B :in….(7 downto 0);
C
:in
Z :out..(7 downto 0));
論理合成
シミュレーション
……
Z <= A+B+C;
FPGAボードに実装
今回ツールとしてVHDLを利用
した理由:



高級言語であるため、その記述から動作を理解
しやすい。
記述内の変数名を実際の素子や信号とその動
作に合わせて考えることが出来る。
難しい論理式を考えず、動作だけ分かればよい 。
今回の研究では、
CPUの各部分のハードウェア的な動作
CPU全体の動作
各部分のシミュレーションからその動作
 VHDLの論理合成によって、CPUの部分から
全体の回路構成にたどり着く

研究過程

VHDLによる回路設計

HTMLの学習と教材の作成

演習問題の作成

CPU設計
CPU学習教材
VHDLによる回路設計

設計したモジュール
•
•
•
•
•

1ビットハフアダ16ビット加減算器
カウンタ(2ビット16進 、 60進)
ALU
自動販売機
シミュレーション、論理合成、FPGAボードで動作
の確認
学習ソフトの概要
前書き
FPGAとは
VHDLとは
VHDLの基礎
HOME
VHDLの応用例
演習問題
VHDLの演算子リスト
VHDLシミュレーション
とFPGAマニュアル
CPUアーキテクチャ学習
VHDL記述と設計方法の学習教材開発
1.組み合わせ回路:
16ビット加減算器、4ビット比較器。
2.順序回路:
D二安定回路、プッシュボタン回路、
2ビット16進カウンタ。
3.VHDL応用例:
60進カウンタ、自動販売機。
演習問題の作成

穴埋め形式

回路の動作を少し変更する問題
設計目的のCPU仕様

❐ メモリアドレス(12bit)

❐ 1 ワード(16bit)
=命令コード (4bit)+オペランド (12bit).

❐ 8個レジスター (16bit).
❐命令仕様:
基本命令:
NOP,LD,ST,SET,JMP,JNZ,JPZ,MV ;
 シフト命令:
SRL,SLL ;
 演算命令
ADD,SUB,AND,OR,XOR,NOT ;

CPUの構成図
❐components:
program counter .
memory controller .
instruction register .
decoder .
alu , shifter .
flag register .
control unit .
CPU設計上工夫した点

わかり易さを最重視
[階層設計]

各コンポネントを独立に設計し
その動作を個別に確認

信号のやり取りとその順番の明確な表示
今後の課題:
❐ controller component とmemory部分を設計し
てCPU全体を完成する。
❐CPUのシミュレーションとFPGAボードへの実
装を行う。
❐それを元にして、今まで作成した教材に加えそ
の動作をVHDLソフトのシミュレーション,波形観
測などのツールを利用して、学生に分かりやすく
説明する方法を検討する。
研究の内容
アニメーションなどを使用したCPU等の教材ソフトは主に
CPU動作をシミュレーションなどで見せかけるだけで、一
つ一つの部分回路のハードウェア動作からCPUの全体
の動作にたどり着くのが難しい。
今回の研究では、
 VHDLでCPUのモジュール化設計法を利用して、各部分
のハードウェア的な動作を理解した上でCPU全体の動作
の理解を深めるのを狙いとする。
 各部分のシミュレーションからその動作も理解できる。
 VHDLの論理合成によって、回路的にも、言わせれば一
つ一つのAND,OR素子からCPU全体の構成にたどり着く
ことが可能となる。
研究の目標
本研究では、青山研究室のVHDL(ハードウェア記
述言語(HDL)の一種である。)合成ツールやシミュ
レーションツール、そしてFPGA(Field Programmable
Gate Array)ボードへの実装によって、コンピュータ
ハードウエアの理解度を深めることを目標とした教材
を開発する。
システムの作成にはHTML(Hyper Text Markup
Language)を使用する。
研究過程




これまで、VHDLでコンポネント形式(モジュール)を使って
1ビットハフアダ-から16ビット加減算器、カウンタ、ALU、
自動販売機などの設計、シミュレーションと論理合成を行
い、シミュレータ、FPGAボードで動作の確認を行った。
HTMLでFPGAとVHDLの基礎、そして、設計したVHDLの
記述をもとに簡単なハードウェアの理解を支援する教材
を作成した。
そこで、学生が自分の理解度を確かめることができるよう
に穴埋めやすでに設計されている回路の動作を少し変更
する演習問題を用意した。
現在は、最終目標であるCPU設計に取り掛かっている。