[an error occurred while processing this directive]
|
В идеале должно быть так.
1. Основная Разработка.
Разработчик того или иного блока, в процессе его разработки создает свой собственный тест бенч. К моменту окончания разработки блока тест бенч должен обеспечивать 100% покрытие кода разработанного блока.
2. Функ. тестирвоание.
Передается только код и тех. описание. Тестебенч разработчика не передается. Функ. тестировшику, он проверяет блок как черный ящик, в составе всего устройства. В случае обнаружения ошибок, сообщает о них разработчику с описанием условий их возникновения, разработчик дополняет свой тестбенч до состояния выявления данной ощибки и исправляет ее и передает функ. тестировщику обратно. Так несколько раз.
3. Временная верификация. Начинается процесс синтеза. По нетлисту и SDF файлу разработчик проверяет все тайминги внутри блока, гоняя его на своем тестбенче и тестах функ. тестера.
4. Верификация "в железе". Блок собирается "в железе" на FPGA или рассыпухи, проверяется в железе с другими блоками, точно смоделирвоать которые в тестбенчах невозможно (они как серые ящики) Проверябтся длитильные процессы, которые долго моделировать.
5. Проверка на преднамеренные КЗ и разрывы. (Вот тут еще не игрался, только предстоит изучить данный вопрос) Есть средства моделирвоания которые на основе тестируемого блока и хорошего тестбенча преднамеренно вносят ошибку в блок (уже синтезированный, типа КЗ на 0 или на 1) на одну цепь блока. И проганяется тестбенч, он должен выдать ошибку. И так далее по всем цепям. Если гдето ошибка не выявлена, разработчик задумывается о эфективности реализации или о качестве тестов и исправляет.
Вот после все это сказало ОК, можно сказать что разработанный вами блок НАВЕРНОЕ заработает :)))
E-mail: info@telesys.ru