WORK4


実習1

addmul.vhd
test_addmul.vhd

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


注意事項

# run

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

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

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

# run 時間

を使用するのが良い!


2)動作波形とVHDL4で説明した動作波形を比較して、同じであることを確かめる。

 

実習2:クロックありの回路の合成

 

1) design_analyzerを起動し、addmul.vhdを読み込む。

2) クロック信号とその周期を指定する。

クロック入力端子をダブルクリックで選択し、

Attributes -> Clock -> Specify

Periodの欄に数値(たとえば50)を入力し、Apply

この数値がサイクルタイムの合成時の目標値になるので、面積重視で、サイクルタイムが長くてよい場合は大きな値を入れる。

逆に、サイクルタイムを小さくしたければ、小さな値をいれる。

3) 回路の合成を行う。

Tool -> Design Optimization

デフォルトの設定でOK

これで、回路が合成される。

4) 最小の動作サイクル時間を確認する。

Analysis -> report で

timingをチェックしてApply

表示されるリストで、

data arrival time はクリティカルパスのクロック立ち上がりエッジから次のFF入力までの遅延時間(Analysis -> Highlight -> Criticalpathの経路)

clock はクロック周期

library setup はFFの入力セットアップタイム

slack の値が設定に対するサイクルタイムの余裕である。したがって、設定サイクルタイムからslackを引けば、動作するサイクルタイムが求まる。

5)クロックの周期のターゲット値を1として、再合成する。

6)この時の最小の動作サイクル時間を確認する。


課題5

 

1) 回路のVHDL記述を作成せよ。

2) 上記入力INに毎サイクル連続に1,2,3,4,5を入力するテストベンチを作成せよ。

3) VSSにてデバッグし動作波形図を求めよ。

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

Periodの指定を十分大きくする(たとえば50)、面積のターゲットを0.00とする。

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

Periodの指定を小さくする(たとえば1)、面積のターゲットを空欄にする。

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