Цитата(Andy111 @ Dec 21 2015, 13:36)

Добрый день. Работаем с коллегами над небольшим проектом под spartan 6 low power. Проект представляет из себя несложный коммутатор с набором интерфейсов (spi, uart и т. д.). Проект уже готов однако при тестировании на железе возникает следующая проблема: время от времени (не всегда) при очередной загрузке проекта в ПЛИС, последний отказывается работать правильно (при этом прошивка заливается без ошибок). Мы выяснили что проблема в работе интерфейса SPI, а именно данные от ПЛИС по miso валятся со сдвигом; это наводит на мысль что регистр, используемый для выдачи данных инициализируется не нулевым значением. Возможно ли такое, что при загрузке прошивки в ПЛИС некоторые регистры каким-то образом могут инициализироваться не нулем (как написано в hdl-коде), а другим значением? Кто-нибудь сталкивался с подобным и как это исправить?
Более походит на не соблюдение временных диаграмм ( Timing Constrainst). У Вас они выставлены?
P.S. Ну и выставите регистр в ноль при начальном сбросе.