VHDLテストベンチメーカー Himawari Corporation


テスト対象のVHDLソースコードからテストベンチの雛型を作成するツール(Windows95,98,NTで動作可)です。このツールではテスト対象entityのportからテストベンチのコンポーネントの宣言、インスタンス、コンフィグレーションなどを自動生成します。このツールを使用することのにより、回路記述完成後に、すぐに試験パタンの作成に移ることが可能です。このツールで作成されるテストペンチの構成は以下のようになります。

テストベンチ作成以外に以下の機能があります。

本製品に興味の有る方、評価版を使用したい方は

045-546-1171までご連絡ください。

評価版につきましては処理可能なテスト対象の入出力信号は最大50本までとなります。
また、現在開発中のverilog-HDL用のテストベンチ作成ツールの評価版もございますので
興味の有る方はご連絡ください。

インストール方法へ

実行方法へ

実行結果例へ

販売価格へ

問い合わせ先へ


インストール方法

  1. VHDLTBM.zipを解凍してください。
  2. 解凍するとVHDLTBM.exeが作成されます。
  3. VHDLTBM.exeを任意のディレクトリに移動してください。

実行方法

  1. エクスプローラでVHDLTBM.exeをダブルクリックする。または、スタートメニュ−の"ファイル名を指定して実行”でVHDLTBM.exeを指定して実行してください。
  2. VHDLTBM.exeが実行されると下のウィンドウが表示されます。                               
  3. ファイル読み込みボタンをクリックすると下のウィンドウが開きます。読み込むファイルを指定して、”開く”をクリックしてください。処理が開始されます。読み込みファイルはコンパイル可能なVHDL記述(entity)にしてください。コンパイルができないファイルを読み込ませた場合は、プログラムは正常終了しませんのでご注意ください。             
  4. 処理が終了しますとセーブするテストベンチのファイル名を指定します。             
  5. セーブするファイル名の指定が終わるとテスト対象入出力信号のリストをportlist.csvとして出力します。また、入力データファイルのサンプルとしてDATAIN.txtを出力します。         
  6. プログラムを終了させる場合はタイトルバーの終了ボタン(×ボタン)をクリックしてください。
  7. 発生したテストベンチの入力波形用記述を変更してVHDLシミュレーションを実行してください。


実行結果例
 発生するテストベンチは雛型と考え必要に応じて内容を書き換えて使用してください。

 テストベンチファイル


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
メール