реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как отлаживаете свои проекты?, Сбор возможных вариантов
XVR
сообщение Jan 18 2011, 13:05
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Кстати по поводу отладки - никто не знает, где можно купить большой шаманский бубен? Очень универсальная вещь - и софт можно отлаживать, и схемы и даже компы чинить sm.gif

PS. Если серьезно - то симулятор, симулятор и еще раз симулятор. И тестбенчи (много много раз)
Go to the top of the page
 
+Quote Post
ADA007
сообщение Apr 12 2011, 13:48
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(XVR @ Jan 18 2011, 16:05) *
PS. Если серьезно - то симулятор, симулятор и еще раз симулятор. И тестбенчи (много много раз)

А если, к пирмеру, нужно отследить реакцию проекта на комбинацию входных цифровых данных по интерфейсу согласно протоколу....по моему если написать тестбенч на прогон всевозможных комбинаций прямым перебором - то на моделирование этого всего может уйти о-о-очень много времени!!!! Как быть в такой ситуации?
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Apr 12 2011, 16:14
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



А для этого может уже понадобиться мозг, так как в общем случае придется ждать прямо в реальном времени на реальном железе.
Для совсем страшных случаев производители осциллографов и анализаторов предлагают анализаторы протоколов и прочую поддержку процессоров и интерфейсов.

Честно говоря, гораздо дешевле, но не обязательно быстрее, подумать как следует и сделать необходимые эмуляции протоколов в симуляторе.
Что-то упростить, где-то отладить по частям отдельные блоки.
Несколько лет уже не пользуюсь осциллографом, анализатором и средствами chipscope/signal tap. Только симуляторы.
У меня и квалификации-то нехватает грамотно подключать приборы на гигагерцах, чтобы "вскрытие не показало, что чукча умер от вскрытия".
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Apr 12 2011, 16:21
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Простите за оффтоп, но с недавних пор меня мучает один вопрос - как доказать корректность тестбенча, который ты сам разработал?
Go to the top of the page
 
+Quote Post
Oldring
сообщение Apr 12 2011, 16:52
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Sergey'F @ Apr 12 2011, 20:21) *
Простите за оффтоп, но с недавних пор меня мучает один вопрос - как доказать корректность тестбенча, который ты сам разработал?



Никак. Это основы науки о тестировании - сам программист не должен тестировать свои программы. laughing.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Apr 12 2011, 17:18
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(Oldring @ Apr 12 2011, 20:52) *
Никак. Это основы науки о тестировании - сам программист не должен тестировать свои программы. laughing.gif

Хорошо, тогда как доказать корректность тестбенча, который кто-то разработал? laughing.gif

Недавно делал один модуль - в определенный момент я уже мог по входным воздействиям и тактам доказать, что он правильно работает, он уже работал в железе, а написать корректно работающий тестбенч и прогнать его мне удалось в последнюю очередь. Таким образом, если сложность разработки тестбенча превышает сложность разработки тестируемого модуля, а вероятность ошибки при проектировании обоих допустить равной, получается плохо. Это меня и мучает.
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 12 2011, 17:54
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(ADA007 @ Apr 12 2011, 17:48) *
А если, к пирмеру, нужно отследить реакцию проекта на комбинацию входных цифровых данных по интерфейсу согласно протоколу
Пишется разборщик протокола (с проверками)
Цитата
....по моему если написать тестбенч на прогон всевозможных комбинаций прямым перебором
Не всех, а отвечающих протоколу.
Цитата
- то на моделирование этого всего может уйти о-о-очень много времени!!!!
Да, немало rolleyes.gif
Цитата
Как быть в такой ситуации?

cranky.gif

Пример - есть девайс, подключаемый через Ethernet (формат пакетов свой). Был написан эмулятор PHY (по MII) + разбор/формирование Ethernet пакета (со стороны PHY) + обработчик протокола (на уровне пакетов). И к этому стеку был подсоединен генератор случайных команд (в протоколе). Так же со стороны отлаживаемого девайса были подсоединены эмуляторы внешних устройств (квадратурные энкодеры, DAC'и по SPI). Тест проверял правильность передачи на них данных (через стек).

На все это был запущен случайный тест, выловили довольно много багов. Потом загрузили в реальную FPGA и выловили еще больше багов smile3046.gif
Go to the top of the page
 
+Quote Post
Nix_86
сообщение Apr 12 2011, 18:24
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 85
Регистрация: 7-04-11
Пользователь №: 64 200



Цитата(Sergey'F @ Apr 12 2011, 21:18) *
Хорошо, тогда как доказать корректность тестбенча, который кто-то разработал? laughing.gif

Встречаются вещи на которые есть официальные тесты или методика тестирования от разработчика стандарта, если не ошибаюсь таковые имеются для CAN 2.0 протокола. О других регламетированных тестах мне неизвестно sm.gif Поэтому самостоятельно разработанный тестбенч - не более чем проверка соответствия разработанного дизайна поставленной цели. К сожалению, никто не застрахован от неправильного понимания спецификации на интерфейс как бы точно и однозначно она не была написана. Отсюда вижу одно решение проблемы - разбор аналогов, использование верификационных IP-ядер, накопление опыта. Лучше лишний раз перестраховаться. cool.gif
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Apr 12 2011, 20:06
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Очень волнующая меня тема. Считаю, что для повышения качества теста имеет смысл применять принцип минимальной обработки информации.
Если есть возможность copy-paste табличку из datasheet прямо в VHDL или текстовый файл и его потом читать, то так и надо делать.
Программист не должен обрабатывать информацию, только переносить и документировать откуда что взялось. Написано 10+1+5-1, так и надо записать, не стоит писать 15, лучше указать откуда взялось каждое из чисел. Будет проще доказывать, "что верблюд не вы".

Еще есть риск, что весь мир дружно отступает от стандарта (длина преамбулы в ethernet 10BaseT).
Go to the top of the page
 
+Quote Post
ADA007
сообщение Apr 13 2011, 05:57
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(XVR @ Apr 12 2011, 20:54) *
Не всех, а отвечающих протоколу.


Ну, скажем, при передаче данных возможны случаи, когда данные приймутся неправильно в результате воздействия внешних факторов ....

Цитата(XVR @ Apr 12 2011, 20:54) *
Потом загрузили в реальную FPGA и выловили еще больше багов smile3046.gif


Да, в реальной железке все может работать немного не так как хочется...к этому шагу тоже нужно подойти внимательно, ведь ошибка может вылезти не сразу, а, скажем, через год...
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 15:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01458 секунд с 7
ELECTRONIX ©2004-2016