Цитата(Kuzmi4 @ Aug 4 2008, 16:31)

2 zorromen - в принципе читается документик который привёл Postoroniy_V. далее на основе его делается wrapper для своей периферии. А вот после этого есть несколько путей:
А) повыводить интересующие линии в квартусовском симуляторе для собранного wrapper+pheripheral: создать свой VWF файл с интересующей набивкой, исходя из соображений, который мы сделали прочитав документик "mnl_avalon_spec.pdf " Ну и далее смотреть на результаты. Интересен тем, что в нём учитываются все задержки в ЛУТах и тригерах - только требует пересинтезации при смене дизайна - без полного синтеза не запустится..
Я так понял не совсем предпочитаемый метод многими гуру. Ну плюс есчё надо VHDL редактировать..
Б) ничего не надо редактировать - используем ModelSim - там можно выводить абсолютно все сигналы, который присутствуют в architecture. Главное задать правильные входовые сигналы - опять же опираясь на "mnl_avalon_spec.pdf ". Вот я только пока не разобрался как задавать произвольного вида сигналы в vawe.
Недостаток тот, что не учитывает задержки на прохождения в реальной системе..
В) Отлаживается всё в куче - где то проскакивал документик, при чём совсем недавно - альтеровская апнота - когда собирается система - выставляются соответсвующие галочки в SoPC и NIOSII IDE и потом это всё загоняется опять же в ModelSim - тут нужно подвести соответсвующие сигналы - как RST и Clock для NIOSII - ну и вывести интересующие нас сигналы - вроде бы будет как полная аналогия с реальной системой... Это по идее
Г) Использовать SignalTap - типа как тыкаться осцилографом по уже существующему прожекту в сигналы и смотреть что будет. Интересен тем, что может срабатывать по фронтам сигналов. Недостаток в том, что юзает встроенную память кристала - много чего не посмотриш..
Вот вроде бы всё, есчё что забыл - поправьте..
всё так.
есть ещё одно добавление
если устройство слейв и не нужны мега скорости, то можно упростить отладку. тоесть забить на отладку взаимодействия проца с вашей периферией.
достигается это так - делаете 1 слейв(avalon_tristate_slave) в пространстве адресом проца скажем 0x1000-0x1FFF, выводите со слейва нужные сигналы. Обычно это wr,rd,cs,address,data(bidir)
вот и всё! затем просто к этим сигналам подключаете свой слейв(или несколько слейвов

)(естественно тайминги при генерации avalon_tristate_slave, ставите такие чтобы слейв успевал выдавать данные при чтении процом и записывать "внутрь себя").
таким образом вся система генерится всего 1 раз( япро ниос + всякие dma и прочее + наш слейв интерфейс avalon_tristate_slave)
ну а для всяких шустрых вещей и мастеров придётся читать подробнее про авалон шину