Mishka> И тестирование должно проходить и по принципу белого ящика, серого и чёрного. Нужны целые базы регрессивных тестов и системы оценки полученных результатов. И на каждое изменение всю эту батарею запускать заново. И ждать, когда придут результаты. Только кто программистам даст столько рессурсов и времени? правильно, всё так и происходит, с поправкой на то, что это не так уж и много людей, кроме того, сами разработчики железа запускают эти базы. Тесты написаны также несколько искусственно, то есть как я говорил - по бумажке, плюс база стохастических тестов.
Но я не понял фразы - "кто программистам даст столько рессурсов и времени?" Почему именно программистам? Прости, но с равной долей тут должны стоять (и стоят!) железячники! Ответственность за баг подёт на них, а вовсе не на программистов-верификаторов.
Mishka> А программистам приходится жить в мире изменяемого железа. А ничего, что железо чаще меняется не из-за глюков, а из-за требований самих программистов?
То есть когда найдена ошибка - программист ничего не делает. Он тыкает пальцем и ждёт, пока её исправят. Его программа при этом никак не меняется. Это потом начинается: хочу аппаратное копирование кусков! Хочу сопроцессор для быстрого фурье! А здесь у вас не правильные регистры, потому как скачанный мной из Интернета драйвер на вашей железке не работает!
Mishka> Ты пойми, никто не наезжает на железячников. Наезд в том, что заявляется, что у железячников лафа, им десяток лет на разработку, а программистам столько никто не даст. )
Mishka> НУ, скажем, твои любимые видеокарты — сколько дают программистов с момента фиксации железа? Столько же, сколько и железячникам до этого момента? Ни фига, говорят, работайте в параллель. А теперь представь, что тебе дали задание на разработку видеокарты, а под конец сменили шину. А потом тип памяти. Сможешь уложиться в те же сроки? Дело в том, что железо редко меняется по прихоти. В ТЗ означен типа памяти, ну и так далее. Я ж выше писал, что изменения - чаще всего просто правка багов. Или внесение фич по требованию программистов.
Параллельно конечно же ведётся. Но грубо говоря, 5% последних багов занимают 95% времени. То есть когда железка дышит,то начинается кое-какая жизнь. Например, загрузка ОС на ней. Но в общем-то ОС, несмотря на свою сложность - это конечный набор ситуаций, и ошибки есть, которые будут выловлены потом, на каких-то прикладных задачах, когда железо уже будет не на стадии ПЛиС.
Серокой>> Хмм... И что? У тебе есть VHDL, максимум, что ты можешь с ним сделать - меееедленно промоделировать. А микросхема уже готова. Mishka> И чего? А программу тестировать по полной не надо? Надо. Но у него это получается быстрее. И проще исправить ошибку.
Mishka> Если бы. У тебя какой-то очень упрощённый подход. Ты наверное не понял, что я имел в виду. Суть в том была, что железячников тоже подгоняют. И когда на макете с ПЛИС более-менее задышало, тут всё, сроки поджали (а срок обычно около года, не больше), всё, надо отправлять на изготовление, изготовили, спаяли, а тут программистам наконец-то захотелось проверить, скажем, запуск "исков" в нестандартном режиме, и всё полетело. А поздно, железо готово и его фиг исправишь.
Mishka> Да ну? Какому конечному программисту? Ему столько же времени и рессурсов дадут? Ему дадут больше! Ему, мало того, дано по статусу.
У него есть железка, он под неё пишет, а если ошибку нашёл, то пропатчил - и всё. Я выше тоже описал. )
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©