В verilog я могу передать имя тестового примера в симуляцию, используя стандартный флаг симулятора verilog:
+define+TESTCASE=\"mytestcase.txt\"
Затем в коде verilog я могу сделать что-то вроде этого:
//Verilog
fid = $fopen(`TESTCASE);
Однако в VHDL я не знаю, как лучше всего добиться подобного эффекта.По сути, я хочу, чтобы мой сценарий запуска оболочки вызывал симулятор VHDL и компилировал мой исходный VHDL, но чтобы каким-то образом передать имя тестового примера, который я хочу запустить как строку VHDL, внешнюю по отношению к симулятору VHDL.Например:
$ perl RunVhdlSimulation.pl --testcase hello1.txt
Затем скрипт perl вызывает симулятор VHDL и как-то говорит ему прочитать файл, вызвав «hello1.txt».В коде VHDL у меня был бы некоторый код, который выглядит так, чтобы подобрать имя файла тестового примера.
--VHDL
process
--where testcase is set by script to be "hello1.txt"
constant testfile :string := testcase;
begin
...
end process;
Теперь мне интересно, как этого достичь ... Я думаю,что я мог бы создать какой-то тип файла и скомпилировать его с моим VHDL-кодом, чтобы сообщить ему эту информацию.Я просто спорю о том, как лучше всего это сделать.