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は 各pw*** にインストールされているため、以下の作業は pw*** に login をして行うこと。

ツールのセットアップ

1) PCにloginする

2) そこからpwにrloginする (たとえば telnet pw001.st.ie.u-ryukyu.ac.jp)

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

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

% xhost + 

pw に rlogin したウインドウで

% setenv DISPLAY hostname:0.0

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

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

% mkdir vhdl
% cd vhdl
% mkdir adder
% cd adder

netscape等を立ち上げ、下記4ファイルを作業ディレクトリにコピーする(Save Asでセーブする)

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


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

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

% vhdlan half_adder.vhd

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

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

% vhdlan full_adder.vhd

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

% vhdlan adder_test.vhd

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

% vhdlan cfg_full_adder.vhd

9) Sciroccoコンパイラを用いてシミュレーション用実行ファイル scsim を作成する。コンパイラの引数は、テストベンチで宣言したコンフィグレーション名を用いる。

% scs CFG_ADDER

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


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

10) VHDLシステムシミュレータを Scirocco を起動する。

% scirocco 

11) Scirocco を起動すると Menu Window が現れるので、 Interactive ボタンを押す。

12) Interactive ボタンを押すと、Simulator Invocation Dialog Window が現れるので、Type メニューから Scirocco を選びOKボタンを押す。この時、Interactive Window が現れる。

13) Menu Window の Hierarchy ボタンおよび Waveformボタンを押し、Hierarcy WindowとWaveform Windowを開く。

14) Hierarchy WindowのHierarchy欄で、テストベンチのentity名を選択すると、Signal欄に信号線名が表示される。そこから必要な信号を選択し、Waveform Windowへドラッグ&ドロップする。

15) Interactive Windowのシミュレーションタイムを適当な値(20)に設定して、すぐ右のOKボタンを押すと、Waveform Windowにシミュレーション波形が表示される。

16) Menu Window のExitボタンで全てを終了できる。


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

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

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

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

 

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


波形の印刷方法