Цитата(Cont @ Jul 8 2010, 01:08)

Имеется проект для ПЛИС Virtex4 на базе встроенного процессора PowerPC.
По мере роста проекта и обвешивания процессора различной периферией
результаты синтеза(по-моему предположению) стали непредсказуемыми.
Проявляется это в том, что после внесения каких-либо изменений в проект
(или даже без внесения изменений) и перекомпиляции проекта, он перестает
работать. Т.е. к процессору нельзя подключиться с помощью отладчика,
нет сигналов на соответствующих выходах. Иногда происходит так, что проект
работает частично(процессор не работает, часть логики работает).
Констрейнты указаны на тактовый сигнал, на шины памяти, результаты синтеза удовлетворительные.
Процессорная система является подмодулем в ISE.
Еще возникает вопрос, нужно ли указывать констрейнты в самом EDK?
Как можно найти причину и решить эту проблему?
Это не простая задача, к томуже мало информации:
какая частота на входе?
сколько частот используется для синхронизации проекта и их значения?
сколько DСM и синхронизируется ли их запуск?
сколько модулей на шине и сколько из них с своим интерфейсом?
сколько модулей с возможностью их чтения и не используются ли при этом BUFT?
есть ли модули с выработкой сигналов прерывания и сколько?
используется ли DMA?
память внешняя или BRAM, если внешняя какого типа?
используется ли FPU и CACHE?
есть ли констрейнты на все тактовые сигналы или только на один и при этом на входной?
В зависимости от ответов потребуется дальнейшая конкретизация.
Как получилось что системный клок не глобальный и нельзя использовать отладчик?
Такой проект как мне кажется лучше похоронить иначе или рак мозга будет или станеш
супер специалистом.
В любом случае если нет возможности залезть внутрь, необходимо тщательно и по возможности
полно задать ограничения на все критичные элементы проекта с учётом приоритетов (имеются в виду приоритеты
выполнения операторов в .ucf).
Тогда вы получите максимум информции в Timing Constraints и хотя бы так сможете оценить
критичные задержки и найти решение. Т.к. исходя из "По мере роста проекта и обвешивания процессора различной периферией результаты синтеза(по-моему предположению) стали непредсказуемыми." это
оновная причина.
Хотя как мне кажется ещё могут быть версии.
Люди подскажут.
По поводу констрейнов в EDK:
Если проект ISE, в версиях до 9-ой было без разницы использовался только ISE-овый .ucf
с 9-ой я не работал, а вот начиная с 10 - ой ISE стал цеплять EDK-й .ucf и информацию прописанную
в нём переносить в ISE в файл <имя файла>.ncf и использовать в проекте.
Но как мне показалось исходя из Timing Constraints приоритет остаётся за ISE .ucf.
Возможно кто-то подробнее сможет осветить данный вопрос.