テスト対象のVHDLソースコードからテストベンチの雛型を作成するツール(Windows95,98,NTで動作可)です。このツールではテスト対象entityのportからテストベンチのコンポーネントの宣言、インスタンス、コンフィグレーションなどを自動生成します。このツールを使用することのにより、回路記述完成後に、すぐに試験パタンの作成に移ることが可能です。このツールで作成されるテストペンチの構成は以下のようになります。
テストベンチ作成以外に以下の機能があります。
本製品に興味の有る方、評価版を使用したい方は
045-546-1171までご連絡ください。
評価版につきましては処理可能なテスト対象の入出力信号は最大50本までとなります。
また、現在開発中のverilog-HDL用のテストベンチ作成ツールの評価版もございますので
興味の有る方はご連絡ください。
インストール方法へ
実行方法へ
実行結果例へ
販売価格へ
問い合わせ先へ
実行結果例
発生するテストベンチは雛型と考え必要に応じて内容を書き換えて使用してください。
テストベンチファイル
library ieee ; ライブラリ、パッケージはテスト対象の情報元に記述
use ieee.std_logic_1164.all ;
use ieee.std_logic_unsigned.all ;
use std.textio.all;
use ieee.std_logic_textio.all;
entity test_sample is end ; エンティティ名は”test_”+テスト対象エンティティ名
Architecture BEHAVIOR of test_sample is アーキテクチャはBEHAVIORになります。
constant CYCLE :TIME :=100 ns ; 1クロックの時間を指定します。
constant PERIOD :TIME :=90 ns ; ダンプファイルを書き出すタイミングを指定します。
-- file infile :TEXT open read_mode is "DATAIN.txt"; データ入力用ファイル宣言
file outfile :TEXT open write_mode is "DATAOUT.txt"; ダンプ出力用ファイル宣言
-- signal declaration
signal main_clk :std_logic:='0'; テストベンチ用クロック
必要に応じて他の信号に代入してください。
signal clk : std_logic ; テスト対象接続信号 信号名はテスト対象entityのportと同じ
signal datai : std_logic_vector(3 downto 0) ;
signal datao : std_logic_vector(3 downto 0) ;
-- component declaration
component sample テスト対象のコンポーネント宣言
port ( この部分を切りだして構造記述にも使用できます。
clk : in std_logic ;
datai : in std_logic_vector(3 downto 0) ;
datao : out std_logic_vector(3 downto 0)
) ;
end component ;
-- configuration コンフィグレーション
for DUT : sample use entity work.sample ; この部分を切りだして構造記述にも使用できます
-- Architecture declaration end
begin
-- compornent instance コンポーネントインスタンス
DUT: sample この部分を切りだして構造記述にも使用できます
port map (
clk => clk ,
datai => datai ,
datao => datao );
-- main CLK generator
main_clk <= not main_clk after CYCLE/2; テストベンチ用クロック発生
-- pattern generator
process begin 入力信号発生記述のサンプル
clk <= '0'; 書き換えて使用してください。
datai <= "0000";
wait for CYCLE; 1クロック待ちます。
clk <= '1'; wait
for CYCLE*n; とするとnクロック待つことができます。
datai <= "1111";
wait for CYCLE;
end process;
-- file_read process ファイルから信号値を入力するサンプル記述
-- process コメント記号(--)を消して使用する。
-- variable ln:line; 使用する場合はアーキテクチャ宣言部の
-- variable command:string(0 to 0); データ入力用ファイル宣言のコメント記号も消す。
-- variable clk_v :std_logic ;
-- variable datai_v :std_logic_vector(3 downto 0) ;
-- begin
-- if endfile(infile) then
-- assert false report"inputfile end" severity error;
-- wait ;
-- end if;
-- readline(infile,ln);
-- read(ln,command);
-- if command="P" then
-- read(ln,clk_v);
-- clk <= clk_v;
-- read(ln,datai_v);
-- datai <= datai_v;
-- wait for CYCLE;
-- end if;
-- end process;
--
-- file_write process
process 入出力信号ダンプ出力記述
variable ln:line;
variable nameflg:bit:='1';
begin ;
if nameflg='1' then
write(ln,"clk");
writeline(outfile,ln);
write(ln,"datai");
writeline(outfile,ln);
write(ln,"datao");
writeline(outfile,ln);
nameflg:='0';
end if;
wait for (PERIOD);
write(ln,NOW,right,10);
write(ln,' ');
write(ln,clk);
write(ln,' ');
write(ln,datai);
write(ln,' ');
write(ln,datao);
writeline(outfile,ln);
wait for (CYCLE-PERIOD) ;
end process;
end ;
データ入力用ファイルのサンプル(DATAIN.txt)
C input data file for VHDLtestbench
C entity(testbench):test_sample
C
C C:comment P:pattern 行の先頭がCの場合はコメントライン、Pの場合はパタンになります。
C 先頭の文字の後に必ずブランクを入れてください。
C 0 clk パタンの順番
C 1 datai
C
C patten start ----------------------------
P 0 0000 パタン、左からclk,datai 信号毎にセパレータととしてブランクをいれる。
P 1 1111 試験パタンを変更、追加してください。
P 0 0000
P 1 1111
P 0 0000
P 1 1111
P 0 0000
P 1 1111
P 0 0000
P 1 1111
P 0 0000
P 1 1111
C pattern end ----------------------------
販売形態 | 価格 | 備考 |
評価版 | 無料 | 機能制限あり |
製品版(1ライセンス) | 39,000円(税別) | 実行形式での提供 |
開発環境版 | 480,000円(税別) | ソースコードでの提供、お客さま側で変更可能、ライセンスフリー、コンパイラは別途ご購入ください。 |
カスタム版 | 相談 | お客様のご要望を盛り込みます。 |
問い合わせ先
有限会社ひまわり ホームページ゙
所在地:〒222-0001 横浜市港北区樽町4-9-10
メール