Структура файлов и каталогов тестового окружения
Структура файлов и каталогов для двух вариантов тестовых окружений представлена в таблице:
var1 | var2 |
---|---|
\rtl new_scheme.cpp new_scheme.h new_scheme.v new_scheme.vhd old_scheme.cpp old_scheme.h old_scheme.v old_scheme.vhd \sim Makefile run.do synopsys_sim.setup |
|
\testbench Coverage.sv Driver.sv Environment.sv Globals.sv Interface.sv Receiver.sv Scoreboard.sv tb_top.sv testcase.sv Transaction.sv |
\testbench Checker.sv Coverage.sv Driver.sv Environment.sv Globals.sv Interface.sv tb_top.sv testcase.sv Transaction.sv |
Конфигурирование и симуляция тестового окружения
Конфигурирование тестового окружения рекомендуется делать по следующим шагам:
1. В Interface.sv объявить все входные порты тестируемой схемы в input_interface, а все выходные – в output_interface.
2. Объявить тестируемые модули в tb_top.sv и передать им интерфейсные сигналы.
3. В Environment.sv установить начальные значения входных сигналов, если это необходимо.
4. В Transaction.sv обяъвить все входные сигналы типом rand bit, а все выходные типом bit. Указать выходные сигналы в функции compare().
5. В Globals.sv указать количество транзакций для генерации (константа NUM_OF_TRANS).
6. В Driver.sv изменить функцию drive().
7. В Receiver.sv изменить функцию recieve(). Для второго варианта тестового окружения на этом шаге модифицируется Checker.sv – для каждой пары сравниваемых сигналов вызывается свойство p_equal.
8. В Coverage.sv изменить группу покрытия.
9. В файлах run.do для ModelSim или Makefile для VCS изменить названия файлов тестируемых модулей.