Comments 8
Как-то странно, если честно, тестировать счетчик импульсов? Мы же не тестируем на процессоре все команды, типа а что если ADD неправильно сложит 5 с eax?
Или тут есть какой-то глубинный смысл?
Нашлись же баги, значит смысл тестировать есть))))
Когда делают новый процессор — такие тесты тоже обязательны. И иногда подобные проблемы уходят в релиз и их пытаются исправлять микрокодом или менять процессоры на новые. Например — ошибка FDIV в процессорах Intel.
на самом деле, тестируем. Тест ЦП это один из многих рекомендованных тестов по IEC 61508 и ISO 26262 для обнаружения скрытых случайных ошибок в электронных системах функциональной безопасности.
Здравствуйте! Спасибо за статьи по Zynq, в своё время они оказались мне весьма кстати для освоения нового для меня направления. Я собирал на плате Myir Z-turn 7020 по вашим предыдущим публикациям Linux через Buildroot, и стейт-машину для работы с BRAM тоже собрал, только с своими дополнениями. Придумал 4-ю команду для загрузки регистров с BRAM на внутренние регистры логической части и т.п.
Но никак не могу понять зачем тестировать такие детерминированные вещи как счетчик импульсов и антидребезг написанные на verilog в железе. Этот код доводится до совершенства с помощью проверки на testbench в самом Vidado за более короткое время, и там прекрасно можно увидеть переполнение разрядности и прочие многие неопределенные моменты.
Спасибо, вы безусловно правы. Но в моем случае осваивать testbench было бы гораздо дольше, чем описать быструю проверку полученного в виде тест-кейсов))) будем считать что я просто сэкономил время, чтобы завершить эту главу про Zynq)
по правильному это еще и в продуктовом экземпляре нужно протестировать. 2МГц, хоть и не прямо высокая частота, но все же даже такие, простые на первый взгляд, вещи могут давать неожиданный результат на железе из-за банальных артефактов сигнала связанных с проблемами трассировки.
Конечно же, пока в железе не заработает, нет нам покоя) Но я натыкался и на такой забавный эффект как правильную итоговую работу при разных ошибках в двух последовательных блоках. Ошибка обнаружилась не сразу, а как только потребовалось расширение функционала. И так как это работало испокон веков, то доверие к исходникам было непоколебимое. А если бы их тестировать по отдельности и прикладывать тестбенчи, как это принято на одном сайте, то такого бы не было.
Zynq 7000. Тестирование счётчика импульсов