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

 
 
> "addressAlignment" "NATIVE"
DASM
сообщение Nov 12 2010, 09:40
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Тут задачка такая, вобщем надо mmslave 8 битный повесить на avalon bus. Как я понимаю при записи-чтении произойдет 4-ре обращения к слейву, что мне совсем не надо.
Выхода я вижу два - или указать "addressAlignment" "NATIVE" (кстати а это поможет ? В примерах от Террасика вроде работает именно так)
Вторым вариантом мне видится представить мой слейв таки как с 32 битной шиной, но в вериложном файле оответсвенно корректировать принимаемые адреса и использовать только байт из 32 битного слова (соответственно в НИОСе отсекать при чтении). - а этот вариант подойдет ? Ну и главный вопрос - как все же лучше то ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Nov 12 2010, 12:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



TAP уже забыл как юзать, просто написал в верилоге счетчик кол-ва стробов RD и выдаю его.. Ан нет, одно обращение за раз делает... Тогда вообще не понимаю как эту фразу понимать
Причем мне даже SOPC дает warning slave0 does not have byteenables from cpu. Narrow (less than 32-bit) writes will result spurios writes...
Попробовал счетчик на write - то же самое - только одно обращение. Потом правда понял свою ошибку - в дизасме то он stw делал по макросу IOWR. Но я поменял запись на такое volatile alt_u8 *ptr = (alt_u8 *)(BRIDGE2MPEG_CNTRL_IF_0_BASE | 0x80000000);
Теперь в дизасме stb уже, но ВСЕ РАВНО только одно обращение... ничо не понимаю...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:47
Рейтинг@Mail.ru


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