Обмен достаточно тривиальный: по одному FIFO принимается байт команды, по второму - пакет данных.
ПО третьему возвращается статус, по четвертому - обработанный пакет данных.
Сделал уже несколько вариантов ввода-вывода, ни один не работает.

Команду - принимает. Данные тоже принимает. А вот с возвратом - глюки.

Переписал полностью по даташиту на FX2 - стало даже хуже... Теперь данные просто не возвращает (программа на PC "висит" на чтении), а байт статуса иногда возвращается правильный, а иногда - FF.
В симуляторе - всё работает нормально. В post-route simulation сначала глючило ("зависало" в одном из состояний , но после того, как снизил клок с 50МГц до 25 - стало работать так же, как и в behavioral. (клок на платке - 24 Мгц, пробовал и на 12 - ведёт себя так же

Явно я где-то что-то делаю не так.
Буду очень признателен за дружеский подзатыльник в нужном направлении.
P.S. Он ещё очень нужен потому, что уже поджимают сроки, с неработающим обменом данными показывать просто нечего, а из фазы "заклинивания" можно не выбраться очень долго и не видеть каких-нибудь совершенно очевидных вещей.



Нажмите для просмотра прикрепленного файла