Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по constraints Xilinx
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Igor_FPGA
Добрый вечер!
Возникли несколько вопросов по временным ограничениям в Xilinx.
1. В кристалл заводится N групп сигналов (грубо говоря некая шина данных). Каждая группа имеет свою собственную частоту.
Задержка от входа ПЛИС до вычислительной логики для каждой группы не принципиальна, но важно, чтобы все сигналы
группы были синхронны, максимум разбегались друг относительно друга на 1-1.5 нс.
Если бы в каждой группе был клок, то как я понимаю можно было бы задать Timing Name Net с фиксированным периодом. Я прав?
2. Клока в каждой группе нет, он синтезируется внутри ПЛИС, уникальный для каждой группы. Как синхронизировать сигналы
между собой и ограничить их разбег друг относительно друга?
3. Некая группа сигналов была синтезированна внутри ПЛИС. Время прохождения до выходных пинов не принципиально, но важно, чтобы они не разбегались друг относительно друга (на 1-2 нс). Клок имеется. Как это можно реализовать?

Спасибо.
Opex
Нужно использовать входные/выходные триггеры ПЛИС, в пределах одного банка сигналы будут защелкиваться и выводиться практически одновременно.
Kuzmi4
2 Igor_FPGA
OFFSET Constraints я думаю существенно прояснят вам ситуацию wink.gif
ovs_pavel
Цитата(Igor_FPGA @ Nov 28 2012, 22:17) *
Добрый вечер!
Возникли несколько вопросов по временным ограничениям в Xilinx.
1. В кристалл заводится N групп сигналов (грубо говоря некая шина данных). Каждая группа имеет свою собственную частоту.
Задержка от входа ПЛИС до вычислительной логики для каждой группы не принципиальна, но важно, чтобы все сигналы
группы были синхронны, максимум разбегались друг относительно друга на 1-1.5 нс.
Если бы в каждой группе был клок, то как я понимаю можно было бы задать Timing Name Net с фиксированным периодом. Я прав?
2. Клока в каждой группе нет, он синтезируется внутри ПЛИС, уникальный для каждой группы. Как синхронизировать сигналы
между собой и ограничить их разбег друг относительно друга?
3. Некая группа сигналов была синтезированна внутри ПЛИС. Время прохождения до выходных пинов не принципиально, но важно, чтобы они не разбегались друг относительно друга (на 1-2 нс). Клок имеется. Как это можно реализовать?

Спасибо.


Орех правильно написал. Пропустите эти сигналы внутри ПЛИС через триггера, которые необходимо разместить в IOB'ах. Задайте в ucf-файле следующие констрейны:

INST "rg_a*" IOB = true ;
INST "rg_b" IOB = true ;

где "rg_a" - для шины (имя входного регистра), а "rg_b" - для одиночного сигнала.
dm.pogrebnoy
1) Для каждной группы сигналов требуется задать:
а) Ограничение OFFSET IN BEFORE для проверки и дальнейшей корректировки (если потребуется) фазировки сихросигнала и линий данных. Защелкнуть данные в первом слое триггеров;
б) Дать знать софту на сколько быстрым будет синхросигнал, задав PERIOD.
в) Если с данного тактового домена сигналы пойдут наружу ПЛИС, установить фазировку синхросигнала и шины данных, которые идут наружу при помощи OFFSET OUT AFTER;

Этим вы полностью покроете требуемые ограничения по конкретной шине данных. Разбег сигналов будет прослежен автоматически, и не будет превышать допустимых значений. Маловероятно что вам где-то, в синхронной схеме, нужно явно указывать расфазировку. Тем не меннее, для этого есть констрейнт MAXSKEW.

2) Для ввода асинхронных сигналов применяется несколько способов.
а) Можно поставить ФИФО или схему с HANDSHAIKING.
б) Если нет внешнего синхросигнала, требуется схема синхронизации, состоящая из двух последовательно включенных триггеров, тактируемых внутренним синхросигналом. На вход данных первого триггера заводится асинхронный сигнал. Идеально, если путь данные между этими двумя триггерами будет минимальным. Для этого можно применить констрейнт DATAPATHONLY и др.

Естественно для синхронной схемы внутри ПЛИС необходимо установить ограничение PERIOD.

3) Идеальным способом будет использовать триггеры, которые расположены в непосредственной близости (внутри) Блоков Ввода-Вывода. Это позволит выдать сигналы наружу максимально синхронными, задержки цепей в корпусе ПЛИС, от Блока Ввода-Вывода до контактной площадки, по идее, можно узнать из IBIS модели конкретной микросхемы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.