_Anatoliy
Oct 18 2016, 14:22
Коллеги, что то я запутался. Мне нужен буфер между FPGA и nios размером 1024 32-х разрядных слов. В qsys память создана как 4096 байт шириной 32 бита. Если пользоваться IORD_32DIRECT() то всё читается правильно только если адреса последовательно выбираемых слов идут : 0,4,8,12 и т.д. Но шина адреса имеет размер 10 бит, т.е. если я не буду использовать два младших бита то смогу прочитать всего 256 32-х разрядных слов. А мне то нужно 1024. Как быть?
quarter
Oct 18 2016, 14:36
в софте у nios вся адресация считается байтовой, поэтому не совсем понятно чему вы удивляетесь. ну будет последний адрес со стороны софта выглядеть как base_addr+4092
просто запишите в эту память счетчик, проверьте что всё правильно записалось и успокойтесь.
если нужен байтовый доступ, то смотрите чтобы byteenable у avalon-MM шины были, иначе весь DWORD будет затираться.
_Anatoliy
Oct 18 2016, 16:23
Цитата(quarter @ Oct 18 2016, 17:36)

Да,Вы правы. Я по дороге домой уже понял что 10 бит это со стороны FPGA, а со стороны avalon будет 12 бит.