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

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


Местный
***

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Muscat
сообщение Jan 18 2011, 08:03
Сообщение #2


Местный
***

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



bogaev_roman вот как раз к описанному вами я и хочу прийти. Отлаживаю декодер Витерби, строю графики. Имеется теоретический график, имеется модель повторяющая работу ПЛИС со всеми ограничениями. Заключительный этап - подавать на ПЛИС те же данные, что и в модель, смотреть на вероятность ошибки и ставить эксперементальные точки на график BER.


--------------------
Because it's there
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 18 2011, 08:26
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Muscat @ Jan 18 2011, 11:03) *
bogaev_roman вот как раз к описанному вами я и хочу прийти. Отлаживаю декодер Витерби, строю графики. Имеется теоретический график, имеется модель повторяющая работу ПЛИС со всеми ограничениями. Заключительный этап - подавать на ПЛИС те же данные, что и в модель, смотреть на вероятность ошибки и ставить эксперементальные точки на график BER.

В вашем случае:
1. Создается модель, полностью идентичная описанию(разрядность и все задержки, с учетом того, что simulink, по умолчанию по срезу работает)!!!
2. Ставится в параллель в simulink модель и HDL описание (не помню как блок называется для вставки HDL), эти модели имеют одинаковые входные воздействия, оба выхода поступают на блок сравнения и результат работы их должен быть одинаковым. Ставите моделирование на ночь, скажем, и убеждаетесь, что модели идентичные (и убрать все осциллографы, они систему вешают серьезно).
3. При необходимости можно вместо HDL модели RTL уровня, подсунуть gate level (читайте документацию, но это сильно вешает систему).
4. Есть возможность, как Вы уже описывали с помощью Mathworks и Xilinx реально отследить поведение в плис (я этим не занимался) либо самому написать ber тестер и генератор входных воздействий.
5. Отладка Ваша упрощается тем, что если произошел какой-то существенный сбой, то Ваш декодер накроется медным тазом и приведет скажем к возникновению групповых ошибок. Вот это условие и можете сформировать посредством простейшей логики, как останов работы (событие) chipscop и просмотреть все то, что было до этого события в системе, а дельше найти причину сбоя.
PS 1. Генератор шума и многие блоки simulink можно сгенерировать автоматически в HDL код (если соответствующая утилита поставлена), если модель полностью идентична описанию и Ваш проект влазит по временным ограничениям, то 99% что в ПЛИС все будет работать правильно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - 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
- - XVR   Кстати по поводу отладки - никто не знает, где мож...   Jan 18 2011, 13:05
|- - ADA007   Цитата(XVR @ Jan 18 2011, 16:05) PS. Если...   Apr 12 2011, 13:48
|- - XVR   Цитата(ADA007 @ Apr 12 2011, 17:48) А есл...   Apr 12 2011, 17:54
|- - ADA007   Цитата(XVR @ Apr 12 2011, 20:54) Не всех,...   Apr 13 2011, 05:57
- - 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


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:42
Рейтинг@Mail.ru


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