WORK2


実習1

comb.vhd
test_comb.vhd

1) nirai 上のシミュレータを用い動作シミュレーションを行う。このとき、グラフィカルウインドウを自分の使用しているローカルなディスプレイに表示する必要があるので、以下の設定が必要である。

ローカルなウインドウで

% xhost nirai
% xhost nirai-1

nirai は負荷分散のために、nirai, nirai-1に分割されているので、どちらのコマンドも必要。

nirai に rlogin したウインドウで

% setenv DISPLAY hostname:0.0

以上の設定をしないと、VHDLデバッガ(vhdldbx)は使用できない。

2) 作業ディレクトリに、上記2つのファイルをコピーする。

% cd ~/vhdl
% cp /home/teacher/wada/public_html/cad00/work2/comb.vhd  .
% cp /home/teacher/wada/public_html/cad00/work2/test_comb.vhd  .

3) VHDLアナライザ(vhdlan)で組み合わせ回路をコンパイルする。

% vhdlan comb.vhd

エラーメッセージ等があればエラーを修正して、再コンパイルする。
コンパイル後に、.sim, .mra 等のファイルができるので確認する。

4) テストベンチファイル test_comb.vhdの内容を理解し、コンパイルする。

% vhdlan test_comb.vhd

このファイルの後部にコンフィギュレーションも含まれている。

 

****** 以上でシミュレーションの準備は終了 *****

 

5) VHDLシステムシミュレータ(VSS)を起動する。(最上位のコンフィギュレーション名を入力する)

% vhdldbx CFG_COMB

グラフィカルなツールが起動される。

9) モニターしたい波形を選択する。

U0 (combのインスタンス名)をダブルクリックで選択

cdボタンを押して、下位のレベルのvhdlファイルを表示させる。(comb.vhdを表示する。)

A をダブルクリックして選択し、Trace -> signal

B をダブルクリックして選択し、Trace -> signal

C をダブルクリックして選択し、Trace -> signal

F をダブルクリックして選択し、Trace -> signal

G をダブルクリックして選択し、Trace -> signal

波形表示ウインドウが表示されるので、適当なサイズにする。

10) シミュレーションを実行する。

runボタンの横の箱に 10 を入力する。

runボタンを10回ほど押して100 ns 程度までシミュレーションする。

11) シミュレーションの結果が正しいことを確かめる。

12) 以下のVSSのよく使うコマンドの使用方法を確かめる。


VSSのよく使うコマンド

1) シミュレーションの実行と停止

# run 時間

でその時間だけシミュレーションが進む。

# run

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

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

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

2) 好きな場所でシミュレーションを一時停止したい

カーソルをその停止したいラインに移動し、

Break points -> sourceline -> stop at

3) 任意の信号の選択をしたい

信号名をダブルクリックで選択し、

Trace -> signal

4) 下位のレベルの記述にある信号を選択したい

下位のレベルの名前がU1であれば、

# cd U1

で下位のレベルに移動して、3)を実行する。

上位のレベルに戻るのは、

# cd ..

 


課題2

下記の内容を含むレポートを提出する。

波形の印刷方法


実習2

comb.vhdの回路を合成する。

1) comb.vhdのディレクトリに移動し、デザインアナライザーを起動する。

% design_analyzer &

デザインアナライザのウインドウが開く。このメニューを使って、回路を合成する。

2) ライブラリを確認する。

Setup -> Defaultsでターゲットライブラリがclass.dbであることを確認する。

3) VHDLファイルを読み込む。

File -> Read

comb.vhd を選択し、OKをクリック。

4) 入出力ピンを確認する。

ウインドウ中央の COMB をクリックし、左の下向き矢印ボタンを押す。
(もしくは、COMB をダブルクリックする。)

5) 合成前の回路を確認する。

回路シンボルをダブルクリックしてさらに下位レベルへ移動する。
(もしくは、左のANDのボタンを押す。)

6) 面積最小で回路を合成する。

Attributes -> Optimization Constraints -> Design Constraints

Max Area を 0.00 として、Apply

Tool -> Design Optimization

デフォルトの設定でOK

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

7) クリティカルパス(最大遅延パス)をハイライトする。

Analysis -> Highlight -> Critical Path

8) 合成された回路の、面積、クリテイカルパスの遅延時間とその経路を調べる。

Analysis -> Report

Timing, Reference, Areaをチェックして、Apply

リストより、

Combinational Area:
Total Cell Area:
クリティカルパス遅延:(data arrival time)
Start point:
End point:

を調べる。

9) 再度、VHDLファイルを読み込む。

File -> Read

comb.vhd を選択し、OKをクリック。

10)速度最小で合成する。

COMBをダブルクリックして下位のレベルに移動する。

Attributes -> Optimization Constraints -> Design Constraints

Max Area の設定を消し、Apply

回路図上の出力ピンをクリックして選択する。

Attributes -> Optimization Constraints -> Timing Constraints

Maximum Delay の Rise Fall ともに 0.00 とし、Apply

Tool -> Design Optimization

デフォルトの設定でOK

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

10) 7−8)を繰り返す。

今回の場合、回路が簡単で、上記2種類の合成結果が同じになることを確かめる。


課題3 イネイブルつき3-6デコーダ

inputs outputs
En A2 A1 A0 Y5 Y4 Y3 Y2 Y1 Y0
0 X X X 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 1 0
1 0 1 0 0 0 0 1 0 0
1 0 1 1 0 0 1 0 0 0
1 1 0 0 0 1 0 0 0 0
1 1 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0

3_6dec.vhd

test_3_6dec.vhd

% cp /home/teacher/wada/public_html/cad00/work2/3_6dec.vhd .
% cp /home/teacher/wada/public_html/cad00/work2/test_3_6dec.vhd .

でファイルをコピーできる。


 

回路を合成する。

1) デザインアナライザーを起動する。

% design_analyzer &

デザインアナライザのウインドウが開く。このメニューを使って、回路を合成する。

2) ライブラリを確認する。

Setup -> Defaultsでターゲットライブラリがclass.dbであることを確認する。

3) VHDLファイルを読み込む。

File -> Read

3_6_dec.vhd を選択し、OKをクリック。

4) 入出力ピンを確認する。

ウインドウ中央の DECODER3_6 をクリックし、左の下向き矢印ボタンを押す。
(もしくは、DECODER3_6 をダブルクリックする。)

5) 合成前の回路を確認する。

回路シンボルをダブルクリックしてさらに下位レベルへ移動する。
(もしくは、左のANDのボタンを押す。)

6) 面積最小で回路を合成する。

Attributes -> Optimization Constraints -> Design Constraints

Max Area を 0.00 として、Apply

Tool -> Design Optimization

デフォルトの設定でOK

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

7) クリティカルパス(最大遅延パス)をハイライトする。

Analysis -> Highlight -> Critical Path

8) 合成された回路図をプリントする。

File -> Plot

File 出力をチェックし、適当なポストスクリプトファイル名を入力し、OK

後は、ftp等でポストスクリプトプリンタへ送れば、プリントできる。

9) 合成された回路の、面積、クリテイカルパスの遅延時間とその経路を調べる。

Analysis -> Report

Timing, Reference, Areaをチェックして、Apply

リストより、

Combinational Area:
Total Cell Area:
クリティカルパス遅延:
Start point:
End point:

を調べる。

10) 速度最小で合成する。

Attributes -> Optimization Constraints -> Design Constraints

Max Area の設定を消し、Apply

回路図上の出力ピンをクリックして選択する。

Attributes -> Optimization Constraints -> Timing Constraints

Maximum Delay の Rise Fall ともに 0.00 とし、Apply

Tool -> Design Optimization

デフォルトの設定でOK

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

11) 7−9)を繰り返す。


下記の内容を含むレポートを提出する。