VHDL検証環境

まず標準パッケージですが、RTLは

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

だけでいいですが、検証環境には

use ieee.numeric_std.all;
use ieee.std_logic_textio.all;
use std.textio.all;

を追加して使いましょう。

あと、VHDLでは各種変換が大変なので、"conversions.vhd"をダウンロードして組み込んでおきましょう。
これさえあれば、標準の変換関数はconv_integer()くらいしか使わないかと思います。

構造としては、

env←test_top←dut

とし、test_top上でクロック生成や入出力信号遅延、モデルとの接続を行います。
test_topとenvとのI/Fは必要なものだけに絞ります。

envを共通enntityでベクタ毎にファイルを作りますが、パッケージ読み込みとtest_topのインスタンスだけは
自作共通パッケージに含めることが出来ないため、マクロを埋め込んで置換するようにしておきます。

envに平行プロセス分


process begin
hoge;
if (SIM_END = '1') then wait end if;
end process;


を書きますが、VHDLでは強制終了がassert report error|failureしかできないため、
シミュレーション終了フラグですべてのプロセスを止めるようにしておきます。

標準出力ですが、文字列を引数にして標準出力するプロシージャを作っておきましょう。

write(L, time'image(now) & " : " & instr);
writeline(output, L);

テーマ : ハードウェア
ジャンル : コンピュータ

2008-06-28 : Work-Product-Verification : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

zive

Author:zive
大阪在住、男

ブログ検索

月別アーカイブ

FC2カウンター