Цитата(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-ти разр или... соотв. то же и для чтения "старшего полу-слова"...