Jump to content

    

Конвейер регистров

Всем добрый день!

Есть проект с цифровым фильтром, основой которого служат 16 16-ти разрядных регистра.

Тактируется конвейер от одного клока, последний генерится внутри ПЛИС. Естественно, после компиляции из-за

встраиваемых буферных элементов в цепь синхронизации фронты имеют вобщем то случайную задержку на регистрах,

приводящих к ошибкам в работе конвейера. Это показывает и симулятор. Простое грубое решение - самому описать

дерево синхронизации, принудительно расставляя lcell (для последнего регистра с минимальной задержкой, для

первого регистра - с максимальной). Как здесь более просто и правильно выполнить однотактную синхронизацию?

 

И еще наблюдение примерно на эту тему.

Если в синхронном счетчике триггера описаны как выходы, то при определенной длине проводника на п/п в работе

счетчика возникают сбои. Включение lcell между триггером и выходом устраняет сбои.

Share this post


Link to post
Share on other sites
Естественно, после компиляции из-за встраиваемых буферных элементов в цепь синхронизации фронты имеют вобщем то случайную задержку на регистрах, приводящих к ошибкам в работе конвейера. Это показывает и симулятор.

Вот это как раз неестественно. Клоки, как правило, идут по выделенным шинам и перекос на разных углах порядка 100 пс. И даже если это не так, временной анализатор это учитывает.

 

Отчет по временному анализу какой? Вы констрейны вообще пишете?

Share this post


Link to post
Share on other sites
Всем добрый день!

Тактируется конвейер от одного клока, последний генерится внутри ПЛИС.

 

Я так понимаю, вы специально не указываете что формируемый клок должен быть глобальный.

Если так - то отсюда и проблема разных времен стабатывания триггеров.

Локальный клок идет по ресурсам трассировки сигналов и может иметь относительно большие

задержки между отдельными триггерами.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this