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

 
 
 
Reply to this topicStart new topic
djhall
сообщение Oct 15 2013, 07:28
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



Создал в Qsys простенький прект: Nios, память (шина 64-бит), DMA и мой компонент(шина 32-бит).
С помощью DMA читаю нулевой регистр своего компонента. В итоге ModelSim показывает, что происходит два чтения по нулевому и первому адресу. Я так понимаю это благодаря Dynamic bus sizing, т.е. когда нужно чтобы 64-х разрядный мастер прочитал 32-х разрядный слэйв это заменяется на два чтения из слэйва по последовательным адресам.
Но меня это совсем не устраивает, мне нужно чтобы DMA читал только по нулевому адресу. Можно ли как-то это сделать?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Oct 15 2013, 08:31
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(djhall @ Oct 15 2013, 11:28) *
Создал в Qsys простенький прект: Nios, память (шина 64-бит), DMA и мой компонент(шина 32-бит).
С помощью DMA читаю нулевой регистр своего компонента. В итоге ModelSim показывает, что происходит два чтения по нулевому и первому адресу. Я так понимаю это благодаря Dynamic bus sizing, т.е. когда нужно чтобы 64-х разрядный мастер прочитал 32-х разрядный слэйв это заменяется на два чтения из слэйва по последовательным адресам.
Но меня это совсем не устраивает, мне нужно чтобы DMA читал только по нулевому адресу. Можно ли как-то это сделать?


Вообще, безотносительно к Ниосу, должно быть так. Если делаете чтение "слова" по адресу "0", то 64-х разрядный мастер делает одно чтение из 64-х разрядной шины или 2 чтения из 32-х разрядной, или 4 из 16-ти... И так далее.
Если же у процессора (задатчика шины) есть команда "чтение младшего полу-слова", то тогда будет только одно чтение из 32-х разрядной шины или 2 - из 16-ти разр или... соотв. то же и для чтения "старшего полу-слова"...



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
djhall
сообщение Oct 15 2013, 13:07
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



А есть ли такая возможность, я имею ввиду чтение полуслова, для компонента DMA? Например применение функции alt_dma_rxchan_ioctl с аргументом ALT_DMA_SET_MODE_64 или ALT_DMA_SET_MODE_32 ни чего не меняет, чтение происходит всё равно по двум адресам.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 23:07
Рейтинг@Mail.ru


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