WORK1

half_adder.vhd
full_adder.vhd
adder_test.vhd
cfg_full_adder.vhd


シミュレーション記述

library IEEE;
use IEEE.std_logic_1164.all;

entity ADDER_TEST is
end ADDER_TEST;

architecture TESTBENCH of ADDER_TEST is
 component FULL_ADDER port ( A, B, CIN : in std_logic;
        S, CO : out std_logic);
end component;
signal IN1, IN2, CARRY_IN, S, CO : std_logic;
begin
 U0: FULL_ADDER port map (IN1, IN2, CARRY_IN, S, CO);
 process begin
  IN1 <='0' ; IN2 <='0'; CARRY_IN <= '0';
  wait for 10 ns;
  IN1 <='0' ; IN2 <='0'; CARRY_IN <= '0';
  wait for 10 ns;
  IN1 <='0' ; IN2 <='0'; CARRY_IN <= '0';
  wait for 10 ns;
  IN1 <='0' ; IN2 <='0'; CARRY_IN <= '0';
  wait for 10 ns;
  IN1 <='0' ; IN2 <='0'; CARRY_IN <= '0';
  wait;
 end process;
end TESTBENCH;







テストするコンポーネント
を指定する。




入力を順次指定する。








最後にwait;で止める。


コンフィギュレーションの指定

configuration CFG_ADDER of ADDER_TEST is
 for TESTBENCH
 end for;
end CFG_ADDER;


実習1 SYNOPSYS EDA Toolを使用するための初期設定(1)
(吉田先生の資料より)

Synopsys EDA Toolを使えるようにするためには、以下に示す簡単な初期設定を行う必要がある。なお、Synopsys EDA Toolは nirai にインストールされているため、以下の作業は nirai に rlogin をして行うこと。

ツールのセットアップ

  1. PCにloginする
  2. そこからniraiにrloginする
  3. テキストエディターを使って、自分のホーム・ディレクトリにある .cshrc ファイルの最後の行に以下の1行を付け加える。

    source /usr/synopsys/setup_2000.05/init/synopsys_setup_2000.05

  4. 変更した設定を有効にするために、niraiにrloginしなおす

セットアップファイルの詳細は、オンラインマニュアルを参照すること。なお、オンラインマニュアルはコマンドラインから

% sold &

と入力することで参照できる。


実習1 ファイルコピー等の準備(2)

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

PCのローカルなウインドウで

% xhost nirai
% xhost nirai-1

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

nirai に rlogin したウインドウで

% setenv DISPLAY hostname:0.0

hostnameとは、nw01とかpw50とかである。

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

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

% mkdir vhdl
% cd vhdl
% cp /home/teacher/wada/public_html/cad00/work1/*.vhd .


実習1 VHDL記述の構文解析(3)

3) VHDLアナライザ(vhdlan)で完成したハーフアダーの構文解析をする。

% vhdlan half_adder.vhd

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

4) 同様にフルアダーの構文解析をする。

% vhdlan full_adder.vhd

5) テストベンチファイル adder_test.vhdの内容を理解し、構文解析をする。

% vhdlan adder_test.vhd

6) 最上位のコンフィギュレーションファイル cfg_full_adder.vhd の内容を確かめて、の構文解析をする。

% vhdlan cfg_full_adder.vhd

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


実習1 VHDLシステムシミュレータでの動作確認(4)

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

% vhdldbx CFG_ADDER &

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

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

最下位の四角の箱をクリックして、以下のコマンドを入力する。

trace *'signal

signal属性の信号をすべてトレース(モニター)するの意味

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

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

同じく四角の箱で、

run 50

50 ns の時間を進めるの意味!

10) 色々と使ってみて、覚える。

四角の箱の中で> help         → 使えるコマンドがわかる
四角の箱の中で> help command   → コマンドの意味がわかる


課題1 アーキテクチャとテストベクトルの変更

1) full_adder.vhdの構造化記述をやめ、half_adderを参照することのない1階層の記述を作成し、デバッグする。

回路は以下のようになる。

2) adder_test.vhdは5つの入力パターンに対してのシミュレーションを行っている。フルアダーは3入力であり、入力パターンの組み合わせは最大8通りある。adder_test.vhdを変更し、すべての入力パターンに対する動作をシミュレーションせよ。

 

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


波形の印刷方法