Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос при подключении более узкого слэйва к AvalonMM
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Fynjisx
Разработал свой компонент на Verilog, который использует суженную шину данных - 8бит. Подключил в SOPC. Теперь он меня предупреждает что данные могут быть потеряны. А в самом начале пишет что не нашел byteenables. Вопрос: при подключении суженного слейва нужно вводить в интерфейс byteenables?
И ещё я не совсем понял такой тонкий момент:
Мастер адресует 32-битные данные. Если мой компонент имеет несколько ячеек по 32бита, то понятно что является смещением в данном случае. Но если я буду использовать "суженный" слэйв, к примеру только 3 ячейки по байту, как в таком случае производится к ним доступ и что в данном случае будет смещением???
Заранее спасибо...
barabek
Цитата(Fynjisx @ Feb 8 2012, 14:54) *
Разработал свой компонент на Verilog, который использует суженную шину данных - 8бит.

Мой Вам совет - сделайте шину 32-х разрядную и не парьтесь с этими DINAMIC и NATIVE адресациями. Лишнее синтезатор сам откинет, зато Вы избавитесь от лишнего головняка. Если не хотите - то смотрите в спецификации на авалон по вышеуказанным выделенным английским словам. Там написано по поводу смещений.
Копейкин
Для узких интерфейсов нужен byteenable, чтобы предотвратить ошибочную запись.
А адресация зависит от типа.
NATIVE для каждого заявленого адреса будет 32 разрядную ячейку использовать,
а DINAMIC будет компактно упаковывать.
Если я правильно понял доку на авалон.
Fynjisx
Цитата(Копейкин @ Feb 8 2012, 10:42) *
Для узких интерфейсов нужен byteenable, чтобы предотвратить ошибочную запись.

еще раз перечитал спецификацию. Указано следующее: Если более узкий слэйв, то избыточные линии шины данных мастера просто отбрасываются.
Byteenable в основном используется с памятью.
Цитата(Копейкин @ Feb 8 2012, 10:42) *
NATIVE для каждого заявленого адреса будет 32 разрядную ячейку использовать,
а DINAMIC будет компактно упаковывать.

А как задать тип адресации слэйва?
Копейкин
Выравнивание адресов в системе производится по границе 4 байта (32-разряда).
Если возникает ситуация записи по адресу не выровнянному по 4, или запись 16 бит вместо 8, то
8-битная шина может получить данные ей не предназначенные, тогда следует использовать byteenable[0],
чтобы их отсечь.
Если пишет 8-битный мастер (DMA при байтовом обмене), то такая ситуация не возникнет, а вот если
32-битный, то таки может.

Тип адресации задаётся в сопц билдере, когда вы создаёте свой компонент, на закладке интерфейс,
в параметрах Авалон-ММ слэйв-интерфейса, под баром deprecated / slave adressing ->NATIVE/DYNAMIC.
Вышесказанное для Ква 8, 9. Более старших у меня нет.
Fynjisx
Цитата(Копейкин @ Feb 9 2012, 19:58) *
Тип адресации задаётся в сопц билдере, когда вы создаёте свой компонент, на закладке интерфейс,
в параметрах Авалон-ММ слэйв-интерфейса, под баром deprecated / slave adressing ->NATIVE/DYNAMIC.

о, спасибо...помогли.. содержимое "бара" всегда свернуто, поэтому даже его и не заметил в первый раз...
Копейкин
Там же кстати спрятана полезная опция "memory device".
Которая используется при применении кеширования Nios'ом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.