ハードウェア実験 第7回

2016-06-09

課題7

簡易アキュムレータマシンを構成する

締切 2016-06-29 20:00:00 JST

  1. 以下の命令セットを持った簡易アキュムレータマシンを作成し、FPGA上で動作を確認せよ。メモリ空間は32bit x 16個とする。

    命令コード命令名動作
    0nopなにもしない
    1resetアキュムレータを0にする
    2loadアキュムレータに即値で与えられたメモリアドレスの値をロードする
    3storeアキュムレータの値を即値で与えられたメモリアドレスにストアする
    4load_shift_leftアキュムレータの値を4ビット左にシフトし、即値をアキュムレータに足す
    5store_shift_rightアキュムレータの下位8ビットをUARTで返し、アキュムレータの値を8ビット右にシフトする
    6nadekoアキュムレータの値の下位3ビットを即値で与えられたメモリアドレスの値の下位2ビットで割った値をアキュムレータに代入する
    7karenアキュムレータの値と即値で与えられたメモリアドレスの値をそれぞれ浮動小数点として扱い、和をアキュムレータに代入する
    8自作命令 [必須] 自由に決めた命令を一つ実装する
    9~15自作命令 (optional)

    なお、karen命令について、整数を浮動小数点に変換してはならない。具体的には、0x00000001を、0x3f800000(つまり1.0)に変換せず、そのまま非正規化数としてあつかう。

    命令形式は以下の通りとする

  2. (optional)簡易アキュムレータマシンに条件分岐を実装し、アキュムレータマシンにせよ
  3. 考察および追加した命令セットの説明、ソースコード、論理合成済みbitファイルを提出せよ

配布物

サンプルプロジェクトファイルおよび制約ファイルは第6回課題のものを利用せよ。

スライド