|
Как отлаживаете свои проекты?, Сбор возможных вариантов |
|
|
|
Jan 18 2011, 06:48
|

Местный
  
Группа: Свой
Сообщений: 277
Регистрация: 8-04-09
Из: Москва
Пользователь №: 47 382

|
Утро доброе
Задумался я тут вот над каким вопросом. Долго ли коротко ли, на VHDL-ли на Verilog-ли, проект написан и даже синтезировался, и даже прошился в ПЛИС и даже кажется работает как надо.
И тут появляется лично у меня вопрос, который очень бледно освещен в книгах, ну разве что кроме "Курса молодого бойца" Максфилда
Какими средствами вы отлаживаете свои проекты?
Я для себя пока опробовал несколько путей
1) Простой проект. Отладка по аналогии с отладкой на уровне разработки. Пишется TestBench модуль, который может выдавать ряд простейших воздействий, затем модуль присовокупляется к проекту, запускается. Управление кнопками, просмотр реакции на осциллографе. Плюсы подхода - Каждый сигнал можно просмотреть хоть в цифровом, хоть в аналоговом виде, отловить все задержки. Минус такого подхода - Ограниченность вариантов входных воздействий - На экране осциллографа больше 16 сигналов не разглядишь.
2) Отладка в цифре. Метод, который я сейчас пытаюсь применить к своему проекту. Большинство современных DevKit'ов имееют встроенный RS232 модуль или того лучше - преобразрователь USB->RS232, а на PC устанавливается драйвер виртуального КОМ-порта. Тогда физически RS232 нигде не появляется, ограничение на скорость повышаются до уровня USB, а мы имеем возможность работать с железкой через старый добрый UART. Далее пишется, или скачивается с OpenCores, модуль RS232, дописывается модуль хранения и выдачи этих данных, а так же приема данных с ПЛИС. Следующий этап - программная часть комплекса. Тут можно использовать объектно-ориентированный язык, на вроде С++ или среды DELPHI, можно попробовать писать из среды мат.моделирования Matlab,чем я сейчас как раз и занимаюсь. Плюсы метода - объем входных последовательностей для тестирования ничем не ограничен, полностью управляется с PC, на нем же просмотр полученных результатов. Минусы если что можно компенсировать добавлением осциллографа.
А какие пути используете вы? Многообещающе выглядит решение от компании Mathworks и Xilinx, по включению ПЛИС в качестве модуля в среды Simulink через JTAG с отслеживанием состояния всех ножек сразу. Пробовали ли вы другие какие то интерфейсы? Можно ли включить ПЛИС в среду ModelSim и отслеживать состояния выходов так же, как при моделировании?
В общем предлагаю всем поделиться частью своего опыта
--------------------
Because it's there
|
|
|
|
|
 |
Ответов
|
Apr 12 2011, 17:54
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(ADA007 @ Apr 12 2011, 17:48)  А если, к пирмеру, нужно отследить реакцию проекта на комбинацию входных цифровых данных по интерфейсу согласно протоколу Пишется разборщик протокола (с проверками) Цитата ....по моему если написать тестбенч на прогон всевозможных комбинаций прямым перебором Не всех, а отвечающих протоколу. Цитата - то на моделирование этого всего может уйти о-о-очень много времени!!!! Да, немало Цитата Как быть в такой ситуации? Пример - есть девайс, подключаемый через Ethernet (формат пакетов свой). Был написан эмулятор PHY (по MII) + разбор/формирование Ethernet пакета (со стороны PHY) + обработчик протокола (на уровне пакетов). И к этому стеку был подсоединен генератор случайных команд (в протоколе). Так же со стороны отлаживаемого девайса были подсоединены эмуляторы внешних устройств (квадратурные энкодеры, DAC'и по SPI). Тест проверял правильность передачи на них данных (через стек). На все это был запущен случайный тест, выловили довольно много багов. Потом загрузили в реальную FPGA и выловили еще больше багов
|
|
|
|
|
Apr 13 2011, 05:57
|

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

|
Цитата(XVR @ Apr 12 2011, 20:54)  Не всех, а отвечающих протоколу. Ну, скажем, при передаче данных возможны случаи, когда данные приймутся неправильно в результате воздействия внешних факторов .... Цитата(XVR @ Apr 12 2011, 20:54)  Потом загрузили в реальную FPGA и выловили еще больше багов  Да, в реальной железке все может работать немного не так как хочется...к этому шагу тоже нужно подойти внимательно, ведь ошибка может вылезти не сразу, а, скажем, через год...
|
|
|
|
Сообщений в этой теме
Muscat Как отлаживаете свои проекты? Jan 18 2011, 06:48 Костян QUOTE (Muscat @ Jan 18 2011, 04:48) Много... Jan 18 2011, 07:16 Muscat Интересует в первую очередь личный опыт использова... Jan 18 2011, 07:33 Kuzmi4 Сначала как-то вот так
http://www.ovmworld.org/... Jan 18 2011, 07:41 bogaev_roman Цитата(Muscat @ Jan 18 2011, 09:48) Каким... Jan 18 2011, 07:56 Muscat bogaev_roman вот как раз к описанному вами я и хоч... Jan 18 2011, 08:03 bogaev_roman Цитата(Muscat @ Jan 18 2011, 11:03) bogae... Jan 18 2011, 08:26 IL-76 Модель в Modelsim-е (прошу прощения за тавтологию)... Jan 18 2011, 08:05 Muscat bogaev_roman , Спасибо огромное за информацию. Да,... Jan 18 2011, 08:45 DmitryR Цитата(Muscat @ Jan 18 2011, 11:45) Я соб... Jan 18 2011, 09:50 Muscat DmitryR, был бы премного благодарен, если вы показ... Jan 18 2011, 10:08 DmitryR У меня к сожалению сейчас нет Matlab, но как я пом... Jan 18 2011, 10:48 _Anatoliy Цитата(Muscat @ Jan 18 2011, 12:08) Dmitr... Jan 18 2011, 10:49 bogaev_roman Цитата(Muscat @ Jan 18 2011, 13:08) Dmitr... Jan 18 2011, 10:51 almost Есть ещё такая прекрасная вещь как DSP Builder (от... Jan 18 2011, 12:18 Shtirlits А для этого может уже понадобиться мозг, так как в... Apr 12 2011, 16:14 Sergey'F Простите за оффтоп, но с недавних пор меня мучает ... Apr 12 2011, 16:21 Oldring Цитата(Sergey'F @ Apr 12 2011, 20:21)... Apr 12 2011, 16:52  Sergey'F Цитата(Oldring @ Apr 12 2011, 20:52) Ника... Apr 12 2011, 17:18   Nix_86 Цитата(Sergey'F @ Apr 12 2011, 21:18)... Apr 12 2011, 18:24 Shtirlits Очень волнующая меня тема. Считаю, что для повышен... Apr 12 2011, 20:06
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|