Я пытаюсь вывести внутренние сигналы из симуляции, выполняемой либо моделями, либо ghdl. Все работает отлично, используя:
Для modelsim добавьте исходники vhdl и скомпилируйте все:
vsim -novopt work.uut_testbench
vcd file ../uut.vcd;
vcd limit 50000000;
vcd add -r /uut_testbench/uut_core/*;
run 6000
quit -sim
Для ГДЛ
ghdl -i --ieee=synopsys --warn-no-vital-generic --workdir=work --work=work ./uut*.vhd
ghdl -m --ieee=synopsys --warn-no-vital-generic --workdir=work --work=work uut_testbench
./uut_testbench --stop-time=6000ns --vcd=../uut.vcd
Я вижу сигналы симуляции, но не все. Сигналы, определенные как
Type InternalState is (Idle,Valid,Stalled);
Signal sState,sPrevState :InternalState;
исключены из vcd. Такое поведение характерно для modelsim и ghdl.
Я вижу следующую строку в vcd, сгенерированном ghdl
$comment sstate is not handled $end
Modelsim просто тихо пропускает эти сигналы
Есть ли обходной путь? Альтернатива?