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

VHDLによるアーキテクチャ
学習支援ソフトの開発
研究者名
サデック
指導教官
青山
義弘
モハメド
ハニフ
研究の背景
❐ CPUアーキテクチャは机上で考えるだ
けでは分かりにくい
❐ VHDLツールを使用して理解を深める
ための教材開発


シミュレーション
論理合成 → 実装実験
VHDLとは
❐集積回路設計用ハードウェア記述言語
ブール代数やゲートレベル設計
❐動作に注目した設計
VHDLでの回路設計過程
プログラム入力
シミュレーション
NO
Results OK?
YES
論理合成
NO
Results OK ?
YES
FPGAへの実装
教材としてVHDL
❐ 高級言語
解しやすい
記述から回路の動作が理
❐ 難しい論理式を考えず動作に注目
❐ 記述上の変数名を実際の素子や信号に合わせ
てやるとその動作や構成が直感的に分かる
CPUアーキテクチャと動作
CPUアーキテクチャと動作
HTML
VHDLで設計した
CPUのシミュレーション
や論理合成
学生に分かりやすく説明
教材構成
前書き
FPGAとは
VHDLとは
VHDLの基礎
HOME
VHDLの応用例
演習問題
VHDLの演算子リスト
VHDLシミュレーション
とFPGAマニュアル
CPUアーキテクチャ学習
ヘルプ
ヘルプ
教材用回路作成
❐ VHDL学習用教材
❐ CPU設計とアーキテクチャ
学習用教材
各種論理回路と学習用CPU設計
VHDL学習用教材
1.組み合わせ回路:
16ビット加減算器、4ビット比較器。
2.順序回路:
D二安定回路、プッシュボタン回路、
2ビット16進カウンタ。
3.VHDL応用例:
60進カウンタ、自動販売機。
教材用CPUの仕様
❐ 命令長:命令コード(4bit)+オペランド
(12bit)
OP(4) reserved(4 (1 reg2(3 (1 reg1(3)
)
) )
)
OP(4) Address or Immediate (12)
❐ アドレス長:12bit
❐データ長: 16bit
❐ レジスタ(16bit×8)
命令仕様
❐ 16(24)個の命令
a. 転送命令
LD, ST ,MV, SET
b.制御命令
JMP, JNZ,JPZ
c.演算命令
ADD, SUB, AND, OR,
XOR,NOT,SRL, SLL, NOP
CPU設計上工夫した点
❐構造のわかり易さを最重視
各コンポネントを独立に設計 [階層設計]
その動作を個別に確認
❐信号のやり取りとその順番の明確な表示
CPUの構成図
制御信号
データ又は
アドレス
教材による学習の流れ
1.VHDLの学習
「 VHDL の 基 礎 」 ~ 「 演 習 問
題」
その他、 VHDL、ツール等の解説
2.CPUの各モジュールの動作と構成の
学習
3.CPU全体の構成の学習
4.シミュレーションによりCPU動作の
学習
まとめ
シミュレーションと論理合成によって
1.CPUの各モジュールの
a.入出力 b.動作 c.構成
の理解を助けることができる
2.CPU全体の
a.回路構成の明示
b.命令実行サイクルの動作観察
c.信号とデータのやり取りの観察
により、理解を助けることができる
以上のような特徴をもつ学習支援ソフトを開発した
今後の課題
1.現在のメモリ部分はFPGAボードへ実装不可能
:インタフェース部を改良し、実部品で確認要
2. 乗算や多ビットシフト、ローテート等の命令
:モジュールを新たに設計し
接続とタイミング制御をやり直し