[an error occurred while processing this directive]
|
Все дело в схеме. Xilinx ужасно не любит асинхронных схем.
Когда я создаю схему, придерживаюсь основных правил:
1. Вся схема должна быть полностью синхронной. Асинхронным стараюсь делать разве только глобальный сброс. Очень хорошо если все входные и выходные сигналы пропущены через триггеры, еще лучше если через триггеры в ногах (хотя, это в зависимости от задачи).
2. Делать схему максимально простой, в смысле, состоящей из структурных примитивов (конечники, счетчики, мультиплексоры, триггеры, буферы), сложные комбинаторные конструкции разделять на несколько более простых составных частей. При этом нужно четко представлять архитектуру кристалла и правила синтеза HDL-описаний в логические примитивы и примитивы кристалла.
Это позволяет упростить жизнь как синтезатору, так и, самое главное, себе любимому при построении и отладке. Тогда почти все сигналы можно узреть в пост-синтез и пост-роуте схемах и вытащить их в симулятор.
3. Обязательно нужно прописывать Constraints, хотя бы элементарный период тактовой частоты, а не просто указывать в ISE в настройках синтезатора. Если используется память, то нужно прописывать constraints и на нее (напримиер, простейшие FFS to RAM, RAM to FFS) т.к. по умолчанию Xilinx этих задержек не учитывает! На первое время, если много ошибок и схема тяжело разводится, завысить период и смотреть задержки в Timing Analyzer. Как правило, по времянкам не укладываются одни и те же цепи. Если схема достаточно "детализирована", то сразу ясно где можно подтянуть, где триггер вставить и т.д.
И вообще, есть такая замечательная директория ../Xilinx/doc/usenglish/ или On-line documentation в ISE
В первую очередь советую ознакомиться:
Syntesis and Simulation Design Guide,
Library Guide
Constraints Guide
Timing Analyzer Guide
etc...
Возможно, банальщину для тебя написал, тогда сильно не пинай :) но все же.. я с тех пор как стал так схему строить с работоспособностью схемы бед особых не знаю с любым синтезатором. Головняк по большей части с втаптыванием схем в кристалл с хорошей набивкой и/или вытягиванием времянок. Вот тут-то и придут на помощь инкрементал и модулар дизайны, гуайд моде и т.п.
E-mail: info@telesys.ru