Вот... народ отошел от праздников

то за 3 дня ни одного ответа, то только отвернулся и сразу много...

Вся схема естествен работает от нормального клока.
имеется 2 SPI которые так завели, потому что человек делавший схему планировал их синхронизовать на основной клок.
SPI в максимуме может иметь 50 МГц, а основной клок 100 МГц. И естественно как всегда бывает, стали SPI слейвами. Потому что со стороны проца SPI в слейве в 12 раз медленнее, потому с того конца SPI мастер.
SPI слайв на 50 МГц, для основного клока 100 МГц синхронным сделать не реально, на спартане 6 не хватило сил даже на 200 МГц запустить прием - предачу, чтобы ловить фронты.
Вот и дальше странности и геморрой.
Я реализовал 2 асинхронных SPI которые принимают - передают по своим клокам, а результат уже через флаги синхронизируется с основным клоком.
На одном SPI только прием данных
На втором SPI прием данных, и в зависимости от принятых передача
(прием и передача никогда не идет одновременно)
В таком режиме все прекрасно работает, уже месяцы времени наработок, в сообщениях контрольная сумма, ошибок не возникает, все четко.
теперь новое устройство и первый SPI решил переписать на прием-передачу, чтобы он одновременно передавал и принимал. И вот тут все сломалось. По какой - то причине то ли передача то ли прием сдвигается на 1 бит, причем в моделсиме все четко, а в железе кирдык. Первый проект разводился в нескольких модификациях и SPI всегда работали без сбоя, а тут на пустом кристалле (пока добавил 4 модуля) ничего не работает...
Мне казалось что использовать клоковым сигнал с неклокового входа будет грозить тем что модули на этом сигнале в разных частях кристала будут работать с разными задержками, и потому использовать его для 1 модуля в целом безопасно.
Теперь вот думаю, то ли это этот конкретный результат платы мне достался с какой -то проблемой, то ли действительно есть скрытые проблемы...