WORK5


実習1

fsm21.vhd
test_fsm21.vhd

1) 上記2つのファイルを用いて、動作シミュレーションを行う。


注意事項

# run

だけ実行すると、CLKがあるような回路ではシミュレーションがとまらなくなる。

シミュレーションを止めるには

Execute -> interrupt もしくは Intrボタンを押す。

# run 時間

を使用するのが良い!


2) fsm21を最小面積、最小サイクル時間で回路合成を行う。

 


課題6

1) fsm21.vhdに対して、UP なるコントロール入力ピンを追加して、上記FSMをVHDLにて記述せよ。

2) test_fsm21.vhdを参考に、テストベクトルファイルを作成し、上記図のすべての矢印の遷移を確認する。

3) VSSシミュレータにて動作を確認し、動作波形を求めよ。

CLK, RESET, Control, UP, Y そして状態変数(ST1,ST0など)をモニターすること。

4) 面積最小の回路を合成し、そのサイクル時間を求めよ。

5) 最小のサイクル時間で動作する回路を合成し、その最小サイクル時間を求めよ。

 

1)作成した回路のVHDL記述
2)作成したテストベンチのVHDL記述
3)動作波形
4)面積最小合成時の回路図、面積、最小サイクル時間
5)最小サイクル時間合成時の回路図、面積、最小サイクル時間


実習2

dram.vhd

上記ファイルは32ビット幅のレジスタ64個からなるレジスタファイルの記述例を示す。

すなわち、0から63の各アドレスに対して、それぞれ32ビットのデータの書き込み、読み出しができる。

Add はアドレス信号であり、0から63を指定するために、6ビットの幅を持っている。

WE は書き込み制御信号であり、’1’の時にCLOCKの立ち上がりエッジにてDIN端子のデータをその時に与えられたアドレスのレジスタに書き込む。

Din は書き込みデータ入力端子である。

Dout は読み出しデータ出力端子であり、与えられたアドレスに対応するレジスタの値を出力する。

Clock はクロック入力信号であり、立ち上がりエッジにてデータの書き込みを行う。

以下の3つのファイルをコンパイルして動作をシミュレーションで確かめよ。

alu_pkg.vhd
dram.vhd
test_dram.vhd


課題7 同期型レジスタファイルの設計

1) ポートの決定

CLOCK入力、アドレス入力、WEコントロール、データ入力、データ出力の各ビット幅を決定せよ。

2) VHDL記述を作成する。

ヒント1) レジスタの宣言例

type RegType is array (0 to 8) of unsigned (3 downto 0);
signal reg : RegType;

3) Add=0からAdd=8までに適当な異なるデータを書き込み、次にAdd=0からAdd=8までのデータを読み出すテストベクトルを作成する。

4) VSSシミュレータにて動作を確認し、動作波形を求めよ。

5) 面積最小の回路を合成し、そのサイクル時間を求めよ。

6) 最小のサイクル時間で動作する回路を合成し、その最小サイクル時間を求めよ。

1)作成した回路のVHDL記述
2)作成したテストベンチのVHDL記述
3)動作波形
4)面積最小合成時の回路図、面積、最小サイクル時間
5)最小サイクル時間合成時の回路図、面積、最小サイクル時間

以上