Maverick_ 15 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба Добрый день коллеги Сделал в qsys SOC систему (циклон 5 SOC ) в котором есть 2 dma мастера (разные компоненты в qsys ) - один на чтение, второй на запись. Эти мастера подсоеденены на один порт DDR памяти. На запись мастер работает без проблем. Когда начал запускать второй мастер на чтение данных из DDR памяти то у меня на шине авалон постоянно waiterequest = "1" Хотя эти мастера не работают одновременно. В чем может быть проблема? ЗЫ Сейчас думаю эти мастера посадить на разные порты DDR памяти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба 1 час назад, Maverick_ сказал: Сейчас думаю эти мастера посадить на разные порты DDR памяти Это улучшит ситуацию со скоростью работы памяти. И если поставить фифошки побольше на каждый порт - то существенно улучшит. Однако с тестом write-read-write придётся повозиться. Вопрос - а отдельно если подключить мастер по чтению - ситуация та же? Может при создании забыли указать полярность waiterequest корректно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба А на записывающем waitrequest при этом ноль приходит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба Отдельно мастер записи работает. Вместе я не проверял работу. Запуск автоматов делается программно и даже в отдельных программах. Сейчас не работает автомат чтения. 1 hour ago, new123 said: А на записывающем waitrequest при этом ноль приходит? если работает, да значит 0 во вложении мастер чтения vga_generator.vhd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба Сам я не пробовал, я изначально рассадил чтение и запись по разным портам, но вот тут поднялся схожий вопрос и пользователь из интела ответил, что мол это нормально даже по умолчанию, и READ надо поднимать, даже если wait в 1, потом сидеть и ждать https://community.intel.com/t5/FPGA-Intellectual-Property/Avalon-Dual-Master-Bus-with-constant-waitrequest-on-connection/m-p/1192928#M21811 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба Так можно долго ждать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nbjkm 0 24 февраля, 2021 Опубликовано 24 февраля, 2021 · Жалоба не сталкивался с проблемами при одновременном чтении/записи. Шина сама всё разрулит. И да, как уже заметил new123, запрос на чтение/запись можно (и нужно) подавать когда waitrequest в единице и дожидаться его освобождения. Как только шина освободится от другого мастера (арбитраж не позволит одному мастеру занимать шину вечно), шину займет другой мастер и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 25 февраля, 2021 Опубликовано 25 февраля, 2021 (изменено) · Жалоба Если по разным портам контроллера DDR раскиданы мастера, то врядли будет wait в 1 стоять постоянно. С другой стороны не раз сталкивался, что Altera далеко не всегда выполняет свои же требования стандарта в части handshake. Потому я всегда стараюсь их выполнять и всё работает стабильно. Если wait в 1, то по правилам я могу свой запрос выставить по моей готовности и я его выставляю. При настройке портов и своих устройств в Qsys указывается ещё и задержка по чтению (не помню уже точное название). Если там значение больше 0, то обычно в таких случаях в чистом виде у Altera handshake не работает и нужно запрашивать и ждать ответа. Изменено 25 февраля, 2021 пользователем warrior-2001 очепятка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 26 февраля, 2021 Опубликовано 26 февраля, 2021 · Жалоба Всем спасибо, вроде проблема решена - проблема Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться