TestBench в Verilog

test bench verilog

Для чего надо писать Тест Бенчи при программировании на Верилог

    HDL язык Verilog предоставляет разработчику на выбор множество различных вариантов решения поставленных задач в течении всего цикла разработки устойства. Тем не менее, важно придерживаться устоявшихся паттернов проектирования. В противном случае написанный код может синтезироваться в неэффективное или неправильно работающее RTL-описание. Использованные в работе testbench’и (метод форсирования сигналов) имеет свои плюсы и минусы: он позволяет тестирующему не быть знакомым с реализацией устройства, представляя его как черный ящик; также метод хорош тем, что позволяет в кратчайшие сроки проверить правильность работы несложного устройства. Однако в серьезных проектах к такому подходу лучше не прибегать: при форсировании сигнала легко допустить ошибку, это может привести например к тестированию не всех возможных случаев работы устройства; stimul большого устройства трудно писать, результаты такой симуляции трудно читать; также данный метод привязывает разработчика к нескольким симуляторам (например только к таким, которые поддерживают определенный формат waveform’а).

    Более совершенным и универсальным методом является написание testbench’ей на самом Verilog. Язык предоставляет богатые возможности тестирования, например, возможность подачи случайных тестовых сигналов на вход, что незаменимо при тестировании сложных проектов, поскольку, проверка всех возможных входных комбинаций может требовать месяцев даже на довольно больших вычислительных кластерах.

    Грамотно написаный testbench является залогом правильной работы готового устройства. Например, используя специальное ПО можно по testbench’у генерировать пары векторов вход-выход для параллельной проверки ASIC’ов в процессе производства прямо на кремниевой пластине, используя Boundary Scan DFT.

Автор: Ходнев Т.А., ДК-11.