Я посмотрел в Интернете, и обсуждения / примеры, кажется, для традиционной разработки программного обеспечения. Поскольку Verilog и VHDL (используемые для проектирования микросхем, например, FPGA и ASIC) похожи на разработку программного обеспечения C и C ++, казалось бы, имеет смысл. Однако у них есть некоторые различия, которые принципиально параллельны и требуют аппаратного обеспечения для полного тестирования.
Какие у вас были хорошие и плохие переживания? Любые ссылки, которые вы можете предложить на это конкретное приложение?
Редактирует / уточнения:
28.10.09: Я особенно спрашиваю о TDD. Я знаком с выполнением испытательных стендов, в том числе самоконтроля. Мне также известно, что SystemVerilog имеет некоторые особенности для испытательных стендов.
10/28/09: подразумеваются следующие вопросы: 1) написание теста для какой-либо функциональности, никогда не использовать формы сигналов для моделирования и 2) написание сначала тестовых / тестовых стендов.
11/29/09: In Эмпирические исследования показывают, что разработка, управляемая тестами, улучшает качество они сообщают для (программного обеспечения) TDD "Плотность дефектов до выпуска четырех продуктов, измеренная как дефекты на тысячу строк код уменьшился на 40–90% по сравнению с проектами, в которых не использовался TDD. Руководство команд субъективно сообщило об увеличении первоначального времени разработки на 15–35% для команд, использующих TDD, хотя команды согласились с тем, что это было компенсировано снижение затрат на техническое обслуживание. " Уменьшенные ошибки снижают риск выхода из строя за счет умеренного воздействия на график. В этом также есть некоторые данные.
11/29/09: я в основном делаю код контроля и пути к данным, а не код DSP. Для DSP типичное решение включает в себя точную битовую симуляцию Matlab.
03/02/10: Преимущество TDD заключается в том, что вы сначала убедитесь, что тест не пройден. Полагаю, это можно сделать и с помощью утверждений.