私は Tetramax Newby で、modelsim によって生成された機能テスト ベクトルをロードするフォールト カバレッジの測定値を取得しようとしています。次の手順に従って、modelsim テスト ベクターを生成します。
vsim work.TbTop
view wave
wave create -pattern none -portmode out -language vhdl -range 15 0 //tbtop/outport
restart TbTop.vhd
vcd dumpports -file alwcpuSimDump.vcd /TbTop/alwcpu66/*
run 1000
quit -sim
そして、後で次のコマンドを使用して、そのようなVCDをテトラマックスにロードします
set patterns external ./externalFaults/alwcpuSimDump.vcd -insensitive -strobe rising clock -strobe offset 180 ns
最初に表示されたエラーは、大文字と小文字が異なるファイルのどこにあるかを示すという事実でした (-insensitive を使用することで解決されました)。2 番目の問題は、VCD の解析中に std_logic_vector が認識されないことです。
これは私が得るエラーです:
定義がありません (そのようなポート "adr_o[15]" はありません)。(V4-1)
ただし、VCD では、次のようにポートが存在します。
$var port 1 <0 clk_i $end
$var port 1 <1 rst_i $end
$var port 1 <2 cyc_o $end
$var port 1 <3 stb_o $end
$var port 1 <4 sel_o $end
$var port 1 <5 we_o $end
$var port 1 <6 ack_i $end
$var port [15:0] <7 adr_o $end
$var port [15:0] <8 dat_o $end
$var port [15:0] <9 dat_i $end
以下に示すように、ネットリストにも存在します。
entity cpu is
port( CLK_I, RST_I : in std_logic; CYC_O, STB_O, SEL_O, WE_O : out
std_logic; ACK_I : in std_logic; ADR_O, DAT_O : out std_logic_vector
(15 downto 0); DAT_I : in std_logic_vector (15 downto 0));
end cpu;
誰かがそのような問題を経験しましたか? なぜこれが起こるのか、またはそれを修正する方法について何か考えはありますか??
乾杯、