Всем добрый день! Есть проект с цифровым фильтром, основой которого служат 16 16-ти разрядных регистра. Тактируется конвейер от одного клока, последний генерится внутри ПЛИС. Естественно, после компиляции из-за встраиваемых буферных элементов в цепь синхронизации фронты имеют вобщем то случайную задержку на регистрах, приводящих к ошибкам в работе конвейера. Это показывает и симулятор. Простое грубое решение - самому описать дерево синхронизации, принудительно расставляя lcell (для последнего регистра с минимальной задержкой, для первого регистра - с максимальной). Как здесь более просто и правильно выполнить однотактную синхронизацию?
И еще наблюдение примерно на эту тему. Если в синхронном счетчике триггера описаны как выходы, то при определенной длине проводника на п/п в работе счетчика возникают сбои. Включение lcell между триггером и выходом устраняет сбои.
|